已启用实时网络音频输入

Chris Wilson
Chris Wilson

我非常高兴地宣布,昨天的 Chrome Canary build (23.0.1270.0) 中新增了一项功能,即能够在 OSX 上通过麦克风或其他音频输入设备以低延迟方式访问实时音频!(此功能尚未在 Windows 上启用,但别担心,我们正在努力解决此问题!)

如需启用此功能,您需要前往 chrome://flags/,启用底部附近的“Web Audio Input”项目,然后重新启动浏览器;现在,您就可以开始使用了!

您可以使用实时输入可视化工具查看输入的频谱,以测试实时音频输入。

对于 Web 音频编码器,请参阅以下内容,了解如何请求音频输入流,以及如何获取一个节点以连接到您喜欢的任何处理图!

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

低延迟音频输入具有丰富的应用场景,尤其是在音乐领域。您可以查看我快速编写的简单音高检测器,了解如何使用此 API。只需插入吉他,或者对着麦克风吹口哨即可。

按照约定,我已将实时音频添加为我为 Google IO 编写的声码器的输入源 - 只需在调制器下选择“实时输入”即可。您可能需要调整调制器增益和合成器电平。由于处理(而非输入延迟)原因,会出现轻微延迟。现在,我已经有了实时音频输入,接下来是进行新一轮调整!

最后,您可以查看我的 Web 音频演示集。当您阅读本文时,我可能已经发布了更多实时音频演示!