– 33 – Efecte audio digitale bazate pe linii de [626217]
– 33 – Efecte audio digitale bazate pe linii de
întârziere
3.3 Efecte audio folosind lin ii de întârziere cu structur ă
nerecursiv ă (FIR)
3.3.1 Ecoul simplu ( Simple delay )
Cea mai simpl ă aplicație a liniilor de întârziere este ecoul. În natur ă, ecoul
apare atunci când o reflexie puternic ă a unui sunet generat este perceput ă după un
interval de timp de la pr oducerea acestuia. Deci ecoul es te o repetare a unui sunet.
Pentru ca aceast ă repetare s ă fie perceput ă separat, trebuie ca acest timp s ă depășească
valoarea de 70ms. Dac ă se dorește imitarea unui fenomen natural, reflexia trebuie s ă
aibă o amplitudine mai mic ă decât semnalul direct care a fost reflectat (aceasta
datorită absorbției la propagarea prin aer și la ciocnirea de perete (figura 3.8).
Configura ția care poate realiza aces t lucru este prezentat ă în figura 3.9 .
Timpul de întârziere înglobeaz ă timpul de
propagare de la surs ă până la perete și de la perete
înapoi.
Figura 3.8 Ecoul simplu – apari ție
Z-dX(n)
Y(n)dry
wet
Figura 3.9 Ecoul simplu – implementare digital ă
După cum se observ ă, este necesar ă o linie de întârziere d constant ă
(presupunem c ă sursa nu î și schimbă poziția și că recepția se face tot la surs ă), două
multiplicări și o adunare. Coeficien ții multiplicativi pondereaz ă : dry – semnalul
Efecte audio digitale bazate pe linii de întârziere
– 34 – direct, wet – semnalul reflectat, valorile lor f iind incluse în intervalul (0;1). Ecua ția
sistemului din figur ă este:
) ( )( )( dnx wet nx dryny −⋅+⋅= (3.1)
Răspunsul la impuls și răspunsul în frecven țe normate pentru d=100 , dry=1 ,
wet=0.5 sunt prezentate în figura 3.10:
Figura 3.10 R ăspunsuri timp, frecven ță normată pentru parametrii d=100 ,
dry=1 , wet=0.5
După cum se observ ă, însumarea semnalului direct cu semnalul întârziat
determină apariția unor minime și maxime spectrale, deci introduce o colorare
spectrală dependent ă de timpul de întârziere. Dac ă evaluăm caracteristica de transfer a
circuitului ob ținem:
dZ wet dryzXzYzH−⋅+==)()()( (3.2)
Forma analitic ă a spectrului relativ la frecven ța normată are modulul:
) cos( 2 )(2 2dw dry wet dry wet eHjw⋅⋅⋅++= (3.3)
Maximele vizibile în figura 3.10 se vor ob ține când cos(w*d) = 1 iar minimele
când cos(w*d) = -1 . Apar deci rezonan țe ale modulului condi ționate de timpul de
întârziere și de frecven ța de eșantionare. În virgul ă fixă, aceste rezonan țe pot duce la
depășiri ale formatelor de reprezentare, deci schema de mai sus va trebui completat ă
cu o scalare cu inversul valorii maxime a modulului:
) /(1 )(/1
maxdry wet eH sjw+= = (3.4)
Efecte audio digitale bazate pe linii de întârziere
– 35 –
Noua configura ție este prezentat ă în figura 3.11.
Z-dX(n)
Y(n)dry
wets
Figura 3.11 Configura ție cu scalare pentru a preveni dep ășirile
Să luăm acum în considera ție cazul în care se va sc ădea semnalul întârziat din
cel direct:
) ( )( )( dnx wet nx dryny −⋅−⋅= (3.5)
Acesta va avea comportarea în frecven ță:
) cos( 2 )(2 2dw dry wet dry wet eHjw⋅⋅⋅−+= (3.6)
Maximele se ob țin pentru cos(w⋅d) = -1 iar minimele pentru cos(w⋅d) = 1
exact invers ca la configura ția anterioar ă. Efectele în frecven ță ale celor dou ă
configura ții sunt puse în eviden ță de figura 3.12 ( curba continu ă corespunde sum ării
celor două semnale iar cea punctat ă cazului sc ăderii celor dou ă semnale).
Pi/d 2Pi/d 3Pi/d 4Pi/dw normatdry+wet
dry-wet
Figura 3.12 Caracteristici de frecven ță pentru cele dou ă configura ții
Efecte audio digitale bazate pe linii de întârziere
– 36 – Se observ ă că, dacă d este mare, percep ția minimelor și maximelor este
minimă (spectrul se strânge) deci schi mbarea de semn nu este relevant ă. Dacă însă
timpul de întârziere devine mic, maximele și minimele înlocuiesc un banc de filtre cu
efecte deosebite asupra sunetului perceput.
Variația celor trei parametrii duce la alte tipuri de efecte care folosesc aceea și
configura ție:
– Slapback – semnalul întârziat este mai mare în amplitudine ca semnalul
direct; aceasta d ă impresia unui timp de cre ștere ( atack ) lent în amplitudine
echivalent cu redarea invers ă a frazei muzicale (vorbind în termeni de
variație a amplitudinii). Efectul a fost implementat în programul
slapbck.dsp care conține cod identic cu simdel.dsp cu diferen ța dry=0.5 ,
wet=1 , d=62ms la o frecven ță de eșantionare de 44100Hz.
– Comb filter – filtrul pieptene cu adunare sau cu sc ădere la ie șire a
semnalului întârziat; se folose ște pentru timpi de întârziere mici (max.
50ms) pentru ca efectul s ă fie pregnant. Efectul a fost implementat în
variantă pozitivă în comb1.dsp iar parametrii sunt: dry=0.5 , wet=0.5 ,
d=20ms . Varianta negativ ă
este implementat ă în comb2.dsp cu parametrii:
dry=0.5 , wet=0.5 , d=40ms .
– Pseudostereo – avem un semnal mono recep ționat pe canalul stânga;
pentru al transforma în stereo, cea mai bun ă cale este de a întârzia
semnalul cu un timp ti mai mic de 50ms și de a-l trimite pe canalul dreapta
în timp ce semnalul direct va ie și tot pe stânga (figura 3.13).
Z-dX(n)
YL(n)dry
wetYR(n)
Figura 3.13
3.3.2 Efectul de dublare a vocii procesate ( Chorus )
Să presupunem c ă am dori s ă procesăm o voce uman ă sau o voce de
instrument astfel încât s ă dăm impresia a dou ă voci diferite, cântând la unison. O
simplă întârziere a instrumentului și o sumare cu vocea direct ă nu este suficient ă. În
realitate, când doi instrumenti ști cântă la unison, întârzierea în redarea partiturii
variază, fiecare are propria interpretare, iar cele dou ă instrumente nu au timbre diferite
deși sunt identice.
Ideea de a construi un dis pozitiv electronic care s ă simuleze acest fenomen a
apărut încă din ani 80 și s-a materializat prin implementare cu BBD-uri, multe firme
de la ora actual ă păstrând acest tip de implementare (deoarece este o implementare
ieftină, nu se cer timpi de întârziere mari și performan țele sunt satisf ăcătoare).
Simularea întârzierii relative dintre cele dou ă voci se realizeaz ă cu ajutorul
unei linii de întârziere cu timp variabil. Timpul de întârziere poate varia dup ă o
anumită lege (sinusoidal, drept unghiular, triunghiular, ramp ă, aleator uniform) iar
frecvența de modula ție trebuie s ă fie infrasonor ă (practic se fo losesc frecven țe pân
ă în
Efecte audio digitale bazate pe linii de întârziere
– 37 – 20Hz). O configura ție de acest gen, preluat ă din echivalentul analogic, poate fi
implementat ă digital cu un oscilator de foarte joas ă frecvență (LFO – Low Frequency
Oscillator este termenul consacrat în electronica muzical ă) și o linie de întârziere
(figura 3.14).
Structura este în linii mari identic ă cu cea folosit ă la ecoul simplu (sec țiunea
3.3.1) cu deosebirea c ă timpul de întârziere este variabil dup ă o lege:
)( )( nf amount delaynd ⋅+= (3.7)
unde f(n) este o func ție cu varia ție pe intervalul (-1,+1), delay este timpul
mediu de întârziere iar amount dă gradul de modula ție;
Condițiile de alegere ale constantelor delay și amount au fost discutate în
secțiunea 3.2. Preluând rezultatele:
D amount delay nd <+=))( max( (3.8)
0 ))( min( >−= amount delay nd (3.9)
unde D este lungimea maxim ă a liniei de întârziere.
Z-d(n)X(n)
Y(n)dry
wets
LFO
dela yamountd(n)
Figura 3.14 Configura ția necesar ă pentru realizarea efectului Chorus
Dacă avem în vedere implementar ea pe un procesor în virgul ă fixă,
considerând cele discutate pr ivitor la scalare în sec țiunea 3.3.1 introducem constanta s
de scalare la intrar ea circuitului pentru a nu se produce dep ășiri la ieșire:
) /(1 )(/1
maxdry wet eH sjw+= = (3.10)
Să analizăm acum implica țiile spectrale pe care le are varia ția timpului de
întârziere. Caracteristica de frecven ță este aceea și ca în cazul ecoului simplu îns ă
timpul de întârziere este o func ție de timp d(n) (formula 3.16) . Cum distribu ția de
minime și maxime era o func ție de timpul de întârziere d, acum distribu ția va fi o
Efecte audio digitale bazate pe linii de întârziere
– 38 –
funcție variabil ă în timp. La cre șterea lui d caracteristica cu minime și maxime se
“strânge” iar când d scade caracteristica se “l ărgește”.
În figura 3.15 s-a reprezentat modulul caract eristicii de transfer a circuitului în
funcție de frecven ța normat ă w (fereastra de reprezentare a fost redus ă pentru
inteligibilitate).Re prezentarea s-a f ăcut cu parametrii dry=1 , wet=0.5 , pentru
d=10,20,30 ms .
Figura 3.15 Caracteristici de transfer în cazurile d=10,20,30 ms
Implementarea pentru procesorul în virgul ă fixă nu are nimic deosebit fa ță de
cele discutate pân ă acum. Programul declar ă variabilele necesare, singurele ad ăugiri
fiind constantele sum respectiv advance folosite pentru generarea unei forme de und ă
sinusoidale. Sinusul este ini țiat din sum=0 . Din parametrul advance se poate regla rata
modulației de fază: valorii hexa 0x000001 îi corespunde o frecven ță de 0.67Hz,
valorii 0x000002 îi corespunde 2*0.67Hz, etc. Constantele amount și delay se dau în
eșantioane iar ponderile dry respectiv wet în formatul 1.23 . Parametrii au urm ătoarele
valori: d(n)=600+100sin(sum) e
șantioane, dry=0.5 , wet=0.5 .
Variații ale parametrilor duc la ob ținerea unor efecte consacrate în domeniu:
– Chorus efect ce d ă senzația a două voci care cânt ă la unison. Programul
prezentat mai sus implementeaz ă un chorus. Pentru ob ținerea acestui efect,
d(n) trebuie să varieze periodic între limitele 10-30ms. În cazul de mai sus
timpul de întârziere variaz ă între 11ms – 15ms cu o frecven ță de 1,34Hz.
– Double voicing efect folosit pentru procesarea vocii umane; timpul de
întârziere trebuie s ă varieze între 20 – 60ms cu o rat ă de aproximativ o
secundă. Acest efect confer ă senzația de voce ampl ă, bogată, cu intensitate
sporită. Parametrii au fost modifica ți astfel: delay=40ms , amount=2.2ms .
– Vibrato efect folosit pentru procesarea instrumentele cu corzi (chitar ă,
viori etc.). Simuleaz ă variația periodic ă de frecven ță care apare când
degetele instrumentistului tensioneaz ă respectiv detensioneaz ă corzile în
mod periodic. Singura modificare în configura ția Chorus este dry=0 și
varia
ția de frecven ță să nu depășească mai mult de ±1 semiton. Frecven ța
LFO trebuie s ă fie în intervalul 4-8Hz. Am ales pentru demonstra ție
valorile delay=4ms , amount=0.5ms , advance=8*0.67Hz=5.36Hz , dry=0 ,
wet=1 .
Efecte audio digitale bazate pe linii de întârziere
– 39 – 3.3.3 Ecoul multiplu ( Early Echoes )
Simularea acusticii unei înc ăperi rectangulare porne ște de la simularea
reflexiilor ini țiale ( early echoes ). Acestea sunt primele unde reflectate de c ătre pereții
unei încăperi. Intensitatea acestor reflexii este o func ție de distan ța de la sursa de
Cameră
lli
Figura 3.16 Reflexiile ini țiale
sunet – la pere ți, de coeficientul de absorb ție al materialului din care este fabricat ă
suprafața de reflexie, de volumul înc ăperii etc (figura 3.16).
În principiu trebuie s ă simulăm cele patru reflexii și să le ponder ăm după
întârziere diferit. Aceasta se poate realiza cu configura ția prezentat ă în secțiunea
3.3.1, multiplicat ă cu numărul de reflexii dorite (figura 3.17). Ponderile semnalelor
întârziate sunt rezultate din studii asupra acusticii înc ăperilor, ele fiind de forma:
) exp(DirTlil
iwet −= (3.11)
știind:
l – distanța până la sursă
li- distanța până la sursa imagine a reflexiei i
wet – amplitudinea relativ ă a semnalului direct in raport cu reflexia i
TDi – timpul de întârziere relativ al refl exiei i în raport cu semnalul direct.
c – viteza sunetului în aer
T60 – timpul de reverbera ție al camerei
r – coeficientul de absorb ție al pereților
Fs – frecvența de eșantionare
iar:
60/) 1000(ln T r= (3.12)
FsclliFsDiTdi ⋅−=⋅= (3.13)
Efecte audio digitale bazate pe linii de întârziere
– 40 – Z-d1X(n)
Y(n)dry1
wet1s
Z-d2
Z-d3wet2
wet3
Z-d4wet4
Figura 3.17 Configura ția pentru simularea reflexiilor ini țiale ale unei înc ăperi
Impunând timpul de reverbera ție, distanțele de la surs ă la pereți și frecvența de
eșantionare putem calcula coeficien ții de ponderare ai semnalelor întârziate cu
formula 3.16.
Configura ția din figura 3.17 este corect ă, însă nu este o configura ție optimizat ă
pentru o implementare deoarece necesarul de memorie este mare: d1+d2+d3+d4 .
Observația că se proceseaz ă același semnal s*x(n) duce la configura ția din figura 3.18,
unde necesarul de memorie este, presupunând d1<d2<d3<d4 , egal cu d4.
Z-d1X(n)
Y(n) dryZ-d2+d1Z-d3+d1+d2Z-d4+d1+d2+d3
wet1 wet2 wet3 wet4s
Figura 3.18 Configura ție optimă din punct de vedere al memoriei ocupate
Ecuația care descrie acest sistem în timp este un filtru FIR:
∑=−⋅ ⋅+⋅⋅=4
1) ( )( )(i i i dnx wet snx drys ny (3.14)
Coeficientul de scalare se poate cal cula cu una din regulile de scalare
prezentate în [PNS2]. Deoa rece acest efect se folose ște ca bloc de intrare într-o
configura ție ce realizeaz ă reverbera ție, se recomand ă o regul ă de scalare dur ă,
deoarece orice dep ășire va duce la multiplicarea distorsiunii datorit ă răspunsului la
impuls complex caracteristic structurilor de reverbera ție. Astfel am ales regula de
scalare L1. În cazul acestei scal ări se obține o valoare mic ă pentru s dar se exclude
posibilitatea dep ășirii. Ieșirea y(n) trebuie să fie de modul subunitar deci:
Efecte audio digitale bazate pe linii de întârziere
– 41 – k wet dry ny
ii= +≤∑
=4
1)( (3.15)
iar
∑=+==4
11 1
i iwet dry ks (3.16)
Ecuația cu diferen țe finite devine:
[ ] ∑∑=
=−⋅ +⋅⋅
+=4
1 4
1) ( )(1)(i i i
i idnx wet nx dry
wet dryny (3.17)
Caracteristica de transfer a configura ției în transformat ă Z:
[ ]∑∑=−
=⋅ +⋅
+=4
1 4
11)(idi
i
i iZ wet dry
wet dryZH (3.18)
Modulul caracteristicii de frecven ță are de aceast ă dată o aliur ă mai
complicat ă, păstrând îns ă caracteristicile de periodicitate și structura cu minime și
maxime. Poate fi de altfel privit ca o sum ă de caracteristici de transfer identice celei
de la simpla întârziere.
Programul care implementeaz ă configura ția prezentat ă mai sus este prezentat
mai jos, numele fi șierului fiind early.dsp . După o declarare a constantelor, cu aceea și
semnifica ție ca mai sus, este recep ționat eșantionul audio curent și este introdus pe
rând în cele patru linii de întârziere. Sunt extrase apoi semnalele întârziate și sunt
ponderate și însumate cu semnalul original. Valo rile ponderilor, resp ectiv a numerelor
de eșantioane de întârziere nu sunt calculate ri guros ci sunt date orientativ. Pentru un
calcul riguros se pot aplica formul ele 3.16, 3.17, 3.18. O eventual ă îmbunătățire a
algoritmului ar putea introduce pozi ționarea stereo a celor patru reflexii. Aceasta
configura ție este folosit ă și de reverberatorul Moorer pentru simularea primelor
ciocniri ale undei sonore cu pere ții unei camere.
Efecte audio digitale bazate pe linii de întârziere
– 42 – 3.4 Efecte audio folosind linii de întârziere cu structur ă
recursivă (IIR)
3.4.1 Filtrul pieptene ( Comb filter )
Studiile efectuate de Schroeder în anul 1961 referitor la simularea acusticii
încăperilor cu ajutorul programel or digitale au consacrat dou ă structuri audio folosite
intens la ora actual ă în efectele sonore audio: filtrul pieptene (comb filter) respectiv
filtrul trece-tot (allpass filter). Filtrul piptene (figura 3.19) este o structur ă IIR care
generează un răspuns la impuls de tip exponen țial amortizat, specific fenomenelor
naturale (asem ănător răspunsului la impuls al unei camere).
Figura 3.19 Structura filtrului pieptene
Răspunsul la impuls al unei astfel de st ructuri este prezen tat în figura 3.20:
h(n)
nM 2 M3 M4 M5 M1
g
g2
g3
h(n)
nM 2 M3 M4 M5 M1
gg2
g3
Figura 3.20 R ăspunsul la impuls pentru g pozitiv (sus) și g negativ (jos). z-M x(n) y(n)
g
Efecte audio digitale bazate pe linii de întârziere
– 43 –
Funcția de transfer dac ă inspectăm structura din figura 3.19 este:
MgzMzzH−−−
=
1)( (3.19)
Sau
gMkz
kAM
kkzzkA
zH⋅= ∑−
=−= cu 1
0)( (3.20)
Cu
Mkjerkz/2π⋅= (3.21)
/Mgr1= (3.22)
Dacă combinăm polii perechi și facem coresponden ța a/(z-a)⇔e(n+1)an
obținem formula 3.28 pentru M par și 3.29 pentru M impar:
∑−
=Ω ⋅⋅−=12
1) cos()1()(M
knknrMgnenh (3.23)
⎥⎥⎥⎥
⎦⎤
⎢⎢⎢⎢
⎣⎡
∑−+
=Ω +⋅⋅−=121
1) cos( 1)1()(M
knknrMgnenh (3.24)
Din aceste dou ă relații se poate observa utilitatea acestei structuri în simularea
acusticii înc ăperilor. R ăspunsul la impuls este exprimat ca o sum ă de oscila ții
cosinusoidale de frecven țe Ωk. Aceste frecven țe corespund frecven țelor proprii
specifice unei înc ăperi. Ele sunt amortizate cu o anvelop ă exponențială rn, unde r este
constanta de amortizare. R ăspunsul în frecven ță al unui filtru pi eptene are modulul:
2) cos(211) (
g M gjeH
+Ω−=Ω (3.25)
Iată rezultatele simul ării în Matlab a structurii filtru pieptene la o frecven ță de
eșantionare de 44100Hz, cu o întârziere M=10 e șantioane, g= -0.6.
Efecte audio digitale bazate pe linii de întârziere
– 44 –
Figura 3.21 Rezultatele simul ării unui filtru pieptene: r ăspunsul la impuls
și modulul caracteristicii de frecven ță
Se observ ă o distribu ție cu maxime și minime asem ănătoare filtrului pieptene
FIR. Maximele se ob țin la frecven țele Ω=2πk/M (k=0,1,…M-1) de modul:
geHjw
−=11)(
max (3.26)
Minimele se ob țin la Ω=(2k+1)π/M (k=0,1,…M-1):
geHjw
+=11)(
min (3.27)
Am realizat un macro ce implementeaz ă această configura ție deoarece ea va fi
folosită în componen ța mai multor efecte sonore. Fa ță de cele expuse anterior apare
un parametru nou, coeficientul de ponderare al e șantionului de intrare care realizeaz ă
o scalare a semnalului procesat pentru ca nu cumva s ă apară depășiri. Valoarea
maximă a semnalului procesat este dat ă de formula 3.31. Deci introducem un
coeficient de scalare s egal cu 1-g. Macroul extrage e șantionul întârziat din linia de
intirziere, calculeaz ă reacția și apoi o însumeaz ă cu eșantionul curent. Finalul copiaz ă
suma calculat ă în linia de întârziere.
Efecte audio digitale bazate pe linii de întârziere
– 45 – Ceea mai simpl ă aplicație a filtrului pieptene în domeniul efectelor sonore o
constituie realizarea unui reverbera ții simple ob ținute prin repetarea sunetului procesat
la intervale constante de timp simu lând drumul parcurs repetat de o und ă sonoră între
doi pereți.
3.4.2 Reverbera ția simplă (Reverberating Delay)
Cea mai simpl ă cale de a imita reverbera ția unei înc ăperi se realizeaz ă cu o
structură filtru pieptene ca în figura 3.22.
Ecuația cu diferen țe finite ce descrie sistemul este dat ă de :
)()( )( )( nhnx wet nx dryny ∗⋅+⋅= (3.28)
unde h(n) reprezint ă răspunsul la impuls al filtru lui pieptene din formulele
3.28, 3.29. Considerând c ă dry,wet variază în intervalul (-1,1) și h(n) este nescalat ă ne
propunem s ă scalăm funcția de transfer astfel încât y(n) s ă fie cuprins în intervalul (-
1,1). Din cele discutate în sec țiunea anterioar ă 3.4.1, scal ăm modulul caracteristicii
de frecven ță prin înmul țirea cu s 1=1-g. Dac ă aplicăm această scalare ie șirea va fi:
)()(1)( )( nhnxs wet nx dryny ∗⋅⋅+⋅= (3.29)
z-M x(n) y(n)
gwetdry
Figura 3.22
Dacă avem în vedere func ția de transfer total ă, aplicând regula de scalare L1, o
regulă suficient de dur ă de scalare, (necesar ă datorită faptului c ă avem de-a face cu o
structură recursivă repetitivă deci apari ția unei distorsiuni e înso țită de repetarea ei),
obținem:
) 1(1 1 1
1 g wet dry s wet dry ks−⋅+=⋅+== (3.30)
Conform acestei scal ări semnalul de ie șire devine:
Efecte audio digitale bazate pe linii de întârziere
– 46 –
) 1()()() 1(
) 1()()(
g wet drynhnxg wet
g wet drynx dryny
−⋅+∗⋅−⋅+
−⋅+⋅= (3.31)
Deci:
)()(2 )(1 )( nhnxAnxA ny ∗⋅+⋅= (3.32)
Cu
) 1(1
g wet drydryA
−⋅+= (3.33)
) 1() 1(2
g wet dryg wetA
−⋅+−⋅= (3.34)
Acești coeficien ți scalați pot fi precalcula ți de către programator sau când se
dorește modificarea parametrilor în timp real se realizeaz ă un control adaptiv al
ponderilor astfel încât semnalul de ie șire să nu depășească plaja dinamic ă (-1,1).
În programul realizat ( comb.dsp ) am introdus A1 și A2 constante precalculate.
Structura de calcul este urm ătoarea: se preia de la codec esantionul curent care este
ponderat cu A2 și este introdus în linia de întâ rziere. Concomitent se extrage
eșantionul de la ie șirea filtrului pieptene. Acesta este însumat cu e șantionul curent
ponderat cu A1.
Deși este un efect simplu constructiv, impactul s ău este deosebit în momentul
când este folosit pentru o singur ă voce de instrument. În schimb este dep ărtat de
simularea acusticii unei înc ăperi (de fapt numele ef ectului din limba englez ă,
Reverberating Delay, îl descrie practic perfect).
3.4.3 Efectul Flanger
Studierea configura ției de mai sus duce la o observa ție interesant ă: pentru
timpi mici de întârziere, distribu ția de minime și maxime este practic larg ă, deci
modificarea în timp real a timpului de întârziere va duce la deplasarea acestei
distribuții, echivalent cu un banc de filtre trece band ă ce se deplaseaz ă pe spectrul
audio. Acesta este efectul Flanger . El a fost descoperit pe la începutul erei analogice
în sudiourile de înregistr ări. Era realizat ini țial cu dou ă magnetofoane profesionale ce
redau acela și program muzical, viteza de reda re a unuia dintre ele fiind modificat ă de
un operator printr-un dispozit iv în timp real. Urm ătoarea etap ă a fost simularea cu
constante RC (pe post de linii de întârziere cu întârziere mic ă) și varierea constantei
de timp cu un oscilator în mod periodic. A urmat apoi implementarea cu circuite
integrate BBD și în fine, implementarea digital ă.
Structura efectului sonor este o combina ție între reverbera ția simplă
(Reverberating delay ) și efectul Chorus. Ea este prezentat ă în figura 3.23:
Efecte audio digitale bazate pe linii de întârziere
– 47 –
z-M x(n) y(n)
gwetdry
d(n)
LFO
dela yamount
Figura 3.23 Structura efectului Flanger
După cum se poate observa, exist ă un generator de forme de und ă de frecven ță
foarte joas ă (LFO), a c ăror amplitudine este ponderat ă cu amount care stabile ște
gradul de modula ție al timpului de întârziere delay . În rest avem aceea și configura ție
ca la sec țiunea anterioar ă. Forma de und ă modulatoare poate fi sinusoidal ă,
triunghiular ă, dreptunghiular ă, rampă, aleatoare uniform ă, etc.
)( )( nf amoun t delay nd ⋅+= (3.35)
unde f(n) ia valori în intervalul (-1,1), delay este timpul de întârziere în
eșantioane, iar amount este timpul de întârziere modulator.
Condițiile de alegere ale constantelor delay și amount au fost discutate în
secțiunea 3.2. Preluând rezultatele:
D amoun t delay nd <+=))( max( (3.36)
0 ))( min( >−= amoun t delay nd (3.37)
unde D este lungimea maxim ă a liniei de întârziere.
Scalarea se realizeaz ă ca în sec țiunea anterioar ă. Se introduc cele dou ă
constante A1, respectiv A2 care realizeaz ă scalarea semnalului de ie șire:
) 1(1
g wet drydryA
−⋅+= (3.38)
Efecte audio digitale bazate pe linii de întârziere
– 48 –
) 1() 1(2
g wet dryg wetA
−⋅+−⋅= (3.39)
În exemplul asamblat am folosit ca form ă de undă modulatoare o und ă
sinusoidal ă generată cu macroul sinpol.dsp prezentat în al doilea capitol. Programul
care implementeaz ă efectul este con ținut de fi șierul flanger.dsp . Se genereaz ă întâi
sinusoida cu macroul sinpol.dsp , apoi se pondereaz ă cu constanta amount și se adună
cu timpul de întârziere fix delay obținându-se timpul de întârziere variabil d(n).
Se introduce acest timp în structura de tip filtru pieptene și se extrage
eșantionul de ie șire ponderat cu A2. Acesta se însumeaz ă cu eșantionul curent
ponderat cu A1. Cât ă vreme timpul de întârziere în secunde este situat în intervalul
(0.1,10)ms efectul realizat este Flanger . În cazul în care acesta este situat în intervalul
(10, 50)ms avem de-a face cu un Chorus cu reacție, prezen ța acesteia îmbog ățind
extraordinar vocea instrumentului procesat.
3.4.4 Filtrul trece-tot
Este una din componentele de baz ă ale reverberatoarelor moderne. Propus în
1961 de Schroeder pentru simula rea software acusticii înc ăperilor, este componenta
de bază la realizarea co mponentei unui r ăspuns la impuls tipic înc ăperilor, denumit
reverbera ție ulterioar ă.
z-M x(n) y(n)
g-g
Figura 3.24 Filtrul trece-tot
Funcția de transfer a structurii din figur ă este:
Mgzg
MgzMz
MgzgMzzH−−−−−−
=−−−−
=
1 1 1)( (3.40)
Unde M este num ărul de celule de întârziere, g coeficientul de ponderare cu
valori între (-1,1).
Răspunsul la impuls al unei astfel de structuri este asem ănător celui al filtrului
pieptene, deosebirea remacându-se la valorile impulsurilor:
Efecte audio digitale bazate pe linii de întârziere
– 49 –
Figura 3.25 R ăspunsul la impuls al filt rului trece-tot, g pozitiv
Ca și la filtrul pieptene, r ăspunsul la impuls poate fi scris ca o sum ă ponderat ă
de cosinusoide care definesc frecven țele proprii ale înc ăperii ce trebuie simulate.
Diferența majoră între cele dou ă celule este c ă, spre deosebire de filtrul
pieptene care introduce o colorare spectral ă cu minime și maxime, filtrul trece-tot
prezintă un modul al func ției de transfer de tip plat. Iat ă răspunsul la impuls al unei
celule trece-tot și modulul caracteristicii de frecven ță, la o rat ă de eșantionare de
Fs=44100Hz, g=-0.6, M=10.
Figura 3.26 R ăspunsul la impuls al filtrului trece-tot și modulul caracteristicii
de frecven ță
Filtrul trece-tot și filtrul pieptene sunt componente de baz ă în structurile ce
realizeză reverbera ția, propriet ățile lor fiind deosebite în momentul în care parametrii
lor sunt ale și cu atenție din considerente teoretice sau practice.
Efecte audio digitale bazate pe linii de întârziere
– 50 –
3.5 Modele de sintez ă ale reverbera ției
3.5.1 Reverbera ția reală
Reverbera ția este un fenomen natural propriu înc ăperilor cauzat de însumarea
multiplelor reflexii ale unei unde sonore de pere ții acesteia. Fa ță de fenomenul de
ecou, diferen ța constă în faptul c ă reflexiile sunt recep ționate de observatorul uman la
intervale foarte mici de timp, aceasta având ca rezultat faptul c ă repetițiile nu sunt
percepute distinct ci percepute ca un tot. Sunetul emis de surs ă se împrăștie în toate
direcțiile la diferite unghiuri, se reflect ă de pereții încăperii și este perceput de
observator (figura 3.27).
Reflexiile
inițiale
Sursă
Undă
directăReflexii
ulterioare
Observator
Figura 3.27 Reverbera ția
Răspunsul la impuls al unei înc ăperi are trei componente de baz ă asociate cu
fenomenele fizice petrecute: unda direct ă, reflexiile ini țiale ale undei sonore, reflexiile
ulterioare ale undei (figura 3.28). Unda direct ă este unda ce ajunge pe cale direct ă
între surs ă și receptor. Reflexiile ini țiale sunt date de undele ce ajung la receptor
suferind un num ăr mic de reflexii, iar reflexiile ul terioare sunt da te de undele ce
suferă multiple reflexii pe pere ții încăperii până a fi recep ționate de observator.
Sunet directReflexii
inițialeReverbera ție
ulterioară
Figura 3.28 R ăspunsul la impuls al unei înc ăperi
Efecte audio digitale bazate pe linii de întârziere
– 51 – Pentru a extrage caracteristicile de baz ă ale răspunsurilor la impuls
caracteristice acusticii înc ăperilor am efectuat analiza timp- frecven ță pentru dou ă
răspunsuri la impuls e șantionate apar ținând a dou ă săli celebre americane: East High
Auditorium (figura 3.29a) și Eastman Organ Recital Hall (figura 3.29b).
a
b
Figura 3.29 R ăspunsuri la impuls reale
Concluziile sunt urm ătoarele:
• Răspunsul la impuls trebuie s ă conțină suficiente componente pentru a
asigura o densitate de ecou și o densitate de frecven ță suficientă.
• Pentru simularea unei comport ări reale, trebuie avut în vedere c ă absorbția
elementelor undei se face diferit: frecven țele joase sunt mai greu absorbite
de pereții încăperii decât frecven țele înalte. Aceasta poate sugera existen ța
unui filtru trece-jos la ie șirea blocului de reverbera ție sau proiectarea unor
componente de tip filtru pi eptene cu o caracteristic ă trece-jos (Moorer).
Modelele algoritmice pentru simularea digital ă a reverbera ției au debutat în
1960 prin studiile lui Schroe der. Acesta a re alizat un simulator de reverbera ție a cărui
calitate, la ora actual ă, este discutabil ă, prin cascadarea a patru filtre pieptene în
paralel cu dou ă celule trece-tot serie. James A.Moorer, în anii 80, a îmbun ătățit
Efecte audio digitale bazate pe linii de întârziere
– 52 – modelul Scroeder prin simularea absorb ției diferite în frecven ță, a introdus celula
pieptene trece-jos și blocul de simulare a reflexiilor ini țiale. Pentru a mic șora puterea
de calcul folosit ă, Gardner a proiectat trei configura ții dedicate pentru Motorola
DSP56000, introducând celul a trece-tot generalizat ă. Jean Marc Jot a realizat o
structură introducând re țelele FDN ( Feedback Delay Network ) generalizând și
simplificând implement ările. O alt ă implementare este aceea a lui Datorro, deosebit ă
din punct de vedere al calit ății reverbera ției și puterii de calcul necesare.
3.5.2 Modelul de reverbera ție Schroeder
Modelul de reverbera ție a lui Schroeder este prezentat în figura 3.30.
Frecvențele proprii ale înc ăperii sunt simulate prin intermediul a patru filtre pieptene
în paralel a c ăror ieșire este însumat ă și introdus ă în două filtre trece-tot a c ăror rol
este acela de a p ăstra caracteristica de frecven ță a etajului pieptene și, cel mai
important, de a realiza “îndesirea” treptat ă a răspunsului la impuls.
Celulă filtru
pieptene
Celulă filtru
pieptene
Celulă filtru
pieptene
Celulă filtru
piepteneCelulă
trece-totCelulă
trece-totx(n)y(n)dry
Figura 3.30 Modelul de reverbera ție a lui Schroeder
Deși la ora aceea era o deosebit ă realizare în domeniu, reverberatorul lui
Schroeder nu satisface la ora actual ă cerințele de înalt ă calitate și realism.
Dezavantajele sale sunt urm ătoarele: nu simuleaz ă absorbția diferită în frecven ță a
pereților unei înc ăperi ( se poate compensa prin tr-un filtru trece-jos la ie șirea
reverberatorului ) sau prin folosirea celulelor pieptene propuse de Moorer, densitatea
de frecven ță și de ecou nu este suficient ă ( se poate cre ște prin sporirea num ărului de
filtre pieptene puse în paralel ). Totu și este unul dintre cele mai populare
reverberatoare av ând în vedere c ă până în anii 80 studiou rile de înregistr ări dețineau
blocuri de reverbera ție digitală bazate pe aceast ă structură.
Studiile de pionierat ale lu i Schroeder au reliefat aspecte importante printre
care:
• Timpul de reverbera ție dorit este o func ție de coeficientul de reac ție al
blocului paralel de filtre piep tene. Pentru a evita rezonan țele nenaturale,
Efecte audio digitale bazate pe linii de întârziere
– 53 – Schroeder propune ca amortizarea r ăspunsului la impuls al filtrelor s ă se
facă liniar pe o scar ă logaritmic ă de percep ție. Aceasta impune ca
coeficienții de reac ție ai celor 4 filtre pieptene s ă fie egali, modificabili
simultan.
1..4i = =const gi (3.41)
Aceasta impune ca razele polilor s ă fie egale:
P pMp
pg constpr …3,2,1 pentru /1. = == (3.42)
Celulele trece-tot de la final pr edispun semnalul procesat la rezonan țe
nenaturale. Alegerea timpul ui de întârziere a fiec ărei celule are o
importanță deosebită în evitarea acestor distorsiuni.
• Legătura între coeficien ții de reacție gi și timpul de reverbera ție dorit este:
s i
iTMgT ⋅ =/1 log3
1060 (3.43)
Unde Mi este timpul de întârziere în e șantioane al fiec ărei celule pieptene, gi
sunt coeficien ții de reacție ai celulelor și Ts este perioada de e șantionare.
Un răspuns la impuls tipic pentru o asemenea configura ție este prezentat în
figura 3.31. Parametrii de simulare au fost urm ătorii: g
i = 0.5, pentru filtrele pieptene
timpul de întârziere în e șantioane Mi=1543, 1764, 1984, 2205 și pentru celulele trece-
tot Mi=220, 75 , gi = 0.7. R ăspunsul la impuls nu reprezint ă și calea direct ă.
Caracteristica de frecven ță în timp este reprezentat ă în figura 3.32. Se remarc ă faptul
că nu este simulat ă absorbția diferită în spațiul frecven ță iar datorit ă celulelor trece-tot
apare o amplificare la frecven țele superioare, surs ă a rezonan țelor nenaturale.
Figura 3.31 R ăspunsul la impuls pentru structura Schroeder
Efecte audio digitale bazate pe linii de întârziere
– 54 –
Figura 3.32 R ăspunsul în frecven ță al structurii Schroeder
Calitatea reverbera ției structurii Schroeder este dep ășită la ora actual ă. O
îmbunătățire a structurii a realizat-o Moorer în anii 80, reu șind, datorit ă modificărilor
făcute, să creeze un sintetizator de reverbera ție de un realism deosebit.
3.5.3 Modelul de reverbera ție Moorer
James A.Moorer a studiat modelul Schroeder și, având în vedere punctele
slabe ale acestuia, a îmbun ătățit acest model. El a studiat densitatea de ecou și
densitatea de frecven ță a răspunsurilor la impuls reale, e șantionate, și a observat c ă o
structură de 12 filtre pieptene în paralel, cascadat ă cu o celul ă sau două de tip trece-tot
realizează densitățile dorite. O alt ă observație de-a sa, este alegerea timpilor de
întârziere în e șantioane ai blocului paralel de filtr e pieptene numere prime. Aceasta
“îndesește” răspunsul la impuls spre final ( reverbera ția ulterioar ă ), neafectând în
același timp evolu ția dinamic ă a răspunsului ( r ăspunsurile filtrelor pieptene nu se
suprapun dând na ștere la rezonan țe ). Moorer a modificat st ructura filtrului pieptene
pentru a-i imprima o caracteristic ă trece-jos spre a simula absorb ția mai puternic ă a
frecvențelor înalte (figura 3.33).
z-M x(n) y(n)
g
z-1
a
Figura 3.33 Filtrul pieptene trece-jos
Efecte audio digitale bazate pe linii de întârziere
– 55 – Moorer introduce în reac ție un filtru trece-jos cu car acteristica de transfer:
111)(1 −−=
azzH (3.44)
Astfel, caracteristica de transfer a filtrului pieptene devine:
MM
zzHgzzH−−
⋅⋅−=)( 1)(
1 (3.45)
Criteriul obligatoriu de stabilitate a structurii este:
11<−ag (3.46)
Efectul reac ției trece-jos poate fi observat în figura 3.34.
Figura 3.34 Analiza timp frecven ță a răspunsului la impuls al filtrului pieptene
trece-jos
Moorer introduce și blocul de simulare al reflexiilor ini țiale, reprezentat printr-
un filtru FIR identic cu cel descris în sec țiunea 3.3.3. O alt ă îmbunătățire este
realizarea efectului stereo pr in folosirea unei singure unit ăți de procesare, la ie șire
realizându-se diferen țierea semnalelor prin extrager ea lor din puncte diferite ale
filtrelor pieptene și folosirea a blocuri diferite de procesare de tip trece-tot (figura
3.35).
Efecte audio digitale bazate pe linii de întârziere
– 56 – DEL1
Reflexii
InițialeDEL2+
+
+Filtru
pieptene
Filtru
pieptene
Filtru
piepteneFiltru
pieptene
+
+Filtre trece-
tot
Filtre trece-
totxL(n)
xR(n)eL(n)
eR(n)yL(n)
yR(n)
Figura 3.35 Structura de reverbera ție a lui Moorer
După cum se observ ă în figură, semnalele stânga, dreapta, se însumeaz ă apoi
intră în blocul FIR de sintez ă a reflexiilor ini țiale (DEL1). Urmeaz ă apoi o linie de
întârziere reglabil ă DEL2 ce hot ărăște distanța dintre reflexiile ini țiale și reverbera ția
ulterioară. Apoi blocul de sintez ă a reverbera ției ulterioare format din o serie de filtre
pieptene legate în paralel și două celule de tip trece-tot. Semnalul procesat este
însumat cu reflexiile ini țiale și cu semnalul direct.
Moorer a recomandat mai multe structuri pornind de la cea din figura 3.35.
Una dintre acestea, descris ă în articolul "About This Reverberation Business,"
Computer Music Journal,Vol. 3, No. 2, pp. 13-28, 1979, con ține un filtru FIR, 6 filtre
pieptene de tip trece-jos și un filtru trece-tot ( figura 3.36 ).
Figura 3.36 Configura ția Moorer pentru reverbera ție de tip “Auditorium”
Efecte audio digitale bazate pe linii de întârziere
– 57 –
Pentru blocul de realizare a reflexiilor ini țiale Moorer recomand ă o structur ă
FIR cu 18 întârzieri cu parametrii și răspunsul la impuls din figura 3.37 ( calculul a
fost făcut pentru o rat ă de eșantionare de 44100Hz).
Întârzieri Ponderi
Figura 3.37 R ăspunsul la impuls și parametrii filtrului FIR de generare a
reflexiilor ini țiale
Parametrii etajului de realizare a reverbera ției (filtre pieptene și celulă trece-
tot) sunt prezenta ți în tabelul din figura 3.38:
Unitate Lungimea buferului Timpul de întârziere [sec]
Filtru pieptene1 1759 40 ms
Filtru pieptene2 1949 44 ms
Filtru pieptene3 2113 48 ms
Filtru pieptene4 2293 52 ms
Filtru pieptene5 2467 56 ms
Filtru pieptene6 2647 60 ms
FIR reflexii ini țiale 3520 80 ms
Filtru trece-tot 307 7 ms
Figura 3.38 Valorile numerice ale unit ăților de întârziere
Pentru implementarea pe ADSP 2181 Ez Kit Lite trebuiesc luate mai multe
aspecte în calcul. Programul matri ță folosit pân ă acum pentru initializare folose ște
două dintre generatoarel e de adrese DAG, I0 și I1. Avem nevoie de 8 bufere pentru
cele 8 linii de întârziere și avem disponibile doar șase. Așa că creem variabile DM
care să memoreze valorile registrilor I folosi ți, pentru a putea adresa mai multe linii cu
o singură celulă DAG. A trebuit s ă țin cont și de memoria disponibil ă a procesorului,
deci am folosit pentru unele linii memoria PM. Gestionarea liniilor de întârziere se
complică datorită salvării pointerilor, a șa că am creat structurile local, nu am folosit
macrourile definite în sec țiunile anterioare. Pentru protec ția la depășiri se efectueaz ă o
scalare cu 1/6 la însumarea filtrelor pieptene și apoi o scalare cu 1/2 la însumarea cu
semnalul direct. Toate valorile în e șantioane ale timpilor de întârziere sunt rotunjite
spre cel mai apropiat num ăr prim pentru a nu exista suprapuneri de impulsuri. Cele
trei blocuri componente, filtrul FIR – grupul de filtre pieptene – f iltrul trece-tot, sunt
implementate ca subrutine, programul de baz ă fiind situat la tratarea întreruperii
codecului.
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: – 33 – Efecte audio digitale bazate pe linii de [626217] (ID: 626217)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
