7

我正在開發基於語音的AI的iOS應用;即它意味着從麥克風接收語音輸入,將其轉換爲文本,發送給AI代理,然後通過揚聲器輸出返回的文本。儘管使用一個按鈕來開始和停止錄製語音(SpeechKit用於語音識別,AI的API.AI,Amazon的Polly用於輸出),但我已經掌握了所有工作。iOS上話筒輸入的語音活動檢測

我需要的是讓麥克風始終打開,並在用戶開始和結束通話時自動開始和停止錄製用戶的聲音。這個應用程序正在開發非傳統環境,用戶無法訪問屏幕(但他們將有一個用於記錄文本的高端獵槍話筒)。

我的研究表明這塊拼圖被稱爲「語音活動檢測」,似乎是整個語音AI系統中最難的步驟之一。

我希望有人能夠提供一些簡單的(Swift)代碼來實現這一點,或者指向我可以在此項目中實現的一些體面的庫/ SDK的方向。

回答

2

對於較好的VAD算法實現,您可以使用py-webrtcvad

它是一個C代碼的Python接口,您可以從項目中導入C文件並從swift中使用它們。

+0

謝謝!實際上,我已經掌握了該庫的iOS端口,但尚未完全解決如何將其應用於從麥克風進入的緩衝區,而不是將其指向現有音頻文件...任何提示?代碼示例? –

+0

API逐幀處理,因此應該沒有問題來處理緩衝區。 –