專利名稱:語音音素的編碼及語音合成方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種語音編碼及語音合成方法,特別是一種以音素為基礎(chǔ)并運(yùn)用LPC技術(shù)來對(duì)語音編碼與譯碼的方法。
這種語音分析合成的技術(shù)是依照一定的處理方法,分析語言信號(hào)并將其提出必要的特征參數(shù),并用這些參數(shù)按照語音產(chǎn)生的模型合成為語音的技術(shù)。由于語音分析合成的過程是將聲音信號(hào)以最少的數(shù)字?jǐn)?shù)據(jù)來代表原始信號(hào),所以,一般也稱的為語音壓縮技術(shù),其牽涉到語音的取樣以及編碼與譯碼等技術(shù)。如語音波形編碼中的適應(yīng)性差量脈沖碼調(diào)變(Adaptive Delta Pulse Code Modulation;ADPCM)的編碼方式,其重點(diǎn)在于使重建的信號(hào)與原始信號(hào)波形愈像愈好;從數(shù)學(xué)的觀點(diǎn)而言,其采用最小均方誤差的準(zhǔn)則(Minimum Mean Square Error Criterion),但ADPCM方法的位率小于24kbps(Kilo Bit Per Second),會(huì)有經(jīng)還原后的聲音品質(zhì)變差,且運(yùn)算量大的問題。
以上所述的語音分析合成,其特色是具有可大幅壓縮語音數(shù)據(jù)量,也可額外有保密通信的優(yōu)點(diǎn)(運(yùn)用加密技術(shù))。不過,其缺點(diǎn)為語音合成的輕重、分音、基周(音調(diào))往往與自然語音有所差距,造成不自然,甚至不易識(shí)別的缺點(diǎn)。
即便是經(jīng)過壓縮的語音分析合成技術(shù),仍然有節(jié)省內(nèi)存空間的可能性。此外,現(xiàn)有的語音分析合成技術(shù)多以線上(on-line)的方式運(yùn)作,所以,必須加上判斷語音是否“有聲音”的動(dòng)作,常常在判斷的過程中,會(huì)將“有聲”與“無聲”的部分判斷錯(cuò)誤,造成語音合成時(shí)產(chǎn)生聲音沙啞的情形。
于是,如何能讓語音分析合成技術(shù)所產(chǎn)生的語音,一方面能達(dá)到接近自然語音,也即,音質(zhì)的改善;另一方面,如何能達(dá)到最大壓縮的程度,也即,最不耗占內(nèi)存空間;再一方面,如何能讓語音分析合成的過程較為簡單;以上幾點(diǎn)均成為重要的研究課題。
將有聲語音音素加以編碼,計(jì)算振幅、基周及頻譜參數(shù)并進(jìn)行編碼,其中,頻譜參數(shù)以LPC參數(shù)編碼方式;而對(duì)于無聲(氣音;unvoiced)語音音素文件保留其原音不壓縮;靜音部分則只記錄靜音長度。解壓縮時(shí),只需將有聲語音部份,利用內(nèi)插方式將振幅、基周及頻譜參數(shù)做平滑處理,再利用語音合成器,還原有聲語音;無聲部分只需依據(jù)地址取出原語音加以還原;而靜音部分,只需取出靜音時(shí)間長即可。
依據(jù)本發(fā)明所揭露的技術(shù),本發(fā)明提供一種語音音素的編碼及語音合成方法,其包括兩個(gè)階段,語音數(shù)據(jù)庫建立階段與語音合成階段語音數(shù)據(jù)庫建立階段,包括下列步驟將該語音音素區(qū)分為一有聲、無聲與靜音音素;將該有聲音素壓縮編碼,并將該無聲音素進(jìn)行一地址編碼與將該靜音音素進(jìn)行一時(shí)間長度編碼;以及,儲(chǔ)存經(jīng)壓縮編碼的該有聲音素并儲(chǔ)存該無聲與靜音音素至該語音數(shù)據(jù)庫。
一旦使用者鍵入文字?jǐn)?shù)據(jù),即可分析該文字?jǐn)?shù)據(jù)的音素并讀取該語音數(shù)據(jù)庫的音素?cái)?shù)據(jù),接著,即進(jìn)入下一個(gè)階段。
語音合成階段依據(jù)該語音數(shù)據(jù)庫的該音素?cái)?shù)據(jù),合成該文字?jǐn)?shù)據(jù)的語音,包括下列步驟讀取該音素?cái)?shù)據(jù)的有聲音素碼、該無聲音素碼與該靜音音素碼;以及,依據(jù)該音素?cái)?shù)據(jù)的有聲音素碼經(jīng)由一語音合成器合成一有聲語音,并依據(jù)該語音數(shù)據(jù)的無聲音素碼產(chǎn)生一無聲語音,并依據(jù)該靜音音素碼產(chǎn)生一靜音語音。
在語音數(shù)據(jù)庫建立階段中,有聲音素依據(jù)基周參數(shù)、振幅參數(shù)與頻譜參數(shù)加以壓縮編碼;無聲音素則依據(jù)基周參數(shù)與地址參數(shù)加以編碼;靜音音素則依據(jù)基周參數(shù)與時(shí)間參數(shù)加以編碼。
在語音合成階段,只要依據(jù)語音編碼的規(guī)則,取出語音數(shù)據(jù)庫當(dāng)中的有聲語音碼、無聲語音碼與靜音語音碼,并分別加以譯碼與合成即可獲得一合成的語音。其中,有聲語音經(jīng)由一語音合成器,此語音合成器是依照基周參數(shù)、頻譜參數(shù)以及振幅參數(shù)三者加以設(shè)計(jì)。
具體地講,本發(fā)明一種語音音素的編碼及語音合成方法,以離線方式對(duì)一語言進(jìn)行取樣,并將經(jīng)取樣的該語言的語音音素進(jìn)行編碼與語音合成,包括下列步驟建立一語音數(shù)據(jù)庫,包括下列步驟將該語音音素區(qū)分為一有聲、無聲與靜音音素;將該有聲音素壓縮編碼,并將該無聲音素進(jìn)行一地址編碼與將該靜音音素進(jìn)行一時(shí)間長度編碼;及儲(chǔ)存經(jīng)壓縮編碼的該有聲音素并儲(chǔ)存該無聲與靜音音素至該語音數(shù)據(jù)庫;當(dāng)使用者鍵入一文字?jǐn)?shù)據(jù)時(shí),分析該文字?jǐn)?shù)據(jù)的音素并讀取該語音數(shù)據(jù)庫的一音素?cái)?shù)據(jù);以及依據(jù)該語音數(shù)據(jù)庫的該音素?cái)?shù)據(jù),合成該文字?jǐn)?shù)據(jù)的語音,包括下列步驟讀取該音素資料的有聲音素碼、該無聲音素碼與該靜音音素碼;及依據(jù)該音素?cái)?shù)據(jù)的有聲音素碼經(jīng)由一語音合成器合成一有聲語音,并依據(jù)該語音數(shù)據(jù)的無聲音素碼產(chǎn)生一無聲語音,并依據(jù)該靜音音素碼產(chǎn)生一靜音語音。
所述的語音音素的編碼及語音合成方法中,取樣該語言的取樣率為每秒8千次。
所述的有聲音素的壓縮編碼依據(jù)一基周參數(shù)、一振幅參數(shù)與一頻譜參數(shù)加以編碼;該無聲音素的該地址編碼以該基周參數(shù)與一地址參數(shù)加以編碼;該靜音音素的時(shí)間長度編碼以該基周參數(shù)與一時(shí)間參數(shù)加以編碼。
所述的有聲音素的該基周參數(shù)與該振幅參數(shù)以一個(gè)音框(frame)為單位,逐步計(jì)算參數(shù)值。
所述的頻譜參數(shù)的編碼系以一線性預(yù)估編碼(Linear PredictiveCoding,LPC)方式加以編碼。
所述地址參數(shù)是記錄該經(jīng)取樣的該語音的該無聲音素的儲(chǔ)存地址。
所述時(shí)間參數(shù)是記錄該經(jīng)取樣的該語音的該靜音音素的靜音時(shí)間長度。
所述無聲音素的基周參數(shù)值定義為1,該靜音音素的基周參數(shù)值定義為0。
所述有聲語音的合成依據(jù)該基周參數(shù)、振幅參數(shù)與頻譜參數(shù)以合成該有聲語音,其中該語音合成器包括
一脈沖序列產(chǎn)生器,用以將該基周參數(shù)輸出為一激發(fā)信號(hào)(Excitation Signal);一聲道濾波器,依據(jù)該頻譜參數(shù)作為該聲道濾波器的濾波參數(shù),用以接收該激發(fā)信號(hào)并將的輸出為一語音信號(hào);以及一乘法器,用以將該語音信號(hào)乘上該振幅參數(shù)以輸出一還原語音。
所述無聲語音的產(chǎn)生系依據(jù)該地址參數(shù)讀取該語音數(shù)據(jù)庫的一無聲語音音素,并依據(jù)該無聲語音音素產(chǎn)生該無聲語音。
所述的靜音語音的產(chǎn)生依據(jù)該時(shí)間參數(shù)輸出符合該時(shí)間參數(shù)的時(shí)間長度的一振幅為0的靜音。
本發(fā)明的語音音素編碼及譯碼的方法,可以離線(off-line)方式進(jìn)行,可將原本音素文件的內(nèi)存容量壓縮至2M字節(jié)(bytes)以下(2.4kbps),可大量節(jié)省內(nèi)存空間,并提高音質(zhì)為每個(gè)取樣為16位,解壓縮時(shí)利用平滑處理,則可改善部份音素連結(jié)不好的語音。再者,因?yàn)楸揪幋a方法將有聲與無聲語音個(gè)別處理,有聲部份不會(huì)發(fā)生在一般語音編碼時(shí),所產(chǎn)生的有聲、無聲誤判的狀況,造成聲音沙啞等發(fā)音不良問題;無聲部份則保留氣音原音,以維持最佳的氣音效果。
有關(guān)本發(fā)明的特征等,配合附圖最佳實(shí)施例詳細(xì)說明如下。
其次,由于電子辭典市場的語音處理較為規(guī)則,且其要求的數(shù)據(jù)壓縮量較大,所以,本發(fā)明運(yùn)用線性預(yù)估編碼(Linear Predictive Coding,以下簡稱LPC)的方式作為本發(fā)明的編碼與譯碼的方式。此外,線性預(yù)測編碼(Linear Prediction Coding;LPC),是基于語音發(fā)聲模型,而估計(jì)信號(hào)的聲道濾波器(Vocal Tract Filter)參數(shù)及基本周期(Pitch)達(dá)到壓縮的目的,可達(dá)到非常低的位率(Low Bit Rate),所以相當(dāng)適合作為本發(fā)明的編碼方法。
接下來,請(qǐng)參考
圖1,本發(fā)明的語音音素的編碼及語音合成方法的流程圖,包括下列步驟區(qū)分有聲、無聲與靜音音素(步驟10);進(jìn)行音素編碼(步驟20);儲(chǔ)存經(jīng)編碼的有聲音素碼、無聲音素與靜音音素(步驟30);將音素譯碼與平滑處理(步驟40);以及,合成語音(步驟50)。其中,從上述的編碼與譯碼流程中,事實(shí)上包括了兩個(gè)階段,也即,編碼階段(步驟10--30)與譯碼階段(步驟40--50)。其中,編碼階段所著重的在于語音數(shù)據(jù)庫的建立,所以,也可稱的為語音數(shù)據(jù)庫建立階段;而譯碼階段則是在電子辭典使用者在按下所想要發(fā)音的文字時(shí),電子辭典即可依語音數(shù)據(jù)庫的建立規(guī)則,將文字拆解為語音音素,并依本發(fā)明的編碼規(guī)則取出所編碼的語音音素再加以譯碼,進(jìn)而還原與合成語音,所以,本階段也可稱的為合成階段。以下將針對(duì)個(gè)別的步驟逐一說明首先,在步驟10當(dāng)中,由于語音可以從文字的發(fā)音部分區(qū)分出語音音素(phoneme),而語音音素也可以加以分類,所以,本發(fā)明運(yùn)用語音音素當(dāng)中的有聲(voiced)、無聲(unvoiced)與靜音的區(qū)別來做基本分類方式。由于有聲的音素為周期性(periodic)的語音部分,所以,可進(jìn)一步壓縮;而無聲的音素為非周期性(non-periodic)的語音部分,所以,不進(jìn)行壓縮;靜音則直接記錄其長度即可。
以電子辭典當(dāng)中的英文發(fā)音為例,由于其字母以及音標(biāo)(phoneticalphabet)的配對(duì)有一定的規(guī)則,也即,以每個(gè)音節(jié)為單位,可以區(qū)分出不同音節(jié)的有聲與無聲部分,所以,可事先通過英文數(shù)據(jù)庫當(dāng)中的音標(biāo)數(shù)據(jù)加以區(qū)別語音的有聲與無聲。例如,“無聲”的部分有f、p、s、t等,例如free的音標(biāo)[fri]處理后為[f-ri]。至于國語與其它語言的語音處理,道理也同。
通過語言本身的信息,即可將語音的有聲與無聲在離線(off-line)的狀況下,通過事前處理,也即,于語音編碼前,將所有的語音音素加以區(qū)分為有聲與無聲兩類。其中,有聲音素的處理,系切除音節(jié)音素的聲母氣音,只留韻母有聲音。而無聲音素的處理,系保留無聲子音與音節(jié)音素的聲母氣音,而將語音靜音部份(可能含有些微噪聲)全部設(shè)為零,只記錄靜音長度。
將語音的音素分類后,即可進(jìn)入步驟20,進(jìn)行音素編碼。由于本發(fā)明在步驟10當(dāng)中,將語音音素分為“有聲”、“無聲”與“靜音”三種,因此,本發(fā)明將針對(duì)三種事先分類好的語音音素加以編碼。本發(fā)明的編碼方式系將語音編碼的三個(gè)主要參數(shù)加以編碼,三個(gè)參數(shù)分別為振幅參數(shù)的均方根值(RMS;root of mean square)、基周(Pitch,也即音調(diào))參數(shù)及頻譜參數(shù)(RC’s;反射系數(shù),reflection coefficients)。
其中,振幅參數(shù)與基周參數(shù)的獲得,系以一個(gè)音框(一個(gè)音框frame=180取樣點(diǎn),8kHz的取樣率)為單位,逐步計(jì)算出其參數(shù)值。而頻譜參數(shù)(RC’s)的獲得則依LPC的方式計(jì)算而得,也即,依照下列方程式計(jì)算而得A0/(1+a1Z-1+a2Z-2…+a10Z-10)其中,A0系為振幅參數(shù),Z系為,a1--a10即為LPC參數(shù)。
由以上的三種參數(shù),一個(gè)有聲語音音框(180samples)可編碼為54bits,壓縮位率相當(dāng)于2.4kbps,各個(gè)參數(shù)的位配置如下Pitch(6bits),RMS(6bits),RC’s(RC0--RC9)
至于無聲的語音音框,由于本發(fā)明直接將其記錄起來,所以,定義其基周(Pitch)參數(shù)值為1,其編碼方式如下Pitch(6bits)Index_of_unvoiced_speech
其中,Idx為實(shí)際語音(氣音)的指針,也即,其所儲(chǔ)存的地址。
靜音的語音音框,設(shè)其基周參數(shù)值為0,其編碼方式如下Pitch(6bits)Length_of_silence
其中,Ls為無聲的長度。
接下來,即可將以上所編碼的語音數(shù)據(jù)記錄至語音數(shù)據(jù)庫,也即,步驟30。以上的步驟10--30已說明了本發(fā)明的編碼規(guī)則,也就是利用語音音素本身的“有聲”、“無聲”與“靜音”三個(gè)部分,用不同的方式加以編碼。如此,即可省去相當(dāng)大的內(nèi)存空間。
此一建立好的語音數(shù)據(jù)庫,即可用來作為語音合成的數(shù)據(jù)基礎(chǔ)。也就是,讀取語音數(shù)據(jù)時(shí)以基周參數(shù)為起始的讀取點(diǎn),也即,若Pitch>1,則共讀取54bits,譯碼還原成有聲語音;若Pitch=1,則再讀取8bits(Idx),根據(jù)Idx加載實(shí)際語音氣音數(shù)據(jù),以英文為例,所有無聲氣音數(shù)據(jù)約占內(nèi)存120kbytes;若Pitch=0,則再讀取8bits(Ls),譯碼還原成靜音,長度Ls*8。
換句話說,由于本發(fā)明采取的技術(shù)策略為將語音的“有聲”、“無聲”與“靜音”的部分分開處理,所以,三者經(jīng)編碼的數(shù)據(jù)型態(tài)有所不同,如上所述的各種聲音的位配置。于是,在合成語音時(shí),只要依據(jù)本發(fā)明編碼的規(guī)則,反過來操作即可。以下,將介紹合成階段的操作方法,也就是步驟40--50。
首先,先介紹音素譯碼與平滑處理的部分,也即,步驟40。在步驟40當(dāng)中,也需依照三種音素分別加以處理。
先參考“有聲”音素方面,請(qǐng)參考圖2,本發(fā)明的語音合成器100方塊圖。在語音合成時(shí),先依據(jù)使用者所鍵入的文字?jǐn)?shù)據(jù),依音素拆解法則取出適當(dāng)?shù)恼Z音音素,其做法為,先利用可產(chǎn)生周期為有聲音素的基周的脈沖序列(Impulse Train;Excitation Signal)產(chǎn)生器101;接著,將的通過一個(gè)聲道濾波器(Vocal Tract Filter)102,此聲道濾波器102的頻率響應(yīng)由RC’s值決定;然后,根據(jù)RMS值經(jīng)由乘法器103調(diào)整輸出語音能量。
其中,脈沖序列產(chǎn)生器101是仿真人聲帶的振動(dòng),請(qǐng)參考圖3,其產(chǎn)生方法是將序列p[25]={8,-16,26,-48,86,-162,294,-502,718,-728,184,672,-610,-672,184,728,718,502,294,162,86,48,26,16,8}組成一周期性序列e(n),周期即為基周(pitch)參數(shù)。若Pitch>25,則e(n)={p[1],p[2],…,p[25],0,…,0};若Pitch<=25,則e(n)={p[1],p[2],…,p[Pitch]}。然后e(n)再通過一個(gè)Lowpass Filter(1+0.75z-1+0.125z-2),得到聲道濾波器的輸入激發(fā)信號(hào)(ExcitationSignal)。
至于聲道濾波器102,其為仿真口腔信道的頻率響應(yīng),濾波器參數(shù)即為依LPC方式所計(jì)算出的頻譜參數(shù),RC’s,通過聲道濾波器102即可實(shí)現(xiàn),其輸入信號(hào)為e(n),輸出為語音s(n)。由于LPC處理過程,在編碼時(shí)有做預(yù)強(qiáng)調(diào)處理(Pre-emphasis)(1-0.9875z-1),其用以加強(qiáng)高頻信號(hào)的正確運(yùn)算,故譯碼時(shí),需加一個(gè)解預(yù)強(qiáng)調(diào)濾波器(De-emphasisFilter)1/(1-0.9875z-1)。
在圖2的乘法器中,將增益值(Gain)加入,也即,將譯碼后語音信號(hào)的RMS值乘入經(jīng)聲道濾波器102的譯碼值,也即,上述的振幅參數(shù),將的調(diào)整為與編碼前相同即可,其中Gain=RMS/1NΣn=0Ns2(n)]]>另外,在有聲音素的語音合成時(shí),需要將基周(Pitch)加以同步。同步的方法系在語音合成時(shí),以一個(gè)基周為單位,合成連續(xù)幾個(gè)周期后,合成語音長度必須≤目前音框總樣本點(diǎn)數(shù)(即音框長度(180)+前一合成音框剩下樣本點(diǎn)數(shù)),剩下未滿總樣本點(diǎn)數(shù)的樣本點(diǎn),并于下個(gè)音框處理。如圖3所示,以取樣率為每秒8千為例,一個(gè)音框的長度約為180點(diǎn),在取完五個(gè)基周后,由于不滿180點(diǎn),剩余點(diǎn)數(shù)又不足以取一個(gè)基周的長度,因的將其編入下一個(gè)周期繼續(xù),以此類推。
最后,即進(jìn)入步驟40的第二階段,平滑處理,也即,將基周、振幅與RC’s參數(shù)平滑處理。參數(shù)是以內(nèi)差方式,做平滑處理,其中,合成參數(shù)=上一音框參數(shù)*(1-Prop)+目前音框參數(shù)*Prop。
其中,0≤Prop(Proportion;比例)≤1,Prop=目前音框已合成樣本點(diǎn)數(shù)/目前音框總樣本點(diǎn)數(shù)。
有于有聲音素的編碼過程較為繁復(fù),所以,上述以較清楚的說明來描述其合成過程。接下來,將針對(duì)三種不同的音素合成做一個(gè)統(tǒng)整的介紹,也即,一套合成語音的流程,請(qǐng)參考圖4,本發(fā)明的語音音素譯碼流程圖,通過此流程圖,將可更清楚說明步驟40與50的具體操作。
在整個(gè)語音數(shù)據(jù)讀取的比特流程中,由于本發(fā)明的編碼采取基周(pitch)參數(shù)編于數(shù)據(jù)的最前端的方式,并且,“有聲”的基周參數(shù)依計(jì)算而取得,“無聲”的基周參數(shù)為1,“靜音”的基周參數(shù)為0,所以,可以基周參數(shù)的數(shù)據(jù)加以判斷其為“有聲”、“無聲”或“靜音”數(shù)據(jù),并分別加以處理。由于基周參數(shù)占6位的數(shù)據(jù),所以,先讀入6位(步驟401),以判別數(shù)據(jù)為“有聲”、“無聲”或“靜音”。如果,基周>1(步驟402),則其必為有聲音素,接著,讀取剩余的48個(gè)位數(shù)據(jù),也即,振幅參數(shù)(RMS)與頻譜參數(shù)(RC’s),讀入48位(步驟408)后,再經(jīng)語音合成器處理(步驟409)即可將經(jīng)編碼的“有聲”語音加以還原;如果,基周=0(步驟403),則其必為靜音,則讀入8位(步驟404),以讀取靜音的長度,并產(chǎn)生Ls*8點(diǎn)靜音(步驟407);如果,基周不大于1,又不等于0,則基周參數(shù)必為1,則讀入8位(步驟405),也即,搜尋氣音的儲(chǔ)存地址,根據(jù)數(shù)據(jù)庫讀入氣音樣本點(diǎn)(步驟406)。最后,即可輸出語音(步驟410),將原來的語音的“有聲”、“無聲”與“靜音”的部分,分別加以還原。
請(qǐng)繼續(xù)參考圖5,本發(fā)明的語音合成器信號(hào)處理流程圖,通過此圖可以更清楚地說明“有聲”音素的合成。
在“有聲”的數(shù)據(jù)中,其約占54個(gè)位,以下即為合成的流程。首先,在步驟411中,先讀入第一個(gè)音框參數(shù),接著,在步驟412中,令N=0,L=180,基周O=基周RMSO=0,RCOi=RCi,i=0,1,…,9以讀取RC參數(shù),接著,即可進(jìn)行參數(shù)平滑的動(dòng)作,以讓音質(zhì)更好,此即步驟413,如下所示prop=N/L;基周j=基周0*(1-prop)+基周*propRMSj=RMSO*(1-prop)+RMS*prop;RCj(i)=RCO(i)*(1-prop)+RC(i)*propi=0,1,…,9其中,prop即為比例(Proportion),L則為音框的大小,一開始時(shí),L=180。
接著,如果N+基周j>L(步驟414),也即,取到大于一個(gè)音框的長度后,重新讀取下一個(gè)音框,也就是,進(jìn)入步驟415令L=L-N+180N=0基周0=基周RMSO=RMS,RCOj=RCi,i=0,1,…,9接著,繼續(xù)步驟416,讀入下一個(gè)音框參數(shù)。
如果,N+基周j非大于L,也就是,取出基周參數(shù)、RMS與RC’s參數(shù),進(jìn)行步驟417,經(jīng)語音合成器處理,即可輸出語音(步驟418),接著,繼續(xù)下一個(gè)語音音框的處理,也就是,步驟419令N=N+基周jj=j(luò)+1通過上述的語音合成流程,即可將經(jīng)壓縮的有聲音素加以譯碼并合成為有聲語音。
圖6A為單字“abbreviation”的原音語音波形,圖6B為利用本發(fā)明將“abbreviation”加以編碼及譯碼后的語音波形,圖6C為其經(jīng)由一般現(xiàn)有技術(shù)的編碼及譯碼后的語音波形;圖7A--7C則分別為其頻譜,由圖6A與圖6B,以及圖7A與圖7B可看出,利用本發(fā)明的編碼與語音合成方法,不僅可解出非常近似的基周及頻譜,且其噪聲比現(xiàn)有的方法小很多,再者,經(jīng)過平滑處理后,使本發(fā)明的發(fā)音比現(xiàn)有技術(shù)圖7C的發(fā)音更平順自然。
雖然本發(fā)明以前述的較佳實(shí)施例公開如上,然其并非用以限定本發(fā)明,任何本領(lǐng)域的普通技術(shù)人員,在不脫離本發(fā)明的精神和范圍內(nèi),當(dāng)可作些許的更動(dòng)與潤飾,因此本發(fā)明的保護(hù)范圍以權(quán)利要求為準(zhǔn)。
權(quán)利要求
1.一種語音音素的編碼及語音合成方法,其特征在于,以離線方式對(duì)一語言進(jìn)行取樣,并將經(jīng)取樣的該語言的語音音素進(jìn)行編碼與語音合成,包括下列步驟建立一語音數(shù)據(jù)庫,包括下列步驟將該語音音素區(qū)分為一有聲、無聲與靜音音素;將該有聲音素壓縮編碼,并將該無聲音素進(jìn)行一地址編碼與將該靜音音素進(jìn)行一時(shí)間長度編碼;及儲(chǔ)存經(jīng)壓縮編碼的該有聲音素并儲(chǔ)存該無聲與靜音音素至該語音數(shù)據(jù)庫;當(dāng)使用者鍵入一文字?jǐn)?shù)據(jù)時(shí),分析該文字?jǐn)?shù)據(jù)的音素并讀取該語音數(shù)據(jù)庫的一音素?cái)?shù)據(jù);以及依據(jù)該語音數(shù)據(jù)庫的該音素?cái)?shù)據(jù),合成該文字?jǐn)?shù)據(jù)的語音,包括下列步驟讀取該音素資料的有聲音素碼、該無聲音素碼與該靜音音素碼;及依據(jù)該音素?cái)?shù)據(jù)的有聲音素碼經(jīng)由一語音合成器合成一有聲語音,并依據(jù)該語音數(shù)據(jù)的無聲音素碼產(chǎn)生一無聲語音,并依據(jù)該靜音音素碼產(chǎn)生一靜音語音。
2.如權(quán)利要求1所述的語音音素的編碼及語音合成方法,其特征在于,取樣該語言的取樣率為每秒8千次。
3.如權(quán)利要求1所述的語音音素的編碼及語音合成方法,其特征在于,所述的有聲音素的壓縮編碼依據(jù)一基周參數(shù)、一振幅參數(shù)與一頻譜參數(shù)加以編碼;該無聲音素的該地址編碼以該基周參數(shù)與一地址參數(shù)加以編碼;該靜音音素的時(shí)間長度編碼以該基周參數(shù)與一時(shí)間參數(shù)加以編碼。
4.如權(quán)利要求3所述的語音音素的編碼及語音合成方法,其特征在于,所述的有聲音素的該基周參數(shù)與該振幅參數(shù)以一個(gè)音框(frame)為單位,逐步計(jì)算參數(shù)值。
5.如權(quán)利要求3所述的語音音素的編碼及語音合成方法,其特征在于,所述的頻譜參數(shù)的編碼系以一線性預(yù)估編碼(Linear PredictiveCoding,LPC)方式加以編碼。
6.如權(quán)利要求1或3所述的語音音素的編碼及語音合成方法,其特征在于,該地址參數(shù)系記錄該經(jīng)取樣的該語音的該無聲音素的儲(chǔ)存地址。
7.如權(quán)利要求1或3所述的語音音素的編碼及語音合成方法,其特征在于,該時(shí)間參數(shù)系記錄該經(jīng)取樣的該語音的該靜音音素的靜音時(shí)間長度。
8.如權(quán)利要求3所述的語音音素的編碼及語音合成方法,其特征在于,該無聲音素的基周參數(shù)值定義為1,該靜音音素的基周參數(shù)值定義為0。
9.如權(quán)利要求1或3所述的語音音素的編碼及語音合成方法,其特征在于,該有聲語音的合成依據(jù)該基周參數(shù)、振幅參數(shù)與頻譜參數(shù)以合成該有聲語音,其中該語音合成器包括一脈沖序列產(chǎn)生器,用以將該基周參數(shù)輸出為一激發(fā)信號(hào)(Excitation Signal);一聲道濾波器,依據(jù)該頻譜參數(shù)作為該聲道濾波器的濾波參數(shù),用以接收該激發(fā)信號(hào)并將的輸出為一語音信號(hào);以及一乘法器,用以將該語音信號(hào)乘上該振幅參數(shù)以輸出一還原語音。
10.如權(quán)利要求1或3所述的語音音素的編碼及語音合成方法,其特征在于,該無聲語音的產(chǎn)生系依據(jù)該地址參數(shù)讀取該語音數(shù)據(jù)庫的一無聲語音音素,并依據(jù)該無聲語音音素產(chǎn)生該無聲語音。
11.如權(quán)利要求1或3所述的語音音素的編碼及語音合成方法,其特征在于,所述的靜音語音的產(chǎn)生依據(jù)該時(shí)間參數(shù)輸出符合該時(shí)間參數(shù)的時(shí)間長度的一振幅為0的靜音。
全文摘要
本發(fā)明涉及一種語音音素的編碼及語音合成方法,本發(fā)明以離線的方式對(duì)語音進(jìn)行取樣,將經(jīng)取樣的語音數(shù)據(jù)依照其音素的有聲、無聲與靜音加以分類為三種音素,將其中的有聲音素依照基周參數(shù)、振幅參數(shù)與頻譜參數(shù)加以編碼,并將無聲音素直接記錄,將靜音音素記錄其靜音時(shí)間長,在將這些經(jīng)編碼的音素?cái)?shù)據(jù)記錄至語音數(shù)據(jù)庫;接著,只要將語音數(shù)據(jù)庫當(dāng)中經(jīng)編碼的音素?cái)?shù)據(jù)加以譯碼與合成即可還原語音;所取出的有聲音素只要經(jīng)過一個(gè)依據(jù)基周參數(shù)振幅參數(shù)與頻譜參數(shù)設(shè)計(jì)的語音合成器加以合成,將無聲音素直接取出,將靜音音素播出靜音長度,即可合成出接近原音的語音。
文檔編號(hào)G10L13/00GK1450528SQ0210593
公開日2003年10月22日 申請(qǐng)日期2002年4月9日 優(yōu)先權(quán)日2002年4月9日
發(fā)明者楊凰琳 申請(qǐng)人:無敵科技股份有限公司