LinuxSampler

Aus de-musix-wiki

Wechseln zu: Navigation, Suche

Der LinuxSampler ist wohl der Sampler unter Linux. Mit ihm kann man die Formate SF2, Gig, SFZ und die Plugin-Formate DSSI und LV2 verwenden. Das beliebte VST kann man über den Adapter dssi-vst einbinden. Leider funktionieren nicht immer alle VST damit.

Das LinuxSampler-Projekt ist ständig in Bewegung und hat sich zum Ziel gesetzt alle gängigen Formate abspielen zu können und darüber hinaus eigene Formate zu entwickeln. Einen Überblick über alle Features bekommt man hier.

Das Projekt setzt sich aus mehreren Programmen zusammen. Der LinuxSampler selbst ist ein Backend, welches über ein Frontend oder ein direkt programmiertes LSCP-Skript (runterscrollen) gesteuert wird. Dadurch kann man den LinuxSampler auch in einem Netzwerk mit mehreren Rechnern benutzen. Man lässt den LinuxSampler auf einem Server laufen und steuert ihn dann auf einem anderen Rechner mit einem der beiden Frontends Qsampler oder Jsampler. Der Jsampler wird in diesem Wiki allerdings nicht behandelt. Zusätzlich gibt es im Projekt noch das Programm Gigedit, mit welchem man Gig-files editieren kann. Eine ausführlichere Beschreibung in Englisch zum ganzen Projekt findet man hier.



Inhaltsverzeichnis

Übersicht Datei:deb.pngDatei:arch_18px.png

Feuer Brennend wichtig! Diese Anleitung funktioniert eventuell nur für die Vorversion des aktuellen LinuxSamplers 2.0. Die aktuelle Version des LinuxSamplers ist vom Autor noch nicht getestet/installiert worden!


Hier erst einmal ein Schaubild, wie alles im LinuxSampler-Projekt voneinander abhängt. Dies gilt für Linux. Die Windows- und Macversionen installiert man mittels .exe bzw. dmg.

                                       gigedit
                                          |
                                zwingend erforderlich
                                          |
                                          V
      QSampler ------(optional)------> libgig                      
          |                               A                           
          |                               |                           
zwingend erforderlich           zwingend erforderlich        
          |                               |                   
          V                               |                           
       liblscp                       LinuxSampler                   

Sourcecodes Datei:deb.png

Hinweis Hinweis: Es wird, wie in allen Artikeln dieses Wikis, davon ausgegangen, dass man sich im home-Verzeichnis den Unterordner tonstudio und hierin den Unterordner src erstellt hat. Es wird weiterhin der Jsampler von dieser Anleitung ausgeschlossen, weil es zwischenzeitlich zu viele Irritationen mit den JAVA-Bibliotheken gegeben hat.

Man braucht das Paket subversion, um den aktuellsten Sourcecode der Programme herunterladen zu können. Das LinuxSampler-Projekt nutzt Subversion (abgekürzt svn), um dort ihre aktuellsten Programmcodes zu hinterlegen.

sudo aptitude install subversion

Man gehe nun in das tonstudio/src-Verzeichnis mittels

cd ~/tonstudio/src

und lade aus dem SVN-repository die nötigen sources zum Kompilieren und Erstellen der Pakete herunter.

svn co https://svn.linuxsampler.org/svn/libgig/trunk libgig && svn co https://svn.linuxsampler.org/svn/liblscp/trunk liblscp && svn co https://svn.linuxsampler.org/svn/linuxsampler/trunk linuxsampler && svn co https://svn.linuxsampler.org/svn/qsampler/trunk qsampler && svn co https://svn.linuxsampler.org/svn/gigedit/trunk gigedit

Nun hat man im tonstudio/src-Verzeichnis einige neue Verzeichnisse mit den entsprechenden Programmcodes, die da wie die Programme bzw. Bibliotheken heißen: libgig, linuxsampler, gigedit, liblscp und qsampler.

Vorbereitungen

