Musik machen – Früher vs. Heute: Ein gern zitierter Vergleich ist der, dass die ersten Computer etwa so viel Rechenleistung besaßen wie ein aktueller günstiger Taschenrechner. Das gilt unzweifelhaft auch für elektronisches Musik-Equipment und wirft die Frage auf, ob nicht sogar schon ein Raspberry als einfacher Synthesizer oder womöglich auch als Effektgerät für eine Gitarre nutzbar ist.
Midi heißt das Musik-Zauberwort
Das Musical Instrument Digital Interface, kurz Midi, bildet die Grundlage, auf der elektronische Instrumente kommunizieren. Begründet wurde der MIDI-Standard bereits 1982, weshalb die Anforderungen an die beteiligten Geräte zunächst einmal nicht sehr hoch sein müssen, zumindest im Hinblick auf die Datenkommunikation. Denn MIDI basiert auf der Übertragung von Steuerinformationen, beispielsweise über Tonlänge und –höhe, über die zu verwendenden Sounds oder auch über Anschlaghärte bei Keyboard-Tasten. Früher verfügten die meisten PC-Soundkarten über ein entsprechendes Interface, das gleichzeitig auch der Gameport war. Heute erfolgt die Anbindung über USB, womit logischerweise auch der Raspberry dienen kann. Damit erfüllt er schon eine ganz wesentliche Voraussetzung, wobei es noch weiter geht: Denn prinzipiell kann ein Midi-Interface auch über die GPIO-Pins aufgebaut werden. Das ist sinnvoll, wenn man keine Geräte mit integriertem MIDI-2-USB-Konverter besitzt.

Und dann?
Nachdem die Frage nach dem Anschluss geklärt ist, bleibt aber immer noch offen, ob der Raspberry dann auch als Synthesizer fungieren kann. Grundsätzlich lässt sich die Frage mit „Ja“ beantworte. Schließlich kann der Raspberry Pi heutzutage fast jede beliebige Funktion erfüllen . Wobei allerdings relativ viele Softsynth-Projekte speziell für die Himbeere angefangen, aber nie beendet wurden. Eine sehr einfache Lösung ist das Raspberry_MIDI_Synth_2Gb-Image von UnKaiF. Hier wird nur der Raspberry an einen Verstärker angeschlossen, ein USB-(Master)-Keyboard angeschlossen und der Pi von dem Image gebootet. Und schon können von dem Keyboard aus die verschiedenen Soundbänke angesprochen und genutzt werden. Zum Probieren genügt das, aber viel mehr auch nicht. Sequencer-Funktionen etwa bietet dieses System nicht.
Auch interessant: Raspberry Pi als digitalen Bilderrahmen einsetzen

Ab in die Linux-Welt
Immerhin existieren für Linux ein paar ganz brauchbare Lösungen. Eine der populärsten ist Fluidsynth , und das lässt sich auch auf dem Raspberry nutzen. Allerdings nicht ganz ohne Vorarbeit und abhängig vom zu verwendenden Midi-Controller auch nicht ganz ohne zusätzliche Hardware. Zumindest, wenn man Geräte besitzt, die Midi über einen Hosidenstecker übertragen und nicht via USB. Dann muss man sich ein kleines Interface löten, das mit den GPIO-Pins des Raspberry verbunden wird.
Soundkarte hilft beim Musikmachen
Ein weiterer wichtiger Punkt ist die Audio-Qualität. Die ist beim Raspberry nativ nicht so überzeugend und es kann passieren, dass es im „Synthesizer-Betrieb“ zu unerwünschten Latenzen kommt. Um dem vorzubeugen, empfiehlt sich der Einsatz einer USB-Soundkarte. Bei der sollte zumindest darauf geachtet werden, dass sie class compliant ist, weil dann mit sichergestellt ist, dass sie mit dem Standard-Treiber für die Geräteklasse läuft.

