Steuerungstasten

nächste Folie (auch Enter oder Spacebar).
vorherige Folie
 d  schaltet das Zeichnen auf Folien ein/aus
 p  wechselt zwischen Druck- und Präsentationsansicht
CTRL  +  vergrößert die Folien
CTRL  -  verkleinert die Folien
CTRL  0  setzt die Größenänderung zurück

Das Weiterschalten der Folien kann ebenfalls durch das Klicken auf den rechten bzw. linken Folienrand erfolgen.

Notation

Typ Schriftart Beispiele
Variablen (Skalare) kursiv $a, b, x, y$
Funktionen aufrecht $\mathrm{f}, \mathrm{g}(x), \mathrm{max}(x)$
Vektoren fett, Elemente zeilenweise $\mathbf{a}, \mathbf{b}= \begin{pmatrix}x\\y\end{pmatrix} = (x, y)^\top,$ $\mathbf{B}=(x, y, z)^\top$
Matrizen Schreibmaschine $\mathtt{A}, \mathtt{B}= \begin{bmatrix}a & b\\c & d\end{bmatrix}$
Mengen kalligrafisch $\mathcal{A}, B=\{a, b\}, b \in \mathcal{B}$
Zahlenbereiche, Koordinatenräume doppelt gestrichen $\mathbb{N}, \mathbb{Z}, \mathbb{R}^2, \mathbb{R}^3$

Töne und Obertöne

Tonhöhe

  • Ein Ton einer bestimmten Tonhöhe kann z.B. durch eine Sinus-Schwingung mit einer bestimmten Frequenz erzeugt werden
  • Auf der internationale Stimmtonkonferenz von 1939 wurde der Kammerton A auf 440 Hz festgelegt
  • Mit jeder weiteren Oktave (z.B. von A3 nach A4) verdoppelt sich die Frequenz
piano

Tonhöhe

  • Zwischen zwei benachbarten Noten auf einem Klavier ist das Verhältnis $f_{x+1}/f_{x}$ der Frequenzen konstant
  • Bei zwölf Tasten pro Oktave ergibt sich mit der Nebenbedingung, dass sich die Frequenz pro Oktave verdoppelt:
    $\frac{f_{x+1}}{f_x} = \sqrt[12]{2} = 1,059463$
  • D.h für A#3 ergibt sich $440\,\mbox{Hz} \cdot 1,059463 = 466,163\,\mbox{Hz}$
piano

Obertöne

  • Wenn eine Saite (z.B. bei einem Klavier) in Schwingung gebracht wird, können nur ganz bestimmt Schwingungen entstehen, da die Saite am Anfang und Ende einspannt ist
  • Es entsteht einerseits der so genannte Grundton der Wellenlänge $W = 2 \, l$, wenn $l$ die Länge der Saite ist
  • In der Regel entstehen jedoch auch so genannte Obertöne der Wellenlänge:
    $W = \frac{2 \, l}{k} \quad \forall \, k \in {2, 3, 4, 5, ....}$
  • string_spec
    Amplitude
    Frequenz
    $f_1$
    $f_2$
    $f_3$
    $f_4$
    $f_5$
    Für das Frequenzspektrum ergibt sich der rechts gezeigte typische Verlauf
  • Bei verschiedenen Instrumenten werden durch deren unterschiedliche Klangkörper die verschiedenen Obertöne unterschiedlich verstärkt und es ergeben sich deren charakteristische Klänge

Zeitliche Veränderung der beteiligten Frequenzen

  • In den folgenden Diagrammen ist der zeitliche Veränderung der Amplitude des Grundtons (1. Harmonische) und von 7 Obertönen (2. bis 8. Harmonische) für drei verschiedene Instrumente gezeigt
instruments_harmonics
Klavier
Trompete
Violine

Subtraktive Synthese von Klängen

Subtraktive Synthese von Klängen

  • Bei der subtraktiven Synthese von Klängen wird zunächst eine Signal mit möglichst vielen Obertönen erzeugt, wie z.B. eine Rechteck- oder Zägezahn-Schwingung
  • Aus dem Spektrum des ursprünglichen Signals werden durch Filterung Obertöne entfernt
  • Als Filter können z.B. Tiefpass, Bandpass, Hochpass, oder Bandsperre eingesetzt werden
  • Da solche Signale und Filter auch leicht mit analoger Signalverarbeitung realisierbar waren, konnte die subtraktive Synthese schon genutzt werden bevor leistungsstarke digitale Signalprozessoren verfügbar waren (1960er und 1970er Jahre)

Subtraktive Synthese: Oszillatoren und deren Spektrum

instruments_harmonics
Sinus-Schwingung
Sinus Spektrum
Dreieck-Schwingung
Dreieck Spektrum
Rechteck-Schwingung
Rechteck Spektrum
Zägezahn-Schwingung
Zägezahn Spektrum

