Entrée audio Web en direct activée

Chris Wilson
Chris Wilson

Je suis très enthousiaste à propos de la nouvelle fonctionnalité qui a été introduite dans la version d'hier Chrome Canary (23.0.1270.0) : la possibilité d'accéder à du contenu audio en direct à faible latence à partir d'un micro ou d'une autre entrée audio sur OSX ! (Cette fonctionnalité n'a pas encore été activée sous Windows, mais ne vous inquiétez pas, nous y travaillons.)

Pour activer cette option, vous devez accéder à chrome://flags/, activer l'élément "Web Audio Input" (Entrée audio Web) en bas de l'écran, puis relancer le navigateur. Tout est prêt !

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

Si vous êtes codeur Web Audio, voici comment demander le flux d'entrée audio et obtenir un nœud pour vous connecter au graphe 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 );

Il existe de nombreuses possibilités d'entrée audio à faible latence, en particulier dans l'univers musical. Vous pouvez voir un exemple d'utilisation avec un détecteur de hauteur simple que j'ai assemblé : essayez de brancher une guitare ou même de siffler 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étiseur. Il y a un léger décalage en raison du traitement (non dû à la latence d'entrée). Maintenant que j'ai l'entrée audio en direct, il est temps de procéder à une nouvelle série de réglages !

Enfin, vous pouvez jeter un œil à l'ensemble de mes démos audio Web. Quand vous lirez cela, il se peut que j'en ait d'autres en direct !