• 沒有找到結果。

PC 上的辨識率比較 上的辨識率比較 上的辨識率比較 上的辨識率比較

第五章 Nios II 系統發展環境及設計方法 系統發展環境及設計方法 系統發展環境及設計方法 系統發展環境及設計方法

6.3 PC 上的辨識率比較 上的辨識率比較 上的辨識率比較 上的辨識率比較

6.3.1 mfcc 特徵參數的選定

特徵參數的選定 特徵參數的選定 特徵參數的選定

在第三章介紹 mfcc 時,(2-16)中,参數 n 為音框的特徵值,通常的選擇為 前 12 個,這節我們測試其選擇對辨識率的影響,利用語音資料庫中,7 個人的 聲音訓練,3 個人測試,每個聲音各測試 12 次。由表 6.3 可看出從 8 開始就算增 加到 12 辨識率也不會比較高,反而會增加類神經網路的輸入,增加類神經網路 的計算時間。在之後的實驗,我們選擇 n 為 8。

表 6.3 MFCC 的 n 参數選擇與辨識率比較 n 6 7 8 9 10 11 12

0 1 1 1 1 1 1 1

1 0.916 0.833 1 0.916 1 0.916 0.916 2 0.66 1 1 0.916 0.916 0.916 1 3 0.416 0.5 0.583 0.333 0.333 0.333 0.416 4 0.5 0.916 1 1 1 0.916 1

5 1 1 1 1 1 1 1

6 0 1 1 1 1 1 1

7 0.66 0.5 0.5 0.75 0.75 0.75 0.66

8 1 1 1 1 1 1 1

9 1 1 1 0.916 0.916 1 0.916 總辨識率 0.72 0.85 0.908 0.88 0.89 0.88 0.89

語音 辨識率

6.3.2 整數

整數 整數 整數 FFT 與 與 與 與浮點數 浮點數 浮點數 FFT 的比較 浮點數 的比較 的比較 的比較

圖 6.8 float FFT 和 integer FFT 的頻率能量

在訓練語音時,我們利用語音資料庫中 7 個人的聲音當作訓練樣本,而剩 下 3 個人則當作測試樣本,以此來比較 integer FFT 與 float FFT 對 ANN 的辨識 率影響。表 6.4 為 integer FFT 與 float FFT 的辨識率比較,每個中文語音有 12 組測式樣本,我們可以看到兩者並沒有太大的差別,因此可知兩者頻率能量的誤 差對 ANN 的辨識率影響不大。圖 6.9 為 integer FFT-ANN 與 float FFT- ANN 收 斂過程中的誤差,x 軸以分鐘為單位,圖 6.10 為 integer FFT-ANN 與 float FFT- ANN 收斂過程中的誤差,x 軸以學習次數為單位,其計算方式為式(6-2),其中 E 為式(4-4),簡單的說就是將一個學習循環每個訓練檔案作平均,從圖中可見兩 者收斂的速度相近。表 6.5 與表 6.6 為 integer FFT-ANN 和 float FFT- ANN 的學 習循環次數與其誤差。

∑∑∑

=

7 9 4

1 E

ERROR (6-2)

其中,Ei,k,t為第 k 個人的第 i 個音而且是第 t 次錄音

表 6.4 整數 FFT 與浮點數 FFT 的辨識率比較

Float FFT Integer FFT

語音 辨識次數 辨識成功 總辨識率 語音 辨識次數 辨識成功 總辨識率

0 12 11 0 12 12

1 12 12 1 12 12

2 12 12 2 12 12

3 12 5 3 12 7

4 12 12 4 12 12

5 12 12 5 12 12

6 12 12 6 12 12

7 12 9 7 12 6

8 12 12 8 12 12

9 12 12

0.9083

9 12 12

0.9083

圖 6.9 float FFT-ANN 和 integer FFT-ANN 收斂過程的誤差(分鐘)

圖 6.10 float FFT-ANN 和 integer FFT-ANN 收斂過程的誤差(學習次數)

表 6.5 整數 FFT 學習循環次數與其誤差

學習次數 網路輸出誤差

200 0.216073

400 0.120789

600 0.078738

800 0.058213

1000 0.045995 1200 0.038290 1400 0.033277 1600 0.029913 1800 0.027542 2000 0.025794 2200 0.024464 2400 0.023484 2600 0.022679 2800 0.021933 3000 0.021236

表 6.6 浮點數 FFT 學習循環次數與其誤差

學習次數 網路輸出誤差

200 0.169689

400 0.097950

600 0.067565

800 0.050320

1000 0.041379 1200 0.036114 1400 0.032655 1600 0.030201 1800 0.028399 2000 0.027040 2200 0.025981 2400 0.025139 2600 0.024413 2800 0.023750 3000 0.023137

在類神經網路訓練後的權重值與門檻值,最大為 9.4446,最小為-9.4861。

6.4 硬體 硬體 硬體 硬體平台上的速度 平台上的速度 平台上的速度 平台上的速度比較 比較 比較 比較

首先我們將語音辨識過程中,每個方法在硬體上執行的時間列表如表 6.7,我們再次確認 float FFT 對於語音辨識的執行時間是很大的負擔,所以我們 用 integer FFT 取代 float FFT,表 6.8 為兩者的計算時間比較,很明顯的看出 integer FFT 比 float FFT 快 2 倍以上,使的整體計算時間更符合 real-time 的應 用。最後,表 6.9 為兩者的辨識的全部計算時間比較。

表 6.7 語音辨識其時間分佈

section 秒數(s)

End point detect , Preemphasis 0.11468

hamming 0.02497

Float FFT 0.88087 MFCC ( exclude Float FFT) 0.75311

ANN 0.04770

TOTAL 1.82114

表 6.8 整數 FFT 與浮點數 FFT 的計算時間比較

section 秒數(s)

Float FFT 0.88

Integer FFT 0.38

表 6.9 整數 FFT 與浮點數 FFT 的辨識全部計算時間比較

section 秒數(s)

Float FFT 1.82

Integer FFT 1.32

6.5 硬體上的辨識系統 硬體上的辨識系統 硬體上的辨識系統 硬體上的辨識系統

最後,我們將系統與程式碼下載入發展版來做最後的測試如圖 6.11,利用 麥克風對每個中文語音各 100 組作語音辨識測試如表 6.10,其中,語音 7 因為 和語音 1 聲音相近,可能因此造成辨識率較低外,由表中的結果可見我們的嵌入 式辨識系統有不錯的辨識率。

圖 6.11 辨識系統的實際測試

表 6.10 經由 100 組測試語音辨識結果

語音 辨識正確(次) 辨識失敗(次) 辨識率(%) 總辨識率(%)

0 84 16 0.84

1 95 5 0.95

2 97 3 0.97

3 96 4 0.96

4 96 4 0.96

5 95 5 0.95

6 94 6 0.94

7 75 15 0.75

8 98 2 0.98

9 89 1 0.89

0.919

相關文件