王咿卜,李建文
(陜西科技大學(xué) 電子信息與人工智能學(xué)院, 西安 710021)
語(yǔ)音語(yǔ)調(diào)作為人類(lèi)交流的主要特點(diǎn)之一, 是情感表達(dá)最不可忽視的一部分, 也是人類(lèi)區(qū)別于機(jī)器語(yǔ)音最顯著的特征[1]. 人工智能的發(fā)展, 帶來(lái)的是全新的機(jī)器時(shí)代, 精確度更高的算法相應(yīng)而生, 但在要求準(zhǔn)確度和語(yǔ)音合成清晰度的同時(shí), 不可忽視的還有機(jī)器語(yǔ)音區(qū)別于人類(lèi)語(yǔ)音的一點(diǎn)—語(yǔ)調(diào). 只有將語(yǔ)音合成的準(zhǔn)確度和情感度結(jié)合起來(lái), 才能真正達(dá)到智能化語(yǔ)音, 使機(jī)器語(yǔ)言更加貼合人類(lèi)的日常交流, 這對(duì)語(yǔ)音合成的實(shí)現(xiàn)提出了語(yǔ)調(diào)可控的要求, 其中, 語(yǔ)音演唱復(fù)雜度更高, 如果能實(shí)現(xiàn)語(yǔ)音演唱, 會(huì)使得機(jī)器模仿人類(lèi)日常交流更加簡(jiǎn)單. 語(yǔ)調(diào)是區(qū)別不同人發(fā)音特征最重要的參數(shù)之一, 語(yǔ)調(diào)的擬合有助于語(yǔ)音識(shí)別準(zhǔn)確度的提高. 語(yǔ)音信號(hào)占據(jù)人類(lèi)信息交流的70%左右, 最容易獲取且最能體現(xiàn)人類(lèi)在不同場(chǎng)景的心理狀態(tài). 研究顯示, 語(yǔ)音語(yǔ)調(diào)的變化特征在抑郁癥患者和正常人之間有著明顯的區(qū)別[2], 因此, 從數(shù)學(xué)角度出發(fā), 結(jié)合對(duì)語(yǔ)音參數(shù)的調(diào)整實(shí)現(xiàn)語(yǔ)音合成, 在人工智能、醫(yī)學(xué)方面都具有參考價(jià)值.
徐晨煜[3]基于統(tǒng)計(jì)機(jī)器學(xué)習(xí)的端到端的方法實(shí)現(xiàn)語(yǔ)音合成, 以傳統(tǒng)的文本到語(yǔ)音(Text To Speech, TTS)為基礎(chǔ), 采用一種端到端的合成模型將整個(gè)過(guò)程統(tǒng)一為一個(gè)單一的過(guò)程, 利用支持向量回歸、簡(jiǎn)單神經(jīng)網(wǎng)絡(luò)以及具有注意力模型的Seq-2-Seq算法, 實(shí)現(xiàn)文本到語(yǔ)音的轉(zhuǎn)換. 王永鑫等[4]采用基于HMM方法實(shí)現(xiàn)帶聲調(diào)控制的語(yǔ)音合成, 通過(guò)研究陳述語(yǔ)句和疑問(wèn)語(yǔ)句的基調(diào)變化特點(diǎn), 對(duì)其進(jìn)行歸一化, 利用HMM語(yǔ)音合成系統(tǒng)的控制機(jī)制, 實(shí)現(xiàn)了對(duì)疑問(wèn)句語(yǔ)調(diào)到陳述句語(yǔ)調(diào)的轉(zhuǎn)換. 徐晨煜的研究在一定程度上簡(jiǎn)化了語(yǔ)音合成的復(fù)雜過(guò)程, 但忽略了不同人之間的發(fā)音特點(diǎn), 將人類(lèi)之間情感的區(qū)別單一化, 機(jī)器音更為明顯. 王永鑫等的研究考慮了語(yǔ)調(diào)的重要意義, 結(jié)合語(yǔ)句參數(shù)的變化特征,實(shí)現(xiàn)了陳述句和疑問(wèn)句之間的轉(zhuǎn)換, 但可變語(yǔ)調(diào)僅僅局限于陳述語(yǔ)句和疑問(wèn)句, 對(duì)于多種語(yǔ)句類(lèi)型的轉(zhuǎn)化要求難以實(shí)現(xiàn). 本文研究從語(yǔ)音的基頻和共振峰兩個(gè)參數(shù)出發(fā), 通過(guò)研究不同情況發(fā)音者的基頻變化值, 調(diào)整擬合的基頻曲線, 實(shí)現(xiàn)了對(duì)不同情境下說(shuō)話人語(yǔ)調(diào)的變化; 同時(shí)調(diào)整基頻曲線參數(shù)、發(fā)音時(shí)長(zhǎng)也可以實(shí)現(xiàn)語(yǔ)音演唱的效果, 并且通過(guò)調(diào)整基音頻率值還可以達(dá)到對(duì)男士、女士、兒童等發(fā)音者的變化. 本文通過(guò)對(duì)函數(shù)擬合實(shí)現(xiàn)語(yǔ)音合成及演唱方法的研究, 以期在語(yǔ)音演唱、語(yǔ)音合成、語(yǔ)音識(shí)別、醫(yī)學(xué)領(lǐng)域等方面提供參考.
聲音的產(chǎn)生, 主要是人類(lèi)的發(fā)音器官受到大腦控制, 這些發(fā)音器官主要有肺、氣管、喉以及聲道,圖1所示為發(fā)音器官示意圖[5-6].
由圖1可知, 肺承擔(dān)著人體血液和氣體之間的交換, 通過(guò)肺將二氧化碳排除并吸進(jìn)氧氣, 并將空氣壓縮傳遞給發(fā)音器官, 即呼吸功能. 氣管主要將聲音由肺部傳遞到喉部. 喉部含有發(fā)音的重要器官—聲帶[5]. 聲音之所以產(chǎn)生, 主要是氣流進(jìn)入喉部, 產(chǎn)生聲帶的振動(dòng), 而這種振動(dòng)的強(qiáng)弱、大小則導(dǎo)致聲音種類(lèi)的不同. 從聲門(mén)到嘴唇之間所有的發(fā)音器官統(tǒng)稱(chēng)為聲道, 包括咽頭、口腔和鼻腔. 口腔包括唇和舌頭. 口腔中所有器官共同協(xié)作使得通過(guò)的氣流受到阻礙產(chǎn)生震顫, 導(dǎo)致不同聲音的產(chǎn)生, 聲道與咽腔、鼻腔一同充當(dāng)發(fā)音的共鳴器. 聲道是一種非均勻截面的聲管, 截面面積取決于唇、舌、腭和小舌的位置和形狀, 這種非均勻截面隨時(shí)間不斷變化[5]. 通過(guò)對(duì)發(fā)音器官的介紹, 可以構(gòu)造出發(fā)聲的數(shù)字模型, 圖2所示為發(fā)音數(shù)字模型[5].
從圖2可知, 聲音種類(lèi)的不同正是因?yàn)檫@些器官在根據(jù)大腦刺激產(chǎn)生不同的協(xié)作[5], 首先氣流進(jìn)入肺部, 產(chǎn)生有規(guī)則的信號(hào), 即直流氣流, 直流氣流經(jīng)過(guò)聲帶的振動(dòng)產(chǎn)生交流氣流, 再通過(guò)聲道得到速度波, 最終經(jīng)過(guò)嘴唇作為輻射源產(chǎn)生聲壓波傳入人耳[7].
圖1 發(fā)音器官示意圖Fig. 1 Schematic diagram of speech organs
圖2 發(fā)音的數(shù)字模型Fig. 2 Numerical model of pronunciation
聲波信號(hào)產(chǎn)生于聲帶的周期性振動(dòng), 主要由基音與泛音組成, 聲波信號(hào)中含有最低頻率值的音波稱(chēng)為基音. 除此之外的音波都稱(chēng)為泛音, 其頻率為基頻的整倍數(shù), 稱(chēng)為共振峰頻率. 采用Adobe Audition軟件對(duì)拼音一聲“a”的語(yǔ)譜圖進(jìn)行顯示, 如圖3所示. 由圖3可知, 最低高亮線所在位置對(duì)應(yīng)的頻率就是基音頻率值, 其余高亮線條所在位置對(duì)應(yīng)的頻率為諧波頻率值, 即共振峰頻率值.
圖3 一聲“a”的語(yǔ)譜圖Fig. 3 The spectrogram of “a”
聲音主要有音調(diào)、音色、響度這3要素, 這些要素的不同組合構(gòu)成不同狀態(tài)下不同人的發(fā)音結(jié)果.聲帶有規(guī)律的振動(dòng)存在周期性, 周期的倒數(shù)為頻率, 其大小決定聲音的高低, 頻率增加一倍, 音樂(lè)上稱(chēng)“提高一個(gè)八度”, 這種高低即音調(diào), 物體振動(dòng)變化越快, 頻率越高, 音調(diào)越高[8], 而聲調(diào)的變化是相對(duì)的、滑動(dòng)的, 用音階來(lái)模擬. 聲帶的振動(dòng)會(huì)產(chǎn)生兩種類(lèi)型的波, 一部分波周期一致, 另一部分波周期存在微小偏差, 周期不同導(dǎo)致這些波的頻率不同, 此類(lèi)波稱(chēng)為諧波. 諧波的頻率是基頻的整倍數(shù), 發(fā)出的音在音樂(lè)中稱(chēng)為泛音, 當(dāng)所有泛音整合在一起就會(huì)發(fā)出不同類(lèi)型的音色, 音色由聲音的波形決定, 根據(jù)聲音的音色可以分辨不同人和不同樂(lè)器發(fā)出的聲音[9]. 響度指聲音的強(qiáng)弱程度, 單位是分貝(dB),與語(yǔ)譜圖中基頻曲線及共振峰對(duì)應(yīng)曲線處的聲強(qiáng)有關(guān), 表現(xiàn)在語(yǔ)譜圖上是圖中高亮線段的明暗程度:越亮, 則分貝值越大, 發(fā)出的聲波越明顯; 越暗, 則相反. 聲強(qiáng)即分貝值(ddB)與聲音信號(hào)的幅度(時(shí)刻i位置的幅度為Ai)成正比[10-11], 聲音信號(hào)幅度與聲強(qiáng)之間的關(guān)系為
綜上, 聲音要素變量與物理變量之間的關(guān)系描述見(jiàn)表1.
表1 聲音要素與物理變量關(guān)系Tab. 1 The relationship between sound elements and physical variables
聲音分為噪音和樂(lè)音, 噪音是發(fā)音物體產(chǎn)生多種無(wú)規(guī)律的周期和幅度而形成的聲波, 即不同聲波含有無(wú)規(guī)則的振動(dòng)頻率和響度, 語(yǔ)音波形不定[12]. 樂(lè)音是聲帶周期性振動(dòng)產(chǎn)生的, 聲波頻率呈基頻F0的整數(shù)倍增加, 為F1,F2,F3,···, 響度參數(shù)值較為統(tǒng)一, 差距較小, 有一定的語(yǔ)音波形.
一般來(lái)說(shuō),F1、F2決定了音型,F3及其以上共振峰則影響著個(gè)人的聲音特征及音色[13]. 樂(lè)音又分為濁音、清音和鼻音. 濁音有聲帶振動(dòng)的參與, 是氣流受到阻礙的同時(shí)聲門(mén)發(fā)生了閉合, 并且聲帶微顫而產(chǎn)生, 如/p/、/t/、/k/等. 清音無(wú)聲帶振動(dòng)的參與, 僅僅是由于氣流收到阻力而產(chǎn)生[14], 如/b/、/d/、/ɡ/等. 鼻音是由于肺部氣流在傳遞上升過(guò)程中聲帶發(fā)生閉合, 聲帶微顫的同時(shí)發(fā)出的聲音, 這種聲音隨著氣流送入鼻腔產(chǎn)生, 例如/l/、/m/、/n/等. 由于音調(diào)由物體振動(dòng)頻率決定, 因此在歌曲的演唱過(guò)程中, 濁音的樂(lè)音性強(qiáng)于清音, 鼻音的樂(lè)音性要強(qiáng)于濁音.
基音周期是指人們發(fā)出韻母的濁輔音時(shí), 聲帶發(fā)生一次開(kāi)啟與閉合的時(shí)間[7]. 基音周期倒數(shù)為基音頻率(簡(jiǎn)稱(chēng)“基頻”). 基音周期描述了圖2語(yǔ)音數(shù)字模型中發(fā)音激勵(lì)源的重要特征, 是研究語(yǔ)音信號(hào)最重要的參數(shù)之一. 基音頻率的波形變化曲線(基頻曲線)稱(chēng)為聲調(diào)[11].
令離散的語(yǔ)音信號(hào)為x(n), 由圖2得語(yǔ)音信號(hào)是由聲門(mén)脈沖激勵(lì)u(n)經(jīng)聲道響應(yīng)v(n) 濾波而得, 即
圖4 語(yǔ)音信號(hào)波形Fig. 4 Voice signal waveform
圖5 語(yǔ)調(diào)基頻曲線Fig. 5 Tone pitch curve
對(duì)于樂(lè)器來(lái)講, 每相鄰兩個(gè)半音, 高音頻率是低音頻率的2的次方倍, 例如, 國(guó)際標(biāo)準(zhǔn)音“a”的頻率為440 Hz, 比它高半音(降b)的頻率為 440×=466.13 Hz[17]. 從圖5中可得, 實(shí)際情況下, 對(duì)于含有音階變化的起音“a”, 每個(gè)相鄰音階頻率變化值從高音到低音依次為50 Hz、50 Hz、25 Hz左右,降低的值呈倍數(shù)性衰減. 兩兩音階變換位置存在類(lèi)似梯形的過(guò)渡, 由一段音階遞減或遞增到另一音階.同一音階處曲線起伏較小, 基本趨于水平狀態(tài).
語(yǔ)音信號(hào)可以看作是一個(gè)數(shù)學(xué)模型模型的輸出, 圖6所示為其等效模型.
圖6 語(yǔ)音信號(hào)數(shù)學(xué)模型Fig. 6 Mathematical model of a speech signal
圖6中u(n)為模型輸入, 即脈沖序列,x(n)為輸出的語(yǔ)音信號(hào), 而模型的傳遞函數(shù)為H(z), 其有理式形式為
由于H(z) 是穩(wěn)定且具有最小相位的系統(tǒng), 因此可化為
由式(5)得, 模型的輸出是模型當(dāng)前的輸入、過(guò)去的輸入和輸出之間的線性組合. 因此, 語(yǔ)音信號(hào)當(dāng)前的輸出值可以通過(guò)當(dāng)前的輸入與過(guò)去的語(yǔ)音信號(hào)值來(lái)計(jì)算. 式(5)中, 若b1,b2,···,bq均為0, 則式(5)可變?yōu)?/p>
當(dāng)聲道傳遞函數(shù)為全極點(diǎn)模型時(shí), 有
其中, j是虛數(shù)單位, j2= –1.
將式(8)代入式(7), 并取功率譜模值, 用p(f) 表示, 有
由式(9)可得, 當(dāng)求共振峰頻率值時(shí), 可先利用FFT對(duì)任意頻率求其功率譜幅值響應(yīng), 再?gòu)姆淀憫?yīng)中找到共振峰的信息[7,18].
由式(10)得,x(n)為e(n)的輸入, 也是傳遞函數(shù)的輸出. 利用A(z) 的多項(xiàng)式系數(shù)分解能夠準(zhǔn)確的確定語(yǔ)音信號(hào)共振峰的中心頻率與帶寬. 設(shè)為任意復(fù)根值, 則其共軛值也是一個(gè)根. 設(shè)zi對(duì)應(yīng)的共振峰頻率為Fi, 3 dB帶寬為Bi, 衰減指數(shù)為σ, 拉普拉斯變換和Z變換轉(zhuǎn)換關(guān)系為Z=esT(s為信號(hào)x(t)經(jīng)過(guò)拉普拉斯變換后得到的極點(diǎn),s=?σ±jω), 得到Z變換后的極點(diǎn)Z1=e?σT+jωT=rejω和Z2=re?jw, 經(jīng)過(guò)對(duì)比得θi=ωi=ω0T, 其中ω0為信號(hào)原頻率, 由于σ=2πB/2=πB,ωi=2πfi, 則Fi與Bi、zi之間關(guān)系為
由于ri=r=e?σT=e?πBT, 則
由式(11)、式(12)得
通過(guò)LPC求根法對(duì)共振峰估算, 得到語(yǔ)音包絡(luò)線, 如圖7所示. 圖7中功率譜曲線上畫(huà)出的點(diǎn)畫(huà)線即對(duì)應(yīng)的共振峰頻率值.
圖7 語(yǔ)音包絡(luò)線Fig. 7 Voice envelope
聲調(diào)隨著基頻的變化而變化, 這種變化結(jié)果合稱(chēng)語(yǔ)調(diào). 一般來(lái)說(shuō), 女性的基音頻率是男性基音頻率的兩倍, 男性范圍約為50 Hz ~ 250 Hz, 兒童和女性約為100 Hz ~ 500 Hz[19]. 發(fā)音者類(lèi)型、發(fā)音狀態(tài)、發(fā)音語(yǔ)句類(lèi)型都在一定程度上影響著基頻[20]. 在語(yǔ)音合成過(guò)程中, 語(yǔ)句的表達(dá)狀態(tài)不同, 基音頻率也存在明顯的差異, 例如陳述語(yǔ)句和疑問(wèn)語(yǔ)句的基音頻率在句末處差別很大, 陳述語(yǔ)句的基音曲線走勢(shì)整體平緩, 基本保持水平狀態(tài), 到句末位置處稍微下降, 而對(duì)于疑問(wèn)句, 基頻曲線整體走勢(shì)上揚(yáng), 基頻值在句末處存在部分音節(jié)的基頻明顯增加, 當(dāng)存在語(yǔ)氣助詞(如“嗎”), 末尾音節(jié)基頻值變化程度更高[21]. 語(yǔ)音發(fā)出者在不同情景下的發(fā)音狀態(tài)也在一定程度上影響著基頻曲線, 例如, 當(dāng)人處于生氣狀態(tài)下, 基頻曲線變化程度快, 聲強(qiáng)較高, 當(dāng)人處于愉悅狀態(tài)下, 基頻曲線變化平緩, 聲強(qiáng)相對(duì)于日常來(lái)講相對(duì)適中[22].
由于語(yǔ)音合成有兩個(gè)重要參數(shù), 分別是基頻和共振峰的頻率值, 基頻曲線受現(xiàn)實(shí)情況的影響較大,而共振峰的頻率值是基頻曲線對(duì)應(yīng)頻率值的整倍數(shù), 同樣受到影響. 因此, 在進(jìn)行帶語(yǔ)調(diào)的語(yǔ)音合成及語(yǔ)音演唱的合成過(guò)程中, 要充分考慮不同人、不同狀態(tài)、不同語(yǔ)句對(duì)基頻曲線的影響, 以達(dá)到合成結(jié)果與實(shí)際情況切合.
采用最小二乘法原理對(duì)基頻曲線進(jìn)行擬合, 由于擬合的曲線方程y為
其中,ai為擬合系數(shù),x為時(shí)間變量. 為使得曲線盡可能多地反映所給數(shù)據(jù)點(diǎn)的變化趨勢(shì), 要求產(chǎn)生的誤差越小越好, 選擇均方誤差Q來(lái)表示誤差大小, 已知基頻曲線共有m個(gè)點(diǎn)[23], 某一點(diǎn)數(shù)據(jù)為(xi,yi),i=1,2,···,m, 則均方誤差為
誤差最小, 即求Q的極小值, 可以采用求導(dǎo)來(lái)解出ak,ak?1,···,a0, 即
將式(17)整理后得
將式(18)表示為矩陣, 即
已知, 當(dāng)n的階數(shù)越高, 擬合曲線占據(jù)實(shí)際點(diǎn)越多, 但在基頻曲線提取過(guò)程中, 不可避免地產(chǎn)生一些“野點(diǎn)”, 導(dǎo)致產(chǎn)生過(guò)擬合, 因此n值選擇是否恰當(dāng), 對(duì)語(yǔ)音合成結(jié)果的正確與否至關(guān)重要. 對(duì)于圖4含有音階變化的語(yǔ)音“a”, 實(shí)驗(yàn)采用其中前4個(gè)下降的音階為例, 通過(guò)求解矩陣方程, 最終得到擬合參數(shù)值, 判斷函數(shù)次數(shù). 表2為對(duì)第一段音階(不含過(guò)渡音階曲線)不同階數(shù)的擬合結(jié)果.
表2 擬合函數(shù)不同階數(shù)對(duì)比Tab. 2 Comparison of different orders of fitting functions
確定系數(shù)表示擬合的函數(shù)變量對(duì)原始函數(shù)數(shù)據(jù)的擬合效果, 確定系數(shù)越接近1, 擬合結(jié)果越好. 從上表可得, 當(dāng)階數(shù)n< 3時(shí), 對(duì)非線性曲線的擬合結(jié)果較差, 當(dāng)n= 3擬合效果較好, 當(dāng)n> 3, 確定系數(shù)雖然也在增加, 但程度減慢且系數(shù)值過(guò)于復(fù)雜. 為了保證擬合效果且避免過(guò)擬合, 實(shí)驗(yàn)采用階數(shù)n為3進(jìn)行擬合.
由于語(yǔ)音合成過(guò)程中, 基頻和共振峰頻率決定了整個(gè)合成結(jié)果語(yǔ)調(diào)的類(lèi)型, 而共振峰頻率為基音頻率的整倍數(shù)[7], 因此首先對(duì)語(yǔ)調(diào)的基頻進(jìn)行曲線擬合, 圖8所示為擬合過(guò)程.
圖8 基頻曲線擬合步驟Fig. 8 Fitting steps for a fundamental frequency curve
從流程圖中得, 基頻曲線擬合過(guò)程分為以下幾步.
(1)首先對(duì)語(yǔ)音y(t) 進(jìn)行預(yù)處理, 將語(yǔ)音雙聲道模型轉(zhuǎn)換成單聲道以便處理. 對(duì)單聲道音頻進(jìn)行分幀處理, 將連續(xù)信號(hào)y(t)變?yōu)殡x散信號(hào)y(n), 便于獲取每幀信號(hào)值.
(2)對(duì)于語(yǔ)音信息較多的音頻, 需要進(jìn)行端點(diǎn)檢測(cè), 即將一段語(yǔ)音信號(hào)的每一個(gè)語(yǔ)音單元(每個(gè)字音)進(jìn)行檢測(cè)并區(qū)分.
(3)采用倒譜法提取基音頻率, 得到語(yǔ)音基頻曲線, 采用LPC法進(jìn)行共振峰頻率提取.
(4)若合成原始語(yǔ)音, 則采用高次多項(xiàng)式進(jìn)行基頻曲線的擬合, 若實(shí)現(xiàn)語(yǔ)音演唱, 則按照演唱需要利用分段函數(shù)將不同音階的基頻曲線擬合出來(lái)[24], 最終輸出擬合函數(shù)y2(t), 即
(5)為合成基頻大小可以控制且語(yǔ)調(diào)確定的語(yǔ)音, 需要將擬合函數(shù)歸一化, 即
(6)得到的歸一化函數(shù)加指定基頻值F0, 得到最終語(yǔ)音的基頻函數(shù)曲線
(7)對(duì)不同音階時(shí)域進(jìn)行整理, 通過(guò)調(diào)整擬合函數(shù)時(shí)間(加減t0),y5(t)=y4(t±t0) 最終實(shí)現(xiàn)語(yǔ)音演唱功能.
由于實(shí)現(xiàn)語(yǔ)音演唱需要改變語(yǔ)音的音階, 且在不同音階處存在過(guò)渡音階曲線, 因此采用分段函數(shù)來(lái)表示含有音階變化的基頻曲線. 實(shí)驗(yàn)采用3階多項(xiàng)式函數(shù), 對(duì)圖5中前四段聲調(diào)變換的基頻曲線及過(guò)渡音階曲線分別進(jìn)行擬合, 由于語(yǔ)音音階變化存在頻率變化, 其頻率隨前后音階的改變而調(diào)整, 因此需要對(duì)擬合的音階基頻曲線進(jìn)行歸一化, 最終得到的第一段音階曲線和過(guò)渡音階基頻曲線的擬合函數(shù)分別為
經(jīng)過(guò)基頻檢測(cè), 在圖5中前4段音階中, 每段相鄰音階的基頻存在小范圍波動(dòng), 相鄰音階基頻曲線整體上移, 初始基頻分別313 Hz、275.8 Hz、238.6 Hz、223.1 Hz. 對(duì)于過(guò)渡音階, 其基頻變化幅度分別為50 Hz、50 Hz、25 Hz、12.5 Hz(取平均變化). 為實(shí)現(xiàn)每段基頻曲線的過(guò)渡, 需要對(duì)式(23)進(jìn)行移位, 對(duì)式(24)進(jìn)行擴(kuò)頻運(yùn)算. 令每段音階發(fā)音時(shí)長(zhǎng)為0.7 s, 音階過(guò)渡時(shí)長(zhǎng)為0.2 s, 采樣率fs為8 000 Hz,擬合的第i段音階基頻曲線y1i和音階過(guò)渡基頻曲線yni(i=1,2,3,4), 其對(duì)應(yīng)公式分別為
對(duì)于音階過(guò)渡基頻曲線, 擴(kuò)頻運(yùn)算僅僅能保證音階基頻變化幅度的正確性, 但在每一個(gè)分段曲線的連接處無(wú)法實(shí)現(xiàn)前后音階的銜接, 因此還需要對(duì)式(26)進(jìn)行縱軸移位. 實(shí)際情況下, 第i段音階過(guò)渡基頻曲線yni需要加上第i段音階基頻函數(shù)y1i的末尾值與第i音階過(guò)渡基頻曲線yni的初始值之差, 即yni=yni+yni(t初)+y1i(t末). 移位得到的最終音階過(guò)渡曲線的擬合函數(shù)公式為
將式(25)與式(27)聯(lián)合在一起, 最終合成前4個(gè)音階的語(yǔ)調(diào)基頻曲線結(jié)果, 如圖9所示, 其中縱坐標(biāo)為頻率, 橫坐標(biāo)為時(shí)間(t).
圖9 4個(gè)音階基頻曲線擬合結(jié)果Fig. 9 Fitting results for fundamental curves of four scales
從曲線的合成結(jié)果看, 雖然在音階變化階段下降幅度較陡, 銜接處拐點(diǎn)明顯, 但與實(shí)際情況下提取的基頻取信在數(shù)值和曲線走向方面能夠很好地?cái)M合, 克服并修復(fù)了實(shí)際語(yǔ)音的基頻曲線存在斷點(diǎn)、不連續(xù)的情況, 擬合效果較好.
已知任意聲音信號(hào)可以由三角函數(shù)的疊加產(chǎn)生[7], 對(duì)應(yīng)公式為
數(shù)學(xué)中, 正弦函數(shù)和余弦函數(shù)可以互相轉(zhuǎn)化, 因此式(28)等效為
式(29)中,wi為第i個(gè)正弦函數(shù)的頻率,t為時(shí)間,Ai為第i個(gè)正弦函數(shù)的振幅. 為實(shí)現(xiàn)語(yǔ)調(diào)控制,采用倒譜法對(duì)提取出來(lái)的基音周期f來(lái)進(jìn)行函數(shù)擬合, 由于w=2πf, 因此語(yǔ)音信號(hào)為
采用函數(shù)疊加方法進(jìn)行帶音階變化的語(yǔ)音合成, 其中,f1為基音頻率,fi(i=2,3,···)為f1的整倍數(shù), 即fi=f1·i(i=2,3,···), 即
式(31)中,A1,Ai(i=2,3,···)為單個(gè)聲波的聲音強(qiáng)度(A1為基頻曲線對(duì)應(yīng)的聲強(qiáng),Ai為各諧波,即共振峰頻率對(duì)應(yīng)的聲強(qiáng)),i為基音頻率的整倍數(shù)(語(yǔ)譜圖上從下至上第i條高亮線),2π(y2·i)·t為共振峰頻率.
根據(jù)式(31), 以函數(shù)擬合的方式進(jìn)行帶有四階降聲調(diào)的語(yǔ)音合成, 最終由Adobe Audition軟件進(jìn)行語(yǔ)音合成分析. 圖10所示為原始語(yǔ)音和最終合成圖5中前4個(gè)音階的語(yǔ)譜圖對(duì)比情況(圖中左側(cè)為原始語(yǔ)音語(yǔ)譜圖, 右側(cè)為合成語(yǔ)音語(yǔ)譜圖).
圖10 原始語(yǔ)音與合成語(yǔ)音語(yǔ)譜圖Fig. 10 Spectrum of original and synthetic speech
從處理結(jié)果可得, 實(shí)際情況下, 原始語(yǔ)音的音階改變存在過(guò)渡現(xiàn)象, 在基頻曲線上體現(xiàn)為兩兩音階交替處存在較短時(shí)間的下降或上升, 聽(tīng)覺(jué)上更柔和, 但容易出現(xiàn)音階變換模糊, 而實(shí)驗(yàn)合成結(jié)果在兩兩音階的過(guò)渡銜接處基頻曲線較為生硬, 聽(tīng)覺(jué)上音階變化較短時(shí)間內(nèi)較為直接, 但時(shí)間極短, 聽(tīng)覺(jué)上與原始語(yǔ)音差距極其微小, 可以忽略, 合成語(yǔ)音音階變化清晰, 容易判斷. 在圖10中, 在原始語(yǔ)音在每一音階范圍內(nèi), 由于現(xiàn)實(shí)中人體收到自身及外界情況的干擾, 會(huì)出現(xiàn)基頻走向在一定范圍內(nèi)的微小波動(dòng), 導(dǎo)致語(yǔ)音聽(tīng)覺(jué)效果稍差, 但采用函數(shù)擬合恰好可以克服人受外界因素的影響, 基頻曲線清晰明了, 可以克服干擾產(chǎn)生的波動(dòng), 更容易控制, 在保證不失真情況下能夠合成音質(zhì)較好的語(yǔ)音.
為測(cè)試語(yǔ)音合成的結(jié)果, 進(jìn)行主觀實(shí)驗(yàn)對(duì)比原始語(yǔ)音和合成語(yǔ)音的自然度. 實(shí)驗(yàn)邀請(qǐng)了15位年齡在20 歲到 25歲之間, 并對(duì)音律感知較為靈敏的年輕人作為合成語(yǔ)音自然度測(cè)試對(duì)象. 主觀測(cè)評(píng)結(jié)果見(jiàn)表3.
表3 測(cè)評(píng)結(jié)果Tab. 3 Evaluation results
采用支持向量機(jī)的方法對(duì)合成的語(yǔ)音與原始語(yǔ)音之間識(shí)別率進(jìn)行訓(xùn)練并分類(lèi), 得到總體識(shí)別率為87.6%. 由于主觀評(píng)價(jià)存在人體自身的影響, 而客觀主要從語(yǔ)譜圖對(duì)比出發(fā), 因此存在一定差異. 結(jié)合主觀測(cè)試和客觀測(cè)試結(jié)果, 實(shí)驗(yàn)采用高次多項(xiàng)式對(duì)語(yǔ)音基頻進(jìn)行擬合, 將單一合成的基頻利用分段函數(shù)進(jìn)行拼接、調(diào)整以達(dá)到語(yǔ)音演唱的目的, 雖然部分測(cè)試者認(rèn)為合成效果不理想, 但總體來(lái)看, 合成情況較好, 能夠達(dá)到語(yǔ)音合成進(jìn)一步應(yīng)用的要求.
本文說(shuō)明了語(yǔ)音主要具有音調(diào)、音色、響度這3要素, 基音頻率、共振峰頻率和幅值是語(yǔ)音的特征參數(shù), 對(duì)于基頻的提取, 可以根據(jù)倒譜法將聲門(mén)脈沖倒譜與聲道響應(yīng)的倒譜相分離, 其中聲門(mén)脈沖即我們所求的聲帶振動(dòng)頻率, 求共振峰頻率先采用FFT對(duì)語(yǔ)音進(jìn)行變化, 對(duì)任意頻率求其功率譜, 從功率譜中分離出幅值響應(yīng), 從而得到共振峰頻率及幅值大小. 從數(shù)學(xué)角度上聲波可以等效為多個(gè)正弦函數(shù)的疊加, 其中, 正弦函數(shù)的幅值為分貝值(由聲強(qiáng)變化得到), 頻率為基音頻率和共振峰頻率, 且共振峰頻率為基音頻率的整倍數(shù). 通過(guò)高次多項(xiàng)式函數(shù)進(jìn)行聲調(diào)基頻曲線的擬合, 也可以構(gòu)造多個(gè)分段函數(shù)實(shí)現(xiàn)可控的基頻曲線, 最終實(shí)現(xiàn)不同音階的語(yǔ)調(diào)變化的語(yǔ)音合成和演唱效果. 從聲波產(chǎn)生的數(shù)學(xué)角度出發(fā), 通過(guò)函數(shù)擬合得到了可以控制的基頻曲線; 采用多個(gè)三角函數(shù)疊加, 實(shí)現(xiàn)了簡(jiǎn)單的含有音階變換的語(yǔ)音演唱的合成. 相比當(dāng)前較多的機(jī)器學(xué)習(xí)實(shí)現(xiàn)語(yǔ)音合成的方法而言, 實(shí)驗(yàn)將語(yǔ)調(diào)變換特征加入函數(shù)公式中, 使得語(yǔ)音合成的數(shù)學(xué)本質(zhì)表現(xiàn)得更為明顯, 同時(shí)彌補(bǔ)了當(dāng)前機(jī)器合成自然度不高、缺乏情感的不足, 對(duì)今后進(jìn)一步學(xué)習(xí)語(yǔ)音知識(shí)有一定的參考意義.