kabelsalat_s.jpg

Der Audio/MIDI-Sequencer MusE

Musik machen wie die Profis

Linux für Musiker? Bislang Fehlanzeige. Doch der Open-Source-Sequencer MusE schickt sich an, in diesem Bereich eine Lücke zu stopfen, indem er die beiden großen Themen Audio und MIDI in sich vereint.

Was eigentlich ist ein Sequencer? Ein Sequencer ist ein Kompositionswerkzeug, mit dem Noten, Pausen und weitere musikalische Daten "in den Rechner kommen" und sich später wieder abspielen lassen. Dabei spielt es keine Rolle, ob diese Daten "live" aufgenommen oder einzeln Note für Note mit der Maus gesetzt werden. Heraus kommt ein meist mehrspuriges Musikstück, das auf einen Tastendruck hin erklingt.

Die Instrumente, die dafür sorgen, können externe MIDI-Klangerzeuger (siehe Kasten 1), Klang-Dateien ("WAV-Files") oder Software-Instrumente sein, die in Echtzeit Klänge oder Geräusche berechnen und über die Soundkarte des Rechners ausgeben. Externe Klangerzeuger schonen die Ressourcen des Rechners, da dieser ihnen lediglich zur rechten Zeit Notenbefehle schicken muss, ansonsten aber nicht viel zu tun hat. Die Kunst besteht darin, Noten auf verschiedenen Spuren, die zur gleichen Zeit beginnen, auch wirklich zur gleichen Zeit zum Klingen zu bringen.

Kasten 1: Was ist MIDI?

Das MIDI-Protokoll ("Musical Instrument Digital Interface") stammt aus den Jahren 1982/83 und definiert die Übertragung von Notendaten und begleitenden Informationen über ein serielles Kabel mit 31250 Baud zwischen verschiedenen MIDI-fähigen Geräten (Keyboards, Expander, Sequencer und Computer). Typische MIDI-Daten sind "NoteOn" (Taste gedrückt), was als ein Datenstrom von drei Bytes (Tastennummer, Kanal, Anschlagstärke) übertragen wird, oder auch "Program Change" (Änderung des Klangprogramms auf einem Kanal). Gegenüber der Übertragung von Audiodaten (bei CD-Qualität 176400 Bytes pro Sekunde) ist MIDI also sehr genügsam, hat aber auch seine (historisch bedingten) Nachteile.

Moderne, schnellere Protokolle (wie mLAN von Yamaha) werden langsam eingeführt; allerdings findet sich MIDI noch immer auf jedem aktuellen Klangerzeuger mit seinen markanten "In"-, "Out"- und "Thru"-Buchsen wieder. Weitere Informationen finden sich zum Beispiel unter [1].

Das Abspielen von WAV-Dateien erfordert schon etwas mehr Ressourcen – vor allem Hauptspeicher. Doch auch die CPU liegt nicht auf der faulen Haut: Das Zusammenmischen mehrerer Audiospuren in eine Summen-Spur und das Verändern der Audiodaten mit Effekten in Echtzeit, also während der Wiedergabe eines Musikstücks, verschlingt einen Teil der kostbaren Rechenzeit.

Software-Instrumente (auch virtuelle Instrumente genannt) sind die modernste, aber auch rechenintensivste Variante: Sie verhalten sich gegenüber dem Sequencer wie ein externes MIDI-Gerät, indem sie Notenbefehle annehmen. Intern dagegen müssen sie möglichst schnell und sauber über mathematische Formeln Wellenformen berechnen, die die Soundkarte abspielt – natürlich ebenfalls wieder synchron zum gesamten Rest der Komposition und außerdem möglichst wenig verzögert, falls solch ein virtuelles Instrument live eingespielt werden soll. Man spricht dann von Latenzminimierung.

Kasten 2: Zeitstabilität und Kernel-Patches

Damit MusE zeitstabil läuft, braucht es während der Laufzeit root-Rechte, auch wenn verantwortungsvolle Administratoren darüber aufschreien. Die vergibt man (als root eingeloggt) mit den Befehlen

chown root /usr/bin/muse
chmod 4755 /usr/bin/muse

(ggf. muss der Pfad /usr/bin angepasst werden) am besten auf einem Rechner, der nicht im Netz hängt. Außerdem sollte der Kernel Unterstützung für die "RealTime Clock" (RTC) enthalten, was heute bei den meisten Distributionen der Fall ist.

