Sieh Dir mal den folgenden Code an:
play 70
Damit fängt alles an. Leg los, kopiere und setze das in das Code-Fenster oben im Programm ein (der große weiße Bereich unter dem Ausführen-Button). Nun klicke auf Ausführen…
Stark. Klicke den Button nochmal. Und nochmal. Und nochmal…
Wow, verrückt, ich bin sicher, dass könntest Du den ganzen Tag lang machen. Aber halt, bevor Du Dich in einem endlosen Strom von Piepstönen verliert, versuche es mit einer anderen Zahl:
play 75
Hörst Du den Unterschied? Nimm eine kleinere Zahl:
play 60
Also, kleinere Zahlen machen tiefere Töne und größere Zahlen höhere Töne. Es ist wie bei einem Klavier, die Tasten weiter links erzeugen tiefere Töne als die Tasten weiter rechts, die höhere Töne erzeugen.
Es stellt sich heraus, dass das C in der vierten Oktave mit der Zahl 60 bezeichnet wird. play 60
spielt also ein C der vierten Oktave. Um den nächsthöheren Ton auf der Klaviatur zu spielen, musst du 1 zu 60 addieren, also play 61
schreiben. Das wird dann ein Cis (oder C# in englischer Schreibweise) sein. Um ein D, den Ton noch eins weiter, zu spielen, musst du play 62
schreiben.
Keine Sorge, wenn Du keine Ahnung hast, was das alles bedeutet. Mir ging es zu Beginn auch so. Für den Anfang reicht es zu wissen: Kleinere Zahlen bedeuten tiefere Klänge und größere Zahlen bedeuten höhere Klänge.
Eine Note zu spielen kann ganz lustig sein, aber mehrere zur selben Zeit zu spielen ist noch besser. Versuche es:
play 72
play 75
play 79
Wow! Wenn Du also mehrere play
s hinschreibst, spielen sie alle zur selben Zeit. Versuche es selbst - welche Nummern klingen gut zusammen? Was klingt fürchterlich? Experimentiere, erforsche und erkunde selbst.
Einzelne Noten und Akkorde zu spielen macht Spaß - aber wie wäre es mit einer Melodie? Was, wenn Du eine Note nach der anderen spielen wolltest und nicht alle zur selben Zeit? Also das geht ganz einfach, Du brauchst nur ein sleep
zwischen den Noten:
play 72
sleep 1
play 75
sleep 1
play 79
Wie hübsch, ein kleines Arpeggio. Was bedeutet die 1
in sleep 1
? Sie gibt die Dauer von sleep an. Tatsächlich bedeutet das: Schlafe für einen Schlag. Aber vorläufig können wir uns vorstellen, dass es bedeutet: Schlafe für eine Sekunde. Wie könnten wir unser Arpeggio schneller ablaufen lassen? Dazu brauchen wir kürzere Werte für sleep. Wie wäre es z.B. mit der Hälfte, also mit 0.5
:
play 72
sleep 0.5
play 75
sleep 0.5
play 79
Achte darauf, dass die Melodie nun schneller spielt. Probiere das selbst aus, ändere die Zeiten, verwende unterschiedliche Zeiten und Noten.
Versuche einmal Zwischennoten wie play 52.3
und play 52.63
. (Warum 52.2
und nicht 52,3
? Im deutschsprachigen Raum schreibt man solche Zahlen normalerweise mit Komma, der Computer verwendet in seiner Programmiersprache aber die englische Schreibweise. Deshalb verwenden wir für Zahlen mit Nachkommastellen einen Punkt - also 52.3
.) Es gibt überhaupt keinen Grund, nur ganze Zahlen zu verwenden. Spiel damit herum und hab Spaß dabei.
Für die unter Euch, die das Notenschreiben schon ein bisschen kennen (keine Sorge, wenn nicht - Du brauchst es nicht unbedingt) - vielleicht möchtet Ihr eine Melodie mit Notennamen anstelle von Zahlen schreiben, also C oder F#. Auch das geht mit Sonic Pi. Beachte dabei nur, dass es die englische Namensgebung für Notennamen verwendet, dort heißt Fis “F sharp” oder auch “F#” und Fes “F flat” bzw. “Fb”. Weiterhin heißt die Note H im englischen Sprachraum “B”. Du kannst folgendes machen:
play :C
sleep 0.5
play :D
sleep 0.5
play :E
Denk daran, vor den Notennamen einen Doppelpunkt :
zu stellen, sodass dieser sich Pink einfärbt. Die jeweilige Oktave kannst Du als Zahl dahinter schreiben:
play :C3
sleep 0.5
play :D3
sleep 0.5
play :E4
Wenn Du eine Note um einen Halbton erhöhen willst, füge ein s
hinzu, also play :Fs3
. Und wenn Du die Note um einen Halbton verringern möchtest, füge ein b
an, also play :Eb3
.
Jetzt mach was Verrücktes und baue Deine eigenen Melodien.