專利名稱:用于漢語語音識別系統的連續語音處理方法和裝置的制作方法
技術領域:
本發明涉及一種連續語音處理方法和裝置,用于判定合成語音的連續語音以獲得好的音質。
以漢語為例,用于漢語語音合成系統的合成單位大體上分為兩類(1)單音節(408種,不包括4個音調)和(2)音素(包括21個漢語拼音輔音和38個元音)。作為合成的單位,不管是單音節還是音素,一些因素,例如音素、音調、詞組結構、在詞組中的位置、在句子中的位置和前后連接的音素,合成單位的這些因素正確地判定每種合成單位的連續語音,而這些因素都對合成語音的自然相似程度有很大影響。
傳統的用于漢語語音識別系統的連續語音處理方法和裝置已經在R.O.C.上公開。專利申請號80100559,標題為“用于Text-to-speech system的連續語音處理方裝置。”,圖9是一個以圖解說明的根據音素、音調和在句子中的位置確定連續語音的連續語音處理裝置的方框圖。如圖9所示,110表示一個記憶部分,用于儲存不同數據。120表示一個拼音句子輸入部分,用于輸入任何長度、由拼音標識和音調標識組成的拼音句子。130表示音節檢查部分,用于檢查從拼音句子輸入部分120輸入的帶音調標識的句子的音節。150表示音節-音素查找儲存部分,用于儲存由每個音節組成的音素。140表示音素檢查部分,用于使用音節-音素查找儲存部分150在輸入拼音的句子檢查音素,并檢查在句子中每個音素的位置。170表示連續語音的數值數據儲存部分,用于儲存根據音素的種類、音素的音調和句子中音素的位置來定義的連續語音計算數據。160表示連續語音的檢查部分,用于計算音節的連續語音通過使用被檢查音素的指定數目,每個音素的音調和每個音素在句子中的位置作為索引關鍵字從連續語音的數值數據儲存部分170中檢索每個音素的連續語音的數字數據。
如上所述的連續語音處理裝置,只考慮了音素、音調和在句子中音素的位置。至于合成單位是否組成詞組和在詞組中其位置的影響對于連續語音也同樣應被考慮。例如,在一個三字詞組中,第二個字的連續語音是最短的,接下來是第一個字,而第三個字的連續語音是最長的。在例句“我爺爺最喜歡那張小桌子”中,“我爺爺”組成一個三字詞組。由傳統的連續語音處理裝置生成的連續語音第一個“爺”字和第二個“爺”字大約都是339ms。然而,用聲音記錄裝置測量自然語言發音的連續語音分別是275ms和302ms,從而,出現了一個相對較大的差異。因此,僅考慮音素、音調和在句子中音素的位置而得到的連續語音會導致合成語音質量的降低。
因此,本發明的主要目的是提供一種用于漢語語音識別系統的能克服前述的缺點的連續語音處理方法和裝置。
根據本發明的第一方面,用漢語音素作為基本處理單元的漢語語音識別系統的連續語音處理方法,它包括構造一個用于儲存漢語詞匯和相關信息的詞典。例如語音標識、詞性、擴展語法等;構造一個用于儲存信息的音節-音素查找部分。例如對于所有漢語音節對應每一個音節的音素指定的數目(包括輔音數目和元音數目)等;構造一個基本的連續語音儲存部分,其中,該部分用于儲存按音素分類的基本連續語音信息;構造一個連續語音參數儲存部分,根據每一個屬于音素的音節的音調,詞組構成,在詞組中的位置,在句子中的位置和關聯音素的種類來儲存連續語音參數;在一個任何長度的輸入句子里通過與儲存在詞典中的詞匯相比較檢查每一個詞匯的音節的位置;根據儲存在詞典中的語音標識生成每個被檢查詞匯的語音;參考詞典檢查每個被檢查詞匯的詞性和擴展語法;根據擴展語法和相鄰詞匯的詞性的關系把句子中的詞匯組合成詞組;用音調標識在生成的文字語音標識中檢查每一個音節;參照音節-音素查找部分的信息,檢查每個被檢查音節的音素格式。
從基本的連續語音儲存部分檢索每個被檢查音素的連續語音;并且從基本的連續語音和與音調、詞組構成,詞組中的位置,句子中的位置和被檢查音素的前后相鄰音素的種類等相關的參數中計算組成每個被檢查音節的每個被檢查音素,并且計算被檢查音素的連續語音獲得每個被檢查音節的連續語音。
根據本發明的第二個方面,用漢語音節作為基本處理單元的漢語語音識別系統的連續語音處理方法,它包括下述步驟構造一個用于儲存漢語詞匯和相關信息的詞典。例如語音標識、詞性、擴展語法等;構造一個基本的連續語音儲存部分,其中,該部分用于儲存按音節分類的基本的連續語音信息。
構造一個連續語音參數儲存部分,根據每一個音節的音調,詞組構成,在詞組中的位置,在句子中的位置和連接的音節的種類來儲存連續語音參數;在一個任何長度的輸入句子里通過與儲存在詞典中的詞匯相比較檢查每一個詞匯的音節的位置;根據儲存在詞典中的語音標識生成每個被檢查詞匯的每個音節的語音;參考詞典檢查每個被檢查詞匯的詞性和擴展語法;根據擴展語法和相鄰詞匯的詞性的關系把句子中的詞匯組合成詞組;用音調標識在生成的文字語音標識中檢查每一個音節;從基本的連續語音儲存部分檢索每個被檢查音節的連續語音;并且從基本的連續語音和與音調、詞組構成,詞組中的位置,句子中的位置和被檢查音節的前后相鄰音節的種類等相關的參數中計算每個被檢查音節了連續語音。
根據本發明的第三個方面,用漢語音素作為基本處理單元的漢語語音識別系統的連續語音處理裝置,它包括一個詞典,用于儲存漢語詞匯和相關信息。例如語音標識、詞性、擴展語法等。
一個音節-音素查找部分,用于儲存信息。例如對于所有漢語音節對應每一個音節的音素指定的數目(包括輔音指定數目和元音指定數目)等;一個基本的連續語音儲存部分,用于儲存基本的按音素分類的連續語音信息;一個連續語音參數儲存部分,用于根據屬于每個音素的每一個音節的音調、詞組構成、在詞組中的位置、在句子中的位置和相連音素的種類儲存連續語音參數;一個詞匯檢查部分,用于在一個任何長度的輸入句子里通過與儲存在詞典中的詞匯相比較檢查每一個詞匯的音節的位置;一個語音識別生成部分,用于根據儲存在詞典中的語音標識生成每個被檢查詞匯的每個音節的語音;一個詞性和擴展語法檢查部分,用于參考詞典檢查每個被檢查詞匯的詞性和擴展語法;一個詞組擴展部分,用于根據擴展語法和相鄰詞匯的詞性的關系把句子中的詞匯組合成詞組;一個音調/音節檢查部分,用音調標識在生成的文字語音標識中檢查每一個音節;一個音素檢查部分,用于參照音節-音素查找部分的信息檢查每個被檢查音節的音素格式;一個基本的連續語音判定部分,用于從基本的連續語音儲存部分檢索每個被檢查音素的連續語音;并且一個音節連續語音計算部分,用于從基本的連續語音和與音調、詞組構成、詞組中的位置、句子中的位置和被檢查音素的前后相鄰音素的種類等相關的參數中計算組成每個被檢查音節的每個被檢查音素,并且計算被檢查音素的連續語音獲得每個被檢查音節的連續語音。
根據本發明的第四個方面,用漢語音節作為基本處理單元的漢語語音識別系統的連續語音處理裝置,它包括一個詞典,用于儲存漢語詞匯和相關信息。例如語音標識、詞性、擴展語法等。
一個基本的連續語音儲存部分,用于儲存基本的按音節分類的連續語音信息。
一個連續語音參數儲存部分,用于根據每個音節的音調、詞組構成、在詞組中的位置、在句子中的位置和相連的音節的種類儲存連續語音參數一個詞匯檢查部分,用于在一個任何長度的輸入句子里通過與儲存在詞典中的詞匯相比較檢查每一個詞匯的音節的位置;一個語音識別生成部分,用于根據儲存在詞典中的語音標識生成每個被檢查詞匯的每個音節的語音;一個詞性/擴展語法檢查部分,用于參考詞典檢查每個被檢查詞匯的詞性和擴展語法;一個詞組擴展部分,用于根據擴展語法和相鄰詞匯的詞性的關系把句子中的詞匯組合成詞組;一個音調/音節檢查部分,用音調標識在生成的文字語音標識中檢查每一個音節;一個基本的連續語音判定部分,用于從基本的連續語音儲存部分檢索每個被檢查音節的連續語音;并且一個音節連續語音計算部分,用于從基本的連續語音和與音調、詞組構成、詞組中的位置、句子中的位置和被檢查音節的前后相鄰音節的種類等相關的參數中計算每個被檢查音節的連續語音。
根據數據結構和本發明第一方面的連續語音處理方法的處理步驟,一個等待語音合成的漢語句子的任何長度最初要經過一個詞匯檢查的步驟,在這里,句子中每個詞匯的音節的位置通過與儲存在前述的構造的詞典中的詞匯進行比較而被檢驗。因此,每個檢查詞匯經過一個語音標識生成的步驟,并根據儲存在詞典中的語音標識生成每個音節的語音。隨后,通過一個詞性/擴展語法的檢查步驟,每個詞匯的詞性和擴展語法參照詞典被檢查。進一步地,一個詞匯擴展步驟,在句子中相鄰的詞匯根據擴展語法和詞性的關系被組合成詞組。因此,通過音調/音節檢查步驟,用音調標識來檢查在句子中生成語音標識的每個音節。然后,一個音素檢查步驟,每個音節的音素格式參照前述的構造的音節-音素查找部分被檢查。接下來,通過一個基本的連續語音判定步驟,每個語音的連續語音參照前述的構造的基本連續語音儲存部分被檢查。最后,一個音節連續語音計算步驟,從基本的連續語音和與音調,詞組結構,詞組的位置,在句子中的位置和音素格式的前后相鄰音素的種類相關的參數中計算在句子中每個組成音節的音素的連續語音,并且組成每個音節的音素的連續語音被累加獲得音節的連續語音。從結果來看,對于等待語音合成的漢語句子可以獲得遵從自然語音的音節連續語音。
根據數據結構和本發明的第二方面的連續語音處理方法的處理步驟,一個等待語音合成的漢語句子的任何長度最初要經過詞匯檢查的步驟,在這里句子中每個詞匯的音節的位置通過與儲存在前述構造的詞典中的詞匯進行比較而被檢驗。然后,每個檢查的詞匯經過一個語音標識生成的步驟根據儲存在詞典中的語音標識生成每個音節的語音。隨后,通過一個詞性/擴展語法的檢查步驟,每個詞匯的詞性和擴展語法參照詞典被檢查。進一步地,一個詞匯擴展步驟,在句子中相鄰的詞匯根據擴展語法和詞性的關系被組合成詞組。因此,通過音調/音節檢查步驟,在句子中生成語音標識的每個音節用音調標識來檢查。然后,通過一個基本的連續語音判定步驟,每個語音的連續語音參照前述的構造的基本連續語音儲存部分被檢查。最后,一個音節連續語音計算步驟,從基本的連續語音和與音調,詞組結構,詞組的位置,在句子中的位置和前后相鄰音素的種類相關的參數中計算在句子中每個組成音節的音節的連續語音,從結果來看,對于等待語音合成的漢語句子可以獲得遵從自然語音的音節連續語音。
根據本發明的第三方面的連續語音處理裝置的結構,任何長度漢語句子的輸入該裝置后,一個詞匯檢查部分通過與儲存在前述構造的詞典中的詞匯進行比較檢查句子中每個詞匯的音節的位置。然后,一個語音標識生成部分根據儲存在詞典中的語音標識檢查每個的詞匯生成每個音節的語音。隨后,通過一個詞性/擴展語法的檢查部分,參照詞典每個詞匯的詞性和擴展語法被檢查。進一步地,一個詞匯擴展部分,在句子中相鄰的詞匯根據擴展語法和詞性的關系被組合成詞組。其后,通過音調/音節檢查部分,用音調標識來檢查句子中生成語音標識的每個音節。然后,通過一個音素檢查部分,每個音節的音素格式參照前述的構造的音節-音素查找部分被檢查。接下來,通過一個基本的連續語音判定部分,每個音素的連續語音參照前述的構造的基本連續語音儲存部分被檢查。最后,通過一個音節連續語音計算步驟,從基本的連續語音和與音調,詞組結構,詞組的位置,在句子中的位置和音素格式的前后相鄰音素的種類相關的參數中計算在句子中每個組成音節的音素的連續語音,并且組成每個音節的音素的連續語音被累加獲得音節的連續語音。音節的連續語音被輸出使用。
根據本發明的第四方面的連續語音處理裝置的結構,任何長度的漢語句子輸入該裝置后,一個詞匯檢查部分檢查句子中每個詞匯的音節的位置通過與儲存在前述構造的詞典中的詞匯進行比較。然后,一個語音標識生成部分檢查每個的詞匯根據儲存在詞典中的語音標識生成每個音節的語音。隨后,通過一個詞性/擴展語法的檢查部分,每個詞匯的詞性和擴展語法參照詞典被檢查。進一步地,一個詞匯擴展部分,在句子中相鄰的詞匯根據擴展語法和詞性的關系被組合成詞組。其后,通過音調/音節檢查部分,用音調標識來檢查句子中生成語音標識的每個音節。然后,通過一個基本的連續語音判定部分,每個音節的連續語音參照前述的構造出來基本連續語音儲存部分被檢查。最后,通過一個音節連續語音計算步驟,從基本的連續語音和與音調,詞組結構,詞組的位置,在句子中的位置和前后相鄰音節的種類相關的參數中計算在句子中每個組成音節的音素的連續語音。音節的連續語音被輸出使用。
附圖的簡單描述其他特點和本發明的優點在下面的參照附圖的優選實施例的詳細描述中變的顯而易見,其中
圖1是一個描述一個用于漢語語音識別系統的連續語音處理方法和裝置的優選實施例的系統方框圖,其中,該系統根據本發明使用音素作為基本的處理單元。
圖2中的圖2A到2D是本發明優選實施例的操作流程圖。
圖3是一個說明詞典的結構的本發明優選實施例的示意圖,在詞典中漢語詞條記錄在“詞匯”一欄中;與詞匯相對應的語音儲存在“語音”欄中;與詞匯相對應的詞性儲存在“詞性”欄中,N表示名詞,V表示動詞,J表示形容詞,A表示副詞,…;相鄰詞匯擴展成為詞組的語法儲存在“擴展語法”欄中,AN后面連接的名詞,BN前面連接的名詞,AV后面連接的動詞,BV前面連接的動詞,AA后面連接的副詞,BA前面連接的副詞AJ后面連接的形容詞,BJ前面連接的形容詞Ψ無擴展語法圖4是本發明音節-音素查找部分的優選實施例的的結構圖。
圖5是根據本發明每個語音的基本連續語音儲存部分的優選實施例的結構圖。
圖6是本發明音節-音素查找部分的優選實施例的結構圖。
圖7是本發明元音參數子部分的優選實施例的結構圖。
圖8是根據本發明元音環境影響子部分的優選實施例的結構圖。其中該部分用于對前元音的連續語音的音素的影響。
圖9是用于語音識別的傳統的連續語音處理裝置的方框圖。
11表示一個詞匯檢查部分,通過與儲存在詞典中的詞匯比較檢查每個詞匯的音節的位置。
12表示一個儲存漢語詞匯和相應的信息的詞典,例如語音標識、詞性、擴展句法等。如圖3中所示說明詞典12構造的示意圖。
13表示一個語音標識生成部分,用于尋找與詞典中每個被檢查詞匯相一致語音標識。
14表示詞性/擴展語法檢查部分,用于尋找與詞典中每個檢查詞匯相一致詞性和擴展語法。
15表示詞組擴展部分,用于把相鄰的詞匯用每個詞匯的詞性和擴展語法組成詞組。
16表示一個音調/音節檢查部分,用于在生成的語音標識中使用音調標識檢查音節,并且用于存儲被檢查的音調。
17表示一個音節-音素查找部分,用于儲存每個單音節的語音標識,并用于儲存組成相同音素的音素指定數目。如圖4所示說明音節-音素查找部分的結構17的流程圖。
18表示一個音素檢查部分,用于使用音節-音素查找部分17的形成音調-檢查音節的檢查音素,并且用于存儲音素數據。
19表示一個基本連續語音儲存部分,用于儲存從大量自然的語音數據的音素連續語音的統計分析中得到的基本的每個音素的連續語音。如圖5所示說明基本的連續語音儲存部分的19的結構的流程圖,其中“@”表示無效的元音。
20表示一個基本的連續語音判定部分,用于檢查從基本的連續語音儲存部分19中的被檢查音素。
21表示構造的連續語音參數儲存部分,該部分使用的信息包括音調,詞組結構和每個音素在詞組中的位置,和在句子中的位置和相鄰音素的種類等。在本優選實施例中,連續語音參數儲存部分21包括3個儲存子部分一個輔音參數子部分-一個元音參數子部分,該子部分用聲調,短語結構和位置在詞組中的位置,和在句子中的位置和對于每個音素來說相鄰音素的種類構造出來,一個元音環境影響子部分,該子部分用元音根據元音的連續語音在后面連接音素的影響構造出來。如圖6,7,8所示說明連續語音參數儲存部分21的結構。
22表示一個音節連續語音計算部分用于檢索音素的連續語音參數,用連續語音參數儲存部分21中使用信息,包括音調,在詞組中的位置,在句子中的位置和對于音素相鄰音素的種類等,作為索引關鍵字;該部分用于從基本連續語音和參數中的每個音素的連續語音計算;并且用于音+素的連續語音類加以獲得音節連續語音。
當使用本裝置處理連續語音時,必須使用不同的寄存器和存儲緩沖器區域。雖然他們在圖1中被省略未顯示,但在實際應用中它們是必須的,并且包括“TextBuffer”存儲緩沖器區域一用于儲存輸入句子的文本數據;“Pinyin”存儲緩沖器區域一用于儲存輸入句子的語音數據;
“wdi”寄存器一用于儲存句子中詞匯的指定數目(使用數字1,2,3,…等,1表示句子中的第一個詞匯);“wd”矩陣寄存器-用于儲存在輸入的句子中每個檢查詞匯的數值(詞匯的起始位置,詞匯的長度)。例如,wd[4]=(5,2)表示在句子中的第四個詞匯起始自第五個音節并且有兩個音節的長度;“wd_type”矩陣寄存器-用于儲存在輸入的句子中每個檢查詞匯的詞性。例如wd_typewd_type[2]=N表示在句子中的第二個詞匯的詞性是名詞;“wd expand”矩陣寄存器-用于儲存在輸入的句子中每個檢查詞匯的擴展語法。例如,wd_expand[1]=AN表在句子中的第一個詞匯的擴展語法是后面連接名詞;wd-expand[1]=AN“i_wd_phr“矩陣寄存器-用于儲存在輸入的句子中每個詞組組成音節的數值(詞組的長度,詞組的位置)。例如,i_wd_phr[4]=(3,1)表示在句子中的第四一個音節形成了一個三音節詞組的第一個音節;“phr_start”寄存器-用于儲存在句子中詞組的起始位置;“phr_end”寄存器-用于儲存在句子中詞組的結束位置;“phr_length”寄存器-用于儲存在詞組的長度,以音節為單位;“i”寄存器-用于儲存在句子中音節的指定數目(使用數字1,2,3,…等);“c”矩陣寄存器-用于儲存根據輸入句子的語音每個檢查音節的輔音指定數目;“v”矩陣寄存器-用于儲存根據輸入句子的語音每個檢查音節的元音指定數目;“t”矩陣寄存器-用于儲存根據輸入句子的語音每個檢查音節的音調標識;“bc”矩陣寄存器-用于從基本連續語音儲存部分根據t[i]音節儲存一個(i)th音節的輔音基本連續語音;“tc”寄存器-用于儲存一個根據t[i]的來自輔音參數子部分的的(i)th音節的音調參數TC;“sc”寄存器-用于儲存位置影響參數Sc來自輔音參數子部分的根據位置坐標I(如果檢測到c[I+1]和v[I+1]都等于0,這表示I已經在句子的尾部;“pc”寄存器-用于儲存詞組影響參數Pc檢查來自輔音參數子部分根據I_wd_phr[I];“dc”寄存器-用于儲存在句子中一個(I)音節的輔音連續語音,在該句子中dc=bc*tc*sc*pc;“bv”寄存器-用于儲存根據t[I]來自基本連續語音儲存部分的一個(I)th音節音調參數Tv的儲存;“tv”寄存器-用于儲存根據v[I]來自元音參數子部分的一個(I)th音節的音調參數Tv的儲存;“sv”寄存器-用于儲存位置影響參數Sv檢查來自輔音參數子部分的根據位置坐標I(如果檢測到c[I+1]和v[I+1]都等于0,這表示I已經在句子的尾部;“pv”寄存器-用于儲存根據I_wd_phr[I]檢查來自元音參數子部分的詞組影響參數Pv的儲存;“f”寄存器-用于檢查來自元音環境影響子部分的影響差數F使用c[I+1]作為檢索關鍵字(如果c[I+1]=0,則使用v[I+1]);“dv”寄存器-用于儲存在句子中一個(I)音節的元音連續語音,在該句子中dv=bv*tv*sv*pv+F;并且“d”矩陣寄存器-用于儲存在d[I]的句子中的一個(I)音節的連續語音語,在這里,d[I]=dc+dv.
圖2顯示用于漢語語音識別系統的連續語音處理裝置的優選實施例的操作流程圖。在該裝置中使用音素作為基本處理單位。如圖2所示,在步驟S1中,句子的文本被輸進TextBuffer存儲緩沖器區域中。
在步驟S2檢查是否目前輸入的文本關鍵字是一個文本的結束關鍵字,則進行檢查。如果是,流程進行步驟S3。否則,流程回到步驟S1。
在步驟S3中,檢查句子中的文本通過與詞典中詞匯,在句子中的位置和儲存在wd矩陣寄存器中的詞匯的比較找出每個詞匯。
在步驟S4中,根據在wd矩陣寄存器中的每個檢查詞匯,從詞典找到與詞匯相對應的語音,并依次儲存在Pinyin儲存緩存器區域。
在步驟S5中,根據在wd矩陣寄存器中的每個檢查詞匯,從字典中找到與每個詞匯相對應的詞性和擴展語法,并且儲存分別儲存在wd_type和wd_expand矩陣寄存器中。
在步驟S6中,根據在wd矩陣寄存器中的每個檢查詞匯,與詞匯相對應的每個音節的組成數據儲存在I_wd_phr矩陣寄存器中。
在步驟S7中,在wdi矩陣寄存器的數值設為1對詞組擴展處理起始的第一個詞匯。
在步驟S8中,確定wdi(th)詞匯是否是擴展語法。(如果數值為Ψ,表示詞匯沒有擴展語法)如果是,流程進行步驟S9,否則,流程進行步驟S12。
在步驟S9中,根據擴展語法,確定wdi(th)相鄰的前面或后面詞匯的詞性是否遵守,如果是,流程進行步驟S10,否則,流程進行步驟S12。
在步驟S10中,詞組擴展操作開始。如果擴展過程向前進行,wdi-1被選擇作為詞匯被擴展,如果過程擴展向后進行,wdi+1被選擇作為詞匯被擴展,如果將要被擴展的詞匯已被認為擴展成為詞組,這個詞組被認為是一個被擴展的詞組。相鄰的擴展詞匯和將要被擴展的詞匯結合組成一個擴展的詞組。找到擴展詞組的起始位置Phr_start和擴展詞組的結束位置Phr end,并且擴展詞組的長度計算如下Phr_length=Phr_end-Phr_start+1.起始位置Phr_start,結束位置Phr_end,和擴展詞組的長度Phr_length隨后分別儲存在Phr_start,Phr_end,Phr_length中。
在步驟S11中,在i_wd_phr矩陣寄存器中的相應的音節的數值根據擴展詞組更新。特別地,i_wd_phr[phr_start]=(phr_length,1)i_wd_phr[phr_start+1]=(phr_length,2)i_wd_phr[phr_end]=(phr_length,phr_length)在步驟S12中,確定wdi是否已達到最后一個詞匯。如果是,流程進行步驟S14結束詞組擴展操作,否則,流程進行步驟S13。
在步驟S13中,在wdi寄存器中的數值是以1為單位遞增,并且流程順序地返回步驟S8繼續詞組擴展操作。
在步驟S14中,在i寄存器中的數值設為1,用在矩陣寄存器中的儲存音調,輔音,元音的坐標。
在步驟S15中,對于音調還在Pinyin儲存緩存器區域被檢查和儲存的音節,音調用于找到單音節,而音節音調標識儲存在t[i]中。
在步驟S16中,組成檢查單音節的語音指定數目從音節-音素查找部分被找到,在那里輔音指定數目儲存在c[i]中,元音指定數目儲存在v[i]中。
在步驟S17中,確定是否句子的檢查已完成。如果是,流程進行步驟S19。否則,流程進行步驟S18。
在步驟S18中,在寄存器i中的數值以1為遞增單位,然后流程返回步驟S15。
在步驟S19中,在寄存器i中的數值被重設為1用于起始自第一個音節連續語音的處理。
在步驟S20中,確定是否(i)音節包括一個輔音部分。如果是,流程進行步驟S21。否則,流程進行步驟S26。
在步驟S21中,組成檢查單輔音的指定數目作為索引關鍵字從基本的連續語音儲存部分連續語音Bc被找到,并且被儲存在寄存器中。
在步驟S22中,根據屬于輔音的音節的音調,音調的輔音連續語音參數Tc被從輔音參數的子部分找到并且儲存在tc寄存器中。
在步驟S23中,根據屬于輔音的音節的位置,在詞組中,從輔音參數子部分中輔音的詞組影響參數Pc被找到并儲存在pc寄存器中。
在步驟S24中,根據屬于輔音的音節的位置,在句子中,從輔音參數子部分中輔音的句子影響參數Sc被找到并儲存在Sc寄存器中。
在步驟S25中第(i)音節的輔音連續語音被計算(Dc=bc*tc*pc*sc),并儲存在dc寄存器中。流程進行步驟S27。
在步驟S26中,因為音節不包括輔音部分,在dc寄存器中的數值設為0。
在步驟S27中,用檢查元音的指定數目作為索引關鍵字從基本的連續語音儲存部分連續語音Bv被找到,并且被儲存在寄存器bv中。
在步驟S28中,根據屬于元音的音節的音調,從元音參數子部分中音調的元音連續語音Tv被找到并儲存在tc寄存器中。
在步驟S29中,根據屬于元音的音節的位置,在詞組中,從元音參數子部分中輔音的詞組影響參數Pc被找到并儲存在pc寄存器中。
在步驟S30中,根據屬于元音的音節的位置,在句子中,從元音參數子部分中輔音的句子影響參數Sv被找到并儲存在sv寄存器中。
在步驟S31中,用元音的后面連接音素作為索引關鍵字從元音環境影響儲存部分影響參數F被找到,并且被儲存在寄存器f中。
在步驟S32中,第(i)音節的元音連續語音被計算(Dv=bv*tv*pv*sv+f),并儲存在dv寄存器中。
在步驟S33中,第(i)音節的連續語音被計算(D=dc+dv),),并儲存在d矩陣寄存器中的第(i)位置。
在步驟S34中,確定是否在句子中每個音節的連續語音已被判定。如果是,流程進行步驟S36。否則,流程進行步驟S35。
在步驟S35中,在i寄存器中的數值是以1為單位遞增,并且流程返回步驟S20繼續下一個音節的連續語音數據處理。
在步驟S36中,整個句子的每個音節的連續語音被輸出用于通過一個語音識別系統,并且裝置的操作結束。
對于優選實施例的語音識別系統,說明前述的構造的連續語音處理裝置的操作,用輸入句子“我爺爺最喜歡那張小桌子”為例該例子的工藝流程如下在步驟S1中,如圖1中說明用10句子輸入部分輸入句子,例如鍵盤,在步驟S2中,在文本中探測到一個結束關鍵字輸入結束。這時句子的文本數據“我爺爺最喜歡那張小桌子”儲存在TextBuffer[]儲存緩存器區域。
因此,在步驟S3中,通過與詞典12中的詞匯比較,詞匯檢查部分11檢查句子中的每個詞匯“我、”“爺爺、”“最、”、“喜歡、”“那張、”“小、”“桌子、”并且記錄句子中每個詞匯的起始位置和在矩陣寄存器中的一系列數目對中的詞匯字符數目(詞匯起始位置,詞匯長度)。因此,wd[1]=(1,1),…“我”wd[2]=(2,2),…“爺爺”wd[3]=(4,1),…“最”wd[4]=(5,2),…“喜歡”wd[5]=(7,2),…“那張”
wd[6]=(9,1),…“小”wd[7]=(10,1),…“桌子”按順序,在步驟S4中,根據記錄在wd[]中的每個詞匯,語音標識生成部分在詞典中找到與每個詞匯相對應的語音,并依次同樣地儲存在PinyinBuffer[]。同時,儲存在PinyinBuffer[]中的語音數據是"uo3ie2ie2zuei4xi3huanlna4zhanqlxiao3zhuolz5"然后,在步驟S5中,根據在記錄在wd[]中的每個詞匯,詞性和擴展語法部分14從字典中找到與每個詞匯相對應的詞性和擴展語法,(詞典的內容如圖3所示),并且儲存分別儲存在wd_type和we_expand矩陣寄存器中。因而,_wd type[1]=N,wd_expand[1]=AN;……“我”wd_type[2]=N,wd_expand[2]=Ψ;……“爺爺”wd_type[3]=A,wd_expand[3]=AV,AJ;…… “最”wd_type[4]=V,wd_expand[4]=Ψ;…… “喜歡”wd_type[5]=J,wd_expand[5]=AN;……. “那張”wd_type[6]=J,wd_expand[6]=AN;…… “小”wd_type[7]=N,wd_expand[7]=Ψ;…… “桌子”其次,詞組擴展部分15用于啟動詞組擴展操作。最初,在步驟S6中,根據在wd矩陣寄存器中的每個檢查詞匯,對應的組成詞匯的每個音節的組成信息以格式wd_phr[syllable position]+(phrase length,location in phrase)儲存在I_wd_phr矩陣寄存器中。因此,wd[1]=(1,1),wd_phr[1]=(1,1); wd[2]=(2,2),wd_phr[2]=(2,1);wd_phr[3]=(2,2); wd[3]=(4,1),wd_phr[4]=(1,1); wd[4]=(5,2),wd_phr[5]=(2,1);wd_phr[6]=(2,2); wd[71=(10,2), wd_Phr[10]=(2,1);wd_phr[11]=(2,2) 此后,在步驟S7中wdi寄存器的數值設為1開始第一個詞匯“我”的擴展處理。在步驟S8中確定wd_expand[wdi]=An后,擴展語法的陳述語氣隨著一個后面連接的名詞(≠Ψ),在步驟S9中檢查下一個詞匯的詞性。此時,wd_type[wdi+1]=N,遵守擴展語法AN,N的名詞的陳述語氣。因此,(wdi)th詞匯“我”和(wdi+1)th詞匯“爺爺”可以擴展成為詞組從wd_phr[1],wd_phr[2]和wd_phr[3]擴展的新詞組有一個起始位置Phr_start=1,一個結束位置Phr_end=3,和一個詞組長度phr_length=3-1+1=3,分別儲存在phr_start,phr_edn和phr_length寄存器中。在步驟10中。隨后,包括3個音節的與這個詞組相關的數值在步驟S11中在I_wd_phr矩陣寄存器更新如下 然后,因為在步驟S12中確定wdi必須達到最后一個詞匯,在步驟S13中wdi的數值以1為單位遞增繼續下一個詞匯“爺爺”的擴展操作。在步驟S8中確定wd_expand[wai]=Ψ后,因為,在步驟S12中確定wdi必須達到最后一個詞匯,在步驟S13中wdi的數值以1為單位重復遞增,步驟S8再次執行。因此,第3個詞匯,第4個詞匯…直到第7個詞匯“桌子”都重復步驟S8,S9,S10,S11,S12,S13的過程。探測到句子中最后一個詞匯已達到步驟S12詞組擴展操作結束。此時,在wd_phr矩陣寄存器中數值如下 從前述可見,在詞匯“我”,“爺爺”,“最”,喜歡“,“那張”,“小”,“桌子,”進行了詞組擴展操作后,可以獲得詞組“我爺爺,”“最喜歡,”“那張,”“小桌子,”。
接下來,音調/音節檢查操作開始。最初,在步驟S14中寄存器i的數值設為1。在步驟S15中,音調/音節檢查部分16用于檢查第一個音節“uo3,”而第3個音調儲存在t[i]中。此后,在步驟S16中,與單音節“uo,”有關,語音檢查部分18用于尋找音節-音素查找部分17(其中儲存的內容如圖4所示),并且確定音素的指定數目,組成“Uo”為0(沒有輔音)和47(uo),他們分別儲存在c[i]和v[i]中。因為在步驟S17中確定wdi必須達到最后句尾,在步驟S18中i的數值以1為單位遞增,并且流程返回步驟S15。音調/音節檢查部分16用于檢查第二個音節“ie3,”而在步驟S16中第2個音調儲存在t[i]中。隨后,在步驟S16中,與單音節“ie,”有關,語音檢查部分18用于尋找音節-音素查找部分17(其中儲存的內容如圖4所示),并且確定音素的指定數目,組成”ie”為0(沒有輔音)和37(ie),他們分別儲存在c[i]和v[i]中。重復步驟S8,S9,S10,S11,S12,S13直到到達句尾。此時,在不同的寄存器中數值如下t[1]=3,c[1]=0,v[1]=47;[uo3]t[2]=2,c[2]=0,v[2]=37;[ie2]t[31=2,c[3]=0,v[3]=37;[ie2]t[4]=4,c[4]=19,v[4]=49;[zuei4]t[5]=3,c[5]=14,V[5]=35;[xi3]t[6]=1,c[6]=11,v[6]=50;[huanl]′t[7]=4,c[7]=7,v[7]=22;[na4]t[8]=1,c[81=15,v[8]=32;[zhangl]t[9]=3,c[9] =14,v[9]=39;[xiao3]t[10]=1,c[10] =15,v[10]=47;[zhuol ]t[11]=5,c[11]=19,v[11]=59[z5]為清楚起見,單音節安排在圖4為了讓它們出現在典型的句子中。
在處理已達到句尾后,在步驟S19中寄存器i的數值再一次設為1從第一個音節開師始音節處理。因為在步驟S20中確定第一個音節不包括一個輔音(c[1]=0),在步驟S26中輔音連續語音的數值設為0。
然后,計算第一個音節的元音部分的連續語音。根據元音的指定數目v[1]=47,從圖5的劇本連續語音儲存部分19中得到159ms的基本連續語音,并且在步驟S27中儲存在bv中。接下來,下列參數從元音參數子部分(其內容如圖7所示)中獲得因為屬于元音音節的音調示第3個音調,所以得到數值1.3并在步驟S28中儲存在tv中。因為音節示三字符(wd_phr[1]=(3,1);)的第一個音節,所以得到數值0.85,并且在步驟S29中儲存在pv中。因為音節示在句子的開始,所以得到1.28且在步驟S30中儲存在sv中。此后,用t[i+1]=37“ie,”元音的后面連接語音,作為檢索關鍵字,如圖8所示從元音環境影響因素子部分中獲得參數值+5并在步驟S31中儲存在f中。接著,在步驟S32中計算用于音節的元音部分的連續語音是dv=159*1.3*0.85*1.28+5=230ms。從而,計算第一個音節的連續語音結果是d[1]=0+230=230ms,并在步驟S33中儲存該值。
因為在步驟S34中確定句子中的每個連續語音必須被判定,所以在步驟S35中i的數值以1為單位遞增,并且流程返回步驟S20。用前述的過程確定第二個音節“ie2,”的連續語音,在步驟S32中儲存在輔音連續語音dc寄存器和元音連續語音dv寄存器的數值分別是dc=0,而dv=271*1.25.0.8*1+5=276ms。從而,在步驟33中找到第二個音節的連續語音是d[2]=0+276=276ms。
同樣的過程重復用于第3個單音節,第4個單音節,…直到第11個單音節“z5.”,當在步驟S34中確定已經達到句尾時,在步驟S36中輸出每個音節連續語音,并且裝置的操作此后結束。
在本例中“我爺爺最喜歡那張小桌子”"uo3ie2ie2zuei4xi3huanlna4zhanqlxiao3zhuolz5"從每個音節得到的連續語音分別時230,276,300,219,246,360,199,268,297,207,139,這樣得到的數值與測得的自然語音連續語音非常接近,也就是229,275,302,216,243,362,195,269,293,205,140,因此,本連續語音處理裝置可以提供自然連續語音的人工合成語音。
本發明不受前述的實施例的限制。例如可用單音節替代語音作為根據本發明的用于漢語語音識別的連續語音處理裝置的基本連續語音計算單位。通過修改基本連續語音儲存部分以便單音節的連續語音的儲存,通過修改連續語音參數儲存部分的參數與單音節的計算參數相一致,語音檢查部分和音節-音素檢查部分同時可以省略。此外,在本裝置的詞組擴展部分,除了使用詞組擴展語法擴展相鄰的詞匯成為詞組,在輸入過程中可以增加詞組標識。作為選擇,創立高速緩沖存儲器以至輸入句子中的詞組可通過比較方法檢查。本發明的實施例以漢語為例,連續語音處理裝置同樣可以在其他語言的語音識別系統中實現。
如前所述,本發明不僅考慮了對于音素的連續語音的音素、音調、在句子中音素的位置和前后連接的音素的影響,而且也考慮了在集資中詞組結構的影響和關于音素的連續語音的在詞組中音素的位置。因此,可以克服以前技術中連續語音不標準的問題,而且合成語音的連續語音數據比用以前技術生成的數據更精確,從而提供高品質的語音合成。
在描述本發明的一種優選實施例的同時,還應理解本發明不受該特定實施例的限制,而在不違背本發明的精神的條件下可以作出一些變化和修改。為此,期待著用所附的權利要求書來覆蓋本發明和任何的或全部的這種變化和修正。
權利要求
1.一種用漢語音節作為基本處理單元的漢語語音識別系統的連續語音處理方法,包括一個構造用于儲存漢語詞匯和相關信息的詞典的程序,例如語音標識、詞性、擴展語法等;一個構造用于儲存信息的音節-音素查找部分的程序,例如對應于所有漢語音節每一個音節的指定的音素數目(包括輔音數目和元音數目)等;一個構造基本的連續語音儲存部分的程序,其中,該部分用于根據音素儲存基本連續語音的分類信息;一個構造連續語音參數儲存部分的程序,其中,該部分用于根據每一個音節屬于的音調儲存連續語音參數,詞組結構和在詞組中的位置,在句子中的位置和相關音素的種類;一個在一個任何長度的輸入句子里通過與儲存在詞典中的詞匯相比較的檢查每個詞匯的音節的位置的程序;一個根據儲存在詞典中的語音標識每個檢查詞匯的音節生成語音的程序;一個用參考詞典檢查每個檢查詞匯的詞性和擴展語法的程序;一個句子中的詞匯根據擴展語法和相鄰詞匯的詞性的關系組合成詞組的程序;一個用音調標識在生成的文字語音標識識中檢查每一個音節的程序;一個參照音節-音素查找部分的信息檢查每個被檢查的音素格式;一個從基本連續語音儲存部分檢索每個被檢查的連續語音的程序;和一個計算每個被檢查音素的連續語音的程序。從基本的連續語音和與音調、詞組構成、詞組中的位置、句子中的位置和被檢查音素前后相鄰音素的種類相關的參數被檢查的音素組成每個被檢查音節,并且計算被檢查的音素的連續語音獲得每個被檢查音節的連續語音。
2.一種用漢語音節作為基本處理單元的漢語語音識別系統的連續語音處理方法,包括一個構造用于儲存漢語詞匯和相關信息的詞典的程序,例如語音標識、詞性、擴展語法等;一個構造基本的連續語音儲存部分的程序,其中,該部分用于根據音節儲存基本連續語音的分類信息;一個構造連續語音參數儲存部分的程序,其中,該部分用于根據每一個音節的音調儲存連續語音參數,詞組結構和在詞組中的位置、在句子中的位置和相關音節的種類;一個在一個任何長度的輸入句子里通過與儲存在詞典中的詞匯相比較的檢查每個詞匯的音節的位置的程序;一個根據儲存在詞典中的語音標識每個檢查詞匯的每個音節生成語音的程序;一個用參考詞典檢查每個被檢查詞匯的詞性和擴展語法的程序;一個句子中的詞匯根據擴展語法和相鄰詞匯的詞性的關系組合成詞組的程序;一個用音調標識在生成的文字語音標識識中檢查每一個音節的程序;一個從基本連續語音儲存部分檢索每個被檢查的連續語音的程序;和一個計算從基本的連續語音和與音調、詞組構成、詞組中的位置、句子中的位置和被檢查音素前后相鄰音素的種類相關的參數中每個被檢查的音節的連續語音程序。
3.一種用漢語音素作為基本處理單元的漢語語音識別系統的連續語音處理裝置,包括一個詞典,用于儲存漢語詞匯和相關信息。例如語音標識、詞性、擴展語法等;一個音節-音素查找部分,用于儲存信息。例如對應于所有漢語音節每一個音節的指定的音素數目(包括輔音的指定數目和元音的指定數目)等;一個基本的連續語音儲存部分,用于根據音素儲存基本連續語音的分類信息;一個連續語音參數儲存部分,用于根據每一個音節屬于的音調儲存連續語音參數,詞組結構和在詞組中的位置、在句子中的位置和相關音素的種類;一個詞匯檢查部分,用于在一個任何長度的輸入句子里通過與儲存在詞典中的詞匯相比較的檢查每個詞匯的音節的位置;一個語音標識生成部分,用于根據儲存在詞典中的語音標識生成檢查每個被詞匯的語音;一個詞性/擴展語法檢查部分,用于參考詞典檢查每個被檢查詞匯的詞性和擴展語法的詞性和擴展語法;一個詞組擴展部分,用于根據擴展語法和相鄰詞匯的詞性的關系把詞匯組合成詞組;一個音調/音節檢查部分,用于在生成的文字語音標識識中用音調標識檢查每一個音節;一個音素檢查部分,用于參照音節-音素查找部分的信息檢查每個被檢查的音素格式;一個基本連續語音判定部分,從基本連續語音儲存部分檢索每個被檢查音素的連續語音;和一個音素的連續語音計算部分,用于計算每個被檢查音素的連續語音。從基本的連續語音和與音調、詞組構成、詞組中的位置、句子中的位置和被檢查音素前后相鄰音素的種類相關的參數被檢查的音素組成每個被檢查音節,并且計算被檢查的音素的連續語音獲得每個被檢查音節的連續語音。
4.一種用漢語音節作為基本處理單元的漢語語音識別系統的連續語音處理裝置,包括一個詞典,用于儲存漢語詞匯和相關信息。例如語音標識、詞性、擴展語法等;一個基本的連續語音儲存部分,用于根據音節儲存基本的連續語音分類信息;一個連續語音參數儲存部分,用于根據每一個音節的音調,詞組結構和在詞組中的位置、在句子中的位置和相關音素的種類來儲存連續語音參數;一個詞匯檢查部分,用于在一個任何長度的輸入句子里通過與儲存在詞典中的詞匯相比較的檢查每個詞匯的音節的位置;一個語音標識生成部分,用于根據儲存在詞典中的語音標識生成檢查每個被詞匯的語音;一個詞性/擴展語法檢查部分,用于參考詞典檢查每個被檢查詞匯的詞性和擴展語法的詞性和擴展語法;一個詞組擴展部分,用于根據擴展語法和相鄰詞匯的詞性的關系把詞匯組合成詞組;一個音調/音節檢查部分,用于在生成的文字語音標識識中用音調標識檢查每一個音節;一個基本連續語音判定部分,從基本連續語音儲存部分檢索每個被檢查音素的連續語音;和一個音素的連續語音計算部分,用于計算從基本的連續語音和與音調、詞組構成、詞組中的位置、句子中的位置和被檢查音素前后相鄰音素的種類相關的參數被檢查的音素組成每個被檢查音節每個被檢查音素的連續語音。
全文摘要
本發明的連續語音處理方法和裝置中,分析了大量的自然語音,已知單音節的連續語音會隨著一些因素變化,例如音素、音調、詞組結構、在詞組中的位置,在句子中的位置和前后連接的音素等、用這些變化因素建立起來一個“連續語音參數儲存部分”,通過檢索連續語音參數和在音節連續語音計算中結合音節的基本連續語音,在句子中可以精確地確定每個單音節的連續語音。本發明的語音識別系統可以采用自然的連續語音合成語音。
文檔編號G10L13/00GK1315722SQ0013006
公開日2001年10月3日 申請日期2000年10月26日 優先權日2000年3月28日
發明者孫世章, 謝琴韻 申請人:松下電器產業株式會社