Achtung Achtung: Es wird davon ausgegangen, dass man alle Programme des LinuxSampler-Projekts installiert. Außerdem muss der contrib und der non-free Bereich aus den Quellen frei geschaltet sein. Hat man seinen Rechner nach der Anleitung Installation eines Tonstudios aus diesem Wiki neu aufgesetzt, kann man dieses Kapitel überspringen.

non-free & contrib Datei:deb.png

Den non-free und den contrib-Bereich aus den Quellen schaltest Du in Debian-Jessie frei, indem Du diese in die sources.list mit root-Rechten einträgst. Die sources.list liegt im Verzeichnis /etc/apt. Man öffne die Datei mit einem Texteditor mit root-Rechten, z.B.:

sudo nano /etc/apt/sources.list

Den Zeilen

deb http://ftp.de.debian.org/debian/ jessie main
deb-src http://ftp.de.debian.org/debian/ jessie main

deb http://security.debian.org/ jessie/updates main
deb-src http://security.debian.org/ jessie/updates main

deb http://ftp.de.debian.org/debian/ jessie-updates main
deb-src http://ftp.de.debian.org/debian/ jessie-updates main

muss jeweils ein non-free contrib angehängt werden, sodass diese Zeilen dann so aussehen:

deb http://ftp.de.debian.org/debian/ jessie main non-free contrib
deb-src http://ftp.de.debian.org/debian/ jessie main non-free contrib

deb http://security.debian.org/ jessie/updates main contrib non-free
deb-src http://security.debian.org/ jessie/updates main contrib non-free

deb http://ftp.de.debian.org/debian/ jessie-updates main contrib non-free
deb-src http://ftp.de.debian.org/debian/ jessie-updates main contrib non-free

Nach dem Abspeichern noch die Paketlisten aktualisieren mittels

sudo aptitude update

Pakete Datei:deb.png

Für die Kompilierung und Installation des kompletten LinuxSampler-Projekts muss man vorab einige Pakete installieren, da die Programme von diesen abhängen oder Funktionen für die Programme bereit stellen oder zum Kompilieren benötigt werden. Die Frage nach der Echtzeitpriorität (Jack) bitte bejahen.

sudo aptitude install g++ debhelper automake libtool fakeroot libsndfile1-dev doxygen uuid-dev jackd bison libasound2-dev libjack-jackd2-dev sqlite3 libsqlite3-dev dssi-dev libslv2-dev gawk intltool libgtkmm-2.4-dev docbook-xsl libqt4-dev xsltproc lv2core flex ant subversion git scons cvs build-essential qtbase5-dev qtbase5-dev-tools qttools5-dev-tools libqt5x11extras5-dev

Kompilieren & Installieren Datei:deb.png

Achtung Achtung: Die Reihenfolge libgig - linuxsampler - gigedit - liblscp - qsampler ist unbedingt einzuhalten. Der Übersicht halber sollte man alles in einem Terminal tätigen. Sollte ein Paket auf dem System trotz aller Vorbereitung fehlen wird dies am Ende des abgebrochenen Kompiliervorgangs angezeigt.

Folgender Ablauf gilt für alle Programme für den Paketbau und die Installation:

Ins zu bearbeitende Verzeichnis gehen (man fängt mit der libgig an)

cd ~/tonstudio/src/<programm/bibliotheksverzeichnis>

die rules-Datei im debian-Ordner editieren (statt nano geht auch gedit):

nano debian/rules

hier muss man aus folgender Zeile (kann in der Datei mehrfach vorhanden sein)

./configure --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) --prefix=/usr --mandir=\$${prefix}/share/man --infodir=\$${prefix}/share/info

das

--host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE)

löschen, wenn vorhanden. Einmal abspeichern. Wer manuell konfigurieren will, der lese hier und hier.

Nun das Paket bauen.

sudo dpkg-buildpackage -rfakeroot -b

In das höhere Verzeichnis wechseln

cd ..

und den Inhalt anzeigen lassen

ls

Hier sind nun immer die entprechenden, gerade fertig gebackenen .debs vorhanden. Das können je nach Programm 1-3 Pakete sein. Man installiere mit (die -dev Dateien immer zuletzt)

