數(shù)字變聲器方案對策_(dá)第1頁
數(shù)字變聲器方案對策_(dá)第2頁
數(shù)字變聲器方案對策_(dá)第3頁
數(shù)字變聲器方案對策_(dá)第4頁
數(shù)字變聲器方案對策_(dá)第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、-. z.基于FFT算法的數(shù)字變聲器201242216北方學(xué)院教學(xué)部 075100【摘要】本數(shù)字變聲器是實(shí)現(xiàn)男聲變女聲和女聲變男聲以及變成童聲的系統(tǒng)。設(shè)計本數(shù)字變聲器的目的是鍛煉自己的學(xué)習(xí)實(shí)踐能力。通過matlab編寫程序修改語音參數(shù)來實(shí)現(xiàn)男聲女聲之間的變換。【關(guān)鍵詞】變音算法數(shù)字濾波器語音信號數(shù)字濾波器頻譜分析 MATLAB1 引言變聲器在現(xiàn)實(shí)生活中應(yīng)用廣泛,變聲器是通過改變輸入音頻的音色、音調(diào),并將變聲后的音頻輸出的工具。根據(jù)變聲器材質(zhì)不同,變聲器分為變聲器硬件和變聲器軟件。變聲器硬件,即通過硬件實(shí)現(xiàn)變聲的工具;變聲器軟件,即通過軟件實(shí)現(xiàn)變聲的工具,軟件類變聲器,運(yùn)行平臺皆為電腦系統(tǒng)。無論

2、是硬件變聲器,還是軟件變聲器,其原理都是,通過改變輸入聲音頻率,進(jìn)而改變聲音的音色、音調(diào),使輸出聲音在感官上與原聲音不同。我們每個人的聲音不同,源于我們的每個人的音色和音調(diào)不同,我們所說的男中音、男高音,就是音調(diào)的不同,而即便音調(diào)一致,我們依然能區(qū)分出兩個不同人的聲音,或不同樂器的聲音,這就是音色的不同。變聲器,正是借助對聲音音色和音調(diào)的雙重復(fù)合改變,實(shí)現(xiàn)輸出聲音的改變。我們這里的變聲器就是matlab來實(shí)現(xiàn)變聲。2 數(shù)字變聲器的原理和算法發(fā)音方法,發(fā)音時,喉頭、口腔、鼻腔節(jié)制氣流的方式和狀態(tài),包括發(fā)音時構(gòu)成阻礙和克服阻礙的方式,氣流強(qiáng)弱的情況及聲帶是否振動等幾個方面。人類語音可分為有380聲

3、語音和無聲語音,前者是由聲帶振動激勵的脈沖信號經(jīng)聲腔調(diào)制變成不同的音,它是人類語言中元音的基礎(chǔ),聲帶振動的頻率稱為基頻。無聲語音則是聲帶保持開啟狀態(tài),禁止振動引發(fā)的。一般來說,由聲門振動決定的基頻跟說話人的性別特征有關(guān),如下表,而無聲語音則沒有體現(xiàn)這個特征。說話人的個性化音色和語音的另外一個聲學(xué)參數(shù)共振峰頻率的分布有關(guān)。兒童由于聲道短,其共振峰頻率高于成年人,成年女性的聲道一般短于成年男性,所以女性的共振峰頻率一般高于男性。本實(shí)驗(yàn)是基于男生錄制的聲音進(jìn)行相關(guān)參數(shù)提取,修改接近于女聲、童聲、老人聲,并實(shí)現(xiàn)了音調(diào)的高低與速度的快慢1.變聲原理在進(jìn)行性別變聲時,主要考慮基音周期、基頻和共振峰頻率的變

4、化?;糁芷诟淖儠r,基頻、共振峰同時變化,若伸展既有男變女、女變童,反之亦可。本實(shí)驗(yàn)是基于男生錄制的聲音進(jìn)行相關(guān)參數(shù)提取,修改接近于女聲,實(shí)現(xiàn)男聲到女聲的變換。音段特征:描述的是語音的音色特征。特征參數(shù)主要包括基音頻率、共振峰位置、共振峰帶寬、基音頻率、能量等。超音段特征:描述的是語音的韻律特征。特征參數(shù)主要包括因素的時長、基音頻率的變化(音調(diào))、能量等語言特征:包括習(xí)慣用語、方言、口音等?;羰侵赴l(fā)濁音時聲帶振動所引起的周期性,而基音周期是指聲帶振動頻率的倒數(shù)。基音周期是語音信號最重要的參數(shù)之一,它描述了語音激勵源的一個重要特征。不同的人以及同一個人在不同的年齡時期有不同的基音周期。人唱歌時

5、,其基音頻率圍大約是:童聲高音頻率圍為 260-880Hz ,低音頻率圍為 196-700Hz ,女聲高音頻率圍為 220-1.1KHz, 低音頻率圍為 200-700Hz ,男聲高音頻率圍為 160-523Hz 低音頻率圍為 80-358Hz 。此外,基音的變化模式稱為聲調(diào),它攜帶著非常重要的具有辨意作用的信息。先就如何實(shí)時地通過基音頻率的變化來實(shí)現(xiàn)語聲變聲,進(jìn)行討論, Matlab實(shí)現(xiàn)算法。男聲基頻分布(hz):50180 共振峰頻率分布:偏低人群女聲基頻分布(hz):160380 共振峰頻率分布:中提取參數(shù)(1 )語音時變傅里葉變換為:在低通濾波時,采用巴特沃斯濾波器。(2)構(gòu)建巴特沃斯

