Audioeffekte Equalizer Echofilter Flanging Chor Hall (Reverberation) 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 Ziele Korrektur „schlechter“ Frequenzgänge 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 + Probleme u.a. Beeinflussung benachbarter Filter Demo equalizer.m equalsim.mdl DSV 1, 2005/01, Rur, Audioeffekte, 3 Verstärker Filterbank => diverse Varianten BP 25 Hz BP 31 Hz . . + Level HP TP BP 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 IHBS(s)I 1 GB Ω Bandpass: Peak-Filter IHBP(s)I 1 GB Ω Equalizer: Linearkombination boost: Gref < GB < G cut: G < GB < Gref typisch (Kaskade): Gref = 1 HEQ(s) = Gref·HBS(s) + G·HBP(s)
Parametrischer Equalizer: z-UTF Demo paramequalizer.m DSV 1, 2005/01, Rur, Audioeffekte, 7 Bilineare Trafo => HEQ(z) = Gref·HBS(z) + G·HBP(z) z-UTF mit Amplitudengang G GB Δf boost IHEQ(f)I 1 cut symmetrisch zu boost f f0 fs/2
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 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
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 Δf Bass Δf Höhen GB boost GB cut G cut
Echofilter Grundbaustein für komplexere Audioeffekte 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 1-bD D fs/D fs/2
Flanging Veränderung Tonlage, wenn Tape-Rand (Flange) gebremst wird 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 Flanging ist eine spezielle Form des Phasing (beliebige “notches”) x[n] D[n] y[n] Dmax< 10 ms Dmax z-D[n] fD< 3 Hz b feedback Dmin n·Ts
Chor Mitglieder nicht ganz synchron, leicht verschiedene Tonlage 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) „Reverberation“ bedeutet Widerhall, Nachhall 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 Zeit bis Ih[n]I 60dB abgeklungen Konzerthallen: 1.5-2s abhängig von Raumgrösse und -Absorption (Materialien) frühe Reflexionen Ih[n]I späte Reflexionen nTs
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 h[n] / b0 x[n] y[n] 1 aD z-D aD a2D n y[n]=b0·x[n]+aD·y[n-D] 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 fs Allpässe H5(z) und H6(z) => IH(f)I=1, Kaskadierung möglich => für diffusen Nachhall verantwortlich -aD x[n] y[n] aD z-D Modernere Algorithmen => frühe Reflexionen (FIR-Filter) => spätere Reflexionen (IIR-Filter) => Tiefpass (Absorptionen) y[n] = -aD·x[n]+x[n-D]+aD·y[n-D]) H(z) = (-aD+z-D) / (1-aD·z-D)
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 „Steg“ „Anschlag- punkt“ „Pickup“ „Griff“ 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] Tiefpassfilter Reflexion: -1 0.5 Anfangswerte (Rückwärtswelle) x[n-D] „Steg“ „Anschlag- punkt“ „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 Reduktion Dynamikbereich (Abschwächung laute Töne) DSV 1, 2005/01, Rur, Audioeffekte, 20 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 Input-Output-Verhalten (x konstant oder Kurzzeit-Mittelwert) 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 keine Kompression x[n] y[n] 2:1 Kompression 4:1 Kompression g[n] Output Level [dB] y0 10:1 Kompression (Limiting) Level Detector Gain Control c[n] Schwelle x0 Input Level [dB] y = y0·(x/x0)ρ => 20·log10(y/y0) = ρ·20·log10(x/x0) wobei ρ<1 und x>x0
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 x[n] Ix[n]I c[n] 1 1-ε c[n] = 1-λn+1 1-λ λ z-1 n neff ≈ log(ε) / log(λ) Gain-Kontroller (ein Beispiel)
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 Gain Control Misch- konstante c[n] g[n] Musik Ausgang
Expansion Vergrösserung Dynamikbereich (Abschwächung der leisen Töne) DSV 1, 2005/01, Rur, Audioeffekte, 24 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 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 x[n] y[n] g[n] Output Level [dB] y0 - keine Expansion Level Detector Gain Control -- n:1 Expansionen c[n] noise gating Schwelle x0 Input Level [dB] y = y0·(x/x0)ρ => 20·log10(y/y0) = ρ·20·log10(x/x0) wobei ρ>1 und x<x0