宋 洋,努爾買買提尤魯瓦斯,吾守爾斯拉木
(新疆大學 信息科學與工程學院,新疆 烏魯木齊830046)
語音韻律(Rhythmic Voice)具有三個特征參數,即音高、音長和音強[1].三者在全句中隨著發(fā)音過程動態(tài)變化形成動態(tài)的超音段特征(Super Segmental Feature).語音合成的自然度與語音信號上述的韻律特征有著直接的關系.新疆大學語音實驗室對維吾爾語音合成技術進行了長期的研究,首先是以語料庫為基礎的波形拼接技術[2],其顯著特征是依賴于大容量的波形存儲,但是可以得到較優(yōu)的音質;其后的開發(fā)以語音特征參數為基礎的建模技術[3,4],其不足是缺乏自然度,基于HMM可訓練的語音合成技術是這一階段的代表成果.現階段的維吾爾語音合成技術的重點是語音的自然度和韻律.與中文語音韻律的合成相比較,維吾爾語韻律調節(jié)[5]的關鍵之處在于對韻律特征的有效調節(jié)并結合維吾爾語自身的特點恰當的加入重音、停頓等獨特語言現象.本文從這三個方面著手,對維吾爾語的韻律進行調節(jié),首先應用ANN對維吾爾語句中的停頓做預判,ANN構建的依據是維吾爾文的詞性和句法;接下來應用維吾爾語的重音規(guī)則,將Fujisaki模型應用在單詞的層面上,得以準確的調節(jié)重音音節(jié)的位置;最后對LPC(線性預測倒譜)作改進,得到LPCAP(LPC with Adjusting Parameters),調節(jié)基音頻率曲線形成多種情感語調.
漢語的韻律可以通過對音高、音長、音強等韻律特征來調節(jié).漢語中有多音字的現象,即同一個字會有多個發(fā)音,不同的發(fā)音將表示不同的含義.所以,漢語對聲調的控制要求更精確[6],包括詞聲調、短語聲調、句聲調都要綜合考慮.同樣對于維吾爾語來說,維吾爾文的單詞需要合適的重音、停頓.在維吾爾語中,重音發(fā)生在單詞的音節(jié)中,其中有些詞在出現重音時改變了原來的詞義,對這一部分的詞匯收集整理了21個,并制成“重音異義詞本”.維吾爾語的重音規(guī)則相對簡單,多音節(jié)的單詞重音出現在最后一個音節(jié)上,如果單詞添加了后綴,重音的位置要相應后移,使得重音產生在最后一個音節(jié).停頓有單詞內部的停頓、單詞間的停頓,停頓出現的位置需要訓練數據進行特征學習,而且兩種停頓的時長也存在著明顯的差異,單詞內部音節(jié)間的停頓時長小于單詞間的停頓,而且大部分情況下出現在重音音節(jié)前部.再者,描述全句基頻曲線的特征可以表達出自然的語句韻律.
標注是研究工作的基礎部分,后續(xù)的工作都要以標注的內容為依據.本文對標注的操作有所不同,主要分為五層標注,分別是音素層(ph)、音節(jié)層(sy)、詞性層(cx)、語法層(gr)、詞域層(ciyu)、重音層(tn)和兩種停頓標記詞內停頓(silw)及詞間停頓(sils).經過標注得到的是TextGrid格型文件,為了便于后續(xù)的操作,本文編制了預處理的程序,用來讀取不同層次的標注內容,并存儲為TXT格式的文件.
人工神經網絡(ANN,Artificial Neural Networks)[7?9]是人工智能學科中對人類智能的信息化描述方法.利用大腦對信息的概括、特征的提取、知識的學習等特點去解決傳統(tǒng)方法所不能解決的問題.
本文利用ANN的特點對維吾爾語音的停頓進行建模.采用含有隱含層的前饋網絡的架構4—N—1(即輸入層有4個節(jié)點,有N個隱層,輸出層有1個節(jié)點),網絡的構成要充分考慮數據的處理與分類,表1顯示出在隱含層不同結構的情況下,對ANN性能的影響.
表1 ANN隱層節(jié)點數目與層數對網絡性能的影響
以輸入層的4個節(jié)點為例,其主要功能就是要接收輸入維度為4的停頓上下文環(huán)境向量,以句子(bvgvn qiraying anqa yahxi amas turidu)為例,對每一個詞間隔處做停頓預判計算,如在qiraying和anqa間存在停頓,為該間隔建立上下文環(huán)境向量如表2,各語法成分的特征取值在表3中給出.經過ANN網絡的計算預判,在輸出層的節(jié)點給出停頓與否的數據,本例中的輸出是0.518即判斷出現停頓.
表2 停頓上下文環(huán)境
表3 詞性分量取值
表4 成分環(huán)境值
本文中的ANN要結合數據準備中的標注數據,以詞性,語法成分作為構建網絡的依據.以名詞詞性的維吾爾語單詞為例,根據維吾爾文語法規(guī)則,可以將其作為句子中的主語、賓語、定語、補語等成分,而且在復合句中也可以作相同的句子成分,在不同的場合下都可能產生停頓現象.要以語料標注為基礎,盡可能讓實驗數據覆蓋全面的情況.ANN的停頓預判過程可以由圖1描述.
圖1 停頓預判過程
對于ANN隱含層的神經元的節(jié)點數目和隱含層的層數的增加雖然會提高計算預判的準確度,但同時也會增加計算的復雜度,需要的迭代次數與計算時間復雜度也將增加.試驗中訓練過程的參數調節(jié)方式采用共軛梯度法,參數優(yōu)化的原理如式(1),求得每一次優(yōu)化的搜索步長λ.
應用共軛梯度法[10]對搜索方向d的確定方式采用傳統(tǒng)的方式,即在達到n次迭代后重新按照初始起點的負梯度方向進行搜索d=??f(x),否則計算方向因子β,修正搜索的方向為d=?f(xj+1)+β×dj.方向因子的確定可以參考(2)式.這樣可以在訓練結果不收斂時重新調整搜索方向,與有著“鋸齒”現象的最速下降法,與對初始節(jié)點選取較為依賴的牛頓法相比,共軛梯度法使得計算向最優(yōu)值收斂速度較快.
需要進一步說明的是停頓在單詞的音節(jié)內部和單詞間都存在的情況,在單詞音節(jié)中的停頓必然會小于單詞間的停頓,兩種停頓的時長經過對單詞的標注分析,計算得到兩種停頓的時長均值分別為0.06s,0.11s.
Fujisaki模型[11]對基頻曲線的刻畫原理是在基頻曲線的基準值Fb之上,再次疊加上音節(jié)調節(jié)命令Gp(t)和短語調節(jié)命令Gt(t),以此實現在局部和全局的范圍內調整基音頻率曲線的走勢,這種方法就好似在合唱時,多個高低音聲部的共同協(xié)作一般,其數學的描述形式如式(3).
式(3)中,I為短語命令數目,J為音節(jié)命令數目,Api為短語命令的幅度,Aaj為音節(jié)命令的幅度,T0i為短語命令的時間,T1j為音節(jié)命令的時間,Gpi,Gaj分別為短語命令、音節(jié)命令的脈沖響應.
本文將Fujisaki模型應用在單詞的音節(jié)層面上,應用于重音位置的準確調節(jié).省略Fujisaki中的短語命令,只應用音節(jié)命令在音節(jié)處調節(jié)重音強弱的增、減,同時為了提高重音調節(jié)的準確度,還要結合維吾爾文的詞法規(guī)則,提出在單詞語義的相關性做計算.本文總結了維吾爾文中常用的“重音異義詞本”,其中包括21個維吾爾文單詞,它們的特點是在重音移位后改變了原來的詞義,甚至是詞性,但是詞型卻不變.為了解決這個問題,在處理重音時首先將單詞與“重音異義詞本”進行查找,“潛在的重音異義詞”與前后詞表示成向量的形式(詞性,成分,詞域),計算重音出現與否兩種不同情況的關聯(lián)性,即計算兩個向量間的夾角余弦值cosφ.當關聯(lián)性接近時,cosφ靠近1,反之則向0靠近.接下來,按照維吾爾文重音規(guī)則在單詞中添加重音,多音節(jié)單詞的重音一般出現在最后一個音節(jié)上,如果單詞加了各種后綴時,重音將隨之后調使得最后一個音節(jié)出現重讀.調整Fujisaki模型如式(4).
Fujisaki模型的參數β值按照重音分布曲線的升降的平均斜率;γ的計算是重音峰值與平穩(wěn)處振幅的比值.應用均方誤差最小化為目標優(yōu)化參數,參數的優(yōu)化過程采用共軛梯度算法,如式(5)、(6)、(7),得到參數A,F.
詞域的設置是根據《中圖分類法》做選取和修改,表5將部分詞域摘取做說明.摘取部分是《中圖分類法》中D類政治中的幾個子項,類作整數位,子項作小數位.如果將詞域劃分得太細化,不易于對計算結果的分類,所以每個類中的子項設20個.
表5 部分詞域分量取值
實驗中錄制了興奮、憤怒、悲傷三種情感特征的語音語料,通過線性預測誤差的倒譜法[12]檢測語音語料的基音頻率.一方面,線性預測方法利用過去若干個采樣值的線性組合來估算下一幀的抽樣值,將實際語音的抽樣值與線性預測抽樣值的均方誤差最小化,來唯一的確定一組線性預測系數.另一方面,倒譜是在語音的頻域中對音頻參數進行估計,這樣的好處是可以進一步采用Mel(梅爾)頻率,基于人的聽覺機理來分析語音的頻譜特征,以此得到精確的語音基頻特性.通過對基音頻率的檢測,可以清楚地觀察到不同情感下,同樣的語句(bvgvn qiraying anqa yahxi amas turidu)其基頻曲線的走勢有著明顯的差異[13,14],如下圖2所示.
圖2 不同情感韻律下的基音頻率曲線
在圖2中可以觀察出悲傷的韻律特征是基音周期的延長、聲音的音調降低,反映在子圖d中所顯示的效果是基因頻率的間斷明顯,整體的基因頻率的值域下調;對于興奮的韻律,可以看出語速的加快,語音的音調域與常態(tài)語音接近,反映在子圖c中所顯示的效果是基音頻率曲線的連貫性增加,并維持音調;憤怒的韻律明顯的特征就是整體的音調的提高、基音頻率曲線的間斷增多,反映在子圖b的效果是基頻曲線的連續(xù)性下降、基頻曲線整體上升.
本文提出基音頻率曲線調節(jié)方法LPCAP(LPC with Adjusting Parameters),對原有的LPC[15](Linear Predict Cepstrum)引入幅度調節(jié)系數A,和基頻調節(jié)系數F,兩者對基音頻率曲線的幅度和連續(xù)性進行調節(jié),LPCAP算法可由圖3描述.實驗中應用LPC方法分別提取100組人工錄制的語音資源的基頻曲線,每組數據含有同一語句的三種情感陳述式語句與無情感陳述式語句.
圖3 LPCAP描述
LPCAP的特點是將可靠的參數提取的過程改進為參數轉換的過程,與Fujisaki在全句范圍上描述基音頻率曲線的方法相比,減少了大量的計算,而且可控制性得到提高.
試驗中采用的維吾爾語語料全部是應用Cool Edit Pro進行錄制,格式選擇為Windows PCM(WAV)格式,單聲道,采樣頻率16000Hz.陳述式情感音頻100組,每組包含同一語句的興奮、悲傷、憤怒、無情感四種表述,共計400句.另外錄制無情感陳述式音頻300句,共計700句人工錄制音頻.實驗語料庫中錄制的語句都是陳述式復合句,詞匯量平均在20個單詞左右,單詞至少含有一個音節(jié),所以可以計算的停頓數據約為11400個,可以計算的重音數據可以達到20000個.其中600個音頻作為訓練數據,另取100個陳述式音頻作為開放式測試數據.在音頻文件中剪切出單音節(jié)單詞,多音節(jié)單詞共計1000個,用于單詞重音實驗.在錄制完成后,應用Cool Edit Pro對音頻進行簡單預處理,剪切掉音頻中過長的前靜音和后靜音部分,這是由于錄制時操作不當引起的冗余.準備的數據還包括整理得到的重音異義詞本,其中包含45個重音較為特殊的常用維吾爾文單詞,和一個參考《中圖分類法》概括的詞域分類本.接下來對音頻文件做標注,首先采用自動標注的方式,但是存在偏差,需要人工調整,共計得到標注文件1100個,標注的效果如下圖4所示,例句:今天你的臉色不好(譯文).
圖4 六層標注效果
3.2.1 ANN停頓預判實驗分析
試驗中對ANN中隱含層節(jié)點數目,隱含層數目兩個方面進行了考慮,選取了不同層次、不同神經元節(jié)點數目對網絡性能的影響做了比較,相關結果如下圖5所示.試驗中根據實驗數據的標注文件,將句中詞間隔的上下文環(huán)境向量作為輸入,經過ANN做出停頓的預判結果,判斷的過程由圖1所描述,結果的準確檢驗依據標注,對50句測試數據的預判準確度可以達到71.2%.
圖5 異構ANN預判準確度
從圖5中可以看到不同ANN隱含層結構得到的測試結果,當隱含層數目確定時,隱含層神經元的數目對ANN的影響體現在y坐標方向;當隱含層神經元數目確定時,隱含層數目對ANN的影響反映在x坐標方向.其中,具有1隱含層,隱含層分布10節(jié)點時,得到了較為理想的準確度.試驗中構建ANN網絡的依據是維吾爾文的詞性與語法成分間的關聯(lián),各種情況下的關聯(lián)度會在一定的訓練數據量下達到收斂,所以節(jié)點數目和隱含層的數目對ANN網絡的性能都產生影響.具體情況按照ANN網絡的架構方式不同,或依據的語法規(guī)則的擴充與縮減對結果都會產生影響.
圖6是對音頻數據經過ANN計算預判后加入停頓調節(jié)效果,實驗中靜音語段使用的是白噪聲余弦信號并用低信噪比的濾波器濾波,頻率取值為采樣頻率.
圖6 語音加入停頓效果
3.2.2 重音調節(jié)實驗分析
試驗中統(tǒng)計1000個維吾爾文單詞的音節(jié)振幅能量,利用praat工具中Intensity命令提取的錄制單詞音頻中的聲音強度曲線,其中C表示輔音,V表示元音,表6描述的曲線作為單詞重音的基礎強弱曲線strb.可以看出重音出現的位置較為固定,一般出現在后端元音音節(jié)中.
表6 音節(jié)的音強分布
Fujisaki模型中的β,λ是調節(jié)全句基頻曲線的常量,當Fujisaki模型應用在單詞音節(jié)層面上的重音強弱走勢曲線時,參數需要調整.計算實驗數據中單詞的重音曲線的升、降平均斜率,和重音與平穩(wěn)的振幅比值,得到表7的數據.
取100個單詞做測試,根據音節(jié)類型確定strb音節(jié)命令調節(jié)個別音節(jié),結合重音異義詞本計算重音異義的關聯(lián)性,最后確定重音發(fā)生位置,調節(jié)結果依據標注文件,重音調節(jié)的準確度可以達到86.7%,加入重音的調節(jié)效果由圖7所示.
表7 Fujisaki描述重音下的參數調整
圖7 語音重音修改效果
3.2.3 基音頻率曲線調節(jié)實驗分析
LPCAC方法中涉及的兩個關鍵參數A(Amplify Adjusting Parameter振幅調節(jié)參數),F(Frequency Adjusting Parameter,頻率調節(jié)參數)的確定是利用曲線均方誤差最小化的方式確定,如公式(5)、(6)、(7),參數的優(yōu)化的方法按照傳統(tǒng)的共軛梯度法,如公式(1)、(2),參數A、F的計算結果見表8.
表8 LPCAP系數調節(jié)值
圖8是對錄制的無情感音頻做三種情感韻律調節(jié)的效果,基音頻率曲線的在A、F的調節(jié)作用下,曲線連續(xù)性,曲線的升、降幅度都有明顯的調節(jié)效果.
對于韻律調節(jié)的效果測試中,邀請沒有參與過本文工作的20位維吾爾族學生作為試聽人員.他們將聽到人工錄制的原始音頻和對人工錄制音頻文件作韻律調節(jié)后生成的三種情感語音,并對聽到的語音作上述三種情感的判斷和效果評判,測試結果如圖9所示,調節(jié)的效果可以得到明顯區(qū)分.
本文應用的錄制語料來源是近年的維吾爾文的新聞文段,并安排發(fā)音準確的維吾爾族錄制人員,雖然語句數量不多,但是語料可以提供大量可計算的重音和停頓數據,可以保證數據的覆蓋率.語音的韻律范疇很廣泛,情感的語音只是作為韻律的特殊或極端地表現形式.本文從維吾爾語音的特征出發(fā)在重音、停頓、基音頻率三個方面來調節(jié)語音韻律,以期語音得以自然,去除“機器味”.本文所做的工作依然存在不足之處,下一階段的工作重點是:
圖8 基音頻率的調節(jié)效果
圖9 情感調節(jié)試聽測評
(1)優(yōu)化ANN的構建,提高停頓的預判準確度;
(2)整理、完善維吾爾文中重音異義的詞本(見表9),以及更多的維文語言獨特語法點,并應用在語音處理領域中;
(3)豐富并完善由《中圖分類法》改制的詞域詞本,以此更好地應用于詞匯關聯(lián)性的計算中;
(4)建立多樣情感的涉及范圍更全面的維吾爾語音語料資源;
(5)本文涉及的語音缺少對疑問式、否定式等語言特點的研究,是需要不斷補充的工作;
(6)維吾爾文的句法、詞法規(guī)則對合成、識別具有啟發(fā)的意義,逐步使得維吾爾語音的韻律控制可以達到自然、流暢、真實的效果.
表9 重音異義詞本