魏子怡
(山東省濰坊第一中學(xué),山東 濰坊 261000)
語音識別是為一門新興的交叉性學(xué)科,2011年8月微軟亞洲研究院通過引入DNN以后,語音識別準確率得到大幅提高,進入飛速發(fā)展時期。
語音識別最初發(fā)展時期采用語音模型的方法進行識別,已經(jīng)能夠?qū)崿F(xiàn)初步的說話內(nèi)容識別。例如云知聲、百度(度秘)和蘋果(Siri)等均能實現(xiàn)語音層面的在線人機交互;語種識別與說話人識別技術(shù)也已提出,目前已投入使用。
語音識別領(lǐng)域已顯示出強勁的生命力,其中語音轉(zhuǎn)換技術(shù)仍處于科技前沿,是一項創(chuàng)新性的科研項目,本實驗將因子分解方法應(yīng)用在此領(lǐng)域,可解開語言交流的神秘面紗,使生活發(fā)生翻天覆地的變化。
當下的音頻主要通過錄音軟件,以一定的頻率對模擬信號進行采樣、編碼,將模擬信號通過數(shù)模轉(zhuǎn)換器轉(zhuǎn)換為數(shù)字信號,并進行一定的壓縮后進行存儲,得到音頻的波形圖,而電腦無法對波形圖進行進一步的處理,必須轉(zhuǎn)成向量中的數(shù)值形式的信息才能進一步處理。因此,需要利用Kaldi工具,將波形圖轉(zhuǎn)化為聲譜圖,聲譜圖以熱圖的形式將時間、頻率、聲音強度(數(shù)值用顏色的深淺加以呈現(xiàn))展現(xiàn)到矩陣當中。
神經(jīng)網(wǎng)絡(luò)是利用計算機模擬人腦思考過程對事物進行聚類與分類的一種算法,電腦可以按照事先設(shè)定好的聚類與分類層對所輸入的事物進行分類。 神經(jīng)網(wǎng)絡(luò)中單個節(jié)點的工作原理是將輸入數(shù)據(jù)與權(quán)重之積的和輸入給激活函數(shù),判斷信息是否能在節(jié)點中繼續(xù)運行。
傳統(tǒng)的機器學(xué)習(xí)系統(tǒng)主要使用淺層神經(jīng)網(wǎng)絡(luò)。當一個神經(jīng)網(wǎng)絡(luò)擁有3層以上的系統(tǒng)時,就可成為深度神經(jīng)網(wǎng)絡(luò)。人腦的認知過程是一個深度多層的復(fù)雜過程,每深入一層就多一層抽象,深度神經(jīng)網(wǎng)絡(luò)使計算機能夠更精確地模擬人腦的深度思考過程。
從古到今人們?yōu)榱烁玫厣?,產(chǎn)生了蘊含信息由少到多,表達清晰度由低到高的交流方式,其中口語更加多變——人體發(fā)聲時,因為聲道各部結(jié)構(gòu)不同,導(dǎo)致音色因人而異;氣流通過聲道時也會因摩擦而產(chǎn)生噪聲,胸腔和頭部也會產(chǎn)生共振,對音色產(chǎn)生影響。
聲音無論怎樣千差萬別,總離不開個性音色、表達內(nèi)容和情感3個要素,而因子分解的方法恰好將音頻分解為以上3部分。于是作者立即考慮到,因子分解方法的提出恰恰是為語音轉(zhuǎn)換領(lǐng)域提供了一個全新的思路,若將這一方法應(yīng)用于此,將是語音識別領(lǐng)域的一大可賀突破。
身份識別技術(shù)廣泛地存在于生活中,例如:密碼登錄技術(shù)、中國三代身份證的指紋驗證技術(shù)、DNA檢測技術(shù),以及虹膜識別技術(shù)等。語音蘊含著豐富的身份信息,相應(yīng)的語音識別技術(shù)也迅速崛起,音頻加密方法逐漸被攻破。因此,針對語音識別技術(shù)的保密工作也應(yīng)該得到重視。而通過語音轉(zhuǎn)換可實現(xiàn)說話人身份的更改,從而可以保障重要人員的人身安全。
目前市場上有很多變聲軟件,如騰訊QQ的變聲模塊以及手機魔音變聲,但方法簡單,變聲后的聲音失真,而且要想真正模擬一個人的音色很難實現(xiàn)。若成功實現(xiàn)語音轉(zhuǎn)換,換聲的設(shè)想就能實現(xiàn),其娛樂色彩也就更加濃厚。
以往語音轉(zhuǎn)換的研究主要對音頻信號進行直接處理,例如改變音頻的播放速度,進而改變聲音頻率及波長;或通過改變聲音的相位與共振峰信息以及將音頻的高頻降低、低頻升高來改變音色。隨后發(fā)展出語音模型、頻譜彎曲與單元挑選的方法。但以上方法大都保留了音頻的完整性,未能深一層次地觸及語音的本質(zhì)特點。
本實驗前期主要通過國內(nèi)外期刊論文對關(guān)鍵技術(shù)的研究進展、理論基礎(chǔ)和現(xiàn)實背景進行了解,尋找獨特的研究視角來查找數(shù)據(jù)。最終,本論文借鑒了清華大學(xué)CSLT實驗室發(fā)表的一篇關(guān)于“語音信號關(guān)于因子分解”的文章。
將因子分解方法應(yīng)用于語音轉(zhuǎn)換將帶來一個全新的視角。其透徹直觀地將音頻劃分為三大部分:能表達說話人特征的Peaker部分、傳達交流內(nèi)容的Phone部分、與交流的語境相關(guān)的Emotion部分,只要將語音以以上三部分呈現(xiàn),便可隨心所欲地轉(zhuǎn)換。如將說話人1的Speaker部分替換為說話人2的Speaker部分。
因子分解不僅可以實現(xiàn)身份的轉(zhuǎn)換,還可以進一步實現(xiàn)先前未曾有的內(nèi)容轉(zhuǎn)換、情感轉(zhuǎn)換,其在語音轉(zhuǎn)換領(lǐng)域的應(yīng)用是一個里程碑式的創(chuàng)新。
4.1.1 傅里葉變換(Fourier Transform簡稱FT)
當?shù)玫揭粋€波形圖的函數(shù)表達式X(t)時,可通過傅里葉變換:
將頻域的頻譜圖的函數(shù)表達式X(f)表示成X(t)的積分的形式,從而得到頻譜圖。
若將頻譜圖函數(shù)表達式轉(zhuǎn)化回波形圖函數(shù)表達式,則需要用到傅里葉變換逆變換(Inverse Fourier Transform簡稱IFT):
4.1.2 短時傅里葉變換(STFT)
通過傅里葉變換得到的頻譜圖不具有時間軸,無法反映出音頻隨時間的變化,所以無法分析語音。欲得到音頻的變化與時間的關(guān)系,則需要使用短時傅里葉變換。
首先規(guī)定矩形窗口函數(shù)ω(t),ω(-t)=ω(t),在波形圖函數(shù)表達式上截取音頻,窗口函數(shù)可移動截取,移動后的窗口函數(shù)記為ω(t-τ),得到采樣信號x′(t,τ)=x(t)ω(t-τ).再對采樣信號進行傅里葉變換,得到此段波形圖函數(shù)表達式的頻譜圖。像這般對整個波形圖函數(shù)表達式進行小時段的分割,繼而進行傅里葉變換,成為短時傅里葉變換(圖1)。
隨后將采樣信號函數(shù)表達成積分形式
由于t與τ同樣可以表示出音頻隨時間的變化,于是將X(f,τ)中的τ替換為t,X(f,t)為時頻圖的函數(shù)表達式
再利用短時傅里葉變換逆變換
可將時頻圖函數(shù)表達式轉(zhuǎn)換為波形圖函數(shù)表達式。
4.1.3 深度神經(jīng)網(wǎng)絡(luò)因子分解
利用Kaldi工具將波形圖轉(zhuǎn)化為聲譜圖后,需要利用深度神經(jīng)網(wǎng)絡(luò)進行因子分解。
深度神經(jīng)網(wǎng)絡(luò)進行因子分解時,識別出的Phone譜作為下一層的輸入信息,分離出的Speaker譜再與Phone譜一同作為輸入信息輸入,分理出Emotion譜。此圖中的ASR,SRE,AER分別是系統(tǒng)的簡化形式,ASR(automatic speech recognition)代表自動說話人識別系統(tǒng),SRE(speaker recognition)代表說話人識別系統(tǒng),AER(automatic emotion recognition)代表自動情感識別系統(tǒng)。
將分離的3個聲譜圖重新組合(圖2),利用公式In(x)=In{f(q)}+In{g(s)}+In{h(e)}+e,將三個譜相加得到新的譜,即可得到一個恢復(fù)的聲譜圖。
圖1 短時傅里葉變換(右下角為時頻圖)
圖2 深度神經(jīng)網(wǎng)絡(luò)分離Phone、Speaker、Emotion譜
利用Kaldi工具將音頻文件轉(zhuǎn)換為聲譜圖,再利用深度神經(jīng)網(wǎng)絡(luò)將其分離為Speaker譜、Phone譜和Emotion譜。
然后利用Python代碼提取語音信號的幅度譜和相位譜,在Python讀取Speaker1,Phone2 和Emotion2的數(shù)據(jù),分別存檔于矩陣ss1,ss2和ss3,分別標記為metrix_speaker,metrix_phone和metrix_emotion,并將其和標記為metrix,即metrix=ss1+ss2+ss3,最后將其轉(zhuǎn)換為音頻文件。
本實驗探究了基于因子分解的語音轉(zhuǎn)換實驗。利用深度神經(jīng)網(wǎng)絡(luò)分離出3個聲譜圖時,由于提取特征時丟掉了一些無關(guān)特征,這樣影響到還原的音頻有一定的雜音,其中的權(quán)值參數(shù)或許仍需進一步進行調(diào)整,但本次試驗的整體效果比較理想,創(chuàng)新性地將新方法應(yīng)用到了語音轉(zhuǎn)換領(lǐng)域。
除此之外,本實驗將3個譜重組時,Speaker譜與Phone譜有一定的粘連關(guān)系,特征與說話人1還是說話人2有關(guān)主要與Phone譜來自說話人1還是2有關(guān),為解決該問題,接下來需要再多做幾組實驗,調(diào)節(jié)其中的一些參數(shù),進而達到一個完美的效果。
作為因子分解方法的創(chuàng)新性應(yīng)用實驗,本實驗結(jié)果非??捎^。雖然仍有需要改進之處,但是本實驗走出了語音識別領(lǐng)域的突破性的一步,結(jié)果的優(yōu)化目前來看只是時間問題。接下來需要做的是通過深度學(xué)習(xí)繼續(xù)調(diào)整實驗中的參數(shù),重復(fù)幾組不同的實驗:如相同性別的說話人、情緒相近的說話人等,挑戰(zhàn)細微差別下的語音轉(zhuǎn)換。