序
近年來,隨著深度學習技術的不斷發展,語音辨識準確率獲得了大幅提升,由此帶來了基於語音互動應用的豐富想像力,這些技術越來越多地影響著人們生產和生活的各方面。其中,消費級應用包括智慧喇叭、手機語音助理、車載智慧座艙、語音輸入法與翻譯機等;企業級應用包括智慧客服、語音品管、智慧教育、智慧醫療等。各類智慧語音應用的蓬勃發展使得越來越多的人加入語音領域的研究和落地,共同推動整個語音產業的發展。
得益於語音辨識技術的蓬勃發展和辨識率的節節攀升,業界湧現出眾多優秀的點對點語音工具套件,如Wenet,ESPNet,SpeechBrain 等。儘管如此,2009 年約翰霍普金斯大學夏季研討會孵化出的Kaldi 工具箱,以其穩定的演算法效果,活躍的社區氣氛,獲得了廣泛應用,極大地降低了語音辨識的上手門檻,也培養了大量的相關人才。目前,仍然有很多公司在使用基於Kaldi 的專案。
由於語音互動技術涉及的演算法與技術鏈較長,因此已有的語音演算法相關圖書主要集中在各類語音演算法的原理與訓練上,缺乏從語音互動角度出發,介紹語音互動所需的語音前後端各項演算法和整體解決方案的相關圖書。在語音應用的落地上,學術界也缺乏產業界的專案應用實作經驗。本書將致力於拉近學術界與產業界的距離,在系統地介紹語音互動流程中涉及的語音前端處理、語音辨識和語者自動分段標記等演算法原理的同時,詳細介紹如何基於WebRTC,Kaldi 和gRPC,從零建構產業界穩定、高性能、可商用的語音服務。
在前端演算法的相關章節中,本書系統地介紹了語音活動檢測、語音降噪、回音消除、波束形成等常用的語音前端處理演算法的原理,還針對各種演算法在實際場景中的專案實現方法,提供了大量的經驗複習。除了介紹傳統訊號的處理方法,本書還介紹了深度學習方法在語音前端領域中的發展和應用現狀。
在語音後端演算法方面,本書詳細介紹了語音辨識中的特徵提取、聲學模型、語言模型、解碼器和點對點語音辨識,以及語者自動分段標記中的聲紋Embedding 提取和聚類演算法。同時,還介紹了如何基於Kaldi 訓練語音辨識及語者自動分段標記模型。針對訓練模型時的很多細節問題,提供了詳細的解釋。
在語音演算法專案化方面,本書介紹了如何利用WebRTC 和Kaldi 最佳化處理流程,形成語音演算法SDK。基於流行的用於微服務建構的RPC 遠端呼叫框架和SDK,進一步介紹了如何實現一套方便使用者快捷連線的語音演算法的微服務。
本書由楊學銳、晏超、劉雪松合作撰寫。三位作者長期在最前線從事語音演算法工作,書中內容彙集了他們在產業界模型訓練和應用實作的思考與經驗複習,希望能給學術界的研究人員與產業界的從業人員帶來一絲啟發和幫助。其中楊學銳負責第1、4、5 章的撰寫及全書內容的審核校對,晏超負責第6、7、8 章的撰寫及工程程式的實現偵錯,劉雪松負責第2、3 章及第1章部分內容的撰寫和校對。
最後,感謝電子工業出版社李淑麗老師的辛苦工作,感謝吳伯庸和王金超對本書的貢獻,感謝陳勇的審稿與校對,感謝成書過程中給予過幫助的所有相關人士。
由於作者水準有限,書中如有任何錯誤與不足,懇請讀者們批評指正並提出寶貴意見。
作者