sudo dpkg -i <Paket1.deb> <Paket2.deb> <Paket3.deb>

Nun wieder alles von vorne, bis man den qsampler installiert hat. Will heißen: als nächstes ist der LinuxSampler dran (Liste s.o.).

Achtung Achtung: Hier ist die Installation noch nicht abgeschlossen!

Pakete auf hold setzen Datei:deb.png

Da die selbst gebauten und installierten Pakete teilweise durch ein

sudo aptitude upgrade

oder ein

sudo apt-get upgrade

oder eine automatische Systemaktualisierung ersetzt werden und dies zu größeren Problemen führen kann, solltest Du die installierten Pakete mit besonderer Sorgfalt behandeln.

Ein Weg besteht darin, alle installierten Pakete auf hold zu setzen. Das ist relativ einfach mit dpkg und aptitude zu machen und wird hier im Debianforum-Wiki sehr gut beschrieben. Dort steht auch beschrieben, wie Du ein Paket wieder auf unhold, also dem Standardzustand, setzt.

Achtung Achtung: Setze unbedingt die Paket mit aptitude und dpkg auf hold, da beide Werkzeuge verschiedene Datenbanken benutzen. Ansonsten kann es sein, dass trotz des setzens auf hold die Pakete durch ein upgrade bzw. einer Systemaktualisierung von aptitude, apt-get oder auch dem grafischen Synaptics überschrieben werden!

Oder gehe den einfachen Weg und verwende dieses Skript. Wenn Du es sicherheitshalber leiber per Hand machen willst:

Du musst folgende Pakete auf hold setzen:

linuxsampler, qsampler, liblscp6, liblscp-dev, liblinuxsampler-dev, liblinuxsampler, gigedit, libgig7, libgig-dev, gigtools

Welche Pakete im System auf hold stehen, erfährtst Du mittels

aptitude search ~ahold

bzw.

sudo dpkg --get-selections | awk '$2 == "hold" { print $1 }'

Auch wenn Du ein Paket deinstallierst, bleibt das Paket unter dpkg auf hold stehen.

Hinweis Hinweis: Wenn Du alle notwendigen Pakete auf hold gesetzt hast, ist die Installation hier abgeschlossen. Das setzen auf hold solltest Du prinzipiell bei allen Paketen machen, die Du selbst kompiliert und installierst, damit diese bei einer Systemaktualisierung nicht eventuell überschrieben werden. Und noch etwas: in der Paketverwaltung Synaptic wird der hold-Zustand des betroffenen Pakets nicht angezeigt bzw. nicht berücksichtigt!

Versionen updaten Datei:deb.pngDatei:arch_18px.png

Willst Du später einmal die Programme updaten, musst Du in das entsprechende ~tonstudio/src/<Programm/Bibliothek>-Verzeichnis gehen und zunächst aufräumen mit

sudo make clean
sudo make distclean

um danach in diesem Verzeichnis einfach ein

svn update

auszuführen. Das aktualisiert den Sourcecode. Bitte auf die Abhängigkeiten achten (siehe Schaubild oben - willst Du z.B. den LinuxSampler aktualisieren, musst Du vorher die libgig aktualisieren).

Sollte es nach der Aktualisierung mittels svn update beim Kompilieren Probleme geben (obwohl alle Schritte richtig ausgeführt wurden), so kannst Du das entsprechende Verzeichnis löschen (z.B. linuxsampler) und den Sourcecode wie oben beschrieben ganz neu in das entsprechende ~tonstudio/src-Verzeichnis herunterladen. Das kann helfen, den Kompilationsprozess zu Ende zu führen.

Hinweis Hinweis: Zum Installieren der neuen Pakete solltest Du zunächst die entsprechenden Pakete auf unhold setzen, um Sie nach der Installation wieder auf hold zu setzen. Das vermeidet eventuelle Irritation bei der Installation.

Benutzung Datei:deb.pngDatei:arch_18px.png

