Die Programmoberfläche von Sonic Pi

Sonic PI hat eine sehr einfache Oberfläche zum Programmieren von Musik. Schauen wir sie uns einmal genauer an.

Sonic Pi Interface

A. Wiedergabe-Steuerung

Mit diesen pinkfarbenen Buttons kannst Du Klänge abspielen und stoppen. Der Ausführen-Button startet den Code im Editor, Stopp hält den ablaufenden Code an, Speichern schreibt den Code in eine Datei und Aufnehmen nimmt den gerade laufenden Sound (in einer WAV-Datei) auf.

B. Editor-Steuerung

Diese orangen Knöpfe erlauben es Dir, den Code-Editor zu manipulieren. Mit den Size + und Size - Knöpfen kannst du den Text vergrössern oder verkleinern.

C. Information und Hilfe

Die blauen Buttons bieten Dir den Zugriff auf Informationen, die Hilfe und die Voreinstellungen. Der Info-Button öffnet ein Fenster mit Informationen über Sonic Pi selbst und wo Du mehr Informationen und Hilfe von anderen findest. Der Help-Button zeigt/verbirgt das eingebaute Hilfesystem (F) und Prefs zeigt/verbirgt das Fenster, wo Du einige grundsätzliche Einstellungen regeln kannst.

D. Code-Editor

In diesem Bereich schreibst Du Deinen Code, komponierst Du Deine Musik und führst sie später auf. Es ist ein einfacher Texteditor, in dem Du Code eingibst und bearbeitest; so eine Art sehr einfache Textverarbeitung wie Word oder Google Docs. Der Editor färbt bestimmte Begriffe automatisch ein, je nachdem, welche Bedeutung sie innerhalb des Codes haben. Am Anfang ist das vielleicht ein wenig merkwürdig, aber Du wirst es bald nützlich finden. Zum Beispiel erkennst Du Zahlen sofort daran, dass sie blau eingefärbt sind.

E. Einstellungen

Du kannst verschiedene Einstellungen von Sonic Pi verändern, wenn Du den Prefs-Button drückst. Einige davon sind z.B.: Die Ausgabe von Mono-Ton, der Tausch der Stereokanäle, die Ausführlichkeit des Protokolls. Auf dem Raspberry Pi kannst Du hier auch noch die Lautstärke und den Ausgabekanal für den Ton auswählen.

F. Protokoll-Fenster

Wenn Dein Code abläuft, siehst Du im Protokoll-Fenster, was das Programm gerade tut. Standardmäßig siehst Du eine Nachricht für jeden erzeugten Klang und die exakte Zeit, wann der Klang ausgelöst wurde. Bei der Suche nach Fehlern kann das sehr hilfreich sein und Du verstehst schneller, was Dein Code macht.

G. Hilfe-System

Das Hilfe-System im unteren Bereich des Programmfensters ist einer der wichtigsten Teile von Sonic Pi. Du kannst es ein- und ausblenden, wenn Du den blauenHilfe-Button klickst. Es zeigt Hilfe und Informationen über alle Aspekte von Sonic Pi, einschließlich dieses Tutorials, einer Liste der mitgelieferten Synths, Samples, Beispiele, Effekte (Im Englischen wird der Begriff Effekte manchmal lautmalerisch mit FX (“ef-eks”) abgekürzt; FX bezeichnet also die Klangeffekte in Sonic Pi.) sowie eine komplette Liste aller Funktionen, die Sonic Pi zum Coden von Musik bereitstellt.

H. Oszilloskop

Das Oszilloskop kann dir die Töne die Du hörst, anzeigen. Du kannst leicht erkennen, dass die Sägezahnwelle wie eine Säge aussieht und der Beep wie eine kurvige Sinus-Kurve. Du kannst auch den Unterschied zwischen lauten und leisen Tönen anhand der Größe der Linien erkennen. Es gibt drei Felder, mit denen Du spielen kannst. Standardmäßig ist es ein kombiniertes aus dem linken und rechten Kanal, es gibt ein Stereo-Oszilloskop das für jeden Kanal einen eigenen Bereich anzeigt. Zu guter Letzt gibt es die Lissajous-Figur, sie zeigt Dir die Phasen-Beziehung zwischen dem linken und rechten Kanal. Damit kann man schöne Bilder aus Klängen malen (https://de.wikipedia.org/wiki/Lissajous-Figur).

F. Protokoll-Fenster

Alle internen und externen Ereignisse (in Sonic Pi “Protokolle” genannt) werden automatisch im Protokoll angezeigt. Sie sind Indikatoren dafür, dass etwas neues Geschehen ist. Betätigst du zum Beispiel einen verbundenen MIDI Kontroller, erscheinen die Bezeichnung des gedrückten Knopfes und des Kontrollers im Protokoll. Unter Ereignissen verstehen wir auch Signale von MIDI Kontrollen, Programmen und Computern welche ebenfalls im Protokoll erscheinen. Außerdem werden auch u.a. manche Funktionen und Schleifen wie live_loop protokolliert. Zudem ist es auch möglich mithilfe der Protokollfunktion cue Einträge ins Protokoll zu machen. In den Kapiteln 10 bis 12 lernst du wie du Protokolleinträge als Trigger für andere Abläufe benutzen kannst.