ELECTRIC OPRPHEUS ACADEMY
SPILLING THE BEANS #10 ALF
Betrachtet man ein Audiosignal mit zwei Kanälen als complex (egal, ob es sich tatsächlich um complex generiertes Material handelt, oder um eine Stereoaufnahme oder Abmischung) - dann kann man es grundsätzlich als ein Gemisch von positiven (linksdrehenden) und negativen (rechtsdrehenden) Kreisfrequenzen auffassen. Im Spektrum zeigen sich die positiven Frequenzen in der linken Hälfte, die negativen, an der Grenzfrequenz gespiegelt, in der rechten Hälfte.
Das ist das totale Spektrum der Stereoaufnahme
einer vorbeimarschierenden Blasmusikkapelle, die ich in den Siebzigerjahren
von meinem Fenster aus mit zwei Mikrofonen gemacht habe. (Sie wird uns
noch öfters unterkommen).
Natürlich ist
auch das Spektrum complex (grau - Realteil, rot - Imaginärteil).
Man sieht links den Anteil an positiven, rechts gespiegelt dazu den Anteil
an negativen Frequenzen (in linearer Darstellung!). Selbst in dieser groben
Grafik (ca. 1/2 Million samples auf 512 pixels Breite) erkennt man auf
den ersten Blick, dass die zwei Hälften nicht genau symmetrisch sind.
Offensichtlich wird das, wenn man einen Ausschnitt von 10 Millisekunden
der Originalaufnahme (time-domain) in xy-Darstellung betrachtet:
Waagrecht: linker Kanal (Realteil), senkrecht:
rechter Kanal (Imaginärteil).
Wäre das Signal in beiden Kanälen identisch, würde
die Bewegung nur in der Diagonale pendeln. So aber sieht man einen etwas
geringeren Bewegungsanteil auch in Richtung der anderen Diagonale (links
oben / rechts unten). Rundfunktechniker würden
sagen: eine akzeptable, 'mono-kompatible' Stereoaufnahme.
(Man muss sich diese Grafik in Bewegung vorstellen! Ein VASP-script dazu
siehe unten).
Nur die positiven Frequenzen aus diesem Ausschnitt herausgenommen, sieht
in der xy-Darstellung so aus:
Man sieht sehr schön die Bewegung im
Nullpunkt beginnend, sich links herum (gegen den Uhrzeigersinn) in 'Pirouetten'
entwickeln. Die Pirouetten resultieren aus den Überlagerungen
zahlreicher linksdrehender Kreisbewegungen unterschiedlicher Frequenz
und Amplitude.
Dazu das Gegenstück der rechtsdrehenden Frequenzen:
Beide zusammen ergeben in Summe die xy-Bewegung des ursprünglichen
Stereosignales, wie sie in der ersten xy-Darstellung abgebildet ist.
[Zwischenfrage: Wie hören
sich die jeweis an ? - Unspektakulär. Man hat, wie bei jedem complex
aufbereiteten Klangmaterial schon einen diffusen stereo-Eindruck, der
aber kein räumliches Abbild vermittelt]
* * *
Wie gelangt man nun zu so einer Aufspaltung ?
In einem zeitfreien Kontext ist das einfach: Man setzt jeweils eine Bufferhälfte
des Spektrums null und transformiert das Ganze wieder zurück.
Als VASP-script:
sfload stereorecording.wav "lade
Stereoaufnahme
FFT "ganzheitliche
Fourier Transformation
clear.u "lösche
obere (in der Grafik = rechte) Bufferhälfte
FFT- "Rücktransformation
Aber im stream, in realtime ?
Im Winter 2003/04 habe ich eine Methode erfunden, mit der die Aufspaltung
durch eine Kombination von Allpassfiltern auch im stream möglich
ist, ohne dass man eine spektrale Ebene bemühen
muss. In VASP ist sie von da an implementiert als 'alias filter' alf.
Auch die complexen Routinen in AMP sind seither standardmässig damit
ausgestattet.
Zum Einsatz kam sie erstmalig 2005 bei der Bearbeitung eines Wienerliedes,
zusammen mit Gilbert Handler im Rahmen unseres Programmes 'Relativitätstherapie'.
Ein Ausschnitt
rosinstall-downshift7000alf.mp3
Das Wienerlied 'Stellts meine Ross in Stall' kennt in Österreich
jeder und zahllose Touristen hören es alljährlich beim 'Heurigen'.
Der Auschnitt ist ein Teil der originalen Zither-Begleitung, dessen Frequenzen
aber um ca. 7000hz nach unten verschoben wurden und die Spiegelfrequenzen
mit alf entfernt.
Dass da überhaupt noch soetwas wie Melodie zu hören ist und
nicht bloss die Geräusche der Anklänge, spricht sehr für
die Qualität dieses Volksinstruments. Denn alles, was in diesem Beispiel
zu hören ist, lag ursprünglich über 7000hz! (Das Hintergrundrauschen
erklärt sich daraus, weil der Pegel natürlich extrem angehoben
werden musste).
Hier der betreffende Ausschnitt des Originals (gespielt von Helmut Burtscher):
rosinstall_original.mp3
Bei Sprache beispielsweise wäre schon ab 3000hz downshift nicht mehr
viel Sprachmelodie drin:
sus-downshift3000alf.mp3
* * *
Generiert man Frequenzen, die über der Grenzfrequenz der digitalen
Rasterung liegen (halbe samplerate), dann werden diese bekanntlich wieder
nach unten gespiegelt - das berühmt-berüchtigte 'aliasing'.
Ist die Generierung oder Bearbeitung aber complex, erkennt man sie an
der geänderten Drehrichtung und kann sie mit der beschriebenen Methode
auch im Nachhinein eliminieren.
Neben den bekannten und gefürchteten Spiegelungen an der Grenzfrequenz
gibt es aber ebenfalls Spiegelungen am Frequenz-Nullpunkt. Die sind weniger
bekannt, weil sie nur in einem Modulationsprozess auftreten können,
dafür aber wesentlich penetranter! Dasselbe Sprachbeispiel ohne nachgeschaltetem
alias-Filter:
sus-downshift3000.mp3
Das Original (Fragment eines ungarischen Gedichtes):
sus.mp3
* * *
Erstaunlicherweise gibt es solche Spiegelungen am Nullpunkt auch in der
Analogelektronik, wo die Schaltungen - in der Regel nur intern - complex
arbeiten, zum Beispiel bei besagtem frequency-shift. Einen analogen Shifter
gab es nämlich schon lange (Harald Bode / Robert Moog 1971). Mit
einer erweiterten Schaltung wäre so ein alias-Filter grundsätzlich
auch analog möglich gewesen.
Der Aufwand an Schaltungstechnik wäre aber nach dem damaligen Stand
der Technik jenseits des finanziellen Rahmens eines erschwinglichen Effektgerätes
gewesen - was ja bereits beim einfachen Frequencyshifter ein Problem war.
Der nächste Newsletter widmet sich den Einsatzmöglichkeiten
eines solchermassen erweiterten frequency-shifts.
akueto
G.R.
(c) Günther Rabl 2011
Nachtrag:
Wolfgang Musil hat den Shifter mit alias-Filter als MAX-patch
nachgebaut und wir stellen ihn im Rahmen des Workshops zur allgemeinen
Verfügung.
Christian Teuscher hat vor ein paar Jahren einige meiner
complexen Routinen in ein VST-plugin integriert. Auch das steht zur Verfügung.
---------------------------------
VASP-script für die oben beschriebene Versuchsanordnung:
sfload stereorecording.wav
cut 1sec,1.01sec "Ausschnitt von 10ms - könnte
auch anders sein
bevz 10s "Schrägschnitt (bevel) von 10 samples
alf "filtert die positiven Frequenzen heraus
stretch 1000 "1000-fache Vergrösserung
für die Betrachtung
view. "hotkey 'b' für
xy-Betrachtung
"dasselbe für
die negativen Frequenzen:
sfload stereorecording.wav
cut 1sec,1.01sec
bevz 10s
alf-"filtert die negativen Frequenzen
heraus
stretch 1000
view.
Interessant ist vielleicht noch ein anderer Modus alf.split, bei dem der linke Kanal den Realanteil der positiven Frequenzen erhält, der rechte Kanal den Realanteil der negativen. Auf diese Weise kann man die Panorama-Zuordnung der Frequenzen praktisch endlos in Serie abwandeln:
sfload stereorecording.wav
alf.split
ovp
alf.split
ovp
alf.split
.....