Entrée audio Web en direct activée

Chris Wilson
Chris Wilson

Je suis très enthousiaste à propos d'une nouvelle fonctionnalité intégrée au build Chrome Canary d'hier (23.0.1270.0) : la possibilité d'accéder à l'audio en direct à faible latence à partir d'un micro ou d'une autre entrée audio sur OSX. (Cette fonctionnalité n'est pas encore disponible sur Windows, mais ne vous inquiétez pas, nous y travaillons !)

Pour ce faire, accédez à chrome://flags/, activez l'élément"Web Audio Input" (Entrée Web Audio) en bas de la page, puis relancez le navigateur.

Vous pouvez tester l'entrée audio en direct en vérifiant le spectre de votre entrée à l'aide du visualiseur d'entrée en direct.

Pour les codeurs Web Audio, voici comment demander le flux d'entrée audio et obtenir un nœud à connecter à n'importe quel graphique de traitement de votre choix.

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

Les possibilités d'entrée audio à faible latence sont nombreuses, en particulier dans le domaine musical. Vous pouvez voir un exemple d'utilisation de cette fonction dans un simple détecteur de tonalité que j'ai mis au point : branchez une guitare, ou sifflez simplement dans le micro.

Comme promis, j'ai ajouté l'audio en direct comme source d'entrée au Vocoder que j'ai écrit pour Google IO. Il suffit de sélectionner "live input" (entrée en direct) sous "modulator". Vous devrez peut-être régler le gain du modulateur et le niveau de synthèse. Il existe un léger décalage en raison du traitement (et non de la latence d'entrée). Maintenant que j'ai une entrée audio en direct, il est temps de procéder à de nouveaux réglages.

Enfin, je vous invite à consulter la collection de mes démonstrations audio Web. D'ici que vous lisiez cet article, j'aurai peut-être ajouté d'autres démonstrations audio en direct.