Ans Aufbohren des Kernels mit den sogenannten Low Latency (LL)- und PreEmptive Scheduler (PE)-Patches sollten sich – trotz ihrer Vorteile für MusE – nur Experten herantrauen. Zukünftige 2.6.x-Kernel-Versionen werden diese Patches teilweise bereits enthalten.

Vor der Musik

Wer MusE benutzen möchte, sucht sich am besten eine Distribution, die ein passendes Binärpaket mitbringt, denn das Übersetzen aus dem Quellcode von [2] ist ein recht aufwändiger Prozess. (Das sehr ähnlich benannte MuSE – "Multimedia Streaming Engine" – hat übrigens nichts mit dem hier vorgestellten Sequencer zu tun.)

Für Red Hat lohnt sich ein Blick auf die Seiten von PlanetCCRMA [3], wo Sie nebst MusE auch Binärpakete zu vielen anderen Audio-Programmen finden. SuSE 8.2 liegt die bereits etwas angestaubte Version 0.6.0 bei. Für Debian gibt es im unstable- (oder testing-)Zweig ein aktuelles MusE-Paket, für die Mandrake-Entwicklungsversion Cooker ebenfalls.

Kasten 3: ALSA und sein Sequencer-Konzept

Seit die Kernel-Entwickler ALSA, die "Advanced Linux Sound Architecture" in den Linux-Quellcode für Version 2.5.3 integrierten, steht fest, dass das modulare Soundkarten-Treibersystem das klassische OSS ("Open Sound System") ab der nächsten Anwender-Kernel-Generation 2.6 ablöst. Viele Distributionen verwenden bereits standardmäßig oder auf Wunsch ALSA – unter anderem SuSE und Debian.

Zu seinen zahlreichen Vorteilen zählen die umfangreiche Unterstützung moderner Soundkarten (auch mehrkanalig), geringere Latenzen und der modulare Aufbau. Im Zusammenspiel mit MusE zahlt sich das Sequencer-Konzept aus: Programme melden sich bei ALSA als Klienten an und geben dabei Eigenschaften von sich preis, etwa: "Dieses Programm kann MIDI-Nachrichten senden, empfangen oder beides." Andere Applikationen fragen ALSAs "Kundenliste" ab, um Datenströme zwischen diesen Programmen zu schalten.

MIDI-Nachrichten bieten zum Beispiel externe MIDI-Ports oder der grafische Keyboard-Ersatz vkeybd (siehe Kasten 3 auf Seite 36) an, zu den Empfängern zählen wiederum externe MIDI-Ports, Software-Synthesizer wie AlsaModularSynth [7] (vgl. Seite 40 ff.) und ZynAddSubFX [8] oder die Wavetable-Synthesizer mancher Soundkarten, die mit Soundfonts [11] arbeiten können (siehe Kasten 5).

Doch auch dann stellt das Programm Bedingungen. Ohne die Qt-Bibliothek der Version 3.1.0, besser Version 3.1.1, das moderne Soundkarten-Treibersystem ALSA in der Version 0.9.x (aktuell ist 0.9.6, siehe dazu auch Kasten 3) und die libsndfile-Bibliothek für den Import und Export von WAV-Dateien und anderen Formaten in einer Version ab 1.0.1 (aktuell ist 1.0.4) geht MusE nicht an den Start. Empfohlen (aber nicht dringend benötigt) werden ein Linux-Kernel, der für zeitstabiles Verhalten optimiert wurde (vgl. Kasten 2), der Software-Synthesizer Fluidsynth (siehe Seite 40 ff.) der mit Hilfe von Soundfonts wie ein externes Keyboard funktioniert, externe Software-Instrumente wie AlsaModularSynth [7] (siehe Seite 40 ff.) oder ZynAddSubFX [8], das "Linux Audio Developer's Simple Plugin API" LADSPA (Kasten 4) und JACK ("Jack Audio Connection Kit").

