MATLAB變聲器_第1頁(yè)
MATLAB變聲器_第2頁(yè)
MATLAB變聲器_第3頁(yè)
MATLAB變聲器_第4頁(yè)
MATLAB變聲器_第5頁(yè)
已閱讀5頁(yè),還剩7頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、MATLAB變聲器電子工程學(xué)院摘要語(yǔ)音信號(hào)處理中的變聲處理已經(jīng)有了比較成熟的算法,本文闡述了變聲算法的基礎(chǔ)原理,利用數(shù)字濾波器,自相關(guān)法,LPC,LPC系數(shù)求根法等方法在MATLAB上改變語(yǔ)音信號(hào)的基頻和共振峰以實(shí)現(xiàn)變聲,并總結(jié)了現(xiàn)有變聲算法的缺陷,對(duì)用不同的變換域能否改進(jìn)變聲算法做了粗略分析。關(guān)鍵詞:變聲算法,LPC,變換域12目錄研究背景3變聲原理3語(yǔ)音基本概念3變聲原理4變聲過(guò)程5分幀處理5計(jì)算LPC系數(shù)5計(jì)算原始激勵(lì)6計(jì)算基音周期6計(jì)算激勵(lì)能量7合成脈沖序列7更改聲道參數(shù)7合成變聲語(yǔ)音8程序設(shè)計(jì)8傳統(tǒng)變聲算法缺陷9合成激勵(lì)與原始激勵(lì)差別較大9不能實(shí)現(xiàn)定向變聲10實(shí)現(xiàn)定向變聲的猜想11小

2、波域是否存在恒定音色參數(shù)粗略分析11統(tǒng)計(jì)上的變換是否利于尋找恒定音色參數(shù)猜想11下一步研究計(jì)劃12研究背景語(yǔ)音信號(hào)是人們?nèi)粘I钪惺殖R姷男盘?hào),語(yǔ)音也是人與人之間傳遞信息的一種十分重要的方式。隨著智能終端以及互聯(lián)網(wǎng)的普及,語(yǔ)音信號(hào)大量地以數(shù)字形式出現(xiàn),語(yǔ)音信號(hào)處理變得越來(lái)越重要,變聲處理是語(yǔ)音信號(hào)處理的基礎(chǔ)之一,所以在這樣的大背景下,研究變聲算法并改進(jìn)變聲算法是很有意義而且有必要的。另一方面,傳統(tǒng)的變聲算法是對(duì)發(fā)聲過(guò)程的簡(jiǎn)單模擬進(jìn)行語(yǔ)音合成,在模擬過(guò)程中改變參數(shù)以實(shí)現(xiàn)變聲,而傳統(tǒng)的變聲算法存在一些缺陷,若要改進(jìn)變聲算法使其更靈活有效,那么細(xì)致的研究傳統(tǒng)的變聲算法是很有必要的。變聲原理l 語(yǔ)音

3、基本概念1. 聲道:聲道是很多動(dòng)物及人類都有的一個(gè)腔室,從聲源產(chǎn)生的聲音經(jīng)由此處濾出。人的聲道包括聲道則包括喉腔、咽頭、口腔和鼻腔。2. 基音:一般的聲音都是由發(fā)音體發(fā)出的一系列頻率、振幅各不相同的振動(dòng)復(fù)合而成的。這些振動(dòng)中有一個(gè)頻率最低的振動(dòng),由它發(fā)出的音就是基音,其余為泛音。發(fā)音體整體振動(dòng)產(chǎn)生的音,叫做基音,決定音高;發(fā)音體部分振動(dòng)產(chǎn)生的音,叫做泛音,決定音色;基音和泛音結(jié)合一起而形成的音,叫做復(fù)合音,日常我們所聽到的聲音多為復(fù)合音。3.共振峰:共振峰是指在聲音的頻譜中能量相對(duì)集中的一些區(qū)域,共振峰是語(yǔ)音音質(zhì)的決定因素,反映了聲道(共振腔)的物理特征。聲音在經(jīng)過(guò)共振腔時(shí),受到腔體的濾波作用

