Go Down

Topic: Flûte avec Arduino - des idées ? (Read 982 times) previous topic - next topic

Gad

Bonjour tout le monde,

Bon voilà, je commence un projet avec un Arduino duemila pour fabriquer une flûte électronique. D'un côté j'ai un micro electret avec un étage de préamplification qui arrive sur une des entrées analogiques et qui va servir à donner forme au son généré par une sortie PWM de l'Arduino. Pour les notes, ceux sont x touches tactiles (des capteurs de pression superficielle seraient mieux mais je ne les ai pas encore, peu importe pour l'instant). En sortie comme je le disais j'utilise une sortie PWM pour générer des signaux à une fréquence donnée (ceci pour l'instant ca évidemment, ça donne un son digne d'un Z80  :)).

Mon problème : je voudrais couvrir 2 octaves, voire 3, ce qui nous fait un total de 24, voire 36 notes. Pour l'instant je m'oriente vers une solution avec 6 touches tactiles (2^6 = 64 notes) ou un peu plus histoire d'imiter la disposition de la flûte à bec classique. Ces touches tactiles sont reliées aux entrées digitales de l'Arduino par des résistances pull-up dont j'analyse la valeur par digitalRead. D'une part j'ai peur que cette série de "if" ne prenne bp trop de temps du micropro, d'autre part cela me mobilise presque toutes les entrées digitales que j'aurais bien conservé pour d'autres utilisation. J'aurais voulu - mais je ne sais pas comment faire :
- relier les touches tactiles à l'entrée analogique de façon à analyser la note désirée en fonction de la tension injectée
- envoyer un signal sur les entrée interrupt de l'Arduino de façon à traiter les changements d'états lorsqu'ils surviennent et non pas dans la boucle loop().

Quelqu'un aurait une vague idée de comment faire au niveau circuit pour remplir ces deux fonctions ? Je ne demande pas un schéma de cablage mais juste des idées pour orienter mes recherches...

Merci aux lecteurs   8-)

Gad

 

Luj06

#1
Dec 27, 2008, 12:07 pm Last Edit: Dec 27, 2008, 12:12 pm by julien@pobot.org Reason: 1
Très intéressant, moi aussi je me suis mis aux instruments électronisés.

Ce que tu cherches à faire est une conversion numérique/analogique. Exemple ici : http://www.bls.fr/amatech/electronique/CNA/Alask_CNA_Res.html

Je cherche une puce qui le fasse en le moins de temps possible (pour éviter d'avoir un temps de latence entre l'appui d'une touche et le décodage en son). De ton côté, regarde le temps d'échantillonnage du convertisseur analogique numérique, plus le temps de ta conversion entre valeur numérique et sons, et vérifie que l'oreille du joueur de flute ne sera pas trop "chatouillée" par ce décalage.

Pour remplacer ton électret, le mieux est de sortir un format MIDI que tu pourras connecter à un PC ou à un synthétiseur portable. Il y a des exemples de code pour sortir du format MIDI avec une Arduino (sur le bouquin de Tom Igoe notamment)

Gad

Bonjour Luj06,

Le lien que tu m'as envoyé, c'est exactement ce que je cherche !! et je t'en remercie beaucoup  :)

Je vais m'atteler à la recherche d'un tel composant en CI et si je ne trouve pas, je ferai un circuit CAN maison (mais je suis d'avis qu'un tel CI existe)

Par contre je ne comprends pas bien dans ta réponse la partie sur le remplacement du micro electret. Pourquoi le remplacer ? il me faut détecter le souffle du flutiste, donc un micro, pour donner forme au son de sortie (l'attaque de la note, etc). comment faire sans micro (electret ou autre) pour analyser la "volonté" du musicien ??
J'ai fait un petit montage pre-amp avec un micro-electret et ça marche assez bien. Il faut simplement que je tripatouille les valeurs des résistances autour de l'ampli op car aujourd'hui j'ai un peu du tout ou rien en sortie, bref ça sature.

Encore merci pour ton lien, je tiendrai au courant sur ce fil de mes progrès si ça t'intéresse.

Bonnes fêtes !
Gad



Luj06

Il y a le DAC0808 dispo chez Gotronic.fr et dans la datasheet il y a un schéma type avec ampli op comme dans le schéma théorique ci-dessus:  http://www.national.com/ds/DA/DAC0808.pdf

Bien vu pour l'electret et le souffle, j'ai cru que c'était ce que tu utilisais pour sortir le son, j'ai lu trop vite. Tu as décris ton projet sur un site ?



Luj06


Go Up