Letzteres sorgt für einen Hintergrundprozess, der Sample-genau und mit niedriger Latenz Audiodaten zwischen mehreren Programmen austauscht und verknüpft. Soll MusE seine Ausgabe anderen Programmen zur Verfügung stehen, führt an JACK kein Weg vorbei; ansonsten läuft das Programm auch ohne. Die JACK-Sourcen finden sich auf [6]; vorkompilierte Pakete liegen den gängigen Distributionen bei und/oder lassen sich über rpmseek.com oder rpmfind.net finden – allerdings nur in älteren Versionen.

Einmal installiert, ruft man MusE am besten mit dem Kommandozeilenbefehl muse -R auf. Die Option -R bewirkt, dass das Programm bei Bedarf höhere Priorität bekommt und darum zeitstabiler läuft. Weitere Flags für den Programmstart listet muse -h auf.

So lädt

muse -R name.med

gleich das entsprechende Musikstück im MusE-eigenen, XML-basierten Dateiformat. In diese Datei schreibt das Programm nicht nur Notendaten, sondern auch Fensterpositionen, gestartete Software-Synthesizer, Farbeinstellungen und vieles mehr. Obwohl es auch Standard-MIDI-Dateien im- und exportiert, speichert man ein Stück in seiner Entstehungsphase besser im MusE-eigenen Format und exportiert das Werk erst zum Schluss in ein MIDI-File.

Der Arrangeur

Beim ersten Start öffnen sich das MusE-Hauptfenster, Arranger genannt, sowie das Transport-Fenster (Abbildung 1). Letzteres dient als Steuerpult auf kleinem Raum: Der Startknopf für die Wiedergabe, die Buttons zum Anhalten und Spulen, zwei Positionsanzeigen (in Zeit und in Takten), die Tempo-Angabe, aktuelle Werte der beiden Begrenzer ("Left Mark" und "Right Mark") sowie einige Kontrollen, die die Aufnahme steuern, finden sich hier.

Abbildung 1: Das Transport-Fenster (oben) und der Arranger

Im Arranger stellen Sie als ersten Konfigurationsschritt unter Config / Soft synthesizer (Abbildung 2) ein, welche Instanzen der verfügbaren Synthesizer Sie starten wollen. Die linke Spalte zeigt die möglichen, die rechte Spalte die tatsächlich aktiven virtuellen Instrumente an.

Werfen Sie auch einen Blick in die Midi Port Table unter Config / MIDI Ports (Abbildung 3). Dieses Fenster listet alle verfügbaren MIDI-Anschlüsse auf, egal, ob diese nun real auf einer Soundkarte als fünfpolige DIN-Buchse vorhanden sind oder nur im Rechner virtuell erzeugt wurden. Neu gestarteten Software-Synthesizern muss hier jeweils ein Port zugewiesen werden; deren Oberfläche erreichen Sie anschließend durch Klick auf den kleinen Kreis in der Spalte GUI.

Abbildung 2: Hier aktiviert man externe Software-Synthesizer …
Abbildung 3: … sofern ihnen an dieser Stelle ein MIDI-Port zugewiesen wurde

Schließlich überzeugen Sie sich unter Config / Audio System davon, dass der korrekte Treiber (standardmäßig ALSA) ausgewählt ist. Dann speichern Sie diese Konfiguration mit Config / Save Configuration in der Datei ~/.MusE ab.

Den größten Teil des Arranger-Fensters nehmen die Tonspuren ein – zu Anfang herrscht hier natürlich noch Ebbe. Ein Doppelklick auf eine leere Spur erzeugt eine neue; sie erhält einen (veränderbaren) Namen, die erste Track 1. Gleich rechts neben dem Spurnamen stellen Sie in der Spalte O-Port den Namen des MIDI-Ports ein, auf dem diese Spur ihre Daten abspielen soll.

In der rechten Fensterhälfte ordnen sich die zur jeweiligen Spur gehörenden Parts an, mehr oder weniger lange Notenabschnitte, die sich unabhängig voneinander bearbeiten oder verschieben lassen. Senkrecht über die gesamte Part-Darstellung laufen zwei blaue und ein roter Strich, die an ihrem Kopf ein kleines Dreieck zum Verschieben tragen. Sie kennzeichnen den linken und den rechten Locator (blau) und die aktuelle Abspielposition (rot).