4、,使得頻域中不同頻率的能量重新分配,一部分因?yàn)楣舱袂坏墓舱褡饔玫玫綇?qiáng)化,另一部分則受到衰減,得到強(qiáng)化的那些頻率在時(shí)頻分析的語(yǔ)圖上表現(xiàn)為濃重的黑色條紋。由于能量分布不均勻,強(qiáng)的部分猶如山峰一般,故而稱之為共振峰。在語(yǔ)音聲學(xué)中,共振峰決定著元音的音質(zhì),在計(jì)算機(jī)音樂(lè)中,共振峰是決定音色和音質(zhì)的重要參數(shù)。4,短時(shí)平穩(wěn)特性:語(yǔ)音信號(hào)是一種隨時(shí)間而變化的信號(hào),主要分為濁音和清音兩大類。濁音的基音周期、清濁音信號(hào)幅度和聲道參數(shù)等都隨時(shí)間而緩緩變化。由于發(fā)生器官的慣性運(yùn)動(dòng),可以認(rèn)為在一小段時(shí)間里(一般為1030ms)語(yǔ)音信號(hào)的頻域特性近似不變,即語(yǔ)音信號(hào)具有短時(shí)平穩(wěn)性。因而處理語(yǔ)音信號(hào)之前要把語(yǔ)音信號(hào)分為一些

5、短段(稱為分析幀),然后再來(lái)進(jìn)行處理。人聲和樂(lè)器聲的產(chǎn)生需要兩個(gè)階段,一個(gè)是發(fā)聲系統(tǒng),如人的聲帶或樂(lè)器的振動(dòng)簧片,另一個(gè)是共鳴系統(tǒng)。樂(lè)器不同的共鳴系統(tǒng)使其在一定頻域中的語(yǔ)音信號(hào)的振幅得以突出,這樣,這些區(qū)域就產(chǎn)生了這個(gè)樂(lè)器所特有的共振峰值,這些共振峰值同共鳴體的大小、形狀的材料密切相關(guān)。由于樂(lè)器的結(jié)構(gòu)是穩(wěn)定的,因此在樂(lè)器發(fā)出的所有音調(diào)中,不論基頻如何,都會(huì)表現(xiàn)出相同的共振峰值,只不過(guò)其顯著性有強(qiáng)有弱罷了。這就可以解釋為什么同一樂(lè)器所發(fā)出的不同音調(diào)具有相同的音質(zhì)。 在語(yǔ)音聲學(xué)中,人聲也同樣受自身生理如鼻孔、咽腔、口腔大小的影響有自身的共振峰區(qū)。人在說(shuō)話的過(guò)程中,正是通過(guò)利用這些共鳴空間的形狀和大

6、小不同的變化(例如改變嘴形),以能改變聲音的共振峰說(shuō)出不同的元音。我們之所以能夠區(qū)分不同的人聲、元音,主要也是依靠它們的共振峰分布的位置。簡(jiǎn)單來(lái)講不同的人說(shuō)同一句話的共振峰不同,同一個(gè)人說(shuō)不通的話共振峰也不同。l 變聲原理 變聲是通過(guò)改變?nèi)寺暤幕纛l率和共振分分布以達(dá)到變聲的目的,其具體過(guò)程是是模擬人聲的發(fā)聲過(guò)程,以脈沖信號(hào)代替聲帶振動(dòng),以FIR濾波器代替聲道,用脈沖信號(hào)通過(guò)FIR濾波器進(jìn)行語(yǔ)音合成。首先對(duì)原始語(yǔ)音信號(hào)進(jìn)行分解,然后得出原始激勵(lì)參數(shù)(基音周期和激勵(lì)能量)和聲道參數(shù)(共振峰分布),用得出的參數(shù)構(gòu)建激勵(lì)和濾波器,再根據(jù)變聲需要更改參數(shù),就可以達(dá)到變聲的目的。過(guò)程如下脈沖序列FIR濾

