语音识别的端点检测
端點檢測的概念
端點檢測,也叫語音活動檢測,Voice Activity Detection,VAD,它的目的是對語音和非語音的區域進行區分。通俗來理解,端點檢測就是為了從帶有噪聲的語音中準確的定位出語音的開始點,和結束點,去掉靜音的部分,去掉噪聲的部分,找到一段語音真正有效的內容。
在噪聲環境下使用語音識別系統,或者講話人產生情緒或心里上的變化,導致發音失真、發音速度和音調改變,都會產生Lombard/Loud效應。研究表明,即使在安靜的環境下,語音識別系統一半以上的識別錯誤來自端點檢測器。
?
端點檢測的分類
VAD 算法可以粗略的分為三類:基于閾值的 VAD、作為分類器的 VAD、模型 VAD。
基于閾值的 VAD:通過提取時域(短時能量、短期過零率等)或頻域(MFCC、譜熵等)特征,通過合理的設置門限,達到區分語音和非語音的目的。這是傳統的 VAD 方法。
作為分類器的 VAD:可以將語音檢測視作語音/非語音的兩分類問題,進而用機器學習的方法訓練分類器,達到檢測語音的目的。
模型 VAD:可以利用一個完整的聲學模型(建模單元的粒度可以很粗),在解碼的基礎,通過全局信息,判別語音段和非語音段。
VAD 作為整個流程的最前端,需要在本地實時的完成。由于計算資源非常有限,因此,VAD 一般會采用閾值法中某種算法;經過工程優化的分類法也可能被利用;而模型 VAD 目前難以在本地部署應用。
?
端點檢測處理的好,不僅將處理的時間序列變小,還能消除無聲段道噪聲。
?
端點檢測的原理
為了能更清楚說明端點檢測的原理,錄制了一段音頻,并且將語音信號截取了幾部分。
開始,有片刻的準備工作,并未發出聲音
?
第一次講”你好”
?
第二次講”你好”
?
第三次偽裝了聲音講”你好”
?
可以看到如下特點:
?
由此可以了解到端點檢測中涉及到的一些概念:
噪聲:背景音稱之為噪聲。有外界環境的噪聲,也有設備本身的噪聲。在實際使用中,如果出現長時間的靜默,會使用戶感到很不自然。因此接收端常常會在靜音期間發送一些分組,從而生成使用戶感覺舒服一些的背景噪聲,即所謂的舒適噪聲。
靜音:連續若干幀能量值持續維持在低水平。理想情況下靜音能量值為0,但實際無法做到,因為一般有背景音,而背景音有基礎能量值。
端點:靜音和有效語音信號變化臨界點。
在實際應用中,比如說電話通話時,用戶沒有講話時,就沒有語音分組的發送,從而可以進一步降低語音比特率。當用戶的語音信號能量低于一定門限值時就認為是靜默狀態,也不發送語音分組。當檢測到突發的活動聲音時才生成語音信號,并加以傳輸。運用這種技術能夠獲得大于50%的帶寬。
同理,在實際測試過程中我們也需要考慮非連續性說話,比如口吃、猶豫、吞吞吐吐時,語言的識別準確性,避免斷點檢測環節處理出現異常或者不合理的情況。
總結
- 上一篇: FishC《零基础学习python》笔记
- 下一篇: 火狐使用谷歌搜索_Google拒绝使用F