ELECTRIC OPRPHEUS ACADEMY
SPILLING THE BEANS #13 GREENSPEC
In den vergangenen Jahren waren sogenannte 'freezes' grosse Mode. Vor
allem in der Instrumentalmusik mit Live-Elektronik gab es ein Verlangen
danach, Töne und Frequenzen, die einmal auftreten, bis in alle Ewigkeit
(oder zumindest für eine grössere Zeitspanne) stehen zu lassen,
'einzufrieren'.
In einem non-realtime Kontext ist ein totales freeze, wie wir wissen,
ja kein Problem: random-Phasen im Spektrum.
Wenn wir in der Zeitebene unter Beibehaltung der Amplituden alle Phasen
durch random-Werte ersetzen, dann bleibt die rhythmische Struktur erhalten,
aber alle Frequenzen sind nivelliert - wie eine Modulation mit weissem
Rauschen.
Das Original (wiedereinmal Oskar Werner):
ow_orig.mp3
und dasselbe mit random-Phasen:
ow_phirand.mp3
Wenn diese Methode in der Zeitebene angewendet alle Frequenzen nivelliert,
dann muss sie, im Spektrum angewendet, alle Zeitpunkte nivellieren. So
ist es auch:
ow_specphirand.mp3
Alle Frequenzen, die in dem kurzen sample vorkommen, bleiben in ihren
Amplituden erhalten, jeder zeitliche Zusammenhang und somit auch die rhytmische
Struktur ist aufgelöst, eben ein freeze.
Noch deutlicher wird das, wenn wir nur einen kleinen Ausschnitt davon
nehmen, zum Beispiel das 'a' in "gelassen":
ow_cut_specphirand.mp3
schwarz: das Spektrum des Originals
blau: das Spektrum von ow_phirand.mp3 (wie weisses Rauschen)
rot: das Spektrum des Vokals 'a'
Ein sauberer Klang, ohne microloops, mit einem natürlichen Puls und
beliebig lang, je nachdem, wie gross wir den buffer wählen (VASP
script 1 im Anhang). Alledings wirkt der Effekt in beide Zeitrichtungen,
jede Frequenz ist vom Anfang bis zum Ende hörbar. Das ist möglicherweise
nicht das, was sich die Komponisten und Live-Elektroniker vorstellen.
Eine Frequenz sollte ab dem Moment, wo sie in Erscheinung tritt 'eingefroren'
werden, nicht auch schon vorher.
Dazu müssen wir einen anderen Ansatz wählen und somit wären
wir beim Thema: 'greenspec'.
Die Benennung habe ich aus einer sehr schönen Seite entlehnt, auf
der verschiedene Arten von farbigem Rauschen besprochen werden, 'The Colors
of Noise'. Green noise wird darin beschrieben als das Spektrum, das entsteht,
wenn man die Klänge dieser Welt über einen langen Zeitraum akumuliert.
Ein interessanter Gedanke (man muss sich ja nicht gleich das Grundrauschen
des Universums davon erwarten ...).
Der spektrale Akumulator greenspec, ein Kernmodul in
AMP, hat mehrere modi. Einer davon ist 'freeze'. Jede Frequenz, die einmal
auftritt, bleibt mit ihrer maximalen Amplitude stehen:
ow_greenspec_freeze.mp3
Andere modi wäeren 'heap' (dabei werden auftretende Frequenzen ständig
weiter angehäuft und erst, wenn Stille eintritt, bleibt der letzte
Zustand als freeze stehen); oder 'avg' (average - es wird ständig
eine Durchschnittsamplitude ermittelt; wenn Stille eintritt, klingt das
letzte freeze langsam ab). Sehr interessant auch 'logavg' (ein logarithmischer
Mittelwert):
ow_greenspec_logavg.mp3
Eine Art Eigenhall, ohne Hallfunktion, der sich aus dem Klang selber ergibt.
(AMP script 1 und 2 im Anhang)
greenspec.freeze entspricht dabei am ehesten der Vorstellung eines freeze
in der Live-Elektronik. Jede Frequenz, die einmal auftritt, bleibt, wenn
man nichts unternimmt, bis ans Ende aller Zeiten stehen. Das wirft natürlich
die formale Frage auf: Wie kommt man da wieder raus ? (Netzstecker ziehen
??)
Zu dem Zweck gibt es in greenspec eine Reihe von Funktionen, die dieses
freeze wieder - mehr oder weniger schnell - abbauen können. Sie sind
in Parametern einstellbar:
decay - eine kontinuierliche exponentielle Abnahme
damp - Abnahme nach einer Filterfunktion
feaze - Ausdünnung des Spektrums
focus - Fokussierung auf die staerkste Frequenz
Diese Abklingfunktionen können auch alle gleichzeitig aktiviert sein.
Und, weil wir schon einmal im Spektrum sind, sind auch einige Standards
eingebaut:
pitch - proportionale Tonhöhenveränderung
slope - Intervalldehnung
mirr - proportionale Spiegelung
Hier einve Variante mit einem decay von 5sec und einem damp-Faktor von
0.8 (1 wäre unverändert):
ow_greenspec_damp.mp3
Eine Ausdünnung durch feaze:
ow_greenspec_feaze.mp3
(AMP scripts 3 und 4 im Anhang)
Zum Abschluss noch ein etwas längeres Beispiel, in dem ausser decay
und feaze auch noch eine Intervalldehnung slope eingeschaltet ist. Der
gewählte Dehnungsfaktor bewirkt, dass unter anderem jede Oktave im
Spektrum zu einer Quart+Oktave wird, jede Quint zu einer kleinen Septim,
jede Quart zu einer Quint. (Solche spektralen Operationen werden Thema
eines der nächsten Newsletters sein).
ow_greenspec_slope.mp3
(AMP script 5 im Anhang)
akueto!
G.R.
------------------------------------- VASP script 1
size=17 "bufferdimension
2^17=131072 samples, oder 2.97sec
sfload gelassen.wav "lade
soundfile in buffer
clear.y "loesche rechten
kanal des stereo (complex) buffer
rmo
"remove offset (ein subsonic filter)
ovp "optimiz
(normalize), view (kontrollgrafik) & play
sfstore ow_orig.wav (m,z) "schreibe inhalt in soundfile
bbu "buffer
backup
FFT; opt; viewspec "FFT, optimize,
spectrum grafik
bbu% "restore
buffer (siehe bbu)
phirand "ersetzt phasen durch
random-werte
clear.y
ovp
sfstore ow_phirand.wav (m,z)
FFT;
opt "optimize
(anderswo heisst das 'normalize')
viewspec+ (blue) "spectrum grafik
dazu (blaue kurve)
bbu%
FFT "FFT
phirand "random phasen,
diesmal aber im spektrum
FFT- "inverse
FFT
clear.y; bevz 35ms "fadein/fadeout
an nullstellen (bevel)
ovp
sfstore ow_specphirand.wav (m,z)
bbu%
clear.y
isol 0.2sec,0.28sec; bevz 35ms "isoliere
ausschnitt von bis
ovp
FFT
opt
viewspec+ (red)
phirand
FFT-
clear.y; bevz 35ms
ovp
sfstore ow_cut_specphirand.wav (m,z)
------------------------------------- AMP script
1
i1=gelassen.wav (m)
k1=greenspec.freeze (m,*i1,dim=4000)
out=ow_greenspec_freeze.wav (m,*k1,opt)
seg=1
dur: 5
fo: 0.1
* input scanner 1 verwaltet den soundfile (mono)
* kernmodul 1 ist greenspec.freeze (mono, patch ist input scanner 1, granularer
buffer mindestens 4000 samples, also 4096)
* output soundfile (mono, patch ist kernmodul 1, optimier ergebnis im
pegel)
* 1 sequencer segment
* prozess duration 5 sekunden
* fadout am ende 0.1 sekunden
------------------------------------- AMP script 2
i1=gelassen.wav (m)
k1=greenspec.logavg (m,*i1,dim=4000)
out=ow_green_logavg.wav (m,*k1,opt)
seg=1
d: 5
fo: 0.1
------------------------------------- AMP script 3
i1=gelassen.wav (m)
k1=greenspec.freeze (m,*i1,dim=4000)
out=ow_greenspec_damp.wav (m,*k1,opt)
seg=1
d: 5
fo: 0.1
k1.decay: 5 "decayzeit
parameter von kernmodul 1
k1.damp: 0.8
"daempfungs parameter (1 waere ungedaempft)
k1.direct: 0.5 "direktanteil
des modul-inputs (i1)
------------------------------------- AMP script 4
i1=oskarwerner.wav (m)
k1=greenspec.freeze (m,*i1,dim=4000)
out=ow_greenspec_feaze.wav (m,*k1,opt)
seg=1
d: 10
fo: 0.1
i1.pos: 1.2
k1.decay: 10
k1.feaze: 4 "feaze
parameter von k1 (spektrale zerfaserung)
k1.feeddur: 6.8 "begrenzt den input von
k1 auf 6.8sec
k1.direct: 0.5
------------------------------------- AMP script
5
i1=oskarwerner.wav (m)
k2=rmo (m,*i1)
k1=greenspec.freeze (m:s,*k2,dim=4000) "mono
auf stereo
out=ow_greenspec_feaze.wav (2:2,*k1,opt) "stereo
auf stereo
seg=1
d: 71
fo: 0.1
i1.pos: 1.25
k1.decay: 30
k1.feaze: 2
k1.slopecenter: 300 "zentrum
für intervalldehnung
k1.sloperate: 1.415 "faktor
für intervalldehnung
k1.direct: 2