36
A 2 B31 SMS 1 0 . PŘEDNÁŠKA 4. prosince 2017 Číslicové audio efekty – Hřebenové filtry – Fázovací filtry Dozvuky – Konvoluční reverb – Schroederův algoritmus modelování dozvuku

A2B31SMS 10. PŘEDNÁŠKA

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: A2B31SMS 10. PŘEDNÁŠKA

A2B31SMS – 10. PŘEDNÁŠKA4. prosince 2017

Číslicové audio efekty

• – Hřebenové filtry

• – Fázovací filtry

Dozvuky

• – Konvoluční reverb

• – Schroederův algoritmus modelování dozvuku

Page 2: A2B31SMS 10. PŘEDNÁŠKA

Číslicové audio efekty

www.cs.cf.ac.uk/Dave/CM0268/PDF/10_CM0268_Audio_FX.pdf

http://users.cs.cf.ac.uk/Dave.Marshall/CM0268/Lecture_Examples/

http://www.music.mcgill.ca/~ich/classes/dafx_book.pdf

http://www.dafx.de/

Page 3: A2B31SMS 10. PŘEDNÁŠKA

Číslicové audio efekty

• Filtrace

- DP, HP, ekvalizace

• Časově proměnné filtry

- flanger, chorus, phaser

• Modulátory

- kruhová modulace, tremolo (AM), vibráto (FM)

• Nelineární zpracování

- komprese, expanze, limitace, zkreslení

• Efekty založené na časovém zpoždění

- echo, reverb

Page 4: A2B31SMS 10. PŘEDNÁŠKA

Hřebenový FIR filtr

D

DD

z

gzzgzH

