Detta är din hjärna på musik (3 / 6 steg)
Steg 3: Slå upptäckt, musik visualisering, Arduino och bearbetning
Från början ville jag huvudet att upptäcka beats med en mikrofon. Tyvärr hade jag problem med att få den som jag var tvungen att fungera med Arduino, så jag bytte till en annan inmatningskälla jag hade tänkt att spela med: bearbetning. Som en bieffekt, hade jag inte att filtrera bort alla omgivande buller!
För att kontrollera Arduino från bearbetning, använde jag Firmata (en generisk bibliotek för att kontrollera mikrokontrollers från en PC). Firmata koden för Android och bearbetning, och en kort handledning är här: http://playground.arduino.cc/interfacing/processing.
Bearbetning fartyg med HALVNOT biblioteket för att göra med ljud, och det var ett exempel som avses med den Fast Fourier Transform (FFT) för att analysera spektrum. Jag hittade utdata till vara ganska icke-intuitiv, så skrev jag en musik visualizer för att hjälpa mig "se" musik och försöker identifiera visuellt när ett beat hade ägt rum.
Jag började bli ganska bra resultat genom att söka efter stora förändringar i någon av FFT "hinkar", som ungefär motsvarar oktaver. Dvs, om en oktav har med samma volym (oftast tyst) ett tag, och sedan plötsligt har ljud, gissar min programvara att det är ett beat. Om inte en beat, något intressant som du förmodligen att uppmärksamma!
För att få en färg, tilldelas varje segment ett nummerintervall på färghjulet (som sakta roterar med tiden.) När händer beat i en hink, Arduino/huvudet är upplyst med en hink tillhörande färg. Dessutom finns en ganska snabb avmattning så att varje taktslag bleknar bort inom en sekund eller så. Färgen på beat som skickas till Arduino indikeras av den vågräta fältet längst ner på bildeffekter.
Programmet har också vissa tangentbordskontroller att justera den vertikala skalan av bildeffekter, färg rotation eller slå upptäckt känslighet.
Avslutningsvis analyserar bearbetning skissen ljud från standard Audio Input port på datorn. Datorns operativsystem kontrollerar om detta är din mikrofon eller uttaget på ljudkortet. På min Mac brukade jag SoundFlower route datorns vanliga ljud (t.ex. från iTunes) till en virtuell ljudingång port som jag gjort systemstandard, så att bearbetning skissen kan analysera den. Definitivt tafatt men det fungerade.