高性能漢語數(shù)碼語音識別算法
2008年04月18日 星期五 21:24
李虎生 劉加 劉潤生
摘 要: 提出了一個高性能的漢語數(shù)碼語音識別(MDSR)系統(tǒng),。 MDSR系統(tǒng)使用Mel頻標倒譜系數(shù)(MFCC)作為主要的語音特征參數(shù),,同時提取共振峰軌跡和鼻音特征以區(qū)分一些易混語音對,并提出一個基于語音特征的實時端點檢測算法,,以減少系統(tǒng)資源需求,,提高抗干擾能力。采用了兩級識別框架來提高語音的區(qū)分能力,,其中第一級識別用于確定識別候選結(jié)果,,第二級識別用于區(qū)分易混語音對。由于采用了以上改進,, MDSR系統(tǒng)識別率達到了98.8%. 關(guān)鍵詞:漢語; 數(shù)碼語音識別 分類號:TN 912.34 文獻標識碼:A 文章編號:1000-0054(2000)01-0032-03
High performance digit mandarin speech recognition
LI Husheng LIU Jia LIU Runsheng (Department of Electronic Engineering,Tsinghua University, Beijing 100084, China)
Abstract:High-performance mandarin digit speech recognition (MDSR) system is developed using MFCC (mel frequency cepstrum coefficient) as the main parameter identifying the speech patterns. The formant trajectory and the nasal feature are extracted to identify confused words. A feature-based, real-time endpoint detection algorithm is proposed to reduce the system resource requirements and to improve the disturbance-proof ability. A two-stage recognition frame enhances discrimination by identifying candidate words in the first stage and confused word pairs in the second stage. These improvements result in a correct recognition rate of 98.8%. Key words:mandarin,;digit speech recognition▲
漢語數(shù)碼語音識別 (mandarin digit speech recognition, MDSR) 是語音識別領(lǐng)域中一個具有廣泛應(yīng)用背景的分支,它的任務(wù)是識別“0”到“9”等10個非特定人漢語數(shù)碼語音,,在電話語音撥號,、工業(yè)監(jiān)控、家電遙控等領(lǐng)域有著極大的應(yīng)用價值[1],。但與英語數(shù)碼語音識別相比,, MDSR的性能尚未達到成熟應(yīng)用水平,這是因為 1) 漢語數(shù)碼語音的混淆程度較高,; 2) 漢語是一個多方言語種,,說話人會帶有或多或少的地方口音; 3) 在許多應(yīng)用背景中,,MDSR需要在運算和存儲資源都較為緊張的數(shù)字信號處理器(digital signal processor, DSP)系統(tǒng)上實現(xiàn),,這為MDSR算法的設(shè)計帶來了很大的限制。由于以上原因,,MDSR是一項相當困難的任務(wù),。 針對漢語數(shù)碼語音識別提出了一系列高性能的算法,使MDSR識別率達到了98.8%,。由這些算法構(gòu)成的識別系統(tǒng)框圖如圖1所示,。 MDSR系統(tǒng)[1]提取的語音特征參數(shù)包括用于識別的參數(shù)和用于端點檢測的參數(shù)。
圖1 MDSR系統(tǒng)框圖
1 語音前端處理
語音前端處理包括語音特征提取和端點檢測兩部分,。
1.1 語音特征提取 1.1.1 基本識別參數(shù) 目前常用的語音識別參數(shù)有基于線性預(yù)測編碼(LPC)的線性預(yù)測倒譜系數(shù)(LPCC)和基于Mel頻標的倒譜系數(shù)(MFCC)[2],。實驗證明,采用MFCC參數(shù)時系統(tǒng)識別率高于采用LPCC參數(shù)。因此本文的基本識別參數(shù)采用MFCC參數(shù)及一階差分MFCC參數(shù),。
1.1.2 共振峰軌跡 在MDSR中,,易混淆語音“2”和“8”可以由其第2,3共振峰的變化趨勢區(qū)分開[3],。因此可將共振峰軌跡作為識別參數(shù)之一,,并選用峰值選取算法來提取共振峰軌跡[3]。
1.1.3 鼻音特征參數(shù) 漢語數(shù)碼語音中,,“0”的元音具有鼻音的特征,,而“0”容易與具有非鼻化元音的“6”混淆,因此鼻音特征可用于提高“0”的識別率,。鼻音的特征包括[4]: 1) 鼻音在頻譜低端(約0.25kHz左右)有1個較強的共振峰,。 2) 鼻音在中頻段(約0.8~2.3kHz)的能量分布較為均勻,沒有明顯的峰或谷,。 采用以下2個參數(shù)表征鼻音的特征: 1) 低頻能量比:
(1)
其中fn為鼻音低頻共振峰頻率,, B為鼻音低頻共振峰帶寬。Fk為對語音作快速Fourior變換(FFT)后第k個頻率點的能量,, [f1,,f2]則為語音“6”能量集中的頻帶。 2) 頻譜質(zhì)心:
(2)
其中[fL,fH]為0.8~2.3kHz的中頻段,。由于MDSR系統(tǒng)采用的基本識別參數(shù)為MFCC參數(shù),,其計算過程中需要作FFT,所以低頻能量比和頻譜質(zhì)心兩個參數(shù)可以順帶算出,,不會影響特征提取的實時完成。
1.2 端點檢測 本文提出了基于語音特征的實時端點檢測算法(feature-based real-time endpoint detection, FRED),,充分利用漢語數(shù)碼語音的特點,,在實時提取特征參數(shù)后完成端點檢測,檢測到的端點只精確到幀的量級,。 根據(jù)語音學(xué)知識[4],, MDSR中各類語音的頻譜特點如表1
表1 漢語數(shù)碼語音頻譜特點
|
頻 譜 特 征 |
濁 音 |
元 音 |
低頻(0.1至0.4kHz間)能量較高; 中頻(0.64至2.8kHz)能量較高 |
濁輔音 |
低頻(0.1至0.4kHz間)能量較高,; 中頻(0.64至2.8kHz)能量較低 |
清輔音 |
|
高頻(3.5kHz以上)能量較高 |
采用3個頻譜能量分布參數(shù){R1,,R2,R3}分別反應(yīng)頻譜高頻,、低頻和中頻的分布特征,。其定義如下:
(3) (4)
其中: i表示第i幀, N為語音幀長,,也即FFT點數(shù),, Fk為對語音幀作FFT后各頻率點能量, T為語音的總幀數(shù),式(3),,(4) 中求和號的上下限由表1中相應(yīng)頻率范圍確定,,當N為256,采樣頻率為實驗所用語音庫的11kHz時,, f0=81,, f1=9, f2 =2,, f3=65,, f4=15.由于進行了能量歸一化,所以上述特征與語音的強度是無關(guān)的,。由于計算MFCC參數(shù)時需要作FFT,,因此頻譜能量分布參數(shù)可以順帶算出。此外,,用于端點檢測的參數(shù)還包括短時能量參數(shù)E0(i)[5]. 由以上參數(shù),, FRED算法過程為: 1) 根據(jù)采入信號首尾兩幀確定能量閾值; 2) 根據(jù)參數(shù)R2確定語音濁音段,; 3) 根據(jù)參數(shù)R1與E0向濁音段兩端擴展式搜索語音起始幀,; 4) 根據(jù)參數(shù)R3確定元音段。 FRED算法的特點是: 1) 利用了語音的本質(zhì)特征進行端點檢測,,能夠很好地適應(yīng)環(huán)境的變化和干擾,,實驗證明FRED算法可以有效地提高識別率; 2) 將語音端點定在幀的量級上,,保證了特征參數(shù)在采樣時實時提取,,節(jié)省了系統(tǒng)運行時間,大大減少了系統(tǒng)所需的存儲量,; 3) 能夠準確地確定語音的元音段,,從而將輔音與元音分割開,有利于對語音局部特征的辨識,。
2 識別算法
實驗表明,, MDSR的識別錯誤集中在少數(shù)幾對易混語音中[1],因此本文采用了兩極識別框架,,即第一級完成對識別結(jié)果的初步確定,,第二級完成對易混淆語音的進一步辨識。
2.1 第一級識別 在第一級識別中采用的基本方法為離散隱含Malkov模型(DHMM)算法[5],,用Viterbi算法[5]計算各個數(shù)碼語音模型產(chǎn)生采入語音的概率Pr,。 由于HMM是一個有人為假設(shè)的模型,所以有不可避免的缺陷,。其中一個缺陷是在HMM中各狀態(tài)的持續(xù)時間呈幾何分布,,即
P(Li=n)=anii(1-aii),, (5)
其中: Li為狀態(tài)i的持續(xù)時間, aii為狀態(tài)i跳轉(zhuǎn)回自身的概率,。按照式(5),,狀態(tài)持續(xù)時間越長,其概率越小,,這是不符合實際情況的,。用Γ分布來描述狀態(tài)持續(xù)時間[5],即
(6)
其中αi和βi為Γ分布的參數(shù),, Fi為歸一化因子參數(shù),,以上各參數(shù)在訓(xùn)練時由訓(xùn)練語音樣本估計出。在識別時,,用Viterbi算法獲得的最佳狀態(tài)路徑中各狀態(tài)持續(xù)時間的概率對Pr作修正:
(7)
其中: λ為加權(quán)系數(shù),, S為狀態(tài)數(shù)。識別結(jié)果則由修正后的概率P ′r獲得,。實驗證明,,用狀態(tài)持續(xù)時間分布對Pr進行修正所得的識別性能有明顯的提高。
2.2 第二級識別 對第一級識別的錯誤作分析,,我們發(fā)現(xiàn)大部分錯誤都集中在少數(shù)幾對易混語音中,。表2列出了識別錯誤最多的6對語音(其中“1”念為[yao])占所有錯誤的百分比及其區(qū)分特征??梢娺@6對語音占所有錯誤的91%,,所以如果能夠在第二級識別中對這幾對語音作進一步的辯識,整個MDSR系統(tǒng)的性能會有很大的提高,。
表2 易混語音錯誤百分比及其區(qū)分特征
|
易混語音 |
占識別錯誤百分比/% |
區(qū)分特征 |
“2”“8” |
45 |
共振峰軌跡變化趨勢 |
“1”“9” |
12 |
不同的輔音 |
“1”“6” |
11 |
不同的輔音 |
“0”“6” |
11 |
鼻音特征的有無 |
“3”“4” |
8 |
不同的元音 |
“6”“9” |
4 |
輔音的清濁性 |
由表2可見,,易混語音“2”“8”, “0”“6”,, “6”“9”可以用表征其區(qū)分特征的參數(shù),,根據(jù)一定的規(guī)則進行判決,而“1”“9”,, “1”“6”, “3”“4”則可以利用端點檢測中元,、輔音分割的結(jié)果,,訓(xùn)練元音部分和輔音部分的HMM參數(shù),在識別時針對相應(yīng)部分再作一次局部HMM識別,。表3列出了各對易混語音第二級識別的方法,。
表3 第二級識別方法
|
易混語音 |
第二級識別方法 |
規(guī)則判決的特征參數(shù)或 局部HMM的辨識部位 |
“2”“8” |
規(guī)則判決 |
共振峰軌跡 |
“1”“9” |
局部HMM辨識 |
輔音 |
“1”“6” |
局部HMM辨識 |
輔音 |
“0”“6” |
規(guī)則判決 |
鼻音特征 |
“3”“4” |
局部HMM辨識 |
元音 |
“6”“9” |
規(guī)則判決 |
頻譜分布參數(shù)R1 |
3 實驗結(jié)果
實驗使用了一個包含160人從“0”到“9”的各一遍發(fā)音的語音庫來測試系統(tǒng)的性能,庫中語音采樣率為11kHz,,量化精度為16bit線性量化,,錄音背景為普通辦公室環(huán)境,。 首先測試了特征參數(shù)采用LPCC參數(shù),端點檢測采用快速端點檢測算法[6],,只用Viterbi算法進行一級識別時的基本結(jié)果,,然后測試了逐個加入本文所提出的各種方法后的識別率,結(jié)果如表4,??梢姡捎玫拿恳环N方法都使系統(tǒng)性能較之于基本系統(tǒng)有了顯著的提高,,最后達到98.8%的識別率,。
表4 算法性能比較
|
采用的算法 |
識別率/% |
基本結(jié)果 |
91.1 |
采用MFCC參數(shù) |
92.9 |
FRED算法 |
95.4 |
狀態(tài)持續(xù)時間分布 |
96.0 |
第二級識別 |
98.8 |
4 結(jié) 論
采用了一系列算法,有效地提高了MDSR系統(tǒng)的識別率,,實現(xiàn)了一個高性能的MDSR系統(tǒng),,其特點為: 1) 采用了兩極識別框架,增強了對易混語音的區(qū)分能力,。 2) 充分利用針對漢語數(shù)碼語音的語音學(xué)知識,,提高了端點檢測的抗干擾能力,提取了用于區(qū)分易混語音的共振峰軌跡,、鼻音特征等聲學(xué)特征,,進一步提高了系統(tǒng)識別率。 3) 各算法所需的運算量和存儲量都較小,,有利于MDSR在DSP系統(tǒng)上的實現(xiàn),。■
基金項目:國家自然科學(xué)基金項目(69772020)和國家“八六三”高技術(shù)項目(863-512-9805-10) 作者簡介:李虎生 (1975-),, 男(漢),, 四川, 碩士研究生 作者單位:李虎生(清華大學(xué),,電子工程系,,北京,100084) 劉加(清華大學(xué),,電子工程系,,北京,100084) 劉潤生(清華大學(xué),,電子工程系,,北京,100084)
參考文獻:
[1]顧良,, 劉潤生. 漢語數(shù)碼語音識別: 困難分析與方法比較 [J]. 電路與系統(tǒng)學(xué)報,, 1997, 2 (4): 32-39. Gu Liang, Liu Runsheng. Mandarin digit speech recognition: state of the art, difficult points analysis and methods comparison [J]. J of Circuits and Systems, 1997, 2(4): 32-39. (in Chinese) [2]Davis S B, Mermelstein P. Comparison of parametric representations for monosyllabic word recognition in continuously spoken sentences [J]. IEEE Trans, on Speech and Audio Signal Processing, 1980, 28 (4): 357-366. [3]李虎生,, 楊明杰,, 劉潤生. 用共振峰軌跡提高漢語數(shù)碼語音識別性能 [J]. 清華大學(xué)學(xué)報,, 1999, 39(9). Li Husheng, Yang Mingjie, Liu Runsheng. Use formant trajectory to improve the performance of mandarin digit speech recognition [J]. J of Tsinghua University, 1999, 39(9): 69-71. (in Chinese) [4]吳宗濟,, 林茂燦. 實驗語音學(xué)教程 [M]. 北京: 高等教育出版社,, 1989. Wu Zongji, Lin Maocan. Tutorial on Experimental Phonetics [M]. Beijing: Higher Education Press, 1989. (in Chinese) [5]楊行峻, 遲惠生. 語音信號數(shù)字處理 [M]. 北京: 電子工業(yè)出版社,, 1995. Yang Xingjun, Chi Huisheng. Digit Speech Signal Processing [M]. Beijing: Publishing House of Electronic Industry, 1995. (in Chinese) [6]顧良. 漢語數(shù)碼語音識別方法研究及DSP系統(tǒng)設(shè)計 [D]. 北京: 清華大學(xué),, 1997. Gu Liang. Research on Methodologies for Mandarin Digit Speech Recognition and Design of its DSP System [D]. Beijing: Tsinghua University, 1997. (in Chinese)
|
|
|