ELECTRIC OPRPHEUS ACADEMY
SPILLING THE BEANS #6 DER WALDKLANG
Motto 1:
Wie man in den Wald hineinruft, so schallt es heraus.
Motto 2:
Rein theoretisch sind die Begriffe 'Theorie' und 'Praxis' exakt definiert
und voneinander verschieden. In der Praxis sind sie nicht selten austauschbar.
Bei unserem Workshop (vom 28.August
bis 3.Septmeber 2010) schwebte von den ersten Tagen an die Idee im Raum,
den Klang der Waldlichtung so aufzunehmen, dass er als 'Impulsantwort'
für beliebige
Verhallung zur Verfügung
steht.
Das Wetter spielte nicht mit, Wind und Regen verhinderten so ein Unterfangen.
Erst am letzten Abend, als alles schon abgebaut war und der Workshop in
Auflösung begriffen,
ergab sich ein günstiger
Moment, den Wolfgang Musil nützte
und eine entsprechende Versuchsanordnung aufbaute.
Foto: M. Zacherl
Das Procedere geht folgendermassen:
Man generiert einen 'sweep' - ein Sinuston, der möglichst tief beginnt
und innerhalb einer gewissen Zeitspanne eine genügend hohe Frequenz
erreicht. (In diesem Fall innerhalb von 20 Sekunden von ca. 38Hz auf 19kHz).
Dieser sweep wird über einen gut plazierten Lautsprecher möglichst
kräftig gespielt, während ein oder mehrere Mikrofone (daneben
und dahinter) den resultierenden Raumklang aufnehmen.
sw_mic2_hab.mp3
Soweit, sogut. Nur wollten wir ja nicht den Klang des sweeps in der Waldlichtung,
sondern den reinen Raumklang an sich.
Die Methode, mit der sich aus den beiden gegebenen Klängen (der originale
sweep und die Aufnahme vor Ort) die Impulsanwort gleichsam herausdestillieren
lässt heist 'Korrelation'.
Im Grunde ein Verfahren, das man in der Nachrichtentechnik schon seit
Jahrzehnten kennt, um die Nachrichteninformation von überlagerten
Störgeräuschen zu trennen. (Ich erinnere mich an ein Foto von
einem monströsen Apparat mit Bandschleifen und rotierenden Tonköpfen,
mit dem sich soetwas in Grenzen auch analog bewerkstelligen liess ...).
In VASP ist das relativ einfach: Man macht eine Faltung (convolution)
des einen Klanges mit der Zeitumkehrung des anderen. (Convolution ist,
wie wir wissen, eine Modulation der Spektren). Fertig - oder, fast fertig.
A:
sfload original_sweep.wav
mirr
FFT
B:
sfload raumaufnahme.wav
FFT
vmul
FFT-
Das Ergebnis sieht so aus:
Ganz links haben wir tatsächlich die, grafisch wenig auffällige,
Impulsantwort der Raumsituation. Ganz rechts sehen wir aber noch einiges
Gespiegeltes. Beim Anhören entpuppt sich das als eine Art 'Kurzfassung'
des sweeps gefolgt von einigen Echos. Das könnten die Verzerrungen
des Lautsprechers sein, die nun als 'Vorecho' in Erscheinung treten. (Der
buffer ist bei solchen Prozessen zyklisch zu verstehen).
Wie immer das zustandekam, ein 'Vorecho' kann es nicht geben, also weg
damit und gleich noch eine Hüllkurve darüber, die den Klang
bei 5.5 Sekunden definitiv beendet, denn der Rest ist Rauschen:
wald00.mp3
Tatsächlich resultiert ein Klangtypus, wie man ihn durch einen Impuls
hervorrufen kann, beispielsweise durch das Zusammenschlagen zweier Bretter
- wie es Michael Zacherl kurz zuvor demonstriert hatte. Unüberhörbar
ist ein Anteil des originalen sweeps, der darin noch enthalten ist.
Wie kommt der zustande ? Unsere Vermutung ist die: Im Freifeld gibt es
immer Luftbewegungen, ein Grundrauschen ist stets vorhanden. Die Korrelation
(auch wenn sie formal, mathematisch ganz anders gelöst wird) vergleicht
im Grunde jeden Moment des einen Klanges mit jedem Moment des anderen
und findet heraus, inwieweit der eine Klang im anderen enthalten ist,
wodurch er sich aus diesem eliminieren lässt. Möglicherweise
findet sich der originale sweep in dem diffusen Grundrauschen wieder.
Kein Problem.
Vor einigen Monaten habe ich mich wiedereinmal mit digitalen Filtern beschäftigt
und einen Filtertypus entwickelt, mit dem sich erstaunlich gute, präzise
und regelbare Filterungen durchführen lassen (ceir - 'complex exponential
impulse response' - davon ein andermal).
Darunter auch ein variables Notch-Filter, mit dem sich gezielt und mit
einstellbarer Schärfe einzelne Frequenzen unterdrücken lassen.
(Der Filtertypus ist in VASP und in AMP bereits implementiert, aber noch
nicht ausgefeilt und daher noch nicht dokumentiert). Jedenfalls kann man
mit so einem variablen Notch-Filter den Verlauf des sweeps nachzeichnen
und Reste davon somit weitgehend eliminieren.
wald01.mp3
Damit könnten wir zufrieden sein. Das Endergebnis klingt passabel
und auch in der Anwendung als Hallfunktion schafft es einen schönen
Raum.
* * *
Aber, ist das wirklich der 'Eigenklang' des Waldes - wenigstens von einer
Stelle aus ??
Foto: G.Rabl
Wir haben keinen Vergleich, denn diesen Eigenklang selbst haben wir
nicht. Wir gewinnen ihn nur durch solche oder ähnliche Methoden.
Aber die Methode kann man überprüfen.
* * *
Ich generiere mir ein simples Modell eines Raumklanges durch weisses Rauschen,
überlagert von einer Hüllkurve (attack-decay), die 1.5 Sekunden
ansteigt und 3.5 Sekunden ausklingt. Dann generiere ich mir den besagten
sweep in einem zweiten buffer und 'verhalle' die beiden mittels Convolution
A:
load.noise
shape.attdec 1.5sec,3.5sec
FFT
B:
gen.sweep 38hz,19000hz,20sec
FFT
vmul
FFT-
Nun müsste durch Anwendung der Korrelations-Methode, der originale, diesmal synthetische Raumklang wieder herauskommen. Das obige VASP-script fortgesetzt:
(B:)
FFT
A:
load.sweep 38hz,19000hz,20sec
mirr
FFT
vmul
FFT-
Das Resultat hat offensichtlich denselben Verlauf, wie die originale
Hallfunktion, kein Vorecho, ist aber erstaunlich dumpf. Wie das ? - Ein
Blick auf die Spektren zeigt es. Klar, wir haben einen exponentiell ansteigenden
sweep verwendet. Das schien auch mir auf den ersten Blick plausibel. Die
Frequenzänderung durcheilt
in gleichen Zeiten gleiche Intervalle. Das heisst aber, die spektrale
Dichte nimmt nach oben hin kontinuierlich ab und es entsteht ein Frequenzgang
wie bei rosa Rauschen, mit einem Höhenabfall
von 3db/Oktave ! Das ist das Spektrum des sweeps:
Also noch eine Frequenzgangkorrektur an geeigneter Stelle. Wenn der Frequenzgang,
den wir uns eingehandelt haben 'pink' ist (3db Höhenabfall
pro Oktave), dann ist die passende Korrektur 'blue' (3db Höhenanstieg).
In VASP gibt es diese Standards sowohl als Rauschen (nois.pink, noise.blue),
als auch als Filter (eir.pink, eir.blue) und als spektrale Hüllkurven
(env.pink, env.blue ....).
Der ganze Prozess mit Korrektur:
A:
sfload original_sweep.wav "lade
den originalen sweep in A"
mirr "Zeitspiegelung"
FFT "Fouriertransformation"
B:
sfload raumaufnahme.wav "lade
die Raumaufnahme in B"
FFT "Fouriertransformation"
vmul "spektrale Multiplikation"
env.blue "Frequenzgangkorrektur"
FFT- "Ruecktransformation"
shape.fall 5.5sec "begrenzende
Hüllkurve"
opt "optimaler Pegel"
wald02.mp3
(Jetzt hört
man auch das Zirpen der Grillen deutlich, die keinen Respekt vor unserer
Aufnahme gehabt haben ...)
Wichtig: Die Buffer-size muss so gross
gewählt werden,
dass jeder der beiden Klänge
höchstens den
halben Buffer füllt.
Ansonsten entstehen verschachtelte zeitliche Spiegelungen, die nicht mehr
zu trennen sind. (In diesem Falle size=21,
ca. 48 Sekunden insgesamt)
Wenn man genau hinhört,
oder den Klang transponiert, dann bemerkt man vor allem am Anfang immer
noch Modulationen mit dem sweep.
Wie sich das bei einer Freifeldaufnahme restlos beseitigen lässt,
weiss ich nicht. Nichtsdestoweniger betrachte ich unser Aufnahmeverfahren
mit nachfolgender Korrelation als ein gelungenes Experiment, um an Klänge
heranzukommen, die gleichsam in der Landschaft und in den Gebäuden
schlummern. Unzählige,
an jeder Stelle im Raum anders !
Natürlich lassen
sie sich trivial für
'Faltungshall' verwenden. Aber genausogut können
wir sie als eigenständige
Klangtypen betrachten und damit komponieren. Ein Stück
nur mit Raumklängen
! Allein die Vorstellung davon lässt
mich schon aufhorchen ...
* * *
Unser Verfahren ist gut genug zur Materialgewinnung. Material braucht
nicht perkekt zu sein. Dennoch lässt
sich vielleicht einiges verbessern oder vereinfachen. Die Frequenzgangkorrektur
ist sicher eine Schwachstelle. Möglicherweise
lässt sich das
im Ansatz schon vermeiden.
Ein Vorschlag wäre
ein linearer sweep, anstelle eines exponentiellen. Das hört
sich vermutlich weniger beeindruckend an, aber der Frequenzgang wäre
somit auch linear.
Eine zweite Möglichkeit
wäre, in den
exponentiellen sweep gleich eine Amplitudenkorrektur einzubauen, sodass
der Ton nach oben hin proportional lauter wird. (Eine Belastungsprope
für den Lautsprecher,
allerdings).
Um damit weiter experimentieren zu können
habe ich die Funktionen, die in VASP auf andere Weise schon enthalten
waren etwas bequemer ausgeführt:
gen.sweep.exp
gen.sweep.lin
gen.sweep.expcorr
sweepnotch.exp
sweepnotch.lin
Ein exponentieller sweep (3 Argumente: Startfrequenz,
Zielfrequenz und Dauer), ein linearer, ein exponentieller mit Pegelkorrektur
sowie die dazugehörigen
Notch-Filter für
den exponentiellen und für
den linearen sweep.
Das Ideal, den Raumklang mit einem 'Dirac-Impuls' anzuregen, in dem alle
Frequenzen gleichmässig
enthalten sind, ist schöne
Theorie. Selbst wenn man ihn herstellen und an die Luft weiterleiten kann,
müsste er extrem
stark sein. Selbst ein Pistolenschuss hat vermutlich zuviel eigenen Klangcharakter.
Trotzdem sollte man diese Methode im Auge behalten. Mit einer mechanischen
Vorrichtung, die einigermassen verlässlich
einen immer gleichen, lauten Impuls (Knall) erzeugt, kann man mit einem
tragbaren Recorder überall
Raumklang aufnehmen. Vor allem in grösseren
Raumsituationen, in denen die Erstreflexionen erst nach ein paar Millisekunden
ankommen, lässt
sich der auslösende
Knall leicht von der Impulsantwort trennen. Zur Materialgewinnung könnte
das genügen.
Demnächst ein
paar Überlegungen,
wie man einen so gewonnenen Raumklang in realtime anwenden könnte.
akueto
G.R.
(c) Günther
Rabl 2010
Nachtrag:
Jetzt hab ich doch nachgeschaut, wie das andere machen.
"Machen" ist übrigens
gut ! - Formeln, Formeln, Formeln ...
(Selbst über so eine einfache Sache, wie
einen linearen sweep, lassen sich zwei Seiten Formeln schreiben).
Das schreckt natürlich Leute ab, die es nicht so mit der Mathematik
haben - und alle anderen kann es nur nerven, immer wieder über Varianten
von demselben Integral stolpern zu müssen.
Es muss da eine Art typographischer Kleidungsvorschrift geben: Das Integralzeichen
ist die Krawatte der wissenschaftlichen Ernsthaftigkeit.
Und stimmen die Formeln denn überhaupt
?? ...
Seltsamerweeise wird das Verfahren, wie wir es durchgeführt haben,
in mehreren papers als 'Autokorrelation' bezeichnet. Autokorrelation ist
aber die Faltung (Verhallung, wenn man so will) eines Klanges mit seiner
eigenen Zeitumkehrung. Wir haben es aber mit zwei verschiedenen Klängen
zu tun, von denen der eine bloss irgendwie im anderen enthalten ist. Korrelation
genügt.
Die Problematik des Frequenzganges eines exponetiellen sweeps ist bekannt.
Natürlich nennt die Hälfte aller papers den sweep 'logarithmisch',
also eigentlich das gerade Gegenteil.
[Dieses ewige quis pro quo von 'exponentiell'
und 'logarithmisch' kann mich zur Verzweiflung bringen ! Sie kommt daher,
dass man irgendwann einmal gelernt hat, die Gehörswahrnehmung sei
ihrem Wesen nach 'logarithmisch'. Ist natürlich auch nur die halbe
Wahrheit, aber es meint, dass Tonhöhenreihen exponentiell sein müssen,
damit wir sie als linear empfinden, weshalb man solche Reihen oder Verläufe
dann logarithmisch nennt (?). Wo die Verwechslung zu befürchten ist,
verwende ich daher lieber die Bezeichnung 'proportional', wie zB. bei
der Steuerung der Parameter in AMP.]
Auch die Problematik eines linearen sweeps ist bekannt. (Er durchläuft
in gleichen Zeiten gleiche Frequenzabstände, nicht Tonhöhenintervalle).
Sein Frequenzgang wäre zwar perfekt linear, aber die tiefen Frequenzen
werden dabei so schnell durchlaufen, dass sie unter Umständen den
Raum nicht mehr richtig anregen können. Das dürfte schon ausprobiert
worden sein.
Auch der Vorschlag einer Amplitudenkorrektur des exponentiellen sweeps
ist zu finden. Hat das schon jemand ausprobiert ? Es könnte nämlich
sein, dass dabei die tiefen Frequenzen wiederum so leise sind, dass sie
den Raum ebenfalls nicht anregen können.
In der Praxis nämlich.
Die Vorechos werden tatsächlich den Verzerrungen im Übertragungsweg
angelastet. Aber gilt das auch für Verzerrungen ungeradzahliger Ordnung
? (Meines Erachtens nicht).
Das alles und mehr müsste man einfach ausprobieren - im Modellfall
wie in der Anwendung. Die Praxis beginnt bereits, wo die Theorie noch
lange nicht aufhört. (Siehe obiges Motto 2)