Subtraktive Synthese: Filter

sub_synth
Frequenz
Originalspektrum
Gefiltertes Spektrum
Tiefpass
Hochpass
Bandpass
Bandsperre

Subtraktive Synthese: Filter

  • Sei $\mathrm{H}[u]$ das Spektrum des Filters und $\mathrm{F}[u]$ das Spektrum des ursprünglichen Signals, dann kann das gefilterte Spektrum im Frequenzbereich duch Multiplikation der beiden Spektren erzeugt werden
    $\mathrm{F}'[u] = \mathrm{F}[u] \,\,\mathrm{H}[u]$
  • Dazu muss jedoch immer eine DFT (zur Erzeugung von $\mathrm{H}[u]$) und eines IDFT (zur Erzeugung des gefilterten Signals im Zeitbereich $\mathrm{f}'[n]$) durchgeführt werden
  • Bei einer Echtzeitverarbeitung wird die Filterung daher eigentlich immer im Zeitbereich durchgeführt
  • Dies kann durch durch Faltung des ursprünglichen Signals $\mathrm{f}[n]$ mit der Rücktransformierten $\mathrm{h}[n]$ des Filterspektrum $\mathrm{H}[u]$ erreicht werden:
    $\mathrm{f}'[n] = \mathrm{f}[n] \ast \mathrm{h}[n]$
  • Allerdings benötigt eine Filterung per Faltung relativ viel Rechenzeit
  • Bei der Audiosynthese werden wegen ihrer besonderen Klangeigenschaften und geringerem Rechenaufwand daher oft sogenannte IIR-Filter (Filter mit Rückkopplung) eingesetzt (dazu später mehr)

Hüllkurve

  • Eine Hüllkurve (engl. "Envelope") kann dafür genutzt werden, bestimmte Audioparameter über die Zeit zu ändern
  • Beispiel: Zur Veränderung der Lautstärke kann das Audiosignal $x[n]$ mit der Hüllkurve $\mathrm{A}[n]$ multipliziert werden:
    $x'[n] = \mathrm{A}[n] \, x[n]$
  • Das Anwenden einer solchen Hüllkurve auf die Amplitude wird bei analogen Synthesizern als VCA (Voltage Controlled Amplifier) bezeichnet
  • Es können aber auch andere Parameter zeitlich verändert werden: z.B. die Frequenz eines Oszillators (VCO = Voltage Controlled Oscillator) oder die Grenzfrequenz und Resonanz eines Filters (VCF = Voltage Controlled Filter)

Hüllkurve

  • Um das Anschlagen einer Taste zu simulieren, werden häufig ADSR-Hüllkurven verwendet (Attack, Decay, Sustain, Release)
  • Eine ADSR-Hüllkurve wird typischerweise über folgende Parameter definiert:
envelop_generator
A[n]
n
Attack
Time
Decay
Time
Sustain Level
Release Time
  • Wird die Taste heruntergedrückt, werden die Attack- und Decay-Phasen durchlaufen und dann der Sustain-Wert so lange gehalten bis die Taste losgelassen wird und die Release-Phase beginnt

LFO

  • Ein LFO (engl. "Low-frequency Oscillator") ist eine andere Möglichkeit Audio-Parameter über die Zeit zu änderen
  • Wie der Name schon sagt, handelt es sich um einen Ozillator, der sehr langsam schwingt (< 20 Hz)
  • Das Ausgabesignal eines LFO ist somit so tieffrequent, dass es nicht mehr direkt hörbar ist
  • Erst durch Modulation eines Audiosignals im hörbaren Bereich wird der LFO wahrnehmbar
  • Zum Beispiel:
    • Tremolo: Änderung der Amplitude (VCA) per LFO
    • Vibrato: Änderung der Tonhöhe (engl. "Pitch") eines Oszillators (VCO) per LFO
    • Filtermodulation: Änderung der Grenzfrequenz oder Resonanz eines Filters (VCF)
    • Panorama: Änderung der Amplitude des rechten und linken Kanals eines Stereosignals per LFO

Beispiel für einen subtraktiven Synthesizer

sub_synth
  • Dieser einfach Synthesizer besteht aus zwei Oszillatoren, drei ADSR-Hüllkurven, einem LFO und einem Filter. Hier ausprobieren: Cardboard Online Synth
  • Sollen mehrere Noten gleichzeitig gespielt werden, müssen diese Bausteine natürlich entsprechend mehrfach vorhanden sein

Additive Synthese von Klängen

Additive Synthese von Klängen

  • Für die additive Synthese von Klängen ist wird in der Regel ein leistungsstarker digitaler Signalprozessor benötigt
  • Das Signal setzt sich aus der Addition verschiedener Sinusschwinungen zusammen:
    $\mathrm{y}[n] = A_0 \sin(2 \pi f_0 n) + A_1 \sin(2 \pi f_1 n) + A_2 \sin(2 \pi f_2 n) + \dots$
    oder für $N$ Überlagerungen
    $\mathrm{y}[n] = \sum\limits_{u=0}^{N-1} A_u \sin(2 \pi \frac{u}{N} n)$
  • Diese Berechnungsvorschrift erinnert stark an die IDFT und in der Tat kann die additive Synthese durch direkte Angabe von Fourierkoeffizienten $A_u$ und Anwenden der IDFT realisiert werden

Beispiel: Additive Synthese von Klängen

additive_synth_example

Additive Synthese von Klängen

  • Noch mehr Möglichkeiten ergeben sich, wenn die Koeffizienten $A_u$ zeitlich veränderbar sind, d.h.
    $\mathrm{y}[n] = \sum\limits_{u=0}^{N-1} A_u[n] \sin(2 \pi \frac{u}{N} n)$
  • Bei ausreichender Rechenleistung können sogar die einzelnen Frequenzen noch leicht durch eine zeitlich veränderbar Verschiebung $d_u[n]$ modifiert werden:
    $\mathrm{y}[n] = \sum\limits_{u=0}^{N-1} A_u[n] \sin(2 \pi \frac{u-d_u[n]}{N} n)$

Wavetable Synthese von Klängen

Wavetable

instruments_harmonics
  • Die Idee der Wavetable-Synthese ist, Klänge durch eine periodische Wellenform zu erzeugen
  • Anstatt die Wellenformen mit einem Standard-Ozsillator zu generieren (Sinus, Rechteck, Dreieck, usw.), werden die Abtastwerte für eine Periode der Welle vorberechnet und in einem "Wavetable" gespeichert
  • Ein Wavetable kann auch aus Aufnahmen von echten Instrumenten extrahiert werden oder aus einer additiven Synthese entstehen
  • Damit sind viel komplexere Wellenformen möglich
  • Durch Abspielen der Wellenform in einer Schleife entsteht der entsprechende Klang
  • Um verschiedene Tonhöhen zu erzeugen, muss ein Wavetable durch Resampling mit unterschiedlichen Geschwindigkeiten abgespielt werden

Multiple-Wavetable Synthese

multi_wavetable
Wavetable 1
Wavetable 2
Wavetable 3
Hüllkurve 1
Hüllkurve 2
Hüllkurve 3
Ausgabe
  • Durch eine zeitveränderliche additive Überlagerung von mehreren Wavetables entstehen noch mehr Möglichkeiten bei der Klangsynthese
  • Die oben gezeigte Variante wird "Wavetable-Stacking" genannt
  • Sind immer nur zwei Wavetable-Oszillatoren gleichzeitig aktiv, wird dies als "Wavetable-Crossfading", "Wavetable-Interpolation" oder "Wavetable-Morphing" bezeichnet

Multiple-Wavetable Synthese: Wavetable-Crossfading

wavetable_interp
Quelle: Screenshot aus WaveEdit

Sample-basierte Synthese von Klängen

Sample-basierte Synthese von Klängen

  • Bei der sample-basierte Synthese von Klängen werden einfach vorgefertigte oder aufgenommen Töne eines Instruments abgespielt
  • Besonders einfach ist diese Technik, wenn für jede Tonhöhe (Taste auf dem Keyboard) eine separates Sample vorliegt
  • Teilweise werden sogar verschiedene Samples für verschiede Anschlagstärken (Velocity) der Tasten bereitgestellt bzw. aufgenommen
  • Zum Nachbilden von echten Instrumenten ist dies ein sehr gängiges Verfahren
  • One disadvantage is that the sound cannot be modified much afterwards
  • Another disadvantage is the high memory requirement
  • Soll Speicher eingespart werden, kann nicht für jede Tonhöhe ein Sample bereitgestellt werden, sondern z.B. nur ein Sample pro Oktave. Dann müss dieses Sample durch entsprechend schnelle oder langsamere Wiedergabe auf die richtige Tonhöhe gebracht werden (→ Resampling)

Beispiel: Sample-basierte Synthese von Klängen

gsn_piano

Upsampling

  • Soll die Abtastrate um einen konstanten ganzzahligen Faktor $L$ erhöht werden, werden zunächst $L-1$ Nullen zwischen den bestehenden Abtastwerten eingefügt
  • Anschließend wird auf das entstandende Signal ein Tiefpass angewendet
  • Welche Grenzfrequenz muss bei dem Tiefpass eingestellt werden?
  • Da davon ausgegangen werden kann, dass beim ursprunglichen Signal das Abtasttheorem eingehalten wurde, d.h. die maximale Frequenz im Signal der halben ursprunglichen Abstastfrequenz entspricht, muss die Grenzfrequenz des Tiefpass der halben ursprunglichen Abstastfrequenz entsprechen

Upsampling

  • Ein idealer Tiefpass im Zeitbereich kann durch Faltung mit einer Sinc-Funktion unendlicher Länge realisiert werden
  • Wenn die Sinc-Funktion wie folgt gewählt wird, hat diese ihre Nulldurchläufe exakt bei den ursprünglichen Abtastwerten:
    $\mathrm{h}[n] = \operatorname{sinc}[n] = \frac{\sin(\pi \, n / L)}{n}$
  • D.h. die ursprünglichen Werte werden durch die Tiefpassfilterung nicht verändert
upsample_with_si
$\mathrm{h}[n]$
$\mathrm{x}[n]$
$\mathrm{x}[n] \ast \mathrm{h}[n]$

Upsampling

  • In der Praxis muss die Sinc-Funktion eine endliche Länge besitzen, daher wird diese typischerweise "gefenstert"
  • Die Größe des symmtrischen Fensters kann z.B. so gewählt werden, dass 2 Nulldurchläufe auf der positiven und negativen Seite der Sinc-Funktion beinhaltet sind, d.h. hier $4 \ L + 1$ Abtastwerte
  • Beispiele für Fensterfunktionen sind:
    • Rechteck-Fenster (in der Praxis unbeliebt da starkes Gibbssches Phänomen)
    • Hamming-Fenster
    • Blackman-Fenster
    • Von-Hann-Fenster
    • Lanczos-Fenster
window_functions
Hamming-Fenster
Blackman-Fenster
Von-Hann-Fenster
Lanczos-Fenster

Downsampling

  • Soll die Abtastrate um einen konstanten ganzzahligen Faktor $M$ verringert werden, wird das Eingangsignal zunächst Tiefpass gefilter und anschießend nur jedes $M$-te Sample behalten (Dezimation)
  • Welche Grenzfrequenz muss bei dem Tiefpass eingestellt werden?
  • Da beim dezimierten Signal das Abtasttheorem eingehalten werden soll, muss die Grenzfrequenz des Tiefpass der halben Abstastfrequenz des dezimierten Signal entsprechen

Resampling

  • Soll die Abtastrate um einen beliebigen rationalen Faktor $L/M$ veränderte werden, kann zunächst ein Upsampling um den Faktor $L$ und anschließend ein Downsampling um den Faktor $M$ durchgeführt werden
  • Dabei kann ein gemeinsamer Tiefpass verwendet werden
    resample
    $f_c=1/L$
    $f_c=1/M$
    $f_c= \mathrm{min}(1/L, 1/M)$
    Tiefpass
    Tiefpass
    Tiefpass
    Upsampling um $L$
    Downsampling um $M$
    Upsampling um $L$
    Downsampling um $M$
  • Beim gemeinsamen Tiefpass muss als Grenzfrequenz $f_c$ die niedriger Grenzfrequenz der beiden ursprünglichen Tiefpässen verwendet werden

FM-Synthese

FM-Synthese

  • Obwohl diese Art der Klangsynthese als Frequenzmodulation (FM) bezeichnet wird, führen die meisten Synthesizer eine Phasenmodulation eines Trägersignals durch
  • Wenn beispielsweise der Träger eine Sinuswelle mit der Frequenz $f_c$ ist und $m(t)$ die Modulatorfunktion ist, ergibt sich mathematisch
    $\mathrm{f}(t) = A \, \sin(2.0 \, \pi \, f_c\, t + \mathrm{m}(t))$
  • Bei der FM-Synthese ist die Frequenz des Modulators $m(t)$ normalerweise sehr schnell. Oft sogar schneller als die Frequenz des Trägers
  • In diesem Zusammenhang ist ein wichtiger Begriff in der FM-Synthese das "ratio", welches das Verhältnis der Frequenzen des Modulators und des Trägers beschreibt:
    $\text{ratio} = \frac{\text{Modulator Frequenz}}{\text{Träger Frequenz}}$
  • Für harmonische Klänge (wie Streicher, Leads, Bässe, Pads usw.) wird das Verhältnis typischerweise durch ganzzahlige Werte gebildet (z.B. 4:1, 3:1 oder 1:2)
  • Bei metallischen oder glockenähnlichen Klängen kann es fraktionale Werte enthalten (z.B. 2,41 : 1). Solche Ratios produzieren atonale und dissonante Klänge, die mit subtraktiver Synthese schwer zu erzeugen sind

Beispiel: FM-Synthese

fmbells

Gibt es Fragen?

questions

Anregungen oder Verbesserungsvorschläge können auch gerne per E-mail an mich gesendet werden: Kontakt

Weitere Vorlesungsfolien

Folien auf Englisch (Slides in English)