Hier wird eine grobe Beschreibung der wichtigsten Dinge der einzelnen Programme gegeben. Zum Qsampler muss man wissen, dass er nicht so sehr gepflegt wird, wie der Jsampler (der in dieser Anleitung noch fehlt). Er hat eine Funktion für midimapping (mittels Taste F10 zu erreichen), welche allerdings nicht richtig funktioniert.

Start der Programme Datei:deb.pngDatei:arch_18px.png

Nach erfolgreicher Installation der Pakete startet man die Programme wie folgt:

  • Den Editor Gigedit startet man mittels gigedit (bitte vor den Front- und Backends starten)
  • Zum Start des QSamplers einfach qsampler eingeben. Der LinuxSampler wird automatisch im Hintergrund mit gestartet.
  • Den LinuxSampler startet man alleine, also ohne Frontend, mittels linuxsampler auf Port 8888
  • Man kann sich für alle Programme einen entsprechenden Menü- oder Desktopeintrag einrichten, um diese auch grafisch starten zu können.

Sounds laden Datei:deb.pngDatei:arch_18px.png

Um nun Soundbibliotheken bzw. Samples in den LinuxSampler laden zu können muss man zunächst eine Audio Device und ein MIDI Device definieren. Nutzt man den Soundserver Jack, so sollte man als Audio Device Jack angeben und als MIDI ALSA. Danach kann man entsprechend die Bibliotheken einlesen und die einzelnen Instrumente aus den Bibliotheken mittels eines Sequencers (wie z.B. Rosegarden oder LMMS) ansteuern.

Jack

Der LinuxSampler verbindet sich nicht wie die meisten anderen Programme automatisch mit Jack. Dies muss man per Hand mit dem Verbinden-Button von Jack bzw. seinem Frontend qjackctl machen. Den LinuxSampler kann man auch ohne Jack verwenden. Hierfür muss man als Audio Device in den Frontends allerdings ALSA statt Jack angeben.

Mehrere LinuxSampler gleichzeitig

Der LinuxSampler ist ein Backend, welches standardmäßig den Port 8888 belegt. Will man den LinuxSampler mehrfach parallel nutzen, so muss man jedem LinuxSampler einen eigenen Port zuweisen. Dies geht, indem man die lscp-port-Option benutzt, in diesem Beispiel den Port 8889. Hier wird nur das Backend ohne Frontend gestartet:

linuxsampler --lscp-port 8889

Anderes Beispiel: Startet man den QSampler, so wird der LinuxSampler standardmäßig auf dem Port 8888 gestartet. Diesen Port kann man in den Optionen vom QSampler ändern - nicht aber im Terminal, obwohl das im --help des QSamplers steht. In der Praxis hat sich gezeigt, dass man nur einen QSampler laufen lassen sollte. Will man einen zweiten LinuxSampler mit Frontend starten, so sollte man parallel den JSampler benutzen. Hier muss man dem Backend LinuxSampler einen anderen Port, zum Beispiel 8889, zuweisen, damit sich die verschiedenen Backends nicht in die Quere kommen. Das muss man entsprechend in den Optionen vom JSampler einstellen.

Anders herum formuliert wird es zu Fehlern kommen, wenn man den QSampler startet und dann "per Hand" oder per JSampler den LinuxSampler startet, weil dann zwei LinuxSampler versuchen auf Port 8888 zu laufen. Jeder LinuxSampler braucht einen eigenen Port. Diese Konstellation bietet sich z.B. an, um eine Orchester- und ein Klaviersamplebibliothek getrennt mit zwei LinuxSamplern steuern zu können. Aber das ist nur ein Weg von vielen.

Manchaml kann es außerdem Sinn machen, die automatische LinuxSampler-Startfunktion der Frontends abzuschalten. Das kann man in den Optionen von QSampler und JSampler einstellen. Dann muss man zuerst die LinuxSampler auf verschiedenen Ports starten und danach die Frontends. Man muss den Frontends in den Optionen noch sagen, auf welchen Port sie hören müssen, damit diese auch den LinuxSampler finden können.

