• 沒有找到結果。

第二章 背景知識與相關研究

2.4 小結

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

圖 2.14、非線性 SVM 分類示意圖

本研究主要欲探討事先定義好的聲音風格,是經過前處理降低背景音,再透 過聲音特徵值擷取計算出 i-Vector 進行訓練與分類。這在實際應用中可能存在以 下問題:其一是無法針對使用者進行長時間的聲音錄製,所獲取的訓練資料大多 僅數十秒至一兩分鐘;其二是風格之間可能存在模糊地帶或是重疊部份。為解決 上述問題,經研究得到 SVM 對於小量樣本亦有良好的測試結果且亦是常用的語 者辨識的分類方法之一;透過 SVM 機率模型(Probabilistic Models)[11]可以計 算出實驗結果對於每個聲音風格的個別機率,如此有助於判斷不易分類的聲音風 格類型。因此 SVM 是本研究相對於深度學習較適合的分類方法。

2.4. 小結

綜合以上探討結果,由 Dehak 等人提出的 i-Vector[12]最初即用於語者辨識 問題,而今在語音處理的領域已成為眾所周知並廣泛使用的一項特徵,其主要 理論基礎從 Joint Factor Analysis(又名 JFA)[13]發展而來。因為錄音設備、錄 音當下背景的不同,導致辨識不精準,因此 JFA 便被採用以將語者特徵與背景 特徵分別考量。與 JFA 不同之處,在於 Dehak 等人提出的方法,不再將語者特 徵與背景特徵分為兩個變因考量,而使用一個總體變異性(Total Variability)的

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

矩陣簡化。其簡化的前提,是須將訓練集中的人聲資料,都視為不同的語者。

當總體變異性矩陣訓練完成了,我們即可使用此矩陣來計算 i-Vector。Larcher 等人的研究[14],證實了 i-Vector 在與語言相關的語者辨識問題上是可信賴的。

i-Vector 亦是目前研究中最佳的聲音特徵值,尤其對語音有著極佳的表現,亦符 合現實應用中訓練資料越短越好的特性。除了語者辨識,i-Vector 在聲音情感辨 識(Speech Emotion Recognition)[15]亦有亮眼的表現,聲音情感亦是影響聲音 風格的因素之一。

雖然深度學習已有多篇研究證明是目前較佳的語者辨識分類方法,但其所需 訓練資料相對龐大且需要精準的訓練資料標示並不符合本研究的應用情境;相對 SVM 機率模型有著計算速度快;適合小量訓練資料;優異的分類表現等優點。

基於以上看法,不採用深度學習而改採 i-Vector 作為對欲探討聲音風格的聲 音特徵向量,引用大眾對於聲音風格感受來做標示,以此訓練 SVM 機率模型來 學習大眾對於聲音風格的結論,作為本論文的實作理論基礎。

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

第三章

研究方法

在本章節中,我們將介紹所使用的聲音特徵擷取工具 ALIZE Toolkit 與 SVM 函式庫 LIBSVM,使用它進行聲音風格的前期研究,最後根據前期研究的結果設 計出研究架構與預期取得的目標。

3.1. 工具探討

3.1.1. ALIZE Toolkit

ALIZE[16][17] 是一 套語 者辨 識 的 開源平 台 。主要 目的是提供 一套低 階

(ALIZE-Core)和高階(LIA_RAL)框架,讓任何人都可以開發應用程式來處理 語者辨識領域的各種任務:驗證、識別和分割等(如圖 3.1)。

圖 3.1、ALIZE 架構

ALIZE-Core 主要基於 GMM-UBM 的低階統計引擎;LIA_RAL 則是提供包 括語者辨識功能的相關計算模組。自 2005 年以來,ALIZE 的效能在許多屆 NIST

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

SREs 已經被驗證,並且 ALIZE 在一些主要的國際評估活動,如 NIST SRE、RT 和 French-ESTER 等都取得了很好的成績。直至今日 ALIZE 在學界和業界亦被 廣泛地使用。隨著語者辨識技術的演進,目前 LIA_RAL 函式庫已經支援 JFA、

i-Vector 和 PLDA(Probabilistic Linear Discriminant Analysis)等功能(如圖 3.2)。

圖 3.2、ALIZE 處理流程

3.1.2. LIBSVM

LIBSVM 是[18]所開發的一個簡單、易於使用的 SVM 分類與迴歸函式庫。

它將一般 SVM Kernel 選用 RBF(Radial Based Function)訓練所需要手動反覆調 整的 C 和 gamma 參數透過交叉驗證自動計算出最佳值,其中:

 C 為 Cost 懲罰的權重,導入後目標函數如公式 3.1,C 愈大則較無法容 忍誤差,容易發生過度訓練(Over-fitting);反之,C 愈小則容易造成 訓練不足(Under-fitting)。

