專利名稱:可變語(yǔ)音信號(hào)編譯的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及音頻處理技術(shù),具體來(lái)說(shuō)是涉及一種可變語(yǔ)音信號(hào)編譯的方法。
背景技術(shù):
在電信業(yè)務(wù)中,尤其是在智能網(wǎng)中,經(jīng)常會(huì)處理語(yǔ)音信號(hào),比如向用戶播放業(yè)務(wù)菜單、報(bào)金額等等。其中有的語(yǔ)音信號(hào)不會(huì)因?yàn)橛脩舻牟煌煌热缛魏稳藫艽?00時(shí)都會(huì)聽到“你好,歡迎使用200電話卡業(yè)務(wù),請(qǐng)輸入您的卡號(hào)按#結(jié)束”;語(yǔ)音平臺(tái)對(duì)于這種語(yǔ)音信號(hào),一般只需要一個(gè)語(yǔ)音信號(hào)編號(hào)就可以了。而有的語(yǔ)音信號(hào)則會(huì)根據(jù)條件不同而變化,例如當(dāng)查詢200卡的余額時(shí),如果卡上還有50元時(shí),聽到的語(yǔ)音信號(hào)是“您的余額是五十元”;如果卡上還有45.5元時(shí),聽到的語(yǔ)音信號(hào)是“您的余額是四十五元五角”。此時(shí)語(yǔ)音信號(hào)平臺(tái)除了語(yǔ)音信號(hào)編碼,還需要一個(gè)待編譯可變語(yǔ)音信號(hào)的內(nèi)容,以及這個(gè)可變語(yǔ)音信號(hào)的編譯方法,在這個(gè)例子中,“待編譯的可變語(yǔ)音信號(hào)”就是50或者45.5,“編譯方法”就是中文金額的編譯。
語(yǔ)音信號(hào)平臺(tái)中上述可變語(yǔ)音信號(hào)的編譯方法中,現(xiàn)有技術(shù)是直接在通過(guò)函數(shù)處理模塊實(shí)現(xiàn)的,即根據(jù)中文金額(即50或者45.5)直接調(diào)用與其對(duì)應(yīng)的函數(shù)處理模塊,從而進(jìn)行數(shù)字到語(yǔ)音信號(hào)的編譯。
顯然,上述現(xiàn)有可變語(yǔ)音信號(hào)的編譯方法存在許多不足,例如每次如果需要增加或更改一種編譯規(guī)則,就需要升級(jí)一次語(yǔ)音信號(hào)平臺(tái),使用極為不便。
發(fā)明內(nèi)容
本發(fā)明提出了一種可變語(yǔ)音信號(hào)編譯的方法,以解決現(xiàn)有技術(shù)中存在的升級(jí)或更改系統(tǒng)極為不方便的問(wèn)題。
為此,本發(fā)明提供如下技術(shù)方案一種可變語(yǔ)音信號(hào)編譯的方法,包含如下步驟a、將待編譯的可變語(yǔ)音信號(hào)作分段處理,將可變語(yǔ)音信號(hào)分成復(fù)數(shù)個(gè)單元;b、對(duì)每個(gè)語(yǔ)音信號(hào)單元逐個(gè)編譯,并形成可變語(yǔ)音信號(hào)單元的序列;c、合并上述復(fù)數(shù)可變語(yǔ)音信號(hào)單元的序列,并在單元和語(yǔ)音信號(hào)編碼的對(duì)應(yīng)表中查找相應(yīng)的語(yǔ)音信號(hào)編碼序列;d、將該語(yǔ)音信號(hào)編碼序列輸出,即得到所述可變語(yǔ)音信號(hào)的編譯結(jié)果。
其中,所述步驟a中分段處理是指多重嵌套分段處理;而所述的將待編譯的可變語(yǔ)音信號(hào)進(jìn)行分段處理更具體是指根據(jù)分段依據(jù)和分段的起始點(diǎn),將待編譯的可變語(yǔ)音信號(hào)進(jìn)行分段。
所述步驟b中分段中對(duì)可變語(yǔ)音信號(hào)的每個(gè)單元逐個(gè)編譯的方式是指采用本字節(jié)獨(dú)立編譯、和后面字節(jié)一起編譯和補(bǔ)指定內(nèi)容后編譯中的一種。
分段可變語(yǔ)音信號(hào)單元的序列包括前綴、后綴的一種或兩種。
如果分段的可變語(yǔ)音信號(hào)單元不存在或?yàn)榭?,則形成的該分段可變語(yǔ)音信號(hào)單元的序列為缺省值;如果分段的可變語(yǔ)音信號(hào)的單元具有連續(xù)的0時(shí),可以采用合并編譯或分開編譯的方式,在缺省情況下承襲上層的配置,在合并完成后,在分段的可變語(yǔ)音信號(hào)的內(nèi)容單元的最前面和最后面所有的0都不編譯。
所述步驟c中合并該可變語(yǔ)音信號(hào)單元的序列后的結(jié)果序列還包括分段依據(jù)對(duì)應(yīng)的內(nèi)容、前綴、后綴的一種、兩種或三種。如果合并該可變語(yǔ)音信號(hào)單元的序列后的結(jié)果序列不存在或?yàn)榭?,則合并后的結(jié)果序列為缺省值。
本發(fā)明的可變語(yǔ)音信號(hào)編譯的方法,將可變語(yǔ)音信號(hào)編譯方法從語(yǔ)音信號(hào)平臺(tái)中抽取出來(lái),使得可變語(yǔ)音信號(hào)編譯方法的增減不再通過(guò)平臺(tái)本身的變化實(shí)現(xiàn)。具體來(lái)講,本發(fā)明具有以下優(yōu)點(diǎn)
1、對(duì)現(xiàn)有的語(yǔ)音信號(hào)平臺(tái)接口沒(méi)有影響,本發(fā)明只是語(yǔ)音信號(hào)平臺(tái)本身可變語(yǔ)音信號(hào)編譯實(shí)現(xiàn)方法上的改進(jìn),對(duì)于輸入?yún)?shù)的要求和以前沒(méi)有區(qū)別,都是待編譯內(nèi)容加編譯方法,因此對(duì)使用語(yǔ)音信號(hào)平臺(tái)的其他應(yīng)用沒(méi)有任何影響。
2、使用靈活,操作方便;本發(fā)明中將編譯從語(yǔ)音信號(hào)平臺(tái)中單獨(dú)抽取出來(lái),使得語(yǔ)音信號(hào)平臺(tái)能夠在不升級(jí)的情況下,靈活修改現(xiàn)有的編譯規(guī)則,實(shí)現(xiàn)各種新增的編譯規(guī)則。
下面結(jié)合附圖和具體實(shí)施例來(lái)詳細(xì)描述本發(fā)明。
圖1是本發(fā)明所述的可變語(yǔ)音信號(hào)編譯的方法的流程圖;具體實(shí)現(xiàn)方式智能網(wǎng)中經(jīng)常會(huì)涉及到中文金額語(yǔ)音信號(hào)的編譯,下面以最大支持到千萬(wàn)元的中文金額,如“12,345,678.90”的編譯為例,在介紹以前,先說(shuō)明一下單元和語(yǔ)音信號(hào)編碼的對(duì)應(yīng)表,如下表所示表1內(nèi)容單元 語(yǔ)音信號(hào)編碼0 000000001 00000001......
10000000101100000011......
2000000020......
100 00000100......
元00010001角00010002分00010003......
可變語(yǔ)音信號(hào)編譯就是要將可變語(yǔ)音信號(hào)編譯成單元的組合。上表1是可變語(yǔ)音信號(hào)編譯的基礎(chǔ),貫穿于可變語(yǔ)音信號(hào)編譯的整個(gè)過(guò)程。
本實(shí)施例包括如下步驟第一、將待編譯的可變語(yǔ)音信號(hào)進(jìn)行分段處理,將可變語(yǔ)音信號(hào)分成復(fù)數(shù)個(gè)單元。
具體而言是指根據(jù)分段依據(jù)和分段的起始點(diǎn),將待編譯的可變語(yǔ)音信號(hào)進(jìn)行分段;即確定分段依據(jù)為小數(shù)點(diǎn)“.”,而分段的起始點(diǎn)為首位,根據(jù)該分段依據(jù)和分段的起始點(diǎn),將待編譯的可變語(yǔ)音信號(hào)進(jìn)行分段;即將“12,345,678.90”分為“12,345,678”、“90”兩段。
在本步驟分段處理時(shí),還對(duì)第一段“12,345,678”進(jìn)行嵌套分段處理,其是指重新根據(jù)分段依據(jù)和分段的起始點(diǎn),將待編譯的可變語(yǔ)音信號(hào)進(jìn)行分段;此時(shí)確定分段依據(jù)為每段內(nèi)容字節(jié)數(shù)4個(gè)字節(jié),而分段的起始點(diǎn)為末位,即將“12,345,678”分為“1234”、“5678”兩段。而對(duì)第二段“90”不作嵌套分段處理。
第二、對(duì)每個(gè)分段可變語(yǔ)音信號(hào)單元逐個(gè)編譯,形成可變語(yǔ)音信號(hào)單元的序列。其中,形成的分段可變語(yǔ)音信號(hào)單元的序列還包括前綴、后綴的一種或兩種。
對(duì)“1234”、“5678”、“90”依次逐個(gè)字節(jié)編譯,逐個(gè)編譯的編譯方式是指在單元和語(yǔ)音信號(hào)編碼的對(duì)應(yīng)表中查找是否有對(duì)應(yīng)的單元,本實(shí)施例具體包含三種方式第一種是本字節(jié)獨(dú)立編譯,即不需要考慮其他條件,只用本字節(jié)的內(nèi)容在單元和語(yǔ)音信號(hào)編碼的對(duì)應(yīng)表中查找;第二種是和后面字節(jié)一起編譯,即將本字節(jié)和后N個(gè)字節(jié)組合在一起后,再在單元和語(yǔ)音信號(hào)編碼的對(duì)應(yīng)表中查找,此時(shí)如果組合后能夠找到對(duì)應(yīng)的單元,則后面的N個(gè)字節(jié)就不需要再編譯了;第三種是補(bǔ)指定內(nèi)容后編譯,即在本字節(jié)后補(bǔ)上指定內(nèi)容后,再在單元和語(yǔ)音信號(hào)編碼的對(duì)應(yīng)表中查找。
1、對(duì)“1234”逐個(gè)字節(jié)編譯,將該內(nèi)容設(shè)定為右對(duì)齊;對(duì)第一字節(jié)“1”而言,其前綴不存在,當(dāng)前字節(jié)不為0時(shí),后綴內(nèi)容為“千”,對(duì)其采用的編譯方式為本字節(jié)獨(dú)立編譯方式,該可變語(yǔ)音信號(hào)單元的序列為“1”+“千”。
對(duì)第二字節(jié)“2”而言,其前綴不存在,后綴也不存在,對(duì)其采用的編譯方式為補(bǔ)指定內(nèi)容后編譯,補(bǔ)“00”,該可變語(yǔ)音信號(hào)單元的序列為“200”。
對(duì)第三字節(jié)“3”而言,其前綴不存在,后綴也不存在,對(duì)其采用的編譯方式為補(bǔ)指定內(nèi)容后編譯,補(bǔ)“0”,該可變語(yǔ)音信號(hào)單元的序列為“30”。
對(duì)第四字節(jié)“4”而言,其前綴不存在,后綴也不存在,對(duì)其采用的編譯方式為本字節(jié)獨(dú)立編譯方式,該可變語(yǔ)音信號(hào)單元的序列為“4”。
2、對(duì)“5678”逐個(gè)字節(jié)編譯,將該內(nèi)容設(shè)定為右對(duì)齊;對(duì)第一字節(jié)“5”而言,其前綴不存在,當(dāng)前字節(jié)內(nèi)容不為0時(shí),后綴為“千”,對(duì)其采用的編譯方式為本字節(jié)獨(dú)立編譯方式,該可變語(yǔ)音信號(hào)單元的序列為“5”+“千”。
對(duì)第二字節(jié)“6”而言,其前綴不存在,后綴也不存在,對(duì)其采用的編譯方式為補(bǔ)指定內(nèi)容后編譯,補(bǔ)“00”,該可變語(yǔ)音信號(hào)單元的序列為“600”。
對(duì)第三字節(jié)“7”而言,其前綴不存在,后綴也不存在,對(duì)其采用的編譯方式為補(bǔ)指定內(nèi)容后編譯,補(bǔ)“0”,該可變語(yǔ)音信號(hào)單元的序列為“70”。
對(duì)第四字節(jié)“8”而言,其前綴不存在,后綴也不存在,對(duì)其采用的編譯方式為本字節(jié)獨(dú)立編譯方式,該可變語(yǔ)音信號(hào)單元的序列為“8”。
3、對(duì)“90”逐個(gè)字節(jié)編譯,將該內(nèi)容設(shè)定為左對(duì)齊;如果分段的可變語(yǔ)音信號(hào)的單元具有連續(xù)的0時(shí),可以采用合并編譯或分開編譯的方式,在缺省情況下承襲上層的配置,在合并完成后,在分段的可變語(yǔ)音信號(hào)的單元的最前面和最后面所有的0都不編譯。
對(duì)第一字節(jié)“9”而言,其前綴內(nèi)容不存在,當(dāng)前字節(jié)內(nèi)容不為0時(shí),后綴內(nèi)容為“角”,對(duì)其采用的編譯方式為本字節(jié)獨(dú)立編譯方式,該可變語(yǔ)音信號(hào)單元的序列為“9”+“角”。
對(duì)第二字節(jié)“0”而言,在分段的可變語(yǔ)音信號(hào)的單元的最前面和最后面所有的0都不編譯。該可變語(yǔ)音信號(hào)單元的序列為空。
第三、合并該可變語(yǔ)音信號(hào)單元的序列,并在單元和語(yǔ)音信號(hào)編碼的對(duì)應(yīng)表中查找相應(yīng)的語(yǔ)音信號(hào)編碼序列。其中合并該可變語(yǔ)音信號(hào)單元的序列后的結(jié)果序列還包括分段依據(jù)對(duì)應(yīng)的內(nèi)容、前綴、后綴的一種、兩種或三種。
首先將“1234”與“5678”進(jìn)行合并,當(dāng)時(shí)分段依據(jù)為字節(jié)長(zhǎng)度4,對(duì)應(yīng)的內(nèi)容為空,“1234”的前綴內(nèi)容不存在,因本段內(nèi)容不為0,故后綴內(nèi)容為“萬(wàn)”;“5678”的前綴內(nèi)容不存在,后綴內(nèi)容也不存在,本次合并可變語(yǔ)音信號(hào)單元的序列后的結(jié)果序列為“1、千、200、30、4、萬(wàn)、5、千、600、70、8”。
其次將“12345678”、“90”進(jìn)行合并,當(dāng)時(shí)分段依據(jù)為小數(shù)點(diǎn)“.”,對(duì)應(yīng)的內(nèi)容為不存在,“12345678”的前綴內(nèi)容不存在,因本段內(nèi)容不為0,后綴內(nèi)容為“元”;而“90”的前綴內(nèi)容不存在,后綴內(nèi)容也不存在,其合并結(jié)果序列為“9、角”。所以最終合并該可變語(yǔ)音信號(hào)單元的序列后的結(jié)果序列為“1、千、200、30、4、萬(wàn)、5、千、600、70、8、元、9、角”。
最后,根據(jù)上述合并后的結(jié)果序列在表1中查找相應(yīng)的語(yǔ)音信號(hào)編碼序列,即為“00000001、00020003、00000200、00000030、00000004、00020004、00000005、00020003、00000600、00000070、00000008、00010001、00000009、00010002“。
第四、將該語(yǔ)音信號(hào)編碼序列輸出,即得到所述的可變語(yǔ)音信號(hào)的編譯結(jié)果。
即通過(guò)語(yǔ)音信號(hào)平臺(tái)進(jìn)行放音輸出。
權(quán)利要求
1.一種可變語(yǔ)音信號(hào)編譯的方法,其特征在于,該方法包含如下步驟a、將待編譯的可變語(yǔ)音信號(hào)作分段處理,將可變語(yǔ)音信號(hào)分成復(fù)數(shù)個(gè)單元;b、對(duì)每個(gè)語(yǔ)音信號(hào)單元逐個(gè)編譯,并形成可變語(yǔ)音信號(hào)單元的序列;c、合并上述復(fù)數(shù)可變語(yǔ)音信號(hào)單元的序列,并在單元和語(yǔ)音信號(hào)編碼的對(duì)應(yīng)表中查找相應(yīng)的語(yǔ)音信號(hào)編碼序列;d、將該語(yǔ)音信號(hào)編碼序列輸出,即得到所述可變語(yǔ)音信號(hào)的編譯結(jié)果。
2.如權(quán)利要求1所述的一種可變語(yǔ)音信號(hào)編譯的方法,其特征在于,所述步驟a中分段處理是指多重嵌套分段處理。
3.如權(quán)利要求1所述的一種可變語(yǔ)音信號(hào)編譯的方法,其特征在于,所述步驟a更具體是指根據(jù)分段依據(jù)和分段的起始點(diǎn),將待編譯的可變語(yǔ)音信號(hào)進(jìn)行分段。
4.如權(quán)利要求3所述的一種可變語(yǔ)音信號(hào)編譯的方法,其特征在于,所述步驟a中的分段依據(jù)是指分隔符或每段單元的字節(jié)數(shù),分段的起始點(diǎn)是指首位、末位或其中的一位。
5.如權(quán)利要求1所述的一種可變語(yǔ)音信號(hào)編譯的方法,其特征在于,所述步驟b分段中對(duì)可變語(yǔ)音信號(hào)單元逐個(gè)編譯的方式是指采用本字節(jié)獨(dú)立編譯、和后面字節(jié)一起編譯和補(bǔ)指定內(nèi)容后編譯中的一種。
6.如權(quán)利要求1所述的一種可變語(yǔ)音信號(hào)編譯的方法,其特征在于,所述步驟b中如果分段的可變語(yǔ)音信號(hào)單元不存在或?yàn)榭?,則形成的該分段可變語(yǔ)音信號(hào)單元的序列為缺省值。
7.如權(quán)利要求1所述的一種可變語(yǔ)音信號(hào)編譯的方法,其特征在于,所述步驟b中如果分段的可變語(yǔ)音信號(hào)單元具有連續(xù)的0時(shí),可以采用合并編譯或分開編譯的方式,在缺省情況下承襲上層的配置,在合并完成后,在分段的可變語(yǔ)音單元的最前面和最后面所有的0都不編譯。
8.如權(quán)利要求1所述的一種可變語(yǔ)音信號(hào)編譯的方法,其特征在于,所述步驟b中形成的分段可變語(yǔ)音信號(hào)單元的序列還包括前綴、后綴的一種或兩種。
9.如權(quán)利要求1所述的一種可變語(yǔ)音信號(hào)編譯的方法,其特征在于,所述步驟c中如果合并該可變語(yǔ)音信號(hào)單元的序列后的結(jié)果序列不存在或?yàn)榭?,則合并后的結(jié)果序列為缺省值。
10.如權(quán)利要求1所述的一種可變語(yǔ)音信號(hào)編譯的方法,其特征在于,所述步驟c中合并該可變語(yǔ)音信號(hào)單元的序列后的結(jié)果序列還包括分段依據(jù)對(duì)應(yīng)的內(nèi)容、前綴、后綴的一種、兩種或三種。
全文摘要
本發(fā)明的一種可變語(yǔ)音信號(hào)編譯的方法,該方法包含如下步驟a.將待編譯的可變語(yǔ)音信號(hào)進(jìn)行分段處理;b.對(duì)每個(gè)分段可變語(yǔ)音信號(hào)單元逐個(gè)編譯,形成可變語(yǔ)音信號(hào)單元的序列;c.合并該可變語(yǔ)音信號(hào)單元的序列,并在單元和語(yǔ)音信號(hào)編碼的對(duì)應(yīng)表中查找相應(yīng)的語(yǔ)音信號(hào)編碼序列;d.將該語(yǔ)音信號(hào)編碼序列輸出,即得到所述的可變語(yǔ)音信號(hào)的編譯結(jié)果。本發(fā)明的可變語(yǔ)音信號(hào)編譯的方法,將可變語(yǔ)音信號(hào)編譯方法從語(yǔ)音信號(hào)平臺(tái)中抽取出來(lái),使得可變語(yǔ)音信號(hào)編譯方法的增減不再通過(guò)平臺(tái)本身的變化實(shí)現(xiàn),其使用靈活,操作方便。
文檔編號(hào)G10L19/00GK1571014SQ0314400
公開日2005年1月26日 申請(qǐng)日期2003年7月25日 優(yōu)先權(quán)日2003年7月25日
發(fā)明者楊曉慧 申請(qǐng)人:華為技術(shù)有限公司