ELECTRIC OPRPHEUS ACADEMY
SPILLING THE BEANS #1 HALL
Wenn man die Möglichkeit einer großen, ganzheitlichen
FFT hat und kein realtime-Kontext vorgegeben ist, dann ist Hall eine einfache
Sache. Er beschränkt sich auf die Methode der 'Faltung' (englisch
convolution).
Man benötigt zwei Dinge: den Klang, den man verhallen möchte
und die reine Hallfunktion (Impulsantwort) - ebenfalls ein Klang. Beide
Klänge werden in ihr Spektrum transformiert, die Spektren miteinander
moduliert (sample für sample multipliziert) und das Ergebnis rücktransformiert.
Fertig.
Als VASP-script sieht das so aus:
A:
sfload zuverhallenderklang.wav "lade den Klang in Buffer
A
FFT "Fouriertransformation
B:
sfload raumklang.wav "lade Raumklang in Buffer B
FFT "Fouriertransformation
vmul "multipliziere B mit A
FFT- "Rücktransformation
play
Auf den ersten Blick ist ersichtlich, dass die zwei Komponenten Klang
und Raumklang irgendwie gleichwertig sind. Ob man nämlich Klang A
mit Klang B 'verhallt', oder umgekehrt, läuft auf dasselbe hinaus.
Denn die eigentliche Verknüpfung vmul ist eine Multiplikation und
A*B ist dasselbe wie B*A.
Tatsächlich ist der Prozess 'kommutativ' und es eröffnet sich
die generelle Möglichkeit, beliebige zwei (oder auch mehr) Klänge
auf diese Weise zu verknüpfen. Das Ergebnis wird in der Regel 'räumlich'
wirken. Inwiefern man es als Verhallung im eigentlichen Sinne wahrnimmt,
hängt nur vom Charakter der beiden Komponenten ab.
Damit eine der beiden Komponenten als Raumklang (RK) identifiziert wird,
müssen ein paar einfache Bedingungen erfüllt sein:
1) RK sollte relativ dicht sein, viele Frequenzen enthalten
2) RK sollte einen nicht zu langen, ausklingenden Verlauf haben
3) RK sollte im Verlauf dumpfer werden.
Natürlich könnte man sich damit endlos beschäftigen, sich
in Feinheiten verlieren, die Akustik berühmter Räume nachbilden,
für realtime-Anwendung und mit beweglichen Positionen ....
Wird auch gemacht. Für die experimentelle Arbeit ist aber eher die
Systematik dahinter wertvoll sowie der Aspekt, dass man 'Raum' als integrales
musikalisches Element einbinden kann. Eine ganze Dimension tut sich da
auf !
In diesem Sinn eine grundsätzliche Methode, wie man von einem musikalischen
Motiv einen typischen Raumklang ableiten kann.
Im folgenden Beispiel wird die homogene Dichte durch ein freeze bewirkt;
der Ausklang durch eine Hüllkurve; die Abnahme der hohen Frequenzanteile
durch ein variables Filter. Als VASP-script sieht das so aus:
sfload motiv.wav
FFT
phirand
FFT-
shape.attdec 1.5sec,3.5sec
lprun.fade 6sec
Erklärung:
Den besten und homogensten freeze (mit natürlichem Puls, ohne granulares
Gebröckel) erhält man, indem man die Phasen der einzelnen Samples
im Spektrum durch Zufallswerte ersetzt. Das bewirkt die Funktion phirand.
Alle Frequenzen bleiben erhalten, sind aber von jeder nachvollziehbaren
zeitlichen Bindung gelöst, eben ein freeze. (Es gibt sogar eine Möglichkeit,
das Panorama aller Frequenzen zu bewahren, wenn es sich um einen Stereoklang
handelt, nämlich durch die Funktion xphirand).
shape.attdec appliziert eine Hüllkurve mit einem logarithmischen
Anstieg (attack) und einem exponentiellen Ausklang (decay), in diesem
Fall 1.5 und 3.5 Sekunden.
lprun ist ein bewegliches Tiefpassfilter (lowpass), von dem es verschiedene
Modi gibt. Der Modus .fade ist für diesen Zweck der geeignetste.
Die cutoff-Frequenz des Filters beginnt mit der Grenzfrequenz und sinkt
in der angegebenen Zeit nach einer Entfernungsfunktion auf 40hz.
* * *
Soweit einmal die Basis. Möglicherweise lässt sich soetwas in
anderen Programmen eleganter formulieren, ohne, dass man die einzelnen
Schritte beachten muss: 'Verhalle Dings mit Dangs'.
Nur: Von jeder Stelle in diesem detaillierten Prozess führen Wege
in ganz andere, abenteuerliche Richtungen.
Anstelle eines freeze, kann man auch andere, mehr strukturierte Nivellierungen
einführen; die einfache Hüllkurve lässt sich durch andere,
analytisch gewonnene ersetzen; die Verknüpfung muss keine einfache
Modulation sein, auch da gibt es Alternativen. Und zuguterletzt ist die
FFT zwar die wichtigste Transformation, um in eine andere Ebene (domain)
zu gelangen, aber keineswegs die einzige.
akueto
G.R.
(c) Günther Rabl 2010