Sujet de la discussionPosté le 29/09/2010 à 10:40:41Programmation de Reverb
[Edit pour les modérateurs : j'ai d'abord posté ce sujet dans la partie Theorie Musicale mais je pense que j'aurai + de réponses ici et j'ai rajouté quelques lignes]
Bonjour,
Je suis entrain de plancher sur un projet d'école dans le cadre du cours de programmation, il s'agirait d'un effet reverb réalisé avec microcontrôleur (Atmel, Bascom imposé).
Après quelques réflexions, il s'agirait donc de répéter un petit morceau de signal beaucoup de fois en appliquant une amplitude décroissante (et faire pareil avec le petit morceau suivant etc). Seulement quelles sont les ordres de grandeur ou plutôt de durées en ce qui concerne la reverb ? Parce que en appliquant le principe décrit ci-dessus, un echo de délait 0,01 secondes avec un facteur décroissance 0,9 sur audacity, ça ne donne pas grand chose... (j'aurais sans doute donné un petit sourire aux pros du domaine sur ce coup là mais bon, c'est justement pour ça que je demande ).
EDIT : me voila avec la notion d'algorithme en main... le principe est assez bien compris mais qu'en est-il au niveau programmation ? Y aurait-il un endroit ou trouver des exemples ? Le mien n'a vraiment pas besoin d'être sophistiqué, tout est fixe sauf le temps de réverbération.
J'aurais aussi besoin de quelques indications concernant l'échantillonnage (dans le programme, comment prendre le signal original, le découper (bit par bit ?) et le réinjecter suivant l'algorithme), et peut-être d'autres choses que j'oublie et qu'il faut me rappeler .
Pouvez-vous m'aider sur ce sujet ?
Merci Beaucoup !
Axhan
[ Dernière édition du message le 29/09/2010 à 11:46:15 ]
Ravi de voir que tu as trouvé la bonne section dans le forum.
Tu pourrais te renseigner sur des techniques de traitement numérique, notamment la convolution. C'est complexe mais utilisé dans des effets eux aussi complexes comme les reverb.
Citation de ilt17 :
J'aurais aussi besoin de quelques indications concernant l'échantillonnage (dans le programme, comment prendre le signal original, le découper (bit par bit ?) et le réinjecter suivant l'algorithme),
bit par bit, surement pas.
Sans être un spécialiste de la chose, tu verras que dans les exemples que donne Patrick, les programmes traitent les données par buffer.
Un signal étant échantillonné par exemple sur 16 bits, chaque échantillon est un nombre entier entre -32768 et 32767 (je dis pas de connerie ?). L'algorithme va donc travailler sur ces nombres qui peuvent représentés comme des entiers ou des réels, suivant l'algorithme.
Je ne sais pas si je me fait bien comprendre. Sur musicdsp.org, tu trouveras des exemples simples.