7、波器原始激勵(lì)參數(shù)聲道參數(shù)原始語(yǔ)音合成變聲語(yǔ)音變聲過(guò)程l 分幀處理 語(yǔ)音信號(hào)具有短時(shí)平穩(wěn)特性,所以在處理之前要進(jìn)行分幀處理,將一段長(zhǎng)的語(yǔ)音信號(hào)分解為1030ms的語(yǔ)音信號(hào)逐段進(jìn)行處理。語(yǔ)音信號(hào)的分幀是采用可移動(dòng)的有限長(zhǎng)度窗口進(jìn)行加權(quán)的方法來(lái)實(shí)現(xiàn)的。一般每秒幀數(shù)約為33100幀,視實(shí)際情況而定。分幀一般要采用交疊分段的方法。如圖所示,這是為了使幀與幀之間平滑過(guò)渡,保持其連續(xù)性。前一幀和后一幀的交疊部分稱為幀移,幀移與幀長(zhǎng)的比值一般取為00.5。幀長(zhǎng)幀長(zhǎng)幀移第k幀第k+1幀在程序中對(duì)語(yǔ)音信號(hào)加Hamming窗處理,方法是用窗序列沿著語(yǔ)音樣點(diǎn)值序列逐幀從左向右移動(dòng)。l 計(jì)算LPC系數(shù)線性預(yù)測(cè)編碼(LP

8、C)是主要用于音頻信號(hào)處理與語(yǔ)音處理中根據(jù)線性預(yù)測(cè)模型的信息用壓縮形式表示數(shù)字語(yǔ)音信號(hào)譜包絡(luò)(en:spectral envelope)的工具。它是最有效的語(yǔ)音分析技術(shù)之一,也是低位速下編碼方法高質(zhì)量語(yǔ)音最有用的方法之一,它能夠提供非常精確的語(yǔ)音參數(shù)預(yù)測(cè)。LPC就是根據(jù)之前的P個(gè)信號(hào)構(gòu)建濾波器,對(duì)之后的信號(hào)進(jìn)行預(yù)測(cè)。MATLAB中就有LPC函數(shù),其形式為: A,E=lpc(s_w,P);其中A是LPC預(yù)測(cè)系數(shù),用來(lái)構(gòu)建濾波器,E是預(yù)測(cè)誤差,在后面會(huì)用來(lái)計(jì)算激勵(lì)能量,s_w是語(yǔ)音信號(hào),P是預(yù)測(cè)階數(shù)。l 計(jì)算原始激勵(lì)用得到的LPC系數(shù)構(gòu)建濾波器,對(duì)語(yǔ)音信號(hào)進(jìn)行逆濾波就可以得到語(yǔ)音信號(hào)的激勵(lì),另外應(yīng)

9、該注意在系數(shù)變化的情況下連續(xù)濾波,需要維持濾波器的狀態(tài)不變,要利用filter函數(shù)的和參數(shù)。程序如下 exc1,zi_pre = filter(A,1,s_f,zi_pre);exc1就是原始激勵(lì),用于計(jì)算基音周期。l 計(jì)算基音周期程序中用自相關(guān)法計(jì)算基音周期。如果s(n)是一個(gè)周期為P的信號(hào),則其自相關(guān)函數(shù)也是周期為P的信號(hào),且在信號(hào)周期的整數(shù)倍處,自相關(guān)函數(shù)取最大值。語(yǔ)音的濁音信號(hào)具有準(zhǔn)周期性,其自相關(guān)函數(shù)在基音周期的整數(shù)倍處取最大值。計(jì)算兩相鄰最大峰值間的距離,就可以估計(jì)出基因周期。其實(shí)現(xiàn)代碼如下function PT=findpitch(s)B,A=butter(5,700/4000)

10、;s=filter(B,A,s);R=zeros(143,1);for k=1:143 R(k)=s(144:223)'*s(144-k:223-k);endR1,T1=max(R(80:143);T1=T1+79;R1=R1/(norm(s(144-T1:223-T1)+1);R2,T2=max(R(40:79);T2=T2+39;R2=R2/(norm(s(144-T2:223-T2)+1);R3,T3=max(R(20:39);T3=T3+19;R3=R3/(norm(s(144-T3:223-T3)+1);Top=T1;Rop=R1;if R2>=0.85*Rop Rop

