%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ZZS - 11.cvičení: Číslicové dozvuky % R.Čmejla, 4.prosince 2017 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% % http://www.voxengo.com/impulses/ ... volně stažitelné impulsní charakteristiky % skript vyžaduje soubory: % scala.wav, tom.wav, koupelna.wav, rytmus.wav, fletna.wav, bici.wav, jaro.wav % jedna.asc %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% % Příklad 1: Konvoluční reverb v MATLABu % Napište funkci konv_reverb.m pro rychlý výpočet % konvoluce pomocí FFT % function [y]=konv_reverb(h,x) % délka výstupního signálu N % nalezení nejmenší mocniny 2 > N --> NFFT % Fourierova transformace h --> H % Fourierova transformace x --> X % násobení ve frekvenční oblasti Y = X . H % představuje konvoluci v časové oblasti % zpětná Fourierova transformace y % omezení délky signálu na N % normování výstupu %% % Příklad 2: Realizace číslicového dozvuku pomocí konvoluce % Suzanne Vega v La Scale a v koupelně % porovnejte s funkcí v MATLABu conv.m (s použitím tic a toc) [x,fs] = wavread('tom.wav'); sig1 = wavread('scala.wav'); sig2 = wavread('koupelna.wav'); %% % Příklad 3: Konvoluční reverb s obrácenou impulsní charakteristikou [x,fs] = wavread('tom.wav'); sig = wavread('scala.wav'); %% % Příklad 4: Konvoluční reverb jako hudební efekt % (rytmická hudba představuje impulsní charakteristiku) [x,fs] = wavread('tom.wav'); sig = wavread('rytmus.wav'); %% x = wavread('fletna.wav'); sig = wavread('bici.wav'); %% % Příklad 5: Hřebenový FIR filtr % Široké špičky propustí jsou rovnoměrně rozprostřeny % na frekvencích určených poměrem fs/N. % Charakter propustí je závislý na znaménku koeficientu g. % a) Analyzujme hřebenový FIR filtr 6.řádu (freqz, impz, zplane) % b) Analyzujme hřebenový FIR filtr 7.řádu (freqz, impz, zplane) %% % Příklad 6: Hřebenový IIR filtr % Úzké špičky propustí jsou opět rovnoměrně rozprostřeny na frekvencích % určených poměrem fs/N. Z důvodů stability musí být g < 1. % Impulsní charakteristika je exponenciálně tlumená, % čehož se využívá pro realizaci echa. % Analyzujme hřebenový IIR filtr 6.řádu (freqz, impz, zplane) %% % Příklad 7: „All-pass“ filtry % FIR a IIR části filtru se navzájem kompenzují. Z toho vyplývá plochá % amplitudová charakteristika (fázová však ne). Impulsní charakteristika % je rovněž exponenciálně tlumená. % „All-pass“ filtry se používají pro vytváření echo efektů % a ke korekcím fázových charakteristik. % Analyzujme „all-pass“ filtr (freqz, impz, zplane) %% % Příklad 8: Zvukové efekty založené na časovém zpoždění % K signálu přičítáme stejný signál, avšak zpožděný a tlumený (jednoduché echo). % % Zpoždění vnímáme jako echo, je-li delší než 50 ms. % % Zpoždění představuje základní konstrukční blok pro řadu dalších % akustickách efektů. Malé zpoždění přináší oživení a rozjasnění zvuku. % Časové zpoždění se realizuje hřebenovými FIR filtry. % Poslechněme si řečový signál na výstupu hřebenového FIR filtru. % Jako parametry zvolme: časové zpoždění 200 ms, tlumící konstanta je 0,7. %% % Příklad 9: Vícenásobné časové zpoždění % Lepší simulací echa je vícenasobné zpoždění. % Realizujme echo efekt pomocí trojnásobného časového zpoždění %% % Příklad 10: Akustické echo % Pro vytvoření mnohonásobných zpoždění se používá hřebenových IIR % a allpass filtrů. % Pomocí hřebenového IIR filtru realizujme následující zvukové efekty: % % Zvukový efekt Zpoždění [s] Filt.koef. % pod mostem 0.400 0.30 % v chrámu 0.250 0.30 % elektronicky vytvářený umělý dozvuk 0.200 0.90 % klasické echo 0.150 0.50 % v podzemní chodbě 0.120 0.70 % v koncertní sini 0.100 0.40 % elektronický efekt 0.085 0.90 % ve sprše 0.0301 0.60 % v malé místnosti 0.010 0.50 % mikrofonní zpětná vazba 0.001 0.97 %% % Příklad 11: Akustické echo % Realizujme echo efekty z předcházejícího příkladu pomocí „all-pass“ filtrů %% % Příklad 12: Schroederovy algoritmy pro modelování dozvuku a ozvěn % Realizujme syntetický dozvuk pomocí prvního Schroederova modelu. % Pro hřebenové filtry (4x paralelní) zvolíme následující časová zpoždění: % 29,7; 37,1; 41;1 a 43,7 ms. % Pro all-pass filtry (2x v kaskádě) zvolíme tato časová zpoždění: % nejprve 96,83 a 32,93 a potom 5,0 a 1,7 ms.