Étape 3: Battre la détection, la visualisation de la musique, Arduino et traitement
Au départ, j’ai voulu la tête afin de détecter des battements avec un microphone. Malheureusement, j’ai dû mal à faire la celui que j’avais pour fonctionner avec l’Arduino, donc je suis passé à une autre source d’entrée j’avais eu l’intention de jouer avec : traitement. Comme un autre avantage, je n’avais pas de filtrer les bruits ambiants !
Afin de contrôler l’Arduino du traitement, j’ai utilisé Firmata (une bibliothèque générique pour contrôler les microcontrôleurs depuis un PC). Le code Firmata pour Android et traitement et un bref tutoriel sont ici : http://playground.arduino.cc/interfacing/processing.
Traitement livré avec la bibliothèque de Minim pour traitant audio et qu’il était un exemple fourni pour l’utilisation de la Fast Fourier Transform (FFT) pour analyser le spectre. J’ai trouvé la sortie d’être assez non intuitive, j’ai donc écrit un visualiseur de musique pour m’aider à « voir » la musique et tenter d’identifier visuellement quand un battement avait eu lieu.
J’ai commencé à avoir des résultats assez bons en recherchant des changements importants dans l’un de la FFT « seaux », qui correspondent en gros aux octaves. C’est à dire, si une octave a séjourné dans le même volume (habituellement silencieux) pendant un certain temps et puis tout d’un coup a son, mon logiciel devine que c’est un battement. Si pas une miette, quelque chose d’intéressant que vous payez probablement l’attention !
Pour obtenir une couleur, chaque seau est assignée une plage sur la roue chromatique (qui tourne lentement avec le temps.) Quand le rythme se produit dans un seau, l’Arduino/tête est allumée avec le seau associé à la couleur. En outre, il y a une chute assez rapide afin que chaque battement s’estompe en une seconde environ. La couleur du temps étant envoyé à l’Arduino est indiquée par la barre horizontale en bas du visualiseur.
Le programme a également certains contrôles clavier pour ajuster l’échelle verticale de la sensibilité de la détection, la rotation de couleur ou le visualiseur.
Enfin, l’esquisse de traitement analyse audio du port d’entrée Audio par défaut de l’ordinateur. Le système d’exploitation détermine s’il s’agit de votre microphone ou la prise d’entrée sur votre carte son. Sur mon Mac, j’ai utilisé SoundFlower pour acheminer l’audio régulière de l’ordinateur (par exemple, à partir d’iTunes) dans un port d’entrée Audio virtuel que j’ai fait le système par défaut, afin que le schéma de traitement pourrait analyser. Certainement maladroit mais il a travaillé.