1)(

][][][ Dnxgnxny

0 0.5 1-20

-15

-10

-5

0

5

---> w

--->

|H

(exp(j*w

))|

Hrebenovy FIR filtr 6.radu

+g

-g

0 10 20 30 400

0.2

0.4

0.6

0.8

1

Impuls

ch.

---> n (vzorky)

-1 -0.5 0 0.5 1

-1

-0.5

0

0.5

1

---> Re

--->

Im 6

0 0.5 1-20

-15

-10

-5

0

5

---> w--

-> |H

(exp(j*w

))|

Hrebenovy FIR filtr 7.radu

+g

-g

0 10 20 30 400

0.2

0.4

0.6

0.8

1

Impuls

ch.

---> n (vzorky)

-1 -0.5 0 0.5 1

-1

-0.5

0

0.5

1

---> Re

--->

Im 7

Page 5: A2B31SMS 10. PŘEDNÁŠKA

FIR filtr se dvěma nulami

Page 6: A2B31SMS 10. PŘEDNÁŠKA

FIR filtr se třemi nulami

Page 7: A2B31SMS 10. PŘEDNÁŠKA

FIR filtry(klouzavý průměr a hřebenový filtr)

Page 8: A2B31SMS 10. PŘEDNÁŠKA

FIR filtry

Page 9: A2B31SMS 10. PŘEDNÁŠKA

Hřebenový IIR filtr

gz

z

zgzH

D

D

D

1

1)(

0 0.5 1

-5

0

5

10

15

20

--->

--->

|H

(exp(j*

))|

Hrebenovy IIR filtr 6.radu

0 50 100 150 2000

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

---> n (vzorky)

Impuls

ch.

-1 -0.5 0 0.5 1

-1.5

-1

-0.5

0

0.5

1

1.5

6

---> Re

--->

Im

+g

-g

][][][ Dnygnxny

Page 10: A2B31SMS 10. PŘEDNÁŠKA

Číslicový fázovací filtr

gz

gzg

gz

gz

zg

zgzH

D

D

D

D

D

D

/11

1)(

0 50 100 150 200

-0.3

-0.2

-0.1

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

---> n (vzorky)

Impuls

ch.

-1 -0.5 0 0.5 1

-1.5

-1

-0.5

0

0.5

1

1.5

---> Re

--->

Im0 0.5 1

-5

0

5

--->

--->

|H

(exp(j*

))|

allpass

0 0.5 1

-2

0

2

--->

--->

arg

(H(e

xp(j*

)))

][][][][ DnxnxgDnygny

Page 11: A2B31SMS 10. PŘEDNÁŠKA

Karplusův – Strongův alg.

0 0.5 1 1.5 2 2.5 3 3.5 4-4

-2

0

2

4

cas [s]

am

plit

uda

Time

Fre

quency

0 0.5 1 1.5 2 2.5 3 3.50

0.5

1

1.5

2

x 104

Page 12: A2B31SMS 10. PŘEDNÁŠKA

Karplusův – Strongův alg.

kytara

harfa

mandolína

klavír

bicí

Page 13: A2B31SMS 10. PŘEDNÁŠKA

Karplusův – Strongův alg.fs = 44.1e3; % [Hz]

doba= 4; % [s]

z = [ ];

g = 0.5;

f0 = [82.4 110 146.8 196 246.9 329.6]; % [Hz]

for k=1:length(f0)

x=zeros(1,doba*fs); % generovani budiciho signalu

D=round(fs/f0(k)) % modelujiciho drnknuti

x(1:D)=randn(1,D); % buzeni explozi bileho sumu

a=[1 zeros(1,D-1) -g -g]; b=[1];

y=filter(b,a,x);

z=[z y];

end;

Page 14: A2B31SMS 10. PŘEDNÁŠKA

Dozvuky

- přímá konvoluce audio signálu a zaznamenané

impulsní charakteristiky prostoru

klady: efektivní realizace dozvuku

zápory: nelze nastavovat parametry

výpočetně náročné

Page 15: A2B31SMS 10. PŘEDNÁŠKA

Dozvuky

- přímá konvoluce audio signálu a zaznamenané

impulsní charakteristiky prostoru

klady: efektivní realizace dozvuku

zápory: nelze nastavovat parametry

výpočetně náročné

- systémy složené ze zpožďovacích členů a z filtrů

klady: velmi snadná změna parametrů

simulace velkého rozsahu efektů

(umělý/realistický)

zápory: obtížnější nastavení reality

Page 16: A2B31SMS 10. PŘEDNÁŠKA

Konvoluce• Konvoluční reverb

Známe-li impulsní charakteristiku místnosti, pak dozvuk lze

snadno vytvořit konvolucí impulsní charakteristiky a

vstupního signálu

Page 17: A2B31SMS 10. PŘEDNÁŠKA

Konvoluce• Konvoluční reverb

Známe-li impulsní charakteristiku místnosti, pak dozvuk lze

snadno vytvořit konvolucí impulsní charakteristiky a

vstupního signálu

- použití filtrů omezuje délka impulsní charakteristiky

(několik stovek vzorků)

- konvoluce se však snadno implementuje pomocí FFT

- konvoluci dvou signálů v časové oblasti odpovídá

násobení jejich Fourierových obrazů

- Existují komerční konvoluční reverby (Altiverb)

+ řada syntezátorů má efekt konvoluční reverb

(používá se imp.char. místností i nástrojů)

• Volně stažitelné impulsní charakteristiky

http://www.voxengo.com/impulses/

Page 18: A2B31SMS 10. PŘEDNÁŠKA

Konvoluční reverb v MATLABu

function [y]=konv_reverb(h,x)

N = length(x)+length(h)-1; % délka výstupního signálu

NFFT = 2.^nextpow2(N); % nalezení nejmenší

% mocniny 2 > N

H=fft(h,NFFT); % Fourierova transformace h

X=fft(x,NFFT); % Fourierova transformace x

Y=X.*H; % násobení ve frekvenční oblasti

% představuje konvoluci v časové

% oblasti

y=real(ifft(Y)); % zpětná Fourierova transform

y=y(1:N);

y=y/max(abs(y)); % normování výstupu

Page 19: A2B31SMS 10. PŘEDNÁŠKA

Audio efekty založené na časovém

zpoždění (dozvuky a echa)

0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5

x 104

-0.2

0

0.2

original

0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5

x 104

-0.2

0

0.2

jednoduche echo

• 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

• Malé zpoždění přináší oživení a rozjasnění zvuku

• Rychlost zvukové vlny je 350 m/s (331,4 + 0,6 T)

1000 2000 3000 4000 5000 6000 7000 8000

-2000

-1000

0

1000

2000

original

1000 2000 3000 4000 5000 6000 7000 8000

-2000

-1000

0

1000

2000

3-nasobne echo

Page 20: A2B31SMS 10. PŘEDNÁŠKA

• Dozvuk 0,5 sekundy =>

zvuková vlna urazí 175

metrů

– Např. v koupelně o 3m

by se vlna odrazila

58x (pak by byla vlna

více či méně

absorbována)

Audio efekty založené na časovém zpoždění (dozvuky a echa)

Page 21: A2B31SMS 10. PŘEDNÁŠKA

• Přímá vlna (bez odrazů)

– přímá cesta k posluchači

• První odrazy

– Odražené vlny příchází 0,01-0,1 s po přímé vlně

Audio efekty založené na časovém zpoždění (dozvuky a echa)

Page 22: A2B31SMS 10. PŘEDNÁŠKA

Audio efekty založené na časovém zpoždění (dozvuky a echa)

Page 23: A2B31SMS 10. PŘEDNÁŠKA

• Dozvuk

– obsahuje tisíce pozdějších odrazů

Odrazy impulsního signálu (exponenciální tlumení)

Audio efekty založené na časovém zpoždění (dozvuky a echa)

• Stand.doba dozvuku

-pokles o 60 dB

• Typický koncertní sál má

dozvuk 1.5 - 3 sekundy

• Chrám sv. Víta až 8 s

Page 24: A2B31SMS 10. PŘEDNÁŠKA
Page 25: A2B31SMS 10. PŘEDNÁŠKA
Page 26: A2B31SMS 10. PŘEDNÁŠKA
Page 27: A2B31SMS 10. PŘEDNÁŠKA
Page 28: A2B31SMS 10. PŘEDNÁŠKA
Page 29: A2B31SMS 10. PŘEDNÁŠKA
Page 30: A2B31SMS 10. PŘEDNÁŠKA
Page 31: A2B31SMS 10. PŘEDNÁŠKA
Page 32: A2B31SMS 10. PŘEDNÁŠKA
Page 33: A2B31SMS 10. PŘEDNÁŠKA

Audio efekty založené na časovém

zpoždění (dozvuky a echa) , př.36

Zvukový efektZpoždění

v sekundách

Filtrační

koeficient

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,030 0,60

v malé místnosti 0,010 0,50

mikrofonní zpětná vazba 0,001 0,97

Page 34: A2B31SMS 10. PŘEDNÁŠKA

Schroedrův algoritmus

modelování dozvuku

• HF - hřebenové filtry: určují délku ozvěny

(délka zpoždění je 10 až 50 ms; zapojují se paralelně)

• AF - all-pass filtry: „zahuštují a rozprostírají“ ozvěny

(délka zpoždění je do 5 ms; zapojují se do kaskády)

• Realističtější modelování dozvuku

• Pracné nastavení parametrů modelu

Page 35: A2B31SMS 10. PŘEDNÁŠKA

Audio efekty založené na časovém

zpoždění (dozvuky a echa), př.36

E = [0.400 0.30

0.250 0.30

0.200 0.90

0.150 0.50

0.120 0.70

0.100 0.40

0.085 0.90

0.030 0.60

0.010 0.50

0.001 0.97];

for k=1:length(E)

zpozdeni = E(k,1);

g = E(k,2);

D = round(zpozdeni*f_s); % [vzorky]

a = [1 zeros(1,D-1) -g];

y = filter(1,a,x);

soundsc( y',f_s)

pause(3)

end;

Page 36: A2B31SMS 10. PŘEDNÁŠKA

Audio efekty založené na časovém

zpoždění (dozvuky a echa)E = [0.400 0.30

0.250 0.30

0.200 0.90

0.150 0.50

0.120 0.70

0.100 0.40

0.085 0.90

0.030 0.60

0.010 0.50

0.001 0.97];

for k=1:length(E)

zpozdeni = E(k,1);

g = E(k,2);

D = round(zpozdeni*f_s); % [vzorky]

a = [1 zeros(1,D-1) -g];

y = filter(1,a,x);

soundsc(y',f_s)

pause(3)

end;