6、低通濾波器根據(jù)人的說話特征設(shè)定相應(yīng)指標(biāo)參數(shù),對本段語音設(shè)計算出巴特沃斯模擬濾波器的階數(shù),截止頻率,歸一化低通原型系統(tǒng)函數(shù)。本段語音設(shè)計算出巴特沃斯模擬濾波器的階數(shù)N為5,3dB截止頻率 QUOTE , QUOTE ,算出 QUOTE 為0.175,歸一化低通原型系統(tǒng)函數(shù)為:其中 QUOTE 將 QUOTE 帶人 QUOTE 中,得到低通濾波器,各種理想數(shù)字濾波器的幅度頻率響應(yīng)流程圖3 數(shù)字變聲器的軟件實(shí)現(xiàn)與仿真結(jié)果代碼部分選擇音頻文件filename,pathname=uigetfile(*.wav,ALL FILES,select voice file);if isequal(filenam

7、e pathname,0,0) return;endstr=pathname filename;temp,Fs=audioread(str);temp1=resample(temp,80,441);handles.y1=temp;handles.y=temp1;handles.Fs=Fs;guidata(hObject,handles);原音播放c=handles.Fs;sound(handles.y1,c);plot(handles.a*es1,handles.y1)title(handles.a*es1,時域圖);ysize=size(handles.y1);y1=fft(handles.

8、y,length(handles.y1);ysize=size(y1);plot(handles.a*es2,abs(y1(1:ysize/2);*label(handles.a*es2,頻率);ylabel(handles.a*es2,幅度);title(handles.a*es2,頻率特性);男聲變女聲FL=80;WL=240;P=10;*1=handles.y;fs=handles.Fs;*1=resample(*1(:,1),8000,fs);fs=8000;*1=*1+0.000001*randn(length(*1),1);*1=*1/ma*(*1);L=length(*1);FN

9、=floor(L/FL)-2;e*c=zeros(L,1);zi_pre=zeros(P,1);*1_rec=zeros(L,1);zi_rec=zeros(P,1);e*c_syn=zeros(L,1);*1_syn=zeros(L,1);last_syn=0;zi_syn=zeros(P,1);e*c_syn_t=zeros(L,1);*1_syn_t=zeros(L,1);last_syn_t=0;zi_syn_t=zeros(P,1);hw=hamming(WL);for n=3:FN*1_w=*1(n*FL-WL+1:n*FL).*hw;A E=lpc(*1_w,P);*1_f=*1

10、(n-1)*FL+1:n*FL);e*c1,zi_pre=filter(A,1,*1_f,zi_pre);e*c(n-1)*FL+1:n*FL)=e*c1;*1_rec1,zi_rec=filter(1,A,e*c1,zi_rec);*1_rec(n-1)*FL+1:n*FL)=*1_rec1;*1_Pitch=e*c(n*FL-222:n*FL);PT=findpitch(*1_Pitch);G=sqrt(E*PT);PT1=floor(PT/2);poles=roots(A);deltaOMG=190*2*pi/8000;for p=1:10if imag(poles(p)0 poles(

11、p)=poles(p)*e*p(j*deltaOMG);elseif imag(poles(p)0 ,poles(p) = poles(p)*e*p(1i*deltaOMG); elseif imag(poles(p)0 ,poles(p) = poles(p)*e*p(-1i*deltaOMG); end end A1=poly(poles); tempn_syn_t = (1:n*FL-last_syn_t); e*c_syn1_t = zeros(length(tempn_syn_t),1); e*c_syn1_t(mod(tempn_syn_t,PT1)=0) = G; %算出脈沖 e

12、*c_syn1_t = e*c_syn1_t(n-1)*FL-last_syn_t+1:n*FL-last_syn_t); s_syn1_t,zi_syn_t = filter(1,A1,e*c_syn1_t,zi_syn_t); e*c_syn_t(n-1)*FL+1:n*FL) = e*c_syn1_t; %計算得到的合成激勵 s_syn_t(n-1)*FL+1:n*FL) = s_syn1_t; %計算得到的合成語音 last_syn_t = last_syn_t+PT1*floor(n*FL-last_syn_t)/PT1); endsound(s_syn_t,Fs);plot(han

13、dles.a*es1,s_syn_t)title (handles.a*es1,時域);ysize=size(s_syn_t);y=fft(s_syn_t,length(s_syn_t);ysize=size(y);plot(handles.a*es2,abs(y);*label(handles.a*es2,頻率);ylabel(handles.a*es2,振幅);title(handles.a*es2,頻域);仿真圖形(1)男原聲播放女原聲播放(2)男聲變女聲(3)女聲變男聲4結(jié)束語經(jīng)過對數(shù)字變聲器的設(shè)計,我收獲很多。自己也感覺到數(shù)字信號處理的應(yīng)用和matlab的強(qiáng)大,同時網(wǎng)絡(luò)是學(xué)習(xí)的重要工具,能在網(wǎng)絡(luò)上獲得好多資料。在這里非常感老師給我的這次機(jī)會,也感老師和同學(xué)們的熱心的幫助。參考文獻(xiàn)1 程佩青.數(shù)字信號處理教程。清華大學(xué),2

溫馨提示

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

最新文檔

評論

0/150

提交評論