Paso 3: Batir detección, visualización de la música, Arduino y procesamiento
Inicialmente, quería la cabeza para detectar latidos con un micrófono. Desafortunadamente, tuve problemas para conseguir que debía funcionar con Arduino, así que me cambié a otra fuente de entrada había significado para jugar con: procesamiento. Como un beneficio de lado, no debe filtrar cualquier ruido ambiental!
Para controlar Arduino desde procesamiento, usé una firmado (una biblioteca genérica de control microcontroladores desde un PC). El código de una firmado para Android y procesamiento y un breve tutorial está aquí: http://playground.arduino.cc/interfacing/processing.
Procesamiento de naves con la biblioteca mínima para lidiar con audio y allí fue un ejemplo previstas usando el Fast Fourier transforma (FFT) para analizar el espectro. Encontré la salida para ser muy no-intuitivo, así que escribí un visualizador de música para que me ayude a "ver" la música y tratar de identificar visualmente Cuándo había producido un golpe.
Empecé a obtener muy buenos resultados buscando grandes cambios en cualquiera de lo FFT "cubos", que corresponden aproximadamente a octavas. Es decir, si una octava ha sido en el mismo volumen (generalmente silencioso) por un tiempo y luego de repente tiene sonido, mi software de adivina que es un golpe. Si no un golpe, probablemente algo interesante que te está prestando atención a!
Para obtener un color, cada cubo se asigna un rango en la rueda de color (que lentamente gira con tiempo.) Cuando el golpe ocurre en un balde, Arduino, la cabeza se ilumina con el cubo asociado color. Además, hay un caída bastante rápido-off para que cada latido se desvanece lejos dentro de un segundo o menos. El color del golpe enviando a Arduino está indicado por la barra horizontal en la parte inferior del visualizador.
El programa también cuenta con algunos controles del teclado para ajustar la escala vertical de visualizador, la rotación de color o la sensibilidad de la detección del golpe.
Por último, el bosquejo del proceso analiza audio desde el puerto de entrada de Audio por defecto de la computadora. Sistema operativo de la computadora controla si esto es el micrófono o el conector de entrada de la tarjeta de sonido. En mi Mac, solía SoundFlower ruta audio regular del ordenador (como iTunes) en un puerto de entrada de Audio virtual que hecho el defecto del sistema, para que el bosquejo de procesamiento podría analizarlo. Sin duda torpe pero trabajado.