聲紋技術:從核心算法到工程實踐

王泉

  • 出版商: 電子工業
  • 出版日期: 2020-09-01
  • 售價: $594
  • 貴賓價: 9.5$564
  • 語言: 簡體中文
  • 頁數: 292
  • ISBN: 7121395290
  • ISBN-13: 9787121395291
  • 相關分類: DeepLearning
  • 立即出貨

買這商品的人也買了...

商品描述

這是第一本系統性地介紹聲紋識別、聲紋分割聚類及聲紋在語音識別、語音合成、人聲分離等領域中應用的技術書。本書內容全面且緊隨時代前沿,不僅涵蓋了早至 20世紀 60 年代的經典方法,而且以大量篇幅著重介紹了深度學習時代的最新技術。本書註重理論與實踐的結合,除了配備大量實踐案例與習題,還有專門章節介紹聲紋技術在實際工程部署方面的諸多課題。本書面向大學與研究機構的學生、教研人員,以及企事業單位從事聲紋技術相關工作的工程師、架構師和產品經理等。

目錄大綱

1 聲紋技術的前世今生 1
1.1 什麽是聲紋 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 最早的聲紋技術 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 聲紋技術的發展 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.3.1 聲紋技術與音頻信號處理 . . . . . . . . . . . . . . . . . . . . . . 5
1.3.2 模板匹配方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.3.3 早期統計學方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.3.4 高斯混合模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.3.5 聯合因子分析與 i-vector . . . . . . . . . . . . . . . . . . . . . . . 9
1.4 大變革:深度學習時代的來臨 . . . . . . . . . . . . . . . . . . . . . . . . 10
1.5 新的機遇:智能語音助手的普及 . . . . . . . . . . . . . . . . . . . . . . . 11
2 音頻信號處理基礎 14
2.1 欲懂聲紋,先學音頻 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.2 聲學基礎 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.2.1 語音的產生 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.2.2 正弦波 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.2.3 頻譜 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.2.4 聽覺與感知 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.2.5 聽覺的非線性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.3 音頻信號基礎概念 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.3.1 模擬音頻信號 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.3.2 模擬轉數字:採樣與量化 . . . . . . . . . . . . . . . . . . . . . . 27
2.3.3 音頻編碼 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.3.4 音頻文件格式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.3.5 動手實踐:SoX 程序 . . . . . . . . . . . . . . . . . . . . . . . . 35
2.4 從信號到特徵:短時分析 . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
2.4.1 傳統特徵分析的不足 . . . . . . . . . . . . . . . . . . . . . . . . . 38
2.4.2 分幀 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
2.4.3 窗函數處理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
2.4.4 幀疊加與幀採樣 . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
2.5 常用的音頻特徵 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
2.5.1 時域特徵 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
2.5.2 從時域到頻域:傅里葉變換 . . . . . . . . . . . . . . . . . . . . 45
2.5.3 頻譜、倒譜、時頻譜和功率譜 . . . . . . . . . . . . . . . . . . . 48
2.5.4 感知線性預測 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
2.5.5 梅爾倒譜系數 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
2.5.6 功率正則化倒譜系數 . . . . . . . . . . . . . . . . . . . . . . . . . 50
2.5.7 動手實踐:用 LibROSA 提取 MFCC 特徵 . . . . . . . . . . . . 50
3 聲紋識別技術 54
3.1 聲紋識別:聲紋技術的核心 . . . . . . . . . . . . . . . . . . . . . . . . . 54
3.1.1 名稱與概念 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
3.1.2 按任務分類 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.1.3 按文本內容分類 . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
3.1.4 系統流程 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
3.2 聲紋識別的評價指標 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
3.2.1 相似匹配 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
3.2.2 錄入集與驗證集 . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
3.2.3 ROC 曲線及曲線下麵積 . . . . . . . . . . . . . . . . . . . . . . . 62
3.2.4 等錯率 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
3.2.5 最小檢測代價函數 . . . . . . . . . . . . . . . . . . . . . . . . . . 64
3.2.6 辨認準確率 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
3.3 深度學習之前的方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
3.3.1 早期方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
3.3.2 高斯混合模型方法 . . . . . . . . . . . . . . . . . . . . . . . . . . 66
3.3.3 高斯混合模型-通用背景模型 . . . . . . . . . . . . . . . . . . . . 70
3.3.4 高斯混合模型-支持向量機 . . . . . . . . . . . . . . . . . . . . . 72
3.3.5 聯合因子分析 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
3.3.6 i-vector 方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
3.4 基於深度學習的方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
3.4.1 關於深度學習的簡單介紹 . . . . . . . . . . . . . . . . . . . . . . 79
3.4.2 聲紋識別中的神經網絡 . . . . . . . . . . . . . . . . . . . . . . . 84
3.4.3 運行時的推理邏輯 . . . . . . . . . . . . . . . . . . . . . . . . . . 86
3.4.4 聲紋識別中的損失函數 . . . . . . . . . . . . . . . . . . . . . . . 93
3.5 聲紋識別中的數據處理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
3.5.1 聲紋識別的數據需求 . . . . . . . . . . . . . . . . . . . . . . . . . 102
3.5.2 數據預處理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
3.5.3 數據增強 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
3.5.4 多數據集訓練 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
3.6 聲紋驗證 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
3.6.1 驗證方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
3.6.2 分數正則化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
3.7 常用數據集 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
3.7.1 TIMIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
3.7.2 VCTK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
3.7.3 LibriSpeech . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
3.7.4 LibriVox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
3.7.5 VoxCeleb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
3.7.6 CN-Celeb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
3.7.7 BookTubeSpeech . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
3.7.8 維基百科語音庫 . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
3.7.9 DeepMine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
4 聲紋識別的工程部署 120
4.1 從模型到產品 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
4.1.1 模型不等於產品 . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
4.1.2 軟件工程基本概念 . . . . . . . . . . . . . . . . . . . . . . . . . . 120
4.2 聲紋識別常見工程問題 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
4.2.1 錄入階段的工程問題 . . . . . . . . . . . . . . . . . . . . . . . . . 126
4.2.2 識別階段的工程問題 . . . . . . . . . . . . . . . . . . . . . . . . . 128
4.2.3 語音處理引擎:流式信號處理與計算圖 . . . . . . . . . . . . . 131
4.2.4 模型版本迭代 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
4.2.5 在線代理指標 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
4.3 全設備端部署 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
4.3.1 部署方式的分類依據 . . . . . . . . . . . . . . . . . . . . . . . . . 139
4.3.2 版本迭代更新 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
4.3.3 資源限制:設備端的最大挑戰 . . . . . . . . . . . . . . . . . . . 141
4.3.4 模型量化技術 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
4.4 全服務器端部署 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
4.4.1 全服務器端架構 . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
4.4.2 版本迭代更新 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
4.4.3 負載均衡與故障處理 . . . . . . . . . . . . . . . . . . . . . . . . . 149
4.5 復合式部署 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
4.5.1 聲紋信息的敏感性 . . . . . . . . . . . . . . . . . . . . . . . . . . 151
4.5.2 復合式架構 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
4.5.3 版本迭代更新 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
5 聲紋分割聚類技術 156
5.1 分割聚類:更好地理解對話語音 . . . . . . . . . . . . . . . . . . . . . . . 156
5.1.1 關於名稱與歷史 . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
5.1.2 常見應用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
5.1.3 常見通用架構 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
5.1.4 聲紋分割聚類的不同任務類型 . . . . . . . . . . . . . . . . . . . 162
5.2 聲紋分割聚類與多說話人識別 . . . . . . . . . . . . . . . . . . . . . . . . 163
5.2.1 聲源分離 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
5.2.2 連續聲紋識別 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
5.2.3 說話人轉換檢測 . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
5.3 聚類分析 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
5.3.1 聚類不等於分類 . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
5.3.2 在線聚類技術 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
5.3.3 離線聚類技術 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
5.3.4 基於離線聚類的在線聲紋分割聚類 . . . . . . . . . . . . . . . . 178
5.4 二次分割方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
5.4.1 基於分類的二次分割 . . . . . . . . . . . . . . . . . . . . . . . . . 180
5.4.2 基於隱馬爾可夫模型的二次分割 . . . . . . . . . . . . . . . . . 181
5.5 監督式方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
5.5.1 聚類方法的一些問題 . . . . . . . . . . . . . . . . . . . . . . . . . 182
5.5.2 從傳統聚類到監督式方法 . . . . . . . . . . . . . . . . . . . . . . 184
5.5.3 無界交織態循環神經網絡 . . . . . . . . . . . . . . . . . . . . . . 187
5.5.4 判別神經聚類 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
5.5.5 置換不變性訓練 . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
5.5.6 端到端模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
5.5.7 與語音識別的聯合訓練 . . . . . . . . . . . . . . . . . . . . . . . 200
5.6 聲紋分割聚類的評價指標 . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
5.6.1 評價指標的置換不變性 . . . . . . . . . . . . . . . . . . . . . . . 203
5.6.2 分割聚類錯誤率 . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
5.6.3 詞分割聚類錯誤率 . . . . . . . . . . . . . . . . . . . . . . . . . . 205
5.6.4 其他指標 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
5.7 常用數據集 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
5.7.1 CALLHOME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
5.7.2 NIST SRE 2000 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
5.7.3 ICSI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
5.7.4 Fisher . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
5.7.5 AMI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
6 聲紋技術的其他應用 211
6.1 聲紋的力量 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
6.2 用於語音識別 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
6.2.1 語音識別技術概述 . . . . . . . . . . . . . . . . . . . . . . . . . . 212
6.2.2 聲紋自適應聲學模型 . . . . . . . . . . . . . . . . . . . . . . . . . 213
6.3 用於語音合成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
6.3.1 語音合成技術概述 . . . . . . . . . . . . . . . . . . . . . . . . . . 214
6.3.2 聲紋克隆:合成任意說話人的聲音 . . . . . . . . . . . . . . . . 218
6.4 用於語音檢測 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
6.4.1 語音檢測技術概述 . . . . . . . . . . . . . . . . . . . . . . . . . . 220
6.4.2 個性化語音檢測 . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
6.5 用於人聲分離 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
6.5.1 人聲分離技術概述 . . . . . . . . . . . . . . . . . . . . . . . . . . 221
6.5.2 定向人聲分離 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
6.6 聲紋轉換 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
6.7 聲紋還原度測試 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
6.7.1 音頻處理的聲紋保留性質 . . . . . . . . . . . . . . . . . . . . . . 227
6.7.2 音頻編碼格式的還原度測試 . . . . . . . . . . . . . . . . . . . . 228
6.7.3 語音合成技術的還原度測試 . . . . . . . . . . . . . . . . . . . . 229
7 聲紋技術的未來 231
7.1 概述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
7.2 聲紋技術的挑戰 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
7.2.1 對通道變化的魯棒性 . . . . . . . . . . . . . . . . . . . . . . . . . 231
7.2.2 對聲紋變化的魯棒性 . . . . . . . . . . . . . . . . . . . . . . . . . 232
7.2.3 反欺詐 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
7.3 對更多數據的需求 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
7.3.1 更為多樣的數據增強 . . . . . . . . . . . . . . . . . . . . . . . . . 235
7.3.2 用於訓練的合成語音 . . . . . . . . . . . . . . . . . . . . . . . . . 237
7.3.3 自動數據採集 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
7.4 聲紋技術的未來研究方向 . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
7.4.1 對抗學習 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
7.4.2 多模態說話人識別 . . . . . . . . . . . . . . . . . . . . . . . . . . 240
7.4.3 聯邦學習 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
7.4.4 集成學習 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
7.4.5 同時完成聲紋分割聚類與人聲分離 . . . . . . . . . . . . . . . . 245
7.5 結語 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
中英詞匯對照 248
參考文獻 259