Input audio web in diretta attivato

Claudio Fabbri
Chris Wilson

Sono davvero entusiasta di una nuova funzionalità che è entrata nella build di Chrome Canary di ieri (23.0.1270.0): la possibilità di ottenere l'accesso a bassa latenza all'audio in diretta da un microfono o un altro input audio su OSX! Questa funzione non è ancora stata abilitata su Windows, ma non preoccuparti, stiamo lavorando per risolvere il problema.

Per attivare questa funzionalità, accedi a chrome://flags/, attiva la voce "Web Audio Input" nella parte inferiore dello schermo, quindi riavvia il browser. A questo punto puoi iniziare.

Puoi testare l'input audio dal vivo controllando lo spettro degli input tramite il visualizzatore di input live.

I programmatori Web Audio possono richiedere lo stream di input audio e ottenere un nodo per connettersi a qualsiasi grafico di elaborazione che desideri.

// 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 numerose possibilità per un input audio a bassa latenza, in particolare nello spazio musicale. Puoi vedere un rapido esempio di come utilizzarlo in un semplice rilevatore di passo che ho messo insieme: prova a collegare una chitarra o anche semplicemente a fischiettare nel microfono.

E, come promesso, ho aggiunto l'audio dal vivo come sorgente di input al Vocoder che ho scritto per Google IO. Basta selezionare "live input" sotto il modulatore. Potresti dover regolare il guadagno del modulatore e il livello del sintetizzatore. Si è verificato un leggero ritardo dovuto all'elaborazione (non alla latenza dell'input). Ora che dispongo dell'input audio in diretta, è il momento di apportare un'altra modifica.

Infine, potresti dare un'occhiata alla raccolta delle mie demo audio sul web: quando leggerai questo messaggio, potrei avere altre demo audio dal vivo.