Tengo una señal de pitido y estoy tratando de traducirla a 0 y 1. Y funciona, pero luego se trata de un pitido muy rápido que no puede encontrar el 0 (sin bip).
Aquí hay una muestra de la señal (¡¡Baja el volumen antes de probarla!!): https://www.dropbox.com/s/fqxxirg9y8gc4t2/test_sound.m4a?dl=0
navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia; if (navigator.getUserMedia) { navigator.getUserMedia({ audio: true }, function(stream) { audioContext = new AudioContext(); analyser = audioContext.createAnalyser(); microphone = audioContext.createMediaStreamSource(stream); javascriptNode = audioContext.createScriptProcessor(2048, 1, 1); analyser.smoothingTimeConstant = 0; analyser.fftSize = 256; microphone.connect(analyser); analyser.connect(javascriptNode); javascriptNode.connect(audioContext.destination); javascriptNode.onaudioprocess = function() { var array = new Uint8Array(analyser.frequencyBinCount); analyser.getByteFrequencyData(array); var values = 0; var length = array.length; for (var i = 0; i < length; i++) { values += (array[i]); } onOff = (values / length) > 30 ? 1 : 0; // <----------- Here console.log(onOff); } }, function(err) {}); }