AB3SMS 6. PŘEDNÁŠKA 5. listopadu 5 Hlas a řeč hlasivkový tón, formanty, pěvní formant Formantové syntéy Klattův formantový syntetiér Číslicové IIR filtry vyšších řádu filtry se dvěma póly (filtry s více póly) řaení filtrů Aplikace banka filtrů (reonátorů) filtrační syntéy s časově prom. filtry formantové syntéy (samohlásky, nástroje) potlačení šumů
Hlasové ústrojí Artikulační ústrojí
Vnik hlasivkového tónu
Hlasové ústrojí Akustický model artikulačního ústrojí hlasitost F F, F, F3, F4
Hlasové ústrojí
Hlasové ústrojí Spektrum hlasivkového tónu + spektrum vokálního traktu F F, F, F3, F4 energie parametry hlasu
Generování samohlásek A E I O U Audio demonstrace modifikace harmonického droje tvarováním hlasového ústrojí [San Franciso Exploratorium]
O U A E I
Základní hlasivkový tón ` typ f [H] min f [H] max f [H] muži 5 8 ženy 5 5 35 děti 3 5. Rosah hlasivkového tónu v řeči Změny v rychlosti kmitání hlasivek vnímáme jako měny v ákladní periodě hlasivkového tónu, resp. v ákladní frekvenci f. Základní perioda je ovlivněna vlastnostmi hlasivek (jejich pružností, hmotností a délkou).
Základní hlasivkový tón `. Rosah hlasivkového tónu v řeči
Základní hlasivkový tón samohlaska "a" perioda samohlasky "a" -.3.33.34.35.36.37.38.39.4.4 ---> cas [s] -.35.353.354.355.356.357.358.359.36.36 ---> cas [s] T = /f 8 6 f f f = /T amplitudove spektrum f 3.5 f amplitudove spektrum f f 3 4 f.5 5 5 5 3 35 4 ---> frekvence [H] 5 5 5 3 35 4 ---> frekvence [H]. Vtah ákladní frekvence, ákladní periody a formantových frekvencí vlevo: časový průběh a periodogram pro dlouhý samohláskový úsek vpravo: časový průběh a periodogram pro jednu periodu
---> frekvence [H] ---> frekvence [H] ---> frekvence [H] ---> frekvence [H] Základní hlasivkový tón.5 -.5 slovo "jedna"...3.4.5.6 ---> cas [s] 4 3...3.4.5.6 ---> cas [s] 4 3...3.4.5 ---> cas [s].5 -.5-4 3 5 samohlaska "a".3.33.34.35.36.37.38.39.4.4 ---> cas [s].3.33.34.35.36.37.38.39.4.4 ---> cas [s].3.33.34.35.36.37.38.39.4.4 ---> cas [s].: širokopásmový (horní) a úkopásmový (dolní) spektrogram. Vpravo je obraení pro slovo jedna, vlevo je detail samohlásky a
vystup vystup vystup vystup Základní hlasivkový tón Předpracování signálu a jeho detekce délka okna by měla být alespoň ms normování signálu odstranění stejnosměrné složky často diferenciátor dolní propust s mení frekvencí do 5 H (event. pásmová propust či banka filtrů) pro většení rolišení se někdy provádí interpolace abychom potlačili formantovou strukturu řeči, provádíme spektrální ploštění pomocí růných nelineárních technik.5.5.5.5 -.5 -.5 -.5 - - vstup - - vstup -.5 - vstup - - vstup
Základní hlasivkový tón a jeho detekce a) normování řečového signálu b) umocnění na třetí c) signál, který je menší než prahová úroveň je omeen a výsledný signál je usměrněn samohlaska "a" -.3.33.34.35.36.37.38.39.4 ---> cas [s] 5-5 kubicke nelinearni kresleni.3.33.34.35.36.37.38.39.4 ---> cas [s] 4 centralni omeeni.3.33.34.35.36.37.38.39.4 ---> cas [s]
Základní hlasivkový tón a jeho detekce d) trojúhelníkovým FIR filtr potlačení ostrých špiček e) naleení všech lokálních maxim f) logická filtrace.5.5 "romaani spicek" FIR filtrem.3.33.34.35.36.37.38.39.4.5 ---> cas [s].5 naleeni lokalnich maxim.3.33.34.35.36.37.38.39.4.5 ---> cas [s].5 detekce periody akladniho tonu.3.33.34.35.36.37.38.39.4 ---> cas [s] citlivost na nastavení rohodovacích úrovní a prahů pro daný signál a určitou apl.
Základní hlasivkový tón a jeho detekce Autokorelace nejčastěji používaná metoda detekce ákladní periody Autokorelační funkce udává míru toho, jak jsou jednotlivé úseky signálu mei sebou vájemně korelovány. R(n,m) = (s(k)w(n-k))(s(k+m)w(n-k+m)) k = - Je-li vstupní signál periodický s periodou P, nabývá tato funkce maximálních hodnot pro m =, P, P,.... Předpokládá se, že mikrosegment je dlouhý aspoň dvě periody signálu.
Základní hlasivkový tón a jeho detekce Příklad detekce ákladní periody pomocí algoritmů s dvojí transformací a nelineárním kreslením ve frekvenční oblasti
Základní hlasivkový tón X 3 = sqrt( S ) X = ln S a jeho detekce.5 f X = S 5 x.5 3 4 - - 3 4 4 x.4...5..5..5..5. x 3. 3 4 ---> f [H].5..5. ---> cas [ms] Obray samohlásek (vlevo) a výsledné průběhy po dvojí transformaci a nelineárním kreslení ve frekvenční oblasti (vpravo). První řádek odpovídá autokoleračním metodám, druhý kepstrálním a třetí průběh ískáme po provedení čtvrté odmocniny výkonového spektra
4.odmocnina kepstrum ACF signal Základní hlasivkový tón a jeho detekce Postprocessing.5 -.5..4.6.8..4.6.8..4.6.8..4.6.8 ---> cas [s].: Detekce ákladní frekvence v promluvě jaro už je tady pomocí metod s dvojí transformací a nelineárním kreslením. Plnou čarou je obraen výstup detektorů, čárkovaně je obraen výstup po filtraci pětibodovým mediánovým filtrem.
Určování formantových frekvencí Formanty jsou naývány energeticky výnamné frekvence, které odpovídají reonančním frekvencím hlasového ústrojí.
Určování formantových frekvencí Orientační hodnoty formantů českých samohlásek I E A O U F 3.. 5 48.. 7 7.. 5.. 7 3.. 5 F.. 8 56.... 5 85.. 6.. F3 6.. 35 5.. 3 5.. 3 5.. 3 4.. 9
[db] Porovnání formantových frekvencí v DFT, LPC a kepstrálně vyhlaených odhadech amplitudových spekter pro samohlásku a 5 4 F F DFT DFT F3 DFT F LP F LP F3 LP DFT LP cep 3 F4 DFT F4 LP F cep F cep F4 cep - F3 cep - -3 5 5 5 3 35 4 ---> frekvence [H]
frekvence [H] frekvence [H] 4 X s e s t a l e v i c e v d a l u j i X 35 3 5 5 5..4.6.8..4 cas [s] Formantové frekvence ískané pomocí LPC analýy. řádu (výpočtem kořenů polynomu) pro okno délky 3 ms a překrytí 6 ms 4 X s e s t a l e v i c e v d a l u j i X 35 3 5 5 5..4.6.8..4 cas [s] Formantové frekvence určené vrcholů kepstrálně vyhlaeného frekvenčního spektra (parametry analýy: 3 bodů DFT, 3 kepstrálních koeficientů, Hammingovo okno 3 ms, překrytí 6 ms)
frekvence [H] Trasování formantů pomocí adaptivní banky filtrů 4 X s e s t a l e v i c e v d a l u j i X 35 3 5 5 5..4.6.8..4 cas [s]
Zpěvní hlas Vnik harmonických tónů kmitání hlasivek (ákladní frekvence a prvotní harmonická struktura tónů) vokální trakt (esilování harmonických frekvencí v jeho reonančních oblastech) spektrum harmonických tónů ávisí na velikosti a tvaru reonančních prostor
Zpěvní hlas
Přechod nepěvecké techniky v pěveckou
Akustické měny při operním pěvu - sblížení až propojení 3 původně oddělených reonancí vokálního traktu - vytvoření pěveckého formantového shluku - spojení 3., 4. a 5. formantu - navýšení akustické energie v oblasti kolem 3 kh až o db
Akustické měny při operním pěvu - sblížení až propojení 3 původně oddělených reonancí vokálního traktu - vytvoření pěveckého formantového shluku - spojení 3., 4. a 5. formantu - navýšení akustické energie v oblasti kolem 3 kh až o db
Tvarové rodíly mei jednotlivými druhy pěvu
Tvarové rodíly mei jednotlivými druhy pěvu
Tvarové rodíly mei jednotlivými druhy pěvu
Tvarové rodíly mei jednotlivými druhy pěvu
Tvarové rodíly mei jednotlivými druhy pěvu
Tvarové rodíly mei jednotlivými druhy pěvu
Tvarové rodíly mei jednotlivými druhy pěvu
Akustické měny při operním pěvu Závěry s porovnáním naivního a školeného pěvu ve fonujícím hlasotvorném traktu - sestup hrtanu - přitlačení jayka ke spodině - vednutí měkkého patra - posud brady dolů a vad - vyrovnání páteře
Akustické měny při operním pěvu Závěry s porovnáním naivního a školeného pěvu ve fonujícím hlasotvorném traktu - sestup hrtanu - přitlačení jayka ke spodině - vednutí měkkého patra - posud brady dolů a vad - vyrovnání páteře Školený pěv se liší od naivního pěvu výnamných většením objemu reonančních prostor nad hlasivkami a to všemi směry nahoru a dolů, dopředu a doadu
F (ACF) signal.5 -.5 3 4 5 6 7 8 9 5 4 3 3 4 5 6 7 8 9 ---> cas [s]
Frequency 4 35 3 5 5 5 3 4 5 6 7 8 9 Time
F (ACF) signal.6.4. -. -.4 4 6 8 4 6 8 5 4 3 4 6 8 4 6 8 ---> cas [s]
Frequency 4 35 3 5 5 5 4 6 8 4 6 8 Time
Fundamental Frequency (H) S použitím programu specsynt.m určení formantů všech samohlásek Left-line draw, Right-quit draw F4 F3 F F 4 6 8 Time (ms) clear, close all y = wavread('samohlasky8.wav'); specsynt
Fundamental Frequency (H) Syntéa samohlásek Left-line draw, Right-quit draw F4 F3 F F 4 6 8 Time (ms)
Fundamental Frequency (H) Syntéa samohlásek Left-line draw, Right-quit draw F4 F3 F F 5 Time (ms) clear, close all y = wavread('rosah8.wav'); y = y(:); specsynt
IIR filtr s jedním pólem (pohyb pólu po reálné ose)
IIR filtr s jedním pólem a jednou nulou (pohyb nuly a pólu po reálné ose)
Filtr se dvěma póly - reonátor
Filtr se dvěma póly y pásmová propust IIR [ n] x[ n] a y[ n ] a y[ n ] H( ) j j re re a a f f s a r cos a r
H( ) Filtr se dvěma póly pásmová propust IIR j j j j re re re re r
sin cos sin cos ) ( r j j r r re re re re H j j j j Filtr se dvěma póly pásmová propust IIR
cos sin cos sin cos ) ( r r r j j r r re re re re H j j j j Filtr se dvěma póly pásmová propust IIR
cos sin cos sin cos ) ( a a r r r j j r r re re re re H j j j j Filtr se dvěma póly pásmová propust IIR
cos sin cos sin cos ) ( a a r r r j j r r re re re re H j j j j r a f s f cos r a Filtr se dvěma póly pásmová propust IIR
Filtr se dvěma póly pásmová propust IIR cos sin cos sin cos ) ( a a a a r r r j j r r re re re re H j j j j r a f s f cos r a
8 r,975 Filtr se dvěma póly (tlumené oscilace) r 8,95 8 r,95
Filtr se dvěma póly - reonátor (netlumené oscilace) 8 r,5 8 r,5 8 r,75
Filtr se dvěma póly - reonátor (konstantní koeficient a ) a cos( / 6) a a cos( / 4) a a cos( /3) a
Filtr se dvěma póly - reonátor (konstantní koeficient a ) a cos( / 4) a,8 a cos( / 4) a a cos( / 4) a,
Pohyb pólů (konstantní úhel; růný poloměr)
Pohyb pólů po kružnici (růný úhel; konstantní poloměr)
Pohyb nul IIR filtru (po reálné ose)
IIR s více póly (pohyb vybraných pólů po ose)
IIR s více póly (pohyb vybraných pólů po kružnici)
Imaginary Part Imaginary Part Imaginary Part Imaginary Part Imaginary Part Imaginary Part Imaginary Part Imaginary Part Imaginary Part -rovina reonátorů - - Real Part - - Real Part - - Real Part - - Real Part - - Real Part - - Real Part - - Real Part - - Real Part - - Real Part
Amplitudové charakteristiky reonátorů.5.5.5 5 5 5.5.5.5 5 5 5.5.5.5
Analýa harmonických.5 -.5 5 4-5 5 5 3 35 4 45 5.9.8.7.6.5.4.3 3.5..5..5.3.35.4. Time..8.6.. 3 4 5 6 h h h3 h4 h5 h6 h7 h8 h9.4.
frekvence vitr F Filtrační syntéa větru 5.5 3 4 5 6 7 8 9 -.5 3 4 5 6 7 8 9 4 3 4 5 6 7 8 9 ---> cas [s]
Filtrační syntéa větru clear, fs = 8; % vorkovaci frekvence [H] doba = ; % doba trvani tonu [s] x=*rand(,fs*doba)-; % generovani bileho sumu nt=:/fs:doba-/fs; % casova osa % souradnice ridicich bodu sily vetru X=[.5.3.4.5.65.7.75.8.85.9.95 ]; Y=[...3.5.3.8.5.7.]; Fmin=; Fmax=9; y=(fmax-fmin)*y+fmin; % casovy prubeh interpolovane ridici frekvence fr=interp(x,y,nt/nt(end));
Filtrační syntéa větru % navrh reonatoru B = ; % sirka pasma reonatoru R = -B*pi/fs; % vypocet polomer polu a =-*R*cos(*pi*fr/fs); % vypocet koeficientu b=(-r)*sqrt(r*(r-4*cos(*pi*fr/fs)+)+); % norm.koeficient y=eros(,length(x)); for n=3:length(x) y(n)=b(n)*x(n)-a(n)*y(n-)-(r.^)*y(n-); end
frekvence vitr Filtrační syntéa vln 4 A B fr.5 5 5 5 5-4 6 8 4 6 4 x 4 4 6 8 4 6 8 ---> cas [s]
Filtrační syntéa vln % souradnice ridicich bodu X =[..5.35 ]; % casova osa Y_A=[.8.5.8.]; % amplituda Y_B=[ 3 4 6 4]; % sirka pasma Y_f=[8 8 ]; % reonancni frekvence % casovy prubeh interpolovane ridici amplitudy G=interp(X,Y_A,nT/nT(end)); % casovy prubeh interpolovane sirky pasma B=interp(X,Y_B,nT/nT(end)); % casovy prubeh interpolovane ridici reonancni f fr=interp(x,y_f,nt/nt(end));
Filtrační syntéa vln x=*rand(,fs*doba)-; for n=3:length(x) R(n) = -B(n)*pi/fs; % vypocet polomer polu a(n) =-*R(n)*cos(*pi*fr(n)/fs); % vypocet koeficientu b(n)=(-r(n))*sqrt(r(n)*(r(n)-4*cos(*pi*fr(n)/fs)+)+); % norm.koeficient y(n)=g(n)*(b(n)*x(n)-a(n)*y(n-)-(r(n).^)*y(n-)); end
Filtrační syntéa Aplikace s šumem reonátory a obálkami buben činel
Filtrační syntéa 8 řídící frekvence 6 4 3 4 5 6 7 8 9. déšť.5 -.5 -. 3 4 5 6 7 8 9
Filtrační syntéa hodiny Fr=35; B = 55; Fr=3; B = 75;
Frequency housle Filtrační syntéa -.5.5.5 -...3.4.5.6 5-5.5.5.5.8.6.4. % filtr (model housli) %%%%%%%%%%%%% F = [5, 5, 3, 4]; BW = [3,, 7, 5]; 3 4 5 6 7 Time x 4
Filtrační syntéa klarinet.5 -.5..4.6.8..4.6.8.8.6.4...4.6.8..4.6.8.5 -.5..4.6.8..4.6.8 % navrh reonatoru fr = 9; % reonancni frekvence B = ; % sirka pasma reonatoru
Syntéa strojů vlak letadlo
Syntéa materiálu dřevo kov sklo
Potlačení šumu v řeči bankou filtrů
Potlačení šumu v řeči bankou filtrů
Potlačení šumu v řeči bankou filtrů banka filtrů Dilci normovane propusti.9.8.7.6.5.4.3.. 4 6 8
Potlačení šumu v řeči bankou filtrů pracování signálů v i-tém pásmu
Potlačení šumu v řeči bankou filtrů
Potlačení šumu v řeči bankou filtrů
Potlačení šumu v řeči bankou filtrů
Potlačení šumu v řeči bankou filtrů
Potlačení šumu v řeči bankou filtrů III (generování rušení) %%%%%%%%%%%%%%%%%% GENEROVANI SUMU %%%%%%%%%%%%%%%%%%%% k_noise=.; sig=input(' = sinusove ruseni; = nahodny sum... ') if sig==, noise=k_noise*randn(length(xc),); end; if sig==, % rusivy signal 8H noise=sqrt()*k_noise*sin(*pi*(:length(xc)-)*8/8)'; end; x=xc+noise; 'cinitel odstupu signalu k sumu' snr=*log(sum(xc.^)/sum(noise.^))
Potlačení šumu v řeči bankou filtrů IV (banka filtrů) f_s=8; % vorkovaci frekvence [kh] P=8; % pocet propusti f_r=f_s/(*p)*(:p-); % vypocet reonancnich frekvenci R=.7; % polomer polu b=-*r*cos(*pi*f_r/f_s); % vypocet koeficientu reonatoru for i=:p % normovani charakteristik Ha(:,i)=(freq(,[ b(i) R.^],8)); Ham(i)=max(abs(Ha(:,i))); % vypocet normovacich koef. Han(:,i)=(freq(/Ham(i),[ b(i) R.^],8)); end; plot(abs(han)); axis tight title('dilci normovane propusti') % obraeni ampl. Dilci normovane frekvencnich propusti ch..9.8.7.6.5.4.3.. 4 6 8
Imaginary Part Imaginary Part Imaginary Part Imaginary Part Imaginary Part Imaginary Part Imaginary Part Imaginary Part Potlačení šumu v řeči bankou filtrů (banka filtrů) for k=:p % obraeni impulsnich charakteristik subplot(3,3,k), imp([ ],[ b(k) R.^]) end; % obraeni -roviny for k=:p subplot(3,3,k), plane([ ],[ b(k) R.^]) end;.5. pasmo 4 --> n 4. pasmo.5 4 --> n.5 7. pasmo.5. pasmo 4 --> n 5. pasmo.5 4 --> n 8. pasmo.5 3. pasmo 4 --> n 6. pasmo.5 -.5 4 --> n - - - Real Part - Real Part - - - Real Part - Real Part - - - Real Part - Real Part -.5 4 --> n - 4 --> n - - Real Part - - Real Part
Potlačení šumu v řeči bankou filtrů (stanovení meí v pásmech) %%%%%% FILTRACE A VYPOCET MEZE PRO OREZAVANI %%%%%% k_noise=.; k_int =.8; for i=:p noisef(:,i)=filter(/ham(i),[ b(i) R.^],noise(:)); % filtrace noisefa(:,i)=abs(noisef(:,i)); % usmerneni nff(:,i)=filter(,[ -k_int],noisefa(:,i)); % obalka me(i)=mean(abs(nff(:,i))); end; stem(me) % vypocet mei ve vsech pasmech.4 Mee pro oreavani v jednotlivych pasmech..8.6.4. 3 4 5 6 7 8 ---> poradi pasma
Potlačení šumu v řeči bankou filtrů (filtrace a roklad do pásem) %%%%%%%%%%%%% POTLACENI SUMU BANKOU FILTRU %%%%%%%%%%%%% %%% FILTRACE A ROZKLAD DO PASEM - VYPOCET OBALEK %%%%%%% for i=:p xf(:,i)=filter(/ham(i),[ b(i) R.^],x); % filtrace xfs(:,i)=sign(xf(:,i)+.); % namenko xfa(:,i)=abs(xf(:,i)); % usmerneni xfaf(:,i)=filter(,[ -k_int],xfa(:,i)); % obalka subplot(4,,i), plot(xfaf(:,i)); axis tight xfafe(:,i)=abs(xfaf(:,i)-me(i)); xr(:,i)=xfafe(:,i).*xfs(:,i); subplot(4,,i), plot(xf(5:,i)) subplot(4,,i), plot(xr(5:,i)); axis tight end; xs=sum(xr'); xfs % orinuti xf xfa xfaf xfafe xr
Potlačení šumu v řeči bankou filtrů 4 - -. pasmo 3 4 5 3. pasmo 3 4 5.5 5. pasmo.5.5.5 3 4 5 7. pasmo 3 4 5. pasmo - - -.5 3 4 5 4. pasmo 3 4 5.5 6. pasmo.5 -.5 3 4 5 8. pasmo 3 4 5 5 5. pasmo 3 4 5 6 3. pasmo 4.5.5.5 3 4 5 5. pasmo 3 4 5.5 7. pasmo.5 3 4 5 8 6 4 4.5. pasmo 3 4 5 4. pasmo 3 4 5.5 6. pasmo 3 3 4 5 8. pasmo 3 4 5 -. pasmo 3 4 5 4 3. pasmo - -4 3 4 5 5. pasmo - - 3 4 5 7. pasmo 3 4 5 - -. pasmo 3 4 5 4. pasmo - 3 4 5 6. pasmo 3 4 5 8. pasmo - 3 4 5
Potlačení šumu v řeči bankou filtrů xf xr x xs
Frequency ---> f Frequency ---> f Potlačení šumu v řeči bankou filtrů for i=:3 soundsc(x); pause(), soundsc(xs); pause();end; subplot(); specgram(x); subplot(); specgram(xs);.8.8 Spektrogram puvodniho signalu.6.4. 4 6 8 4 6 8 Time.8.6.4. 5 5 5 ---> n Spektrogram signalu s potlacenym sumem.8.6.4..6.4. 4 6 8 4 6 8 Time 5 5 5 ---> n