語音互動中ONESHOT裝置端實現

2021-10-10 11:03:57 字數 815 閱讀 5948

之前的幾篇博文中我們介紹了語音互動框架、語音sdk設計,本篇博文中重點介紹語音互動中的oneshot設計。

那什麼是語音oneshot呢?簡單的講,就是使用者喚醒詞與要識別的內容連說。

傳統的語音互動模式一般是這種情形:

我想聽歌---等待對話結果

那oneshot互動模式是怎樣的呢?

你好小樂,我想聽歌

呈現給使用者的體驗是,喚醒後直接說話,無論裝置會不會播報喚醒提示音。

那麼這種實現有哪些技術挑戰呢?

下面是兩個實際音訊錄音,內容都是「你好小樂,我想聽歌」

慢互動

快互動

那怎麼一種oneshot才是一種合理的互動方式呢?作者認為oneshot模式下要同時相容慢互動和快互動這兩種情形。

由於一些技術瓶頸,例如喚醒某些時候可能會提前喚醒,導致喚醒時刻開始獲取的音訊資料可能包含部分喚醒殘留音,如下圖:

上圖可以看到喚醒殘留音部分與我想聽歌間有較長的靜音,那麼在設計oneshot的時候如果能夠過濾掉殘留音,只將後面的我想聽歌的音訊進行識別,一樣可以完美的輸出識別結果。

至於如何過濾殘留音,相信聰明的你應該已經知道怎麼做了,哈哈,這邊就不詳細描述了。

至此,如何實現oneshot互動方式也介紹完畢。

語音互動裝置 前端訊號處理技術和語音互動過程介紹

一 前端訊號處理 1.語音檢測 vad 語音檢測 英文一般稱為 voice activity detection,vad 的目標是,準確的檢測出音訊訊號的語音段起始位置,從而分離出語音段和非語音段 靜音或雜訊 訊號。由於能夠濾除不相干非語音頻號,高效準確的 vad 不但能減輕後續處理的計算量,提高整...

Ant Design Pro 中的服務端互動

在 ant design pro 中,乙個完整的前端 ui 互動到服務端處理流程是這樣的 ui 元件互動操作 呼叫 model 的 effect 呼叫統一管理的 service 請求函式 使用封裝的 request.js 傳送請求 獲取服務端返回 然後呼叫 reducer 改變 state 更新 m...

裝置端時間及與手機互動時間戳相關問題

gettimeofday clock get time 獲取到的時間戳都是獲取從1970年1月1日 到現在所經過的秒數 時間戳 而這個現在的時間又是什麼時間呢,我預設是linux系統裡的乙個變數a 預設如果乙個裝置沒實時時鐘的話,那麼一開機它的預設時間就是1970 1 1,這時一般用ntpdate去...