Instabilität

Sollte sich der QSampler aus irgendwelchen Gründen als instabil erweisen besteht die Möglichkeit, den LinuxSampler ganz ohne oder nur bedingt mit Frontend zu benutzen. Ohne Frontend bedeutet, dass man ein LSCP-Skript schreiben muss, welches dem LinuxSampler genau sagt, was er genau zu tun hat. Hier kann man etwas zum Thema LSCP lesen (auch mit Beispielen und einem weiterführenden Link, bitte dafür auf der Seite runterscrollen).

Dieses Skript kann man auch mit einem Frontend erzeugen, indem man alle Devices einrichtet, die man für die jeweilige Sitzung braucht. Dann noch die benötigten Sample-Bibliotheken laden und schließlich abspeichern. Das Frontend speichert dann ein LSCP-Skript ab, was man nur unschwer an der Endung der Datei erkennen kann.

Dieses Skript läd man in einen gestarteten LinuxSampler (hier wird vom Standardport 8888 ausgegangen):

cat /Pfad/zu/Deinem/Skript.lscp | netcat localhost 8888

und schwupps, läuft der LinuxSampler völlig stabil ganz ohne (eventuell instabiles) Frontend.

Links

LinuxSampler

  • Linuxsampler - Projektseite mit Dokumentationen, Downloads, samples ... Datei:en.png
    • LinuxSampler Forum Datei:en.png
    • Bericht über das LinuxSampler-Projekt Datei:en.png
    • Erfahrungsbericht Datei:win_12px.png - der LinuxSampler im Einsatz unter Windows XP 32-bit
    • Video-Tutorial Datei:win_12px.png - mehrteiliges Video, das die Zusammenarbeit von Reaper und LinuxSampler erklärt
    • VST-Plugin für den LinuxSampler. Ist vom Autor noch nicht getestet. Für 64-bit das [...]amd64.deb-Paket wählen. Paket ist für Ubuntu Lucid Lynx (10.04) gedacht, nicht für Debian. Also mit Vorsicht genießen! Datei:en.png
    • VST-Plugin - gleiches Paket, anderer Link. Datei:en.png
    • Bugs - Seite, auf der bekannte Bugs vom LinuxSampler aufgelistet werden. Datei:en.png
  • Qsampler - Projektseite zum Frontend des LinuxSamplers Datei:en.png
  • Gigedit - Instrumente im gig-Format editieren. Gigedit ist in Qsampler mittels des Button "Edit" verbunden. Quickstart & Problemlösungen. Datei:en.png
  • ls16 - weiteres Frontend für den Linuxsampler, welches man selbst kompilieren muss.

Samples

Hinweis Hinweis: Samples werden nicht installiert, sondern einfach ins Wunschverzeichnis kopiert und in die Synthesizer oder Sampler geladen. Viele Samples liegen im sfark-Format vor und müssen mit sfArkXTc entpackt werden. Das Komandozeilenprogramm kann man hier herunterladen. Einfach entpacken und den Befehl als root in das Verzeichnis /usr/local/sbin kopieren. Nun kann man bequem mit sfarkxtc soundfont.sfArk die gewünschte Datei entpacken und in das gewünschte Klangerzeugungsmodul geladen werden. Für das mittlerweile ausgestorbene Pack-Format sfpack muss man leider mit wine arbeiten. wine kann man für diese Zwecke aus den Paketquellen installieren.
  • Sonatina Symphonic Orchestra - ein komplett freies Orchester im sfz-Format in semiprofessioneller Qualität. Als freie Samples wohl die besten, die es momentan gibt.
  • Salamander Grand Piano - freie Klaviersamples im gig-Format, aufgenommen von einem Yamaha C5 grand. Auch hier wohl die besten freien Samples, die es momentan gibt. Datei:en.png
  • Casio VL-Tone Soundfont - "Piano"-soundfont im sf2-Format vom Casio VL-1. Datei:en.png


Seite erstellt von: Musix

Klavierunterricht in Köln
Persönliche Werkzeuge