Bonjour ! J'aimerai analyser un son mais pas grâce à un micro mais grâce à un port jack relié grâce à une prise jack femelle pour arduino. Néanmoins je ne sais pas comment analyser ce son et surtout je ne sais pas comment associer chaque fréquence à une couleur pour ensuite l'envoyer à des leds qui reproduiront ces couleurs. Quelqu'un qui excelle en langage arduino pourrait-il me conseiller et me dire comment coder tout cela. J'espère avoir été clair et que quelqu'un pourra m'aider. ( Mon projet final est de créer un nuage qui fait de la lumière et change de couleur à chaque nouvelle note de musique que le nuage donnera grâce à deux enceintes comme cela : https://www.facebook.com/bananair.fr/videos/907625452700956/ )
Merci d'avance
Le résultat final est sympa !
http://www.instructables.com/id/How-to-Make-LEDs-Flash-to-Music-with-an-Arduino/
C'est deja une bonne piste ?
je ne suis pas un expert sur le sujet mais il me semble que cela ne soit pas si simple, du moins mathématiquement
par contre c'est toujours possible de faire ça analogiquement
Le 27 octobre 2016 à 14:30:36 0xB4D a écrit :
je ne suis pas un expert sur le sujet mais il me semble que cela ne soit pas si simple, du moins mathématiquement
par contre c'est toujours possible de faire ça analogiquement
Ah bah oui, une prise jack transmet forcément un signal analogique. Du coup dans ce cas là, faut s'équiper de matos supplémentaire j'imagine...?
Disclaimer: Je vais essayer d'être un peu plus clair; cependant je ne me suis jamais penché sur le sujet, il se peut que je dise d'énormes conneries
Tout d'abord, partons du principe que tu veuilles analyser ton son par le biais de ton arduino, qu'importe la manière dont le son lui est transmis. Si tu veux faire ça, il va bien falloir que:
1/ Ton arduino process l'entrée du son, exit le "live", t'auras un délai minimum à respecter pour que ton son soit handle -> déterminer le délai nécessaire qui peut être trop important selon les applications
2/ Faut savoir découper mathématiquement le spectre audio et obtenir l'amplitude de chaque fréquence cible
https://en.wikipedia.org/wiki/Goertzel_algorithm
https://en.wikipedia.org/wiki/Harmonic_analysis
3/ Ensuite c'est plus ou moins facile une fois que t'as tes résultats d'en faire ce que tu veux.
Je ne connais pas ton niveau mais personnellement j'aurais opté pour faire ça en électronique classique avec des filtres, des triacs, ...
bien je vais probablement dire une connerie mais si tu réussis a récupérer tes fréquences et en sachant de combien a combien elle peut aller tu peut faire un color_value = map(freq_relevé, freq_min, freq_max, 0, 255);
analogWrite(LED,color_value);
ca va convertir directement ta frequence relever dans l'echelle 0->255 qui permet de choisir la couleur
bon desolé si la syntaxe est mauvaise sa fais longtemps que j'ai pas taper du arduino