minimize 12

∥ 𝑤𝑤 ∥

2

+ 𝐶𝐶

𝜉𝜉

𝑖𝑖

𝑖𝑖

……… (3.1)

subject to

𝑦𝑦

𝑖𝑖

(𝑤𝑤

𝑇𝑇

𝑥𝑥

𝑖𝑖

− 𝑏𝑏) − 1 + 𝜉𝜉

𝑖𝑖

≥ 0 ∀

𝑖𝑖

𝜉𝜉

𝑖𝑖

≥ 0 ∀

𝑖𝑖

 gamma 是選擇 RBF 函數作為 kernel 的一個內部參數(gamma 與標準差 σ 關係如公式 3.3),gamma 太大,支援向量所影響區域半徑僅包括支

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

 聲音取樣率測試

 配音員使用不同聲調對於聲音風格的影響

3.2.1. 資料前處理

ALIZE Toolkit 的聲音輸入格式為 SPH,SPH 是一種在語者辨識中常用聲音 格式,其包含 16 位元 PCM 和 44100Hz 取樣率(可調整)。SPH 格式可以由 WAV 轉換獲得。在這裡我們使用 SoX[19](如圖 3.3)來做聲音格式轉換,SoX 是一套 跨平台(Windows,Linux,MacOSX 等)命令列執行程式,可以將各種格式的電 腦聲音檔轉換為其他格式。

圖 3.3、SoX 轉檔範例

3.2.2. i-Vector 功能基本驗證

ALIZE Toolkit 亦提供相對所需之功能,故我們一開始先依照 ALIZE 網頁[20]

中教學文件連結下載 LIA_SpkDet — I-vector System 並利用內附聲音資料先進行 基本功能確認,ALIZE 執行步驟如下(如圖 3.4):

1. 使用 SPro[21]擷取出 MFCC 特徵值

2. 對特徵值進行正規化並以能量檢測方式去除靜音部份

3. 訓練 UBM 模型後預估總體變異矩陣(Total Variability matrix),再計 算出 i-Vector

4. 以 WCCN、EFR 等方式正規化 i-Vector 並評分

5. 以 PLDA(Probabilistic Linear Discriminant Analysis model)方式對

i-‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

Vector 評分

圖 3.4、ALIZE Toolkit 執行流程

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

執行結果語者皆有正確辨識。因內建資料為 NIST-SRE 2004 所提供經由電 話錄音得到的語音資料,為確認在其他環境下所收集的語音資料也可正常地在 ALIZE Toolkit 工具包執行,我們隨機蒐集 15 位男性與 15 位女性廣播主持人的 聲音檔,每個人擷取語音資料約 120 秒來做基本的語者辨識,以確認 ALIZE 可 行性。

ALIZE Toolkit 工具包內附語音樣本有 100 個,因此將蒐集到的語音樣本分 割為每 30 秒一段共四段,經過 ALIZE 計算可得 120 個 i-Vector 樣本。隨機取 60 個 i-Vector 做為訓練資料;餘下 60 個做為測試資料,並重複測試共 10 次(如圖 3.5)。

圖 3.5、ALIZE Toolkit 驗證流程

SVM 使用的參數 c = 0.03125、g = 0.0078125,測試結果如下:

Round SVM Accuracy

1 100%

2 100%

3 100%

4 100%

5 100%

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

6 100%

7 100%

8 100%

9 100%

10 100%

表 3.1、ALIZE Toolkit 測試結果

由實驗結果得知:ALIZE Toolkit 可準確處理語者辨識問題。

3.2.3. 最短資料長度測試

因每人語音資料長度約為 120 秒,主要以 50%、50%分配給訓練與測試資料。

 實驗 1:最短測試(Test)資料

將語音樣本分割為訓練資料 60 秒;測試資料依序為 30 秒、20 秒、10 秒、

5 秒、3 秒、2 秒和 1 秒當作測試資料,每次實驗做 10 次取平均值(如圖 3.6)。

圖 3.6、最短測試資料流程 測試結果如下:

實驗 1

Training(秒) Test(秒) SVM Accuracy

60 60 100%

60 30 100%

60 20 100%

Training(秒) Test(秒) SVM Accuracy

60 10 98.91%

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

由實驗結果得知:在訓練資料準確率愈高愈好的前提下,最短訓練資料以 60 秒為較佳的選擇。此實驗結果亦符合 GMM-UBM 中單檔訓練時間愈長;預估 TV Matrix 愈準確;所計算出的 i-Vector 愈能表現出該語音特徵的特性。

