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