Reverberation - C - Programmation
Marsh Posté le 09-01-2007 à 13:16:46
tout est possible, mais précise peut-être sous quelle forme est ton son d'origine et ce qui te pose problème dans ce traitement
Marsh Posté le 09-01-2007 à 17:20:45
shinohinata a écrit : Je voulais savoir comment il était possible de faire un effet reverb à partir d'un son en LANGAGE C! |
Drôle de question. Le C n'est qu'un outil. Il fait ce qu'on lui dit de faire.
Concernant un projet qui n'a rien à voir, voici quelle était ma réponse :
http://www.developpez.net/forums/s [...] ostcount=2
Marsh Posté le 09-01-2007 à 19:18:55
shinohinata a écrit : Je voulais savoir comment il était possible de faire un effet reverb à partir d'un son en LANGAGE C! |
Evidemment - Un son informatique n'est qu'une donnée numérique et un effet n'est qu'une fonction mathématique appliquée à la donnée. Il te suffit de traiter séquentiellement ton fichier son et d'appliquer la fonction à chaque valeur du fichier...
shinohinata a écrit : Car le C++ nous as été proscrit pour ce projet autant dire beaucoup de choses! |
Ben tu peux le faire en ce que tu veux, pourvu que tu puisses
- ouvrir un fichier
- lire/écrire un fichier
- fermer un fichier
Accessoirement si tu sais l'écrire en C++, ce n'est pas extrèmement difficile de le retranscrire en C...
Marsh Posté le 09-01-2007 à 21:01:47
Euh je suis en 1ere année d'informatique et on a pour projet commun de monter une bibliothèque pouvant gérer des sons.
On doit pouvoir faire l'effet reverb à partir de n'importe quels format de sons sachant qu'en plus du reverb on doit pouvoir faire le delay et le chorus comme effet mais on ne voit du tout par ou commencer.
On ne voit pas comment gérer les sons pour les traiter dans un algo en C.
Voila merci pour votre aide future!
Cordialement, shinohinata
Marsh Posté le 09-01-2007 à 21:20:52
shinohinata a écrit : Euh je suis en 1ere année d'informatique et on a pour projet commun de monter une bibliothèque pouvant gérer des sons. |
Tu apprends quoi dans cette école ? La couture ? Traitement du signal, ça te dit quelque chose ou tu dormais pendant le cours ? Je rappelle que l'informatique est un outil au service d'un métier. L'informaticien n'est pas censé connaitre tous les métiers, mais certains sont très techniques et ne s'inventent pas...
Un son non compressé (format wav, par exemple) est une séquence de valeurs représentant l'amplitude du signal.
Par exemple (je dis n'importe quoi) :
un cycle de patatoide :
|
C'est à peu près tout ce que je sais. Le traitement du signal n'est pas une branche de l'informatique. C'est un métier à part entière...
En tant que musicien et ex-sonorisateur, ma connaissance empirique du son définit "l'echo" comme une superposition du son original par un son identique en forme, mais réduit en amplitude et rétardé dans le temps...
On recalcule les valeurs en appliquant un affaiblissement (au pif, -6 db) et on regénère un nouveau fichier de laurs. Ensuite, on choisi un décalage (au blairomètre, 500 ms), on combine les deux signaux (somme) et on met le résultat dans un fichier qui va bien.Y'a pu qu'à écouter...
Evidemment, il faut connaitre le format des fichiers... wotsit est ton ami...
Marsh Posté le 10-01-2007 à 08:23:17
Bonjour.
Pourquoi avoir réouvert un sujet ? On a déja commencé à en parler ensemble y'a deux mois :
http://forum.hardware.fr/hfr/Progr [...] 9127_1.htm
Avec déjà a l'époque, des éléments de réponse.
Cordialement
Marsh Posté le 10-01-2007 à 14:02:27
shinohinata a écrit : On ne voit pas comment gérer les sons pour les traiter dans un algo en C. |
Voici le principe grosso modo:
fopen(fichier_son, "r" ) |
...
Marsh Posté le 10-01-2007 à 17:42:18
Conceptuellement c'est pas très dur. Dommage que y'ai pas d'Objet, car ça s'y pretterai bien en plus d'une ptit diagramme UML.
Le plus dur c'est de trouver les algo de Reverb/Delay/Chorus (SDK plug-in DSP Winamp2 et je pense qu'une partie de la solution est là).
Marsh Posté le 10-01-2007 à 17:56:53
Echo c'est comme dans la montagne, reverb c'est comme dans un garage; en gros.
En réalité la reverb c'est de l'echo en 3D +/- si j'ai bien compris.
Marsh Posté le 10-01-2007 à 18:02:26
MEI a écrit : Echo c'est comme dans la montagne, reverb c'est comme dans un garage; en gros. En réalité la reverb c'est de l'echo en 3D +/- si j'ai bien compris. |
Je vois bien le son que ca donne, mais c'est niveau du calcul c'est quoi la difference? c'est juste le temps de delai ?
Marsh Posté le 10-01-2007 à 18:11:47
Ace17 a écrit : Je vois bien le son que ca donne, mais c'est niveau du calcul c'est quoi la difference? c'est juste le temps de delai ? |
C'est typiquement une question qui ne concerne l'informaticien, qui est, je le rappelle "au service d'un métier". Or ce métier, ici, c'est acousticien ou spécialiste du traitement du signal. Il faut donc demander à ces spécialistes de t'aider. Ce n'est pas sur un forum C que tu trouveras la réponse.
Une fois que tu auras compris la définition, tu pourras modéliser le comportement en algorithme ou en calcluls ou en une combinaison astucieuse des deux, en donc envisager un codage. Pas avant.
Marsh Posté le 10-01-2007 à 23:16:32
pour moi l'echo est unique, alors que la reverb y'a une multitude "d'écho" avec une certaine réponse fréquencielle (suivant le dimentions de la pièce et de la nature des matériaux)
l'echo ça doit être du style:
destination=source(t)+coef*source(t-delai)
la reverb, du style:
destination=source(t)+coef*destination(t-delai)
j'ai déjà réussi a faire du larsen à cause de la reverb avec des outils audio
Marsh Posté le 10-01-2007 à 23:36:17
Citation : |
Marsh Posté le 09-01-2007 à 13:14:03
Bonjour à tous
,
Je voulais savoir comment il était possible de faire un effet reverb à partir d'un son en LANGAGE C!
Car le C++ nous as été proscrit pour ce projet autant dire beaucoup de choses!
Merci pour ceux qui pourront répondre à nos attentes.
cordialement shinohinata.