11、=R2; Top=T2;endif R3>0.85*Rop Rop=R3; Top=T3;endPT=Top;returnl 計(jì)算激勵(lì)能量激勵(lì)能量G用于構(gòu)建脈沖序列時(shí)當(dāng)作脈沖序列的振幅,激勵(lì)能量和線性預(yù)測(cè)誤差E和基音周期PT有關(guān),其公式為 G = sqrt(E*PT);l 合成脈沖序列合成的脈沖序列可根據(jù)變聲的需要更改原始的基音周期PT,如 PT1 =floor(PT/2);而后以PT1為周期,G為振幅構(gòu)建脈沖序列,作為合成語(yǔ)音的激勵(lì)l 更改聲道參數(shù) 利用LPC求根法以更改共振峰分布。具體過(guò)程為,對(duì)由線性預(yù)測(cè)系數(shù)A構(gòu)成的多項(xiàng)式求根,而共振峰頻率F和頻譜寬帶B和這些根有對(duì)應(yīng)關(guān)系。設(shè)為一個(gè)根

12、,則其共軛值也是一個(gè)根,i對(duì)應(yīng)的共振峰頻率F和3dB帶寬B存在以下關(guān)系: 所以 其中T是采樣周期。在程序中,我們只更改共振峰頻率,程序如下poles = roots(A);deltaOMG =100*2*pi/fs;for p=1:10 if imag(poles(p)>0 poles(p) = poles(p)*exp(peak*1j*deltaOMG); %peak是變聲系數(shù) elseif imag(poles(p)<0 poles(p) = poles(p)*exp(-peak*1j*deltaOMG); endendA1=poly(poles);A1是更改過(guò)聲道參數(shù)的線性預(yù)

13、測(cè)系數(shù),用以構(gòu)建濾波器合成變聲語(yǔ)音。l 合成變聲語(yǔ)音 用脈沖序列作為激勵(lì),A1作為濾波器參數(shù),合成變聲語(yǔ)音,s_syn1_t,zi_syn_t = filter(1,A1,exc_syn1_t,zi_syn_t);程序設(shè)計(jì) 利用MATLAB的GUI進(jìn)行程序設(shè)計(jì),結(jié)果如下: 從圖中可看出,經(jīng)過(guò)變聲器處理以后,語(yǔ)音信號(hào)的頻域發(fā)生了很明顯的變化,共振峰發(fā)生明顯的移動(dòng)。從聽覺角度來(lái)說(shuō),變聲效果也比較明顯。傳統(tǒng)變聲算法缺陷傳統(tǒng)的變聲算法形成時(shí)間較早,是對(duì)發(fā)聲系統(tǒng)粗略的模仿實(shí)現(xiàn)語(yǔ)音合成,雖然能實(shí)現(xiàn)明顯的變聲效果,但還存在一些缺陷,這里只針對(duì)研究開發(fā)過(guò)程中發(fā)現(xiàn)的不足來(lái)說(shuō)。l 合成激勵(lì)與原始激勵(lì)差別較大合成激

14、勵(lì)是以原始激勵(lì)的基音周期為周期的脈沖序列,忽視了原始激勵(lì)中的泛音頻率,而語(yǔ)音信號(hào)中泛音頻率也是決定聲音音色的重要因素,所以對(duì)泛音的忽視直接影響了變聲效果。完成變聲器的編程之后,我嘗試用基音周期不變的合成激勵(lì)與原始的聲道參數(shù)進(jìn)行語(yǔ)音合成,對(duì)比合成語(yǔ)音和原始語(yǔ)音,結(jié)果如下可以很明顯地看出合成激勵(lì)和原始激勵(lì)在頻譜上有較大區(qū)別,而從聽覺上而言,雖然能聽出二者音色相似,但用合成激勵(lì)合成的語(yǔ)音中有較多雜音。從這個(gè)簡(jiǎn)單的實(shí)驗(yàn)可以看出,激勵(lì)中的泛音對(duì)語(yǔ)音信號(hào)也有著相當(dāng)重要的作用,當(dāng)激勵(lì)中去除泛音時(shí),對(duì)語(yǔ)音信號(hào)的頻譜分布和聽覺上有著較大影響。所以變聲算法中,只考慮基音來(lái)構(gòu)建合成激勵(lì)是有很大缺陷的。l 不能實(shí)現(xiàn)定

15、向變聲所謂定向變聲,是指把一個(gè)人的聲音定向地變成另一個(gè)人的聲音。每個(gè)人都有自己獨(dú)特的音色,也就意味著每個(gè)人的聲音信號(hào)有獨(dú)特且恒定的參數(shù)存在,一開始我猜想是這個(gè)參數(shù)便是共振峰分布,后來(lái)發(fā)現(xiàn),雖然不同的人說(shuō)相同的話的語(yǔ)音共振峰確實(shí)有明顯的區(qū)別,但是同一個(gè)人說(shuō)不同的話共振峰的區(qū)別也非常大,下圖分別是同一個(gè)人讀“為中華崛起而讀書”和“現(xiàn)在開始錄音”的時(shí)域和頻域圖:可見共振峰分布并不相同,其實(shí)每個(gè)元音的共振峰分布本來(lái)就不一樣,這就意味著,共振峰分布不僅決定了音色,也決定了語(yǔ)音內(nèi)容。而實(shí)際上,僅僅在很短的時(shí)間內(nèi)(1030ms),共振峰的分布才是不變的,這也是語(yǔ)音信號(hào)的出來(lái)都要在短時(shí)內(nèi)進(jìn)行的原因。綜上可見,

16、傳統(tǒng)變聲算法單純從頻域上對(duì)語(yǔ)音進(jìn)行分析處理,是不能夠提取出具有個(gè)人特征的聲色參數(shù)的,所以不能進(jìn)行定向變聲。實(shí)現(xiàn)定向變聲的猜想我們能從語(yǔ)音中分辨出發(fā)聲者,又有古語(yǔ)“未見其人先聞其聲”也證明每個(gè)人確確實(shí)實(shí)有自己獨(dú)特的易于辨識(shí)的恒定的音色參數(shù),如果不能從頻域上找到該參數(shù),或許可以從其他的變換域中找到。l 小波域是否存在恒定音色參數(shù)粗略分析小波變換是一種新型的變換分析方法,它可以通過(guò)變換能夠充分突出問(wèn)題某些方面的特征,能對(duì)時(shí)間(空間)頻率的局部化分析,通過(guò)伸縮平移運(yùn)算對(duì)信號(hào)(函數(shù))逐步進(jìn)行多尺度細(xì)化,最終達(dá)到高頻處時(shí)間細(xì)分,低頻處頻率細(xì)分,能自動(dòng)適應(yīng)時(shí)頻信號(hào)分析的要求,從而可聚焦到信號(hào)的任意細(xì)節(jié),解決了傅立葉變換的困難問(wèn)題,成為繼傅立葉變換以來(lái)在科學(xué)方法上的重大突破。我認(rèn)為小波變換尋找恒定音色參數(shù)的優(yōu)勢(shì)有:1,小波變換可以對(duì)非平穩(wěn)信號(hào)進(jìn)行分析語(yǔ)音信號(hào)是非平穩(wěn)信號(hào),只有在短時(shí)間內(nèi)(1030ms)才具有平穩(wěn)特性,意味著只有在短時(shí)間內(nèi)語(yǔ)音信號(hào)在頻域上才具有恒定的參數(shù),又由觀察可知音色只有在較長(zhǎng)的一段時(shí)間的語(yǔ)音信號(hào)中才能顯現(xiàn)出來(lái)的,而小波變化可以對(duì)非平穩(wěn)信號(hào)進(jìn)行分析,那么語(yǔ)音信號(hào)在小波域上具有恒定參數(shù)的可能性就非常大。2,小波變換中考慮了時(shí)域特性我們可以觀察發(fā)現(xiàn),音色是需要較長(zhǎng)的語(yǔ)音信號(hào)才能顯現(xiàn)出來(lái)的,如果讓兩個(gè)人只發(fā)10ms的聲音(可能的話),那么辨認(rèn)兩者的音色應(yīng)該是不太可

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論