Sono davvero entusiasta di una nuova funzionalità introdotta nella build di Chrome Canary di ieri (23.0.1270.0): la possibilità di accedere con bassa latenza all'audio in tempo reale da un microfono o da un altro ingresso audio su macOS. Questa funzionalità non è ancora stata attivata su Windows, ma non preoccuparti, ci stiamo lavorando.
Per attivare questa opzione, devi andare su chrome://flags/ e attivare l'elemento"Input audio web" in basso, quindi riavviare il browser. Ora è tutto pronto.
Puoi testare l'input audio in diretta controllando lo spettro del tuo input con il visualizzatore di input in tempo reale.
Per i programmatori di Web Audio, ecco come richiedere lo stream di input audio e ottenere un nodo da collegare a qualsiasi grafico di elaborazione.
// success callback when requesting audio input stream
function gotStream(stream) {
window.AudioContext = window.AudioContext || window.webkitAudioContext;
var audioContext = new AudioContext();
// Create an AudioNode from the stream.
var mediaStreamSource = audioContext.createMediaStreamSource( stream );
// Connect it to the destination to hear yourself (or any other node for processing!)
mediaStreamSource.connect( audioContext.destination );
}
navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia;
navigator.getUserMedia( {audio:true}, gotStream );
Esistono molte possibilità per l'input audio a bassa latenza, in particolare nell'ambito musicale. Puoi vedere un breve esempio di come utilizzarlo in un semplice rilevatore di altezza che ho creato: prova a collegare una chitarra o anche solo a fischiare nel microfono.
Come promesso, ho aggiunto l'audio in diretta come sorgente di input al Vocoder che ho scritto per Google IO: basta selezionare "Live Input" sotto modulatore. Potresti dover regolare il guadagno del modulatore e il livello del sintetizzatore. Si verifica un leggero ritardo dovuto all'elaborazione (non alla latenza di input). Ora che ho l'input audio in tempo reale, è il momento di un altro giro di modifiche.
Infine, potresti dare un'occhiata alla raccolta delle mie demo audio sul web: nel momento in cui leggi queste informazioni, potrei avere a disposizione altre demo audio dal vivo.