Viel Installation nötig
Bevor das Ganze dann endgültig einsatzbereit ist, muss allerdings einiges an Software installiert werden. Es beginnt mit dem ALSA-Soundsystem. Hinweis: USB-Soundkarte und Midi-Keyboard sollten vor dem Booten von Raspbian angeschlossen werden, damit das System sie idealerweise schon erkennt.
sudo apt-get update sudo apt-get install alsa-base alsa-utils
Danach folgt der Jack Audio Connection Kit sowie die grafische Oberfläche Qjackctl
sudo apt-get install jackd qjackctl
Zum Schluss wird noch der eigentliche Synthesizer benötigt, etwa Amsynth oder Fluid-synth. Wir installieren Fluidsynth mit
sudo apt-get install qsynth
Dabei wird gleich die grafische Oberfläche Qsynth mit installiert. Es existieren weitere Oberflächen für Fluidsynth, die teilweise auch deutlich mehr Funktionen bieten, aber für erste Tests ist man mit Qsynth gut bedient. Nachdem die Pakete alle auf dem Rechner installiert sind, geht es an die Konfiguration, bei Midi-Geräten auch Mapping genannt. Das bedeutet, dass jetzt die Zuweisung der einzelnen Anschlüsse zu den Eingabe- und Ausgabegeräten erfolgt. Dazu wird sowohl Qjackctl über die Konsole aufgerufen als auch Qsynth gestartet. Nun müssen im Steckfelddialog von Jack die richtigen Verbindungen festgelegt werden. Vorher sollte man im Konfigurationsdialog von Qsynth unter dem Reiter „Midi“ noch den Midi-Client-Namen definieren und ebenso mit dem Jack-Client Identifikationsnamen unter dem Reiter „Audio“ verfahren.
Lesetipp: Tastatur-PC im C64-Stil mit dem Raspberry Pi bauen

Nun geht es ins Steckfeld von Jack. Hier ist es ausgangsseitig wichtig, die Jack-Audio-Ausgänge für Fluidsynth zu definieren. Dann wird hier auch noch das Midi-Keyboard oder der Midi-Controller angelegt. Die möglichen Clients und Anschlüsse sind dabei im Prinzip selbsterklärend. Auf der Eingangsseite sind dann die Playback-Anschlüsse für den Client „System“ wichtig und dann der Eingang „Synth input“ für den Client Fluidsynth. Danach ist es wichtig, noch die Verbindungen zwischen den richtigen Ein- und Ausgängen herzustellen. Nachdem das Steckfeld fertig konfiguriert ist, geht es noch an die Einstellungen im Audio Connection Kit von Jack. Auf dem Reiter „Einstellungen“ finden sich die Einträge Eingangs- und Ausgangsgerät. Hier sollte man nicht unbedingt das Dropdown-Menü verwenden, sondern auf den Rechtspfeil daneben klicken. Dort lässt sich dann sehr komfortabel die gewünschte Audio-Hardware selektieren. Nun ist, bevor die ersten Töne erzeugt werden können, noch eines zu erledigen. In der Qsynth-Konfiguration müssen noch die Soundfonts festgelegt werden. Sie finden sich normalerweise im entsprechenden Ordner sf2, in dem sie automatisch mit installiert wurden. Und dann kann es losgehen. Die unterschiedlichen Soundbänke/ Instrumente können dann übrigens vom Keyboard aus angewählt werden.

Musikalische Notation
Nun ist ja die Erzeugung von Sounds das eine, das andere ist Arrangieren. Ein Studio wie Rosegarden ist für Soundbastler, die Erfahrungen mit Cubase & Co haben, sicher eine Option. Für alle, die allerdings eher die klassische Form der Notation bevorzugen, also mit Noten und Partituren hantieren, müssen andere Werkzeuge her. Ein ganz nützliches Tool ist hier Canorus , das Nachfolgeprojekt von Noteedit. Canorus funktioniert plattformübergreifend und ist vergleichsweise einfach zu bedienen. Mehrstimmige Notation ist hier ohne Probleme möglich, wobei eben ein Midi-Keyboard auch als Eingabegerät fungieren kann, sodass man praktisch wie am Klavier mit Stift und Notenblatt komponieren kann. Dabei hat der Raspberry den Vorteil, dass er wirklich als kleine Kompositionsmaschine für unterwegs taugt. Zur Not lässt er sich ja sogar am Fernseher eines Hotels anschließen. Und selbst ein kleines Masterkeyboard fände noch in einem Handkoffer Platz.

