2013-07-19 91 views
2

是否有可能在瀏覽器中捕獲低延遲聲音輸入?主要用於錄製吉他。 (我知道它也取決於硬件,但我們假設硬件足夠好)。 我試圖使用Web Audio API,但它的延遲有點不好。有沒有其他技術可以在瀏覽器中實現高性能的聲音輸入捕捉?是否可以使用Unity3D?在瀏覽器中捕獲低延遲聲音輸入

謝謝。

+0

你在做任何處理嗎?我發現即使在使用現場特效的情況下,延遲也能夠在錄製吉他的可接受範圍內。 也許嘗試減少您可能使用的任何'ScriptProcssor'上的'bufferSize'。 –

+0

用鉻? 有沒有機會發布一些適合你的例子? – gipouf

+1

這對我來說在Chrome中工作得很好:https://gist.github.com/kevincennis/6043052 –

回答

7

「Web Audio API延遲很糟糕」忽略了很多潛在問題。低延遲幾乎總是需要一些調整。

1)OSX上的延遲時間比Windows(10ms左右)要低得多(通常爲3ms左右)。在Linux上它可能非常高,主要是由於硬件調優問題。

2)大多數系統的延遲時間可以調整,但總是會在數字音頻中產生延遲。

3)至少在OSX上,您還可以通過提高採樣速率來減少延遲 - 它在〜44.1kHz時約爲3ms,但如果在88.2kHz下錄製,則是一半。 :)

我在我的Mac上通過網絡音頻播放和錄製吉他,並發現它完全可以接受。因人而異。

哦,ScriptProcessorNodes對於保持較低的延遲非常不利 - 如果您可以從音頻路徑中消除延遲,那麼它是最好的選擇。

+0

我也發現Linux有很高的延遲。使用這個最簡單的例子https://gist.github.com/kevincennis/6043052我仍然有太多的延遲來舒適地彈吉他。但是,繞過瀏覽器時,我會獲得低延遲,並將源和宿連接到alsa級別。這不會使它成爲執行問題而不是硬件/驅動程序問題? – Beanow

+0

我在Windows 10上有200毫秒的延遲,沒有任何處理,只是簡單的例子(https://jsfiddle.net/zlelik/xfq3ykp7/49/)。 如何使它20-50毫秒?是否有任何指導,如何調整並達到20ms? 20毫秒我認爲對我來說是完美的。我也需要它爲吉他以及:) – Zlelik