Audioeffekte DSV 1, 2005/01, Rur, Audioeffekte, 1 Equalizer http://www.harmony-central.com/Effects/Articles/Equalization/ Echofilter http://www.harmony-central.com/Effects/Articles/Delay/ Flanging http://www.harmony-central.com/Effects/Articles/Flanging/ http://www.harmony-central.com/Effects/Articles/Phase_Shifting/ Chor http://www.harmony-central.com/Effects/Articles/Chorus/ Hall (Reverberation) http://www.harmony-central.com/Effects/Articles/Reverb/ Synthetische Instrumentenklänge http://www.harmony-central.com/Synth/Articles/Physical_Modeling/ Kompression / Expansion http://www.harmony-central.com/Effects/Articles/Compression/ http://www.harmony-central.com/Effects/Articles/Expansion/ S.J. Orfanidis, „Introduction to Signal Processing“, chap. 8.2 & 11.4, Prentice Hall, 1996. F. Pieper, „das Effekte Praxisbuch“, GC Carstensen, 2004. Equalizer DSV 1, 2005/01, Rur, Audioeffekte, 2 Ziele Korrektur „schlechter“ Frequenzgänge ungünstige Raumakustik, Audiosystem betont „gewisse Frequenzen“ aber auch Soundgestaltung Mischen von „Einzelspuren“ Typen Klangregler ± 12-15 dB boost / cut von Bässen, mittlere Frequenzen und Höhen grafische Equalizer ± 12-15 dB boost / cut einzelner oder mehrerer Frequenzbänder mit parallelen Schiebereglern einstellbar, grafische Anzeige! Mittenfrequenzen ISO-normiert im Abstand 1/3, 2/3, 1 und 2 Oktaven äquidistant auf logarithmischer Frequenzskala! z.B. 5-Band, 2-Oktav-EQ: 50 Hz, 200 Hz, 800 Hz, 3.2 kHz, 12.8 kHz parametrische Equalizer neben boost / cut auch Mittenfrequenz und Bandbreite frei wählbar Einsatz u.a. für Absenken von Resonanzen, Stimme hervorheben Grafischer Equalizer Demo equalizer.m equalsim.mdl Verstärker DSV 1, 2005/01, Rur, Audioeffekte, 3 Filterbank => diverse Varianten BP 25 Hz BP 31 Hz . . . BP . . . + Level HP TP 16 kHz BP 20 kHz Probleme u.a. Beeinflussung benachbarter Filter Realisierungsaufwand (schmale BP mit tiefer Mittenfrequenz!) Symmetrie zwischen boost und cut Graphischer Equalizer DSV 1, 2005/01, Rur, Audioeffekte, 4 Ziele: Frequenzgang kompensieren, Vorder-/Hintergrund im recording N parallele BP-Filter (z.B. 1. Ordnung) vor Summation jeder Ausgang separat verstärkt / abgeschwächt (± 6-12 dB) Mittenfrequenzen sind äquidistant auf logarithmischer Frequenzskala IH1(f)I IH15(f)I „nur“ 6 dB Graphischer Equalizer DSV 1, 2005/01, Rur, Audioeffekte, 5 „weitgehend“ lineare Phase Zeitverzögerung „fast“ Null „kleiner“ Rippel Parametrischer Equalizer: Prototypen DSV 1, 2005/01, Rur, Audioeffekte, 6 Bandsperre: Notch-Filter s Ω HBS (s) 2 s α s Ω 02 2 2 0 IHBS(s)I 1 GB αs s 2 α s Ω 02 GB 1 G 2 B α Ω 0 1 2 Bandpass: Peak-Filter HBP (s) ΔΩ Ω 2 Ω1 IHBP(s)I 1 GB ΔΩ Ω 2 Ω1 1 GB2 GB 0 1 2 Equalizer: Linearkombination boost: cut: Gref < GB < G G < GB < Gref HEQ(s) = Gref·HBS(s) + G·HBP(s) typisch (Kaskade): Gref = 1 α Ω Parametrischer Equalizer: z-UTF Demo paramequalizer.m Bilineare Trafo DSV 1, 2005/01, Rur, Audioeffekte, 7 => HEQ(z) = Gref·HBS(z) + G·HBP(z) z-UTF Gref Gβ G cos(ω 0 ) G Gβ ) - 2 ( ref ) z 1 ( ref ) z 2 1 β 1 β 1 β HEQ (z) cos(ω 0 ) 1 β 1 2( ) z 1 ( ) z 2 1 β 1 β ( mit f ω0 π 0 fs /2 f ω π f s /2 2 GB2 Gref Δω tan( ) 2 2 2 G GB β Amplitudengang IHEQ(f)I G Δf GB boost 1 cut symmetrisch zu boost f0 fs/2 f Parametrischer Equalizer: Beispiel DSV 1, 2005/01, Rur, Audioeffekte, 8 Design-Parameter fs = 48 kHz, f0 = 1 kHz, Δf = 1 kHz, G = 6 dB, GB = 3 dB, Gref = 0 dB Filterparameter b = [1.04413353409205 -1.89496121398821 0.86717922551259] a = [1.00000000000000 -1.89496121398821 0.91131275960464] Amplitudengang G GB Δf f0 Gref Parametrischer Equalizer: Klangregler DSV 1, 2005/01, Rur, Audioeffekte, 9 Bass-Regler Parametrischer Equalizer mit f0 = 0 => cos(ω0) = 1 HEQ(z) hat Faktor 1-z-1 im Nenner und im Zähler => HTP(z) hat 1. Ordnung Gref Gβ G Gβ ) - ( ref ) z 1 1 β 1 β HTP (z) 1 β 1 ( ) z 1 1 β ( β 2 GB2 Gref ω DB tan( ) 2 2 2 G GB Höhen-Regler Parametrischer Equalizer mit f0 = fs/2 => cos(ω0) = -1 HEQ(z) hat Faktor 1+z-1 im Nenner und im Zähler => HHP(z) hat 1. Ordnung Gref Gβ G Gβ ) ( ref ) z 1 1 β 1 β HHP (z) 1 β 1 ( ) z 1 1 β ( β 2 GB2 G ref ω DB cot( ) 2 2 2 G GB Klangregler: Beispiel DSV 1, 2005/01, Rur, Audioeffekte, 10 Bassregler fs = 48 kHz, Δf = 400 Hz, G = -12, 0, 12 dB, GB = G/2 dB, Gref = 0 dB Höhenregler fs = 48 kHz, Δf = 4000 Hz, G = -12, 0, 12 dB, GB = G/2 dB, Gref = 0 dB G boost GB boost GB cut G cut Δf Bass Δf Höhen Echofilter Demo fircomb.m DSV 1, 2005/01, Rur, Audioeffekte, 11 x[n] y[n] = x[n]+bD·x[n-D] z-D bD Grundbaustein für komplexere Audioeffekte Echo hat roundtrip-Delay D·Ts und Dämpfung bD Echos „auflösbar“, wenn D·Ts > 50-70 ms FIR-Kamm-Filter => Kamm-Amplitudengang h[n] 1+bD 1 bD n D 1-bD fs/D fs/2 Flanging Demo flanging.m DSV 1, 2005/01, Rur, Audioeffekte, 12 Veränderung Tonlage, wenn Tape-Rand (Flange) gebremst wird Effekt kann mit Delay-Line variabler Länge modelliert werden Tonlagen-Modulation wegen variabler Lesegeschwindigkeit zeitvariantes FIR-Kamm-Filter y[n] = x[n] + b·x[n-D[n]] D[n] = floor{Dmin+ 0.5·(Dmax-Dmin)·(1+sin(2πfDnTs))} Varianten: Interpolation statt floor{}, Dreieck statt sin(), Feedback feedback x[n] y[n] D[n] Dmax z-D[n] b Dmin Dmax< 10 ms fD< 3 Hz n·Ts Flanging ist eine spezielle Form des Phasing (beliebige “notches”) Chor Demo chor.m DSV 1, 2005/01, Rur, Audioeffekte, 13 Mitglieder nicht ganz synchron, leicht verschiedene Tonlage „vollere“ Stimme Modellierung mit mehreren Delay-Lines variabler Länge Delays grösser als beim Flanger, typisch [20…30 ms] Differenzengleichung y[n] = x[n] + bD1·x[n-D1[n]] + bD2·x[n-D2[n]] D1[n] = floor{Dmin+ 0.5·(Dmax-Dmin)·(1+sin(2πfDnTs))}, fD < 3 Hz D2[n] = floor{Dmin+ 0.5·(Dmax-Dmin)·(1+sin(2πfDnTs+φ))} Varianten: bDk zeitvariant, rand(), Dreieck oder log() statt sin() x[n] y[n] b1 z-D1[n] b2 z-D2[n] Hall (Reverberation) DSV 1, 2005/01, Rur, Audioeffekte, 14 „Reverberation“ bedeutet Widerhall, Nachhall Resultat der Schallreflexionen in einem Raum Serie von verzögerten, gedämpften Schallwellen Häufigkeitsrate der Reflexionen ändert mit der Zeit „einzelne“ frühe Reflexionen (Raumbegrenzung) viele, „zufällige“, abfallende späte/diffuse Reflexionen Diffuser Nachhall gibt Raumempfinden behält Schallenergie im Raum (lauter sprechen im Freien) verteilt Schallenergie (man hört auch entfernte Instrumente, Geige klingt nicht in alle Richtungen gleich!) Nachhallzeit frühe Reflexionen Ih[n]I späte Reflexionen Zeit bis Ih[n]I 60dB abgeklungen Konzerthallen: 1.5-2s abhängig von Raumgrösse nTs und -Absorption (Materialien) Schröder‘s Nachhall-Prozessor (I) DSV 1, 2005/01, Rur, Audioeffekte, 15 H1(z) H2(z) x[n] H5(z) H6(z) y[n] H3(z) H4(z) IIR-Kamm-Filter H1(z) bis H4(z) => Raumbegrenzung b0 x[n] h[n] / b0 y[n] 1 aD z-D y[n]=b0·x[n]+aD·y[n-D] aD a2D n D 2·D Schröder‘s Nachhall-Prozessor (II) Demo hall.m DSV 1, 2005/01, Rur, Audioeffekte, 16 IH(f)I / b0 1/(1-aD) H(z) = b0 / (1-aD·z-D) 1/(1+aD) n fs/D Allpässe H5(z) und H6(z) -aD fs => IH(f)I=1, Kaskadierung möglich => für diffusen Nachhall verantwortlich x[n] y[n] aD z-D Modernere Algorithmen y[n] = -aD·x[n]+x[n-D]+aD·y[n-D]) H(z) = (-aD+z-D) / (1-aD·z-D) => frühe Reflexionen (FIR-Filter) => spätere Reflexionen (IIR-Filter) => Tiefpass (Absorptionen) Synthetische Instrumentenklänge DSV 1, 2005/01, Rur, Audioeffekte, 17 Direkte Instrumentenklang-Synthese Frequenz-Synthese/Modulation gemäss Spektralanalyse beschränkte Qualität, kein Bezug zur eigentlichen Klanggeneration Sampling/wavetable-Synthese von Klangmustern kein Bezug zur eigentlichen Klanggeneration sehr gute Qualität, speicherintensiv, „beschränkte“ Spielbarkeit Indirekte Instrumentenklang-Synthese Simulation des physikalischen Klang-Prozesses Kontrolle der Klanggeneration (Qualität) vielfältige „Spielbarkeit“, allerdings sehr viele Inputs erforderlich virtuelles Instrument reagiert so wie es gespielt wird (Erfahrung!) rechenintensiv! für jedes Instrument braucht es ein anderes Modell Waveguide-Gitarre DSV 1, 2005/01, Rur, Audioeffekte, 18 Anfangswerte (Vorwärtswelle) x[n] x[n-A] x[n-P] -0.95…1 (Reflexion, Verlust) Ausgang y[n] Reflexion: -1 Tiefpassfilter 0.5 Anfangswerte (Rückwärtswelle) x[n-D] „Steg“ „Anschlagpunkt“ „Pickup“ „Griff“ Waveguide-Gitarre Demo saite.m und akkord.m DSV 1, 2005/01, Rur, Audioeffekte, 19 2 Delay-Lines zur Simulation der Vorwärts- und Rückwärts-Welle Roundtrip bzw. Grundperiode T0 ≈ D·Ts bzw. D ≈ round(fs/f0) “dreieckförmige” Anregung der Höhe M je näher der Anschlagpunkt beim Steg, desto mehr Oberwellen Reflexionskoeffizienten = -1 beim Steg und beim Griff Summe von Vor- und Rückwärtswelle an Saitenenden = 0 Energieabgabe der Saite mit L = 0.995…1 modelliert zirkulierende Welle wird bei jedem Durchgang mit TP gefiltert Differenzengleichung: x[n] = 0.5·(x[n-D]+x[n-D-1]) höhere Frequenzkomponenten klingen schneller ab als tiefe Ausgangssignal mit einem oder mehreren Pickups abgenommen Differenzengleichung: y[n] = x[n-P]+x[n-D+P] Input Parameter: D bzw. f0, A, M, L, P einige wichtig für Spielbarkeit, z.B. A klein, metallischer Ton Kompression DSV 1, 2005/01, Rur, Audioeffekte, 20 x[n] y[n] g[n] Level Detector c[n] Gain Control Output Level [dB] Reduktion Dynamikbereich (Abschwächung laute Töne) Schutz vor Verzerrung, leise Töne versinken nicht im Rauschen eingesetzt bei Aufnahme, Rauschverminderung, Live-Performance Prinzip: variable Verstärkung, durch Input-Level gesteuert keine Kompression 2:1 Kompression 4:1 Kompression 10:1 Kompression (Limiting) y0 Schwelle x0 Input Level [dB] Input-Output-Verhalten (x konstant oder Kurzzeit-Mittelwert) y = y0·(x/x0)ρ => 20·log10(y/y0) = ρ·20·log10(x/x0) wobei ρ<1 und x>x0 2:1-Kompression (ρ=0.5) heisst Input muss um 2 dB erhöht werden, um Output 1 dB zu erhöhen Korrektur Output Level oft mit Verstärker Kompression DSV 1, 2005/01, Rur, Audioeffekte, 21 Level-Detektor macht normalerweise eine Mittelung über die Zeit Kontrollsignal c[n] ~ Ix[n]I, E[Ix[n]I] oder E[(x[n])2] einfacher Enveloppen-Detektor Beispiel eines Moving Averager, forgetting-Faktor λtyp ≈ 0.99 c[n] = λ·c[n-1] + (1-λ)·Ix[n]I Ix[n]I c[n] x[n] 1 1-ε 1-λ λ z-1 c[n] = 1-λn+1 n Gain-Kontroller (ein Beispiel) (c[n] / c0 ) 1 g[n] 1 wenn c[n] c0 wenn c[n] c0 neff ≈ log(ε) / log(λ) Kompression: Beispiel Demo sincompress.m DSV 1, 2005/01, Rur, Audioeffekte, 22 Sinuston 1000 Hz, 4:1 Kompression ρ=0.25, λ=0.99, c0=0.25·2/π Release Time Attack Time Kompression: Beispiel Ducker Demo ducker.mdl DSV 1, 2005/01, Rur, Audioeffekte, 23 to duck => sich ducken Abschwächung Musik-Signal, wenn Sprachsignal über Ref-Level einfaches adaptives Filter Sprache (kick drum) Level Detector c[n] Gain Control Mischkonstante g[n] Musik Ausgang Expansion DSV 1, 2005/01, Rur, Audioeffekte, 24 x[n] y[n] g[n] Level Detector c[n] Gain Control Output Level [dB] Vergrösserung Dynamikbereich (Abschwächung der leisen Töne) Gegenteil der Kompression für Rauschverminderung (noise gate), Erzeugung von Extremas Prinzip: variable Verstärkung, durch Input-Level gesteuert - keine Expansion y0 -- n:1 Expansionen noise gating Schwelle x0 Input Level [dB] y = y0·(x/x0)ρ => 20·log10(y/y0) = ρ·20·log10(x/x0) wobei ρ>1 und x<x0 4:1-Expansion: -3 dB am Eingang => -12 dB am Ausgang Companding: Kompression => „Kanal“ => Expansion Dolby A: „Kanal“ ist ein Tonband Aufnahme: leise (rauschgefährdete) Passagen lauter als normal Abspielen: Abschwächung der leisen Passagen