專利名稱:基于先驗清濁知識的基頻提取方法及系統的制作方法
技術領域:
本發明屬于一種語音信號處理方法,尤其涉及一種基頻提取方法;具體涉及一種基于先驗清濁知識的基頻提取方法;此外,本發明還涉及一種基于先驗清濁知識的基頻提取系統。
背景技術:
在當前的中文語音信號處理中,經常會碰到需要提取基頻參數的情況,而現在許多的基頻提取算法,在清濁判決的時候或多或少存在問題,特別是在待處理語音的發音不是很飽滿、發音比較低沉的情況下,清濁判決的錯誤率很高,常常導致后面的相關處理受到很大的影響。在當前的語音合成的研究中,參數化的語音合成算法已被證明可以獲得高質量的穩定的合成語音,但是基頻提取的好壞能對最終的合成效果產生直接的影響,基頻提取的好壞,很大程度上影響著合成語音的質量。同樣,在語音識別和語音評測中,基頻的重要性也越來越高,基頻參數提取的好壞會對最終結果產生直接的影響。現有的絕大多數基頻提取算法,首先根據輸入的語音數據統計相關的統計量,如自相關系數等,然后根據相關的統計量分布來做清濁判決,最后根據清濁判決結果結合相關統計量做基頻軌跡平滑,最后輸出基頻。現有絕大多數基頻提取算法的清濁判決模塊都是基于數據統計的,由于人類發音的多樣性,統計數據并不能很好的處理所有的發音情況。
發明內容
本發明要解決的技術問題是提供一種基于先驗清濁知識的基頻提取方法,該方法利用清濁切分邊界作為先驗知識輸入到基頻提取算法中的清濁判決模塊來輔助清濁判決, 將原先的自動清濁判決和現有的清濁切分邊界融合,就可以得到理想的清濁判決結果,從而提高清濁判決的正確率。為此,本發明還提供一種基于先驗清濁知識的基頻提取系統。為解決上述技術問題,本發明一種基于先驗清濁知識的基頻提取方法,包括如下步驟第一步,獲取清濁切分邊界;第二步,對待提取數據進行統計量計算;第三步,將第二步獲得的統計量和對應的第一步獲得的清濁切分邊界結合進行清濁判決;第四步,動態規劃與基頻軌跡平滑;第五步,輸出高質量的基頻提取結果。第一步具體包括如下步驟步驟1,選取訓練數據中的一小部分來做人工標注切分,標注出每個音素的邊界作為下個模塊的輸入;
步驟2,基頻及相關參數提取;步驟3,模型訓練;步驟4,音素切分利用統計模型和訓練數據的參數來進行切分;步驟5,將音素切分的結果轉化為清濁切分邊界。在第一步的步驟1中,所述訓練數據表示用于相關語音算法的語音數據,此數據的數據量規模巨大;所述相關語音算法是語音合成、語音識別或語音評測。在第一步的步驟2中,所述基頻提取采用第二步至第五步的基頻提取算法,所述相關參數是頻譜參數。在第一步的步驟3中,所述模型訓練用于統計參數的分布情況。在第一步的步驟4中,先對所有訓練數據進行參數分析,該步驟對于基頻參數采用傳統的基頻提取算法。在第二步中,所述待提取數據指需要進行基頻提取的訓練數據;所述統計量計算指根據輸入的語音信號分幀來計算每幀數據的統計量。此外,本發明還提供一種基于先驗清濁知識的基頻提取系統,包括統計量計算模塊、動態規劃與基頻平滑模塊、清濁判決模塊和清濁切分邊界獲取模塊;該統計量計算模塊用于待提取的訓練數據進行統計量計算;該清濁判決模塊用于將統計量計算模塊獲得的統計量和清濁切分邊界獲取模塊獲得的對應的清濁切分邊界結合進行清濁判決;該動態規劃與基頻平滑模塊用于對清濁判決模塊的數據進行動態規劃以獲得平滑的基頻軌跡,并輸出基頻提取結果。所述清濁切分邊界獲取模塊包括少量人工標注模塊、基頻及相關參數提取模塊、 模型訓練模塊和音素切分模塊;該少量人工標注模塊用于選取訓練數據中的一小部分來做人工標注切分,標注出每個音素的邊界作為基頻及相關參數提取模塊的輸入;該模型訓練模塊用于對基頻及相關參數提取模塊提取的參數進行統計分布情況;該音素切分模塊利用模型訓練模塊統計的參數來進行切分,并將音素切分的結果轉化為清濁切分邊界。所述音素切分模塊對所有訓練數據進行參數分析,該模塊對于基頻參數采用傳統的基頻提取算法。所述統計量計算模塊根據輸入的語音信號分幀來計算每幀數據的統計量。本發明的有益效果在于本發明采用自動切分的方法獲得清濁邊界的切分信息, 然后將清濁切分邊界作為先驗知識輸入給基頻提取算法的清濁判決模塊,將原來的清濁判決和現有的先驗知識結合起來,從而提高了基頻提取的正確率,為后面的語音算法研究提供了高質量的基頻參數。此外,在獲得音素切分邊界的處理上,提出了利用參數化合成系統來獲得自動的音素切分邊界,可有有效的減少人工切分的工作量,大大提高了工作效率。
圖1是本發明獲取清濁切分邊界的流程示意圖;圖2是本發明基于先驗清濁知識的基頻提取算法的流程示意圖;圖3是本發明基于先驗清濁知識的基頻提取系統的模塊示意圖。
具體實施方式
本發明在中文語音基頻提取過程中,引入音素切分邊界來指導清濁判決以達到提高清濁判決正確率最終提高基頻提取正確率的方法是行之有效的,通過將音素切分邊界轉化為清濁切分邊界作為先驗知識與原有清濁判決融合能有效的提高清濁判決的正確率。音素的切分邊界可以通過人工標注來獲得,也可以通過音素自動切分的方法來獲得,通過人工標注可以獲得更加準確的音素切分邊界。一、音素切分邊界準確音素切分邊界可以很好的輔助清濁判決,而不好的音素切分邊界則會帶來毀滅性的影響,這里音素切分邊界可以由人工來完成,也可以通過自動化的手段自動獲得,當然,人工的音素切分邊界更加可信,而自動獲得的音素切分邊界也可以有效的提高清濁判決的正確率。1.人工音素切分邊界顧名思義,此方法是通過人工校對的方法來對輸入的語音數據進行切分,人工切分的工作量很大,對于當前的語音算法研究來說,訓練數據量往往是非常巨大的,所以人工音素邊界的標注具有非常巨大的工作量,往往是不切實際的,所以,可以通過自動化的方法來獲得音素切分邊界2.自動音素切分邊界自動音素邊界切分方法源自參數化的合成系統,參數化的合成系統是將語音信號參數化,然后根據標注的韻律信息對參數進行統計建模,最后通過模型恢復出參數來合成最終的合成語音的方法。本發明在這里將用到參數化合成系統中的模型來對語音信號進行自動切分來獲取音素切分邊界,這里采用模型切分的方法原因有(1)模型參數反映的是語音信號的實際分布特征,可以通過相關的對齊方法方便的獲得音素切分邊界;(2)參數模型容易構建,通過很少量的人工參與就可以構建一個比較好的切分模型從而獲得音素切分邊界;(3)此方法已被證明能獲得高質量的合成語音,也可以獲得高質量和高一致性的音素切分邊界。二、自動音素切分方法任何的系統都或多或少需要人工的參與,本發明的目標是將最少量的人工參與來獲取最大化的效果,這里自動音素切分方法按照如下步驟進行(注這里的數據都是語音合成的標準數據,所以包含韻律標注,但不包含人工音素切分)1.將所有語音數據隨機選出100句做人工音素切分(因為模型的訓練需要原始的切分數據),作為系統的最原始的輸入;2.將這100句作為模型訓練數據進行模型訓練,具體訓練流程為本領域公知的隱馬爾可夫模型的訓練過程(可參考=http://hts. sp. nitech. ac. ip),該訓練流程步驟為:(1)首先進行單音素模型的訓練;(2)其次對訓練好的單音素模型擴展到上下文相關的模型;(3)再次對擴展后的上下文相關模型參數進行基于最大似然的優化;(4)最后對參數優化后的上下文相關模型進行決策樹聚類,就得到了訓練好的模型。
6
3.將訓練好的模型對所有的訓練數據進行切分,將切分的結果輸入成音素邊界的形式。經過上面的流程之后,只需要100句的人工切分數據就可以獲得任意數據量的音素切分邊界,音素切分邊界文件內容如下(文本沙和尚,時間邊界的單位為秒)0. 564100 0. 652100sh0. 652100 0. 850000a0. 850000 0. 965100h0. 965100 1. 098000e1. 098000 1. 241000sh1. 241000 1. 392500ang在清濁判決模塊,本發明需要的是清濁切分邊界,所以可以根據中文相關音素的清濁特性,將其轉化為清濁切分邊界(U表示清音,V表示濁音,比如一些清輔音是清音,濁輔音則是濁音,而所有的元音都是濁音,以此來將音素切分邊界轉化為清濁切分邊界)0. 564100 0. 652100U0. 652100 0. 850000V0. 850000 0. 965100U0. 965100 1. 098000V1. 098000 1. 241000U1. 241000 1. 392500V將以上結果輸入到清濁判決模塊就可以獲得正確的清濁輸出。三、本發明改進后基頻提取算法改進后的基頻提取算法在統計量計算,基頻值確定模塊不作改變,只是對清濁判決模塊進行改進,在原有輸入中加入清濁切分邊界,將清濁切分邊界和原有清濁判決做一個軟結合在濁音段內部,硬性判決為濁音,而在濁音段的邊界,預留幾幀作為緩沖幀,這些幀的清濁結果由原有的清濁判決模塊根據相關統計量做出判決,這樣即使清濁切分邊界不準確也能獲得比較好的結果,也可以獲得平滑的清濁過渡。此方法尤其適用于發音不是很飽滿或者基頻比較低的情況,對于理想情況,基頻提取算法本身的清濁判決模塊就能做出很好的判決,用這種方法效果提升不大,而對于以上提到的情況,在清濁判決模塊本身不能做出很好判決的時候,利用此方法能獲得很好的效果。如圖1所示,本發明獲取清濁切分邊界的步驟包括如下1.訓練數據表示用于相關語音算法如語音合成,語音識別,語音評測等的語音數據,此數據的數據量規模巨大;2.少量人工標注選取訓練數據中的一小部分來做人工標注切分,標注出每個音素的邊界作為下個模塊的輸入;3.基頻及相關參數提取這個模塊包括基頻提取算法和其他參數如頻譜參數等的提取算法,對于基頻提取算法,用改進的基頻提取算法(見圖幻,因為用于提取參數的語音數據已經有人工的音素切分邊界數據(來自步驟幻,該人工的音素切分邊界數據可以轉化為清濁切分邊界,從而用于如圖2所示的改進的基頻提取算法中;
4.模型訓練用于統計參數的分布情況;5.音素切分此模塊利用統計模型和訓練數據的參數來進行切分,此模塊中,先對所有訓練數據進行參數分析,這里對于基頻參數因為沒有音素切分邊界,所以采用原有的基頻提取算法,因為模型具有比較高的容錯性,所以在基頻參數提取不是很準確的情況下也能獲得比較準確的音素切分結果;6.最后將音素切分的結果轉化為清濁切分邊界,從而通過改進后的基頻提取算法就能獲得高質量的基頻參數。如圖2所示,本發明改進的基頻提取算法的步驟如下1.待提取數據指需要進行基頻提取的訓練數據;2.統計量計算任何基頻提取算法都會根據輸入的語音信號分幀來計算每幀數據的統計量;3.清濁判決在清濁判決模塊,輸入統計量和對應的清濁切分邊界(即圖1所示獲得的清濁切分邊界),清濁切分邊界用于和原始的清濁判決結合,提高清濁判決的準確度;4.動態規劃與基頻平滑任何高質量的基頻提取算法,為了獲得平滑的基頻軌跡,都需要進行動態規劃來獲得平滑的基頻軌跡;5.最后輸出高質量的基頻提取結果。本發明的基頻提取算法不止適合語音合成,語音識別和語音評測的研究,在其他任何涉及到基頻提取算法的地方此方法都適用,此外,此方法不止適合中文,對于英文,日文,韓文等都適用,只要將音素切分邊界歸納為清濁切分邊界就可以使用本方法。如圖3所示,本發明一種基于先驗清濁知識的基頻提取系統,包括統計量計算模塊、動態規劃與基頻平滑模塊、清濁判決模塊和清濁切分邊界獲取模塊;該統計量計算模塊用于待提取的訓練數據進行統計量計算;該清濁判決模塊用于將統計量計算模塊獲得的統計量和清濁切分邊界獲取模塊獲得的對應的清濁切分邊界結合進行清濁判決;該動態規劃與基頻平滑模塊用于對清濁判決模塊的數據進行動態規劃以獲得平滑的基頻軌跡,并輸出基頻提取結果。該清濁切分邊界獲取模塊包括少量人工標注模塊、基頻及相關參數提取模塊、模型訓練模塊和音素切分模塊;該少量人工標注模塊用于選取訓練數據中的一小部分來做人工標注切分,標注出每個音素的邊界作為基頻及相關參數提取模塊的輸入;該模型訓練模塊用于對基頻及相關參數提取模塊提取的參數進行統計分布情況;該音素切分模塊利用模型訓練模塊統計的參數來進行切分,并將音素切分的結果轉化為清濁切分邊界。本發明提出了利用清濁切分邊界作為先驗知識輸入到基頻提取算法中的清濁判決模塊來輔助清濁判決,將原先的自動清濁判決和現有的清濁切分邊界融合,就可以得到理想的清濁判決結果,從而提高清濁判決的正確率。
權利要求
1.一種基于先驗清濁知識的基頻提取方法,其特征在于,包括如下步驟第一步,獲取清濁切分邊界;第二步,對待提取數據進行統計量計算;第三步,將第二步獲得的統計量和對應的第一步獲得的清濁切分邊界結合進行清濁判決;第四步,動態規劃與基頻軌跡平滑;第五步,輸出高質量的基頻提取結果。
2.如權利要求1所述的基于先驗清濁知識的基頻提取方法,其特征在于,第一步具體包括如下步驟步驟1,選取訓練數據中的一小部分來做人工標注切分,標注出每個音素的邊界作為下個模塊的輸入;步驟2,基頻及相關參數提取;步驟3,模型訓練;步驟4,音素切分利用統計模型和訓練數據的參數來進行切分;步驟5,將音素切分的結果轉化為清濁切分邊界。
3.如權利要求2所述的基于先驗清濁知識的基頻提取方法,其特征在于,在第一步的步驟1中,所述訓練數據表示用于相關語音算法的語音數據,此數據的數據量規模巨大;所述相關語音算法是語音合成、語音識別或語音評測。
4.如權利要求2所述的基于先驗清濁知識的基頻提取方法,其特征在于,在第一步的步驟2中,所述基頻提取采用第二步至第五步的基頻提取算法,所述相關參數是頻譜參數。
5.如權利要求2所述的基于先驗清濁知識的基頻提取方法,其特征在于,在第一步的步驟3中,所述模型訓練用于統計參數的分布情況。
6.如權利要求2所述的基于先驗清濁知識的基頻提取方法,其特征在于,在第一步的步驟4中,先對所有訓練數據進行參數分析,該步驟對于基頻參數采用傳統的基頻提取算法。
7.如權利要求1所述的基于先驗清濁知識的基頻提取方法,其特征在于,在第二步中, 所述待提取數據指需要進行基頻提取的訓練數據;所述統計量計算指根據輸入的語音信號分幀來計算每幀數據的統計量。
8.一種基于先驗清濁知識的基頻提取系統,其特征在于,包括統計量計算模塊、動態規劃與基頻平滑模塊、清濁判決模塊和清濁切分邊界獲取模塊;該統計量計算模塊用于待提取的訓練數據進行統計量計算;該清濁判決模塊用于將統計量計算模塊獲得的統計量和清濁切分邊界獲取模塊獲得的對應的清濁切分邊界結合進行清濁判決;該動態規劃與基頻平滑模塊用于對清濁判決模塊的數據進行動態規劃以獲得平滑的基頻軌跡,并輸出基頻提取結果。
9.如權利要求8所述的基于先驗清濁知識的基頻提取系統,其特征在于,所述清濁切分邊界獲取模塊包括少量人工標注模塊、基頻及相關參數提取模塊、模型訓練模塊和音素切分模塊;該少量人工標注模塊用于選取訓練數據中的一小部分來做人工標注切分,標注出每個音素的邊界作為基頻及相關參數提取模塊的輸入;該模型訓練模塊用于對基頻及相關參數提取模塊提取的參數進行統計分布情況;該音素切分模塊利用模型訓練模塊統計的參數來進行切分,并將音素切分的結果轉化為清濁切分邊界。
10.如權利要求9所述的基于先驗清濁知識的基頻提取系統,其特征在于,所述音素切分模塊對所有訓練數據進行參數分析,該模塊對于基頻參數采用傳統的基頻提取算法。
11.如權利要求8所述的基于先驗清濁知識的基頻提取系統,其特征在于,所述統計量計算模塊根據輸入的語音信號分幀來計算每幀數據的統計量。
全文摘要
本發明公開了一種基于先驗清濁知識的基頻提取方法,包括如下步驟第一步,獲取清濁切分邊界;第二步,對待提取數據進行統計量計算;第三步,將第二步獲得的統計量和對應的第一步獲得的清濁切分邊界結合進行清濁判決;第四步,動態規劃與基頻軌跡平滑;第五步,輸出高質量的基頻提取結果。此外,本發明還公開了一種基于先驗清濁知識的基頻提取系統,包括統計量計算模塊、動態規劃與基頻平滑模塊、清濁判決模塊和清濁切分邊界獲取模塊。本發明提出了利用清濁切分邊界作為先驗知識輸入到基頻提取算法中的清濁判決模塊來輔助清濁判決,將原先的自動清濁判決和現有的清濁切分邊界融合,就可以得到理想的清濁判決結果,從而提高清濁判決的正確率。
文檔編號G10L15/14GK102339605SQ20101023362
公開日2012年2月1日 申請日期2010年7月22日 優先權日2010年7月22日
發明者王玉平 申請人:盛樂信息技術(上海)有限公司