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
.....