Entrée audio Web en direct activée

Chris Wilson
Chris Wilson

Je suis très heureux de la 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 audio Web) 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 rapide de l'utilisation de cette fonctionnalité dans un détecteur de hauteur simple que j'ai créé. Essayez de brancher une guitare ou même de siffler dans le micro.

Et comme promis, j'ai ajouté l'audio en direct comme source d'entrée au vocodeur que j'ai écrit pour Google IO. Il vous suffit de sélectionner "entrée en direct" sous le modulateur. Vous devrez peut-être ajuster le gain du modulateur et le niveau du synthé. 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.