11.3 With Konstrukt: Der Verzerrungseffekt

Sonic Pi bietet mit Synths und Samples bereits eine große Anzahl von Klängen an. Manchmal sind sie aber nicht das was man erwartet. Mit Effekten kann man nun diese Klänge modifizieren. Typische Effekte, die auch im Alltagsleben außerhalb der Musik vorkommen, sind Hall und Echo. Hall entsteht in einem großen Raum, wenn der Ton sehr schnell von den Wänden zurück geworfen wird. Das Echo entsteht durch den gleichen Mechanismus, allerdings sind die Flächen, an denen der Ton reflektiert wird, viel weiter entfernt, zum Beispiel Felswände im Gebirge.

Sonic Pi macht Effekte durch den Befehl <with_fx> verwendbar. Wie in Code 28 zu sehen ist, wird <with_fx> dabei durch einen Block verwenden. Er beginnt mit <with_fx: Effektname do> und endet mit<end>.

Welche Effekte gibt es? In Sonic Pi sind die Effekte in dem „Fx“-Tab der Hilfe erklärt, siehe rechts. Jeden Effekt kann man über Parameter modifizieren.

Eine komplette Beschreibung des Effekts (und auch jedes anderen Effekts) ist in der Hilfe zu finden, siehe rechts. Die Hilfe ist so aufgebaut:

1. Alle Parameter des Effekts werden erwähnt

2. Ein kleines Beispiel ohne Parameter

3. Eine kurze Beschreibung des Effektes: was bewirkt er

4. Die Version, in der der Effekt eingeführt wurde

5. Eine detaillierte Beschreibung aller Parameter mit dem Bereich, in dem der Parameter variiert werden kann und dem Default-Wert. Das ist der Wert, den der Effekt benutzt, wenn der Parameter nicht von uns beim Aufruf vorgegeben wird.

Hier soll nur ein Effekt mit seinen Parametern erklärt werden. Dabei geht es gar nicht mal um den Effekt an sich, sondern um das Verstehen der Dokumentation. Denn diese Art von Doku gibt es für sehr viele Programmiermethoden, nicht nur in Sonic Pi.

Und sie soll hier auch als Beispiel für eigene Dokumentationen dienen

Distortion

„distortion“heißt auf Deutsch Verzerrung und ist ein typischer Gitarreneffekt. Der Ton wird irgendwie unsauber/schmutzig was sich zwar erst einmal negativ anhört, es in Wirklichkeit aber nicht ist. Im Code-Editor würde das so aussehen:

with_fx :distortion do
play :g4
end

 

Nun zu den möglichen Parametern von distortion:

amp
Kennen wir schon von dem Befehl „play“. Hier wie da steht „amp“ als Abkürzung von „amplifier“ und bezeichnet die Verstärkung. Werte zwischen 0 und 1 sind möglich. Wie man sich denken kann, bedeutet amp = 0 dass wir gar keine Verzerrung hören werden, während amp = 1 die normale Lautstärke ist, die auch schon voreingestellt ist.

mix
Stellt das Verhältnis des originalen Sounds und des verzerrten Sounds ein. 0 bedeutet, dass nur das original zu hören ist, 1 bedeutet, nur der verzerrte Sound ist hörbar. Die Voreinstellung (default) beträgt 0.5.

pre_amp
Bevor mein Ton in den Verstärker geht (jetzt mal bildlich gesprochen) kann ich die Lautstärke herunter regeln. 0 bedeutet leise, 1 ist laut. Defaultwert beträgt 1

distort
Das ist die Stärke oder der Level der Verzerrung. 0 bedeutet hier wenig, 1 bedeutet viel. Der Defaultwert beträgt 0.5.

Sämtliche Effekte funktionieren also in Sonic Pi auf die gleiche Art und Weise. Immer werden die Töne, die mit einem Effekt gespielt werden sollen, mit dem

with_fx

und

end

Befehl umschlossen. Es lohnt sich nicht unbedingt, die Parameter aller Effekte auswendig zu lernen. Dafür gibt es ja die Dokumentation, die allerdings in Englisch ist. Günstigerweise sind die Werte, die die Parameter annehmen können, ziemlich logisch eingestellt. 0 bedeutet also gar nicht, 1 bedeutet das Maximum, dazwischen bedeuten aufsteigende Werte eine Zunahme der Wirkung.

with_2

################################
# With / Echo
# Hans Gruendel
# 20.08.2015
#
################################

sample :ambi_piano
sleep 2

in_thread do
with_fx :echo do
sample :ambi_piano
sleep 6
end
end

Code 28. With_fx zur Verwendung des Echo-Befehls

with_1