目前,我用SOX這樣的:使用Sox爲語音檢測和流
sox -d -e u-law --endian little -b 8 -c 1 -r 8000 -t ul - silence 1 0.3 1% 1 0.3 1%
以供參考,這是記錄從默認麥克風音頻輸出小端,在8位和一個8K ULAW格式的音頻率。效果過濾器會修剪音頻,直到噪音達到閾值0.3秒,然後繼續記錄,直到有0.3秒的靜音。所有這些都傳輸到stdout,我用它來傳輸到遠程服務器。
我正在使用所有這些來記錄一點聲音,並在完成發言時完成。要觸發sox,我使用專門的硬件來觸發錄製的開始。只要支持動態格式化/編碼,我就可以切換到幾乎任何音頻格式或編解碼器。我的目標平臺是raspberry pi 2 B上的raspbian。
我理想的解決方案是使用vad在用戶說完後停止錄製。我的希望是,即使有背景喋喋不休,這也能起作用。然而,在VAD影響該國的SOX文檔:
建議使用的規範作用,但要記住,無論 反向也不規範是適用於流音頻使用。
我還沒有能夠將參數拼湊在一起,以獲得流派和流媒體工作。是否可以使用vad效果來停止錄音,同時仍然保持stdin-> sox-> stdout管道?有更好的選擇嗎?