今天推出 Chrome Canary 版本 (23.0.1270.0) 才有一項新功能,我很高興能夠透過 OSX 透過麥克風或其他音訊輸入,以低延遲的方式存取即時音訊!(這項功能尚未在 Windows 上啟用,但請放心,我們正在努力開發中!)
如要啟用這項功能,請前往 chrome://flags/,並啟用底部附近的「Web Audio Input」項目,然後重新啟動瀏覽器。現在,您就可以開始使用了!
您可以使用即時輸入視覺化工具查看輸入內容的頻譜,測試即時音訊輸入功能。
對於這些網路音訊編碼器而言,以下說明如何要求音訊輸入串流,並取得一個節點來連結至您喜歡的任何處理圖!
// 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 中 - 只要在調節器下方選取「即時輸入」即可。您可能需要調整調變器增益和合成器音量。由於處理時間 (不是輸入延遲時間),因此會有輕微延遲。我現在有即時音訊輸入內容了,接下來要進行另一輪調整!
最後,您可以參考我的網頁音訊示範集錦。在您閱讀本文時,我可能會提供更多現場音訊示範!