Um einen neuen Part zu erzeugen, bewegen Sie die beiden Locators durch Ziehen mit der mittleren Maustaste (linker Locator) beziehungsweise rechten Maustaste (rechter Locator) auf eine Start- und eine Endposition und klicken doppelt in den Bereich dazwischen. Der so entstandene Part trägt erst einmal den gleichen Namen wie die zugehörige Spur.

Wer eine Weile mit MusE arbeitet, wünscht sich Tastaturkürzel für oft aufgerufene Funktionen wie Abspielen oder Zurückspulen. Tabelle 1 führt einige davon auf; eine annähernd komplette Übersicht bietet die Datei README.shortcuts aus dem MusE-Source-Paket – bei fertig kompilierten Paketen wird sie (hoffentlich) mitinstalliert.

Tabelle 1: Tastaturkürzel

[Enter] Wiedergabe
[Leer] Stoppen (bei nochmaligem Druck: Rückspulen an den linken Locator)
[C] Metronom an/ausschalten (zur Zeit nur MIDI-Metronom)
[Strg-Z] Einen Arbeitsschritt rückgängig machen
[Strg-Y] Einen Arbeitsschritt wiederherstellen
[/] (Ziffernblock) Schleifenmodus an/ausschalten

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • Musik-Software Rosegarden
    Wer auf dem Linux-PC professionelle Musikproduktion betreiben will, kommt am ausgereiften MIDI- und Audio-Editor Rosegarden nicht vorbei.
  • Rosegarden 4
    Die Versionsnummer deutet es an – Rosegarden 4 hat bereits eine lange Entwicklungszeit hinter sich: Rosegarden 2.1 erschien schon 1997; seitdem explodierte der Funktionsumfang geradezu.
  • Universelle digitale Audio-Workstation Qtractor
    Qtractor schickt die alte Achtspur-Bandmaschine endgültig in Rente: Mit diesem Sequencer mixen komfortabel die Smash-Hits von morgen.
  • Ardour3 – vollständige Musikproduktionssuite für Linux
    Ardour bewährt sich seit Jahren als Audio-Produktionssystem. Die dritte Generation des Profi-Programms integriert endlich auch MIDI-Komposition und bringt noch viele weitere Fortschritte.
  • Musiksynthese mit BEAST
    Wer schon immer einmal einen Science-Fiction-Film vertonen wollte, findet in BEAST das richtige Werkzeug zum Basteln abgefahrener Klangkreationen. Aber auch ein satter Heavy-Metal-Verzerrer oder eine Jazzorgel überfordern dieses flexible Werkzeug keineswegs.
Kommentare

Infos zur Publikation

LU 12/2017: Perfekte Videos

Digitale Ausgabe: Preis € 5,95
(inkl. 19% MwSt.)

LinuxUser erscheint monatlich und kostet 5,95 Euro (mit DVD 8,50 Euro). Weitere Infos zum Heft finden Sie auf der Homepage.

Das Jahresabo kostet ab 86,70 Euro. Details dazu finden Sie im Computec-Shop. Im Probeabo erhalten Sie zudem drei Ausgaben zum reduzierten Preis.

Bei Google Play finden Sie digitale Ausgaben für Tablet & Smartphone.

HINWEIS ZU PAYPAL: Die Zahlung ist ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!

Stellenmarkt

Aktuelle Fragen

Huawei
Pit Hampelmann, 13.12.2017 11:35, 1 Antworten
Welches Smartphone ist für euch momentan das beste? Sehe ja die Huawei gerade ganz weit vorne. Bi...
Fernstudium Informatik
Joe Cole, 12.12.2017 10:36, 2 Antworten
Hallo! habe früher als ich 13 Jahre angefangen mit HTML und später Java zu programmieren. Weit...
Installation Linux mint auf stick
Reiner Schulz, 10.12.2017 17:34, 3 Antworten
Hallo, ich hab ein ISO-image mit Linux Mint auf einem Stick untergebracht Jetzt kann ich auch...
Canon Maxify 2750 oder ähnlicher Drucker
Hannes Richert, 05.12.2017 20:14, 4 Antworten
Hallo, leider hat Canon mich weiterverwiesen, weil sie Linux nicht supporten.. deshalb hier die...
Ubuntu Server
Steffen Seidler, 05.12.2017 12:10, 1 Antworten
Hallo! Hat jemand eine gute Anleitung für mich, wie ich Ubuntu Server einrichte? Habe bisher...