3.2.4. 白噪音對於語者辨識的影響

雖在文獻探討中指出,i-Vector 特徵對於通道影響有良好的抗噪性。現實資 料收集時常有收音環境背景音會錄進去或是在後製時加入其他音效等狀況,故測 試加入白噪音來測試系統對語者辨識的影響(加入方式如圖 3. 8)。

測試流程如下(如圖 3.10):

1. 訓練資料每人取 60 秒,共 1 檔。

2. 測試資料每人取 10 秒,共 6 檔。

3. 依序加入原音量 1%、2%、4%的白噪音(頻譜圖如圖 3.11)。

4. 將步驟 3 原音量 1%白噪音,使用軟體[22]降噪(如圖 3.9)。

5. 重複步驟 1~4,共測試 10 次。

圖 3.8、使用 SoX 加入白噪音

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

圖 3.9、使用 Audacity 進行降噪

圖 3.10、白噪音對於語者辨識影響測試流程

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

圖 3.11、白噪音測試頻譜圖,上至下依序為

原音、白噪音 1%、白噪音 2%、白噪音 4%、白噪音 1%(軟體降噪)

測試結果如下:

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

白噪音(原音量%) SVM Accuracy

1% 83.33%

2% 68.61%

4% 56.09%

1%(軟體降噪) 93.33%

表 3.4、白噪音對語者辨識測試結果

由以上實驗結果可得知,噪音對於辨識結果有相當大的影響,使用降噪軟體 對於辨識準確度正面效果。實際上,若在吵雜的環境中,人類對於語音的辨識也 會降低。但人耳較奇特的是,我們可以將注意力集中在某一個人的談話之中,而 忽略背景中其他的對話或噪音,使我們可以在吵雜的環境中交談,此種現象稱之 為雞尾酒會效應(Cocktail Party Effect)[23]。若要讓電腦如人耳般去自動分離出 各式各樣不同的聲音,並從中找出我們感興趣的聲音,則需要在不同的位置放置 足夠的麥克風去紀錄這些聲音再藉由電腦去做分析,以分離各個訊號,此種方法 稱為獨立成分分析(Independent Component Analysis,ICA) [24](如圖 3.12)。但 是目前機器自動過濾之效果不佳,因此在收集語音樣本時,應儘量避免或降低收 音時環境音效所造成的影響。

圖 3.12、獨立成分分析與雞尾酒效應示意圖

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

3.2.5. 不連續語音內容測試

我們欲探討的聲音風格,主要是每個人說話的習慣是不同的,具備不同之聲 音特色,如重音、語調快慢、聲頻高低、音量大小,停頓語氣等。這些因素跟其 說話內容無關(Text-Independent),因此我們將擷取的語音樣本做隨機切割再組 合,並測試其對於語者辨識的關聯性。

測試流程如下(如圖 3.13):

1. 將訓練資料每人取 60 秒,並以 5 秒為單位做切割。

2. 將步驟 1 切割後的檔案隨機組合回一個 60 秒語音檔。

3. 測試資料每人取 10 秒,共 6 檔。

4. 重複步驟 1~3,共測試 10 次。

圖 3.13、不連續內容語音測試流程

測試結果如表 3.5:

Round SVM Accuracy

1 100%

2 100%

3 100%

4 100%

5 99.67%

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

6 97.50%

7 100%

8 100%

9 99.67%

10 100%

表 3.5、不連續內容語音測試結果

實驗過程中,我們使用 ffmpeg [25]將測試資料自動分割為單個 5 秒的檔案,

自動分割過程中若分割點不是剛好切在說話中字與字的間隔,如此分割出的檔案 可能會在開頭或是結尾處產生破音造成機器誤判,應儘量避免此種狀況產生。

執行指令如圖 3.14:

圖 3.14、使用 FFMpeg 自動分割聲音樣本

由實驗結果可得知:i-Vector 對於語音內容並無太大影響(即符合 Text-Independent 之特性)。

3.2.6. 聲音取樣率測試

前面小節所做測試都是以取樣率(Sampling rate)44100Hz 為主,若是模擬

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

電話通話音質是否會對語者辨識造成影響?因此我們將 3.2.3 節實驗中所有聲音 樣本的取樣率從 44,100Hz 降低至 8,000Hz,並測試其對於語者辨識的相關性。

測試流程如下(如圖 3.15):

1. 訓練資料每人取 60 秒,共 1 檔。

2. 測試資料每人取 10 秒,共 6 檔。

3. 將聲音取樣率降低至 8000Hz。

4. 重複步驟 1~3,共測試 10 次。

4. 重複步驟 1~3,共測試 10 次。

相關文件