Gitarreneffekte
Nimmt man Apples Garage Band und die ganzen Erweiterungen als Maßstab, dann hat der Raspberry noch Luft nach oben. Solche komplexen Erweiterungen wie etwa Amplitube stecken hier noch in den Kinderschuhen, Dennoch existieren ein paar gute Ansätze, ein Blick auf die Seite Ampbrownie.com lohnt in jedem Fall. Hier findet sich unter anderem ein Video, das zeigt, wie sich auf Basis der Software guitarix auch ein Effektgerät „basteln“ lässt. Dabei kommt dann ebenfalls ein Midi-Controller zum Einsatz, der die einzelnen Effekte schaltet und auch noch in ihrer Intensität beeinflussen kann. Für den etwas ausgedehnteren Einsatz empfiehlt es sich dpäter, auf ein Midi-Pedal zu setzen, weil es sich in Verbindung mit einer Gitarre einfach komfortabler zur Bedienung eignet. Auch hier gibt es übrigens im Netz die eine oder andere Bauanleitung, wie man sich einen solchen Fußschalter selber bauen kann. Allerdings ist das schon relativ aufwändig, sodass eventuell doch ein Kauf die bessere Option ist, selbst wenn solche Pedal-Boards 200 Euro und deutlich mehr kosten.
Relevant: Sonic Pi – Programmieren lernen mit Musik

E-Drumkit
Deutlich preiswerter und tatsächlich auch funktional ist die Nutzung des Raspberry als elektronisches Schlagzeug. Im Prinzip handelt es sich hier letztlich nur um eine Unterart des Syntheziser-Betriebs, aber das macht es nicht weniger spannend. Tatsächlich lässt sich das sogar mit einem aufrollbaren Billig-Drumpad für 20 Euro realisieren, wobei man sich darüber klar sein sollte, dass das nur für den Testbetrieb taugt. Theoretisch lässt sich aber auch hier ein Keyboard oder der Midi-Controller mit anschlagdynamischen Tasten verwenden. Im Klartext: Je fester man drückt, desto lauter und kräftiger erklingt der Sound. Für ein Schlagzeug sollte man hierauf auf jeden Fall Wert legen. Es existiert mit Drumkv1 dazu sogar ein spezieller Synthesizer für klassische Drumkits. Den lädt man am besten direkt bei Sourceforge herunter, da es hier momentan relativ kurze Update-Zyklen gibt. So ist sichergestellt, dass auch immer die neueste Version auf dem Raspberry landet. Mit
./configure [--prefix=prefix] make sudo make install
im Ordner mit den entpackten Dateien wird Drumkv1 installiert. Auch hier kann übrigens als Grundlage wieder Jack eingerichtet sein, zwingend müssen das Qt framwork und die libsndfile-Bibliothek auf dem Pi vorhanden sein. Und dann kann im Prinzip das Getrommel beginnen, wobei jeder Taste des Pads oder des Controllers eine eigene Drum zugewiesen werden kann.

Ein Tipp noch zum Schluss: Die meisten Musikinstrumente, vor allem elektrische Saiteninstrumente, nutzen 6,3-mm-Klinkenstecker für den Anschluss an Verstärker oder Effektgeräte. Es gibt hier zahlreiche Lösungen, um diese Anschlüsse auf USB zu portieren und dann in einen PC oder eben auch den Raspberry zu speisen. Vor allem die Firma Behringer bietet hier sehr preiswerte Interfaces an, die auch noch die Möglichkeit haben, einen Kopfhörer bzw. Lautsprecher anzuschließen. Kostenpunkt: ab etwa 30 Euro. Für rund 50 Euro bekommt man dann auch schon Modelle mit mehreren regelbaren Eingängen. Und damit baut man dann sein kleines Tonstudio.

Weitere Synthesizer & Co.
Es existieren diverse Synthesizer für Linux und als Oberflächen für FluidSynth. Als sehr leistungsfähig gilt unter anderem Rosegarden, ein komplettes Tonstudio. Es wird gerne als die beste Linux-Alternative zu Cubase bezeichnet. Allerdings benötigt Rosegarden wie auch viele andere komplexe Audio-Anwendungen relativ viel Rechenleistung, sodass der Raspberry hier bis an seine Grenzen und darüber hinaus geordert wird. Bei hohen Systemauslastungen drohen Aussetzer und Verzögerungen, weshalb man sich auf einfachere Synthesizer wie eben Qsynth beschränken sollte.