Live-Web-Audioeingabe aktiviert

Chris Wilson
Chris Wilson

Ich freue mich wirklich sehr auf eine neue Funktion, die gestern im Chrome Canary-Build (23.0.1270.0) integriert war: die Möglichkeit, mit niedriger Latenz auf Live-Audio von einem Mikrofon oder einer anderen Audioeingabe unter OS X zuzugreifen. (Diese Funktion ist unter Windows noch nicht verfügbar, aber wir arbeiten daran!)

Rufe dazu chrome://flags/ auf und aktiviere unten die Option „Web Audio Input“. Starte den Browser dann neu.

Du kannst den Live-Audioeingang testen, indem du dir das Spektrum deiner Eingabe mit dem Live-Eingabe-Visualizer ansiehst.

Hier erfahren Sie, wie Sie für Web Audio-Coder unter Ihnen den Audioeingabestream anfordern und einen Knoten erhalten, der sich mit einem beliebigen Verarbeitungsdiagramm verbindet.

// 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 );

Es gibt viele Möglichkeiten für Audioeingaben mit niedriger Latenz, insbesondere im Musikbereich. Ein einfaches Beispiel dafür ist ein simpler Tonabnehmer, den ich zusammengestellt habe. Schließen Sie einfach eine Gitarre an oder pfeifen Sie in das Mikrofon.

Und wie versprochen habe ich dem Vocoder, den ich für die Google IO geschrieben habe, Live-Audio als Eingabequelle hinzugefügt. Wählen Sie dazu unter „Modulator“ einfach „Live-Eingabe“ aus. Möglicherweise musst du die Verstärkung des Moduls und die Synthesizer-Stufe anpassen. Aufgrund der Verarbeitung gibt es eine leichte Verzögerung (nicht aufgrund der Eingabelatenz). Jetzt, da ich Live-Audioinput habe, ist es an der Zeit für weitere Optimierungen.

Schließlich können Sie sich auch die Sammlung meiner Web-Audiodemos ansehen. Wenn Sie dies gelesen haben, gibt es vielleicht schon ein paar Live-Audiodemos.