Используйте аудиовход (Troyka-модуль) для захвата звука в своих проектах.
Аудиосигнал в проводах — это переменное напряжение. Часть сигнала имеет положительное напряжение, а другая — отрицательное. Микроконтроллер же может оцифровать только положительное напряжение. Модуль аудиовход поднимает нулевое значение аудиосигнала до середины напряжения питания, и дальнейшие изменения напряжения происходят уже относительно этого значения. Поэтому мы можем оцифровать аудиосигнал целиком, и избежать появления отрицательного напряжения на пинах микроконтроллера.
Подключим аудиовход к аналоговым пинам A4
и A5
через Troyka Slot Shield.
Для записи звука используется объект Waveform
. Следующий код выведет уровень громкости звука в консоль.
var w = new Waveform(128,{doubleBuffer:true}); w.on("buffer", function(buf) { var l = buf.length; var v = E.variance(buf,E.sum(buf)/l)/l; console.log("------------------------------------------------------------".substr(0,v)); }); w.startInput(A4,2000,{repeat:true});
void setup() { Serial.begin(9600); } void loop() { Serial.print("Right channel: "); Serial.print(analogRead(A4) - 512); Serial.print("\tLeft cnannel: "); Serial.println(analogRead(A5) - 512); }
Если есть необходимость превратить стереосигнал в моно, чтобы обрабатывать его только одним аналоговым входом микроконтроллера, можно замкнуть контакты джампером объединения каналов.
Разъём для подключения источника звука, например музыкального плеера.