Paso 3: Codificación:-
/**
* Este esquema muestra cómo utilizar el objeto BeatDetect
Import processing.serial.*; Import ddf.minim.*; Import ddf.minim.analysis.*; Import cc.arduino.*;
Mínima mínima; AudioPlayer canción; Golpe de BeatDetect; BeatListener bl; Arduino arduino;
int ledPin = 12;
LED conectado al pin digital 12
int ledPin2 = 8;
LED conectado al pin digital 1
ledPin3 int = 2;
LED conectado al pin digital 0
flotador kickSize, snareSize, hatSize;
void setup() {}
tamaño (512, 200, P3D); mínima = nuevo Minim(this);
Arduino = nuevo Arduino (este, Arduino.list() [1], 57600);
canción = minim.loadFile ("freebird.mp3", 2048);
Song.Play(); un objeto de detección de beat que es modo de FREQ_ENERGY que / / espera que almacena la longitud del tamaño del búfer de la canción / / y las muestras capturadas en tarifa de la muestra de canciones
golpe = BeatDetect(song.bufferSize() nuevo, song.sampleRate()); ajustar la sensibilidad a 300 milisegundos / / después de un golpe se ha detectado, el algoritmo esperará a 300 milisegundos / / antes de permitir que otro ritmo que se divulgará. Usted puede usar esto para humedecer la / / algoritmo si da muchos falsos positivos. El valor predeterminado es 10, / / que no es esencialmente amortiguación. Si se intenta ajustar la sensibilidad a un valor negativo, / se reporta un error y se establecerá en 10 en lugar de otro.
beat.setSensitivity(100);
kickSize = snareSize = hatSize = 16;
hacer un nuevo beat oyente, para que no pierda ningún búferes para el análisis
BL = new BeatListener (ritmo, canción); textFont (createFont ("Helvetica", 16)); textAlign(CENTER); arduino.pinMode (ledPin, Arduino.OUTPUT); arduino.pinMode (ledPin2, Arduino.OUTPUT); arduino.pinMode (ledPin3, Arduino.OUTPUT); }
void draw() {}
Background(0);
Fill(255);
if(Beat.isKick()) {arduino.digitalWrite (ledPin, Arduino.HIGH); / / set el LED on kickSize = 32;} if(beat.isSnare()) {arduino.digitalWrite (ledPin2, Arduino.HIGH); / / set el LED on snareSize = 32;} if(beat.isHat()) {arduino.digitalWrite (ledPin3, Arduino.HIGH); / / set el LED on hatSize = 32;} arduino.digitalWrite (ledPin, Arduino.LOW); sistema el LED arduino.digitalWrite (ledPin2, Arduino.LOW); fijar el LED apagado
arduino.digitalWrite (ledPin3, Arduino.LOW); sistema el LED del textSize(kickSize);
texto ("KICK", ancho/4, altura/2);
textSize(snareSize);
texto ("Encadenar", ancho/2, altura/2); textSize(hatSize); texto ("Sombrero", 3 * ancho/4, altura/2); kickSize = restringir (kickSize * 0.95, 16, 32); snareSize = restringir (snareSize * 0.95, 16, 32); hatSize = restringir (hatSize * 0.95, 16, 32); }
void stop() {}
cierre siempre las clases audio mínimos cuando haya terminado con ellos
Song.Close(); siempre parada mínima antes de salir
Minim.STOP(); Esto cierra la super.stop() del bosquejo; }