已启用实时网络音频输入

Chris Wilson
Chris Wilson

昨天的 Chrome Canary 版本 (23.0.1270.0) 中引入了一项新功能,该功能让您能够以低延迟方式从 OSX 上的麦克风或其他音频输入访问实时音频!(此功能尚未在 Windows 上启用,但不用担心,我们正在努力!)

若要启用此功能,您需要转到 chrome://flags/,启用底部附近的“网络音频输入”项,然后重新启动浏览器。现在,就可以放心使用了!

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

对于那些网络音频编码器的人员,下面介绍如何请求音频输入流,并获取一个节点来连接到任何您喜欢的处理图!

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

低延迟音频输入具有多种可能性,尤其是在音乐空间中。您可以快速查看一个示例,了解如何通过我组建的简单的音高检测器来实现此功能 - 尝试插入一把吉他,甚至只需对着麦克风吹口哨。

此外,就像我允诺的那样,我已将实时音频作为输入源添加到我为 Google I/O 大会编写的 Vocoder 中,只需在调制器下选择“实时输入”即可。您可能需要调整调制器增益和合成器级别。由处理(而不是输入延迟)导致的轻微延迟。现在,我已经有实时音频输入了,可以再进行一轮调整了!

最后,建议您查看一下我的网络音频演示集合 - 到您阅读本文时,我可能会看到更多实时音频演示!