Aus Linux-Magazin 02/2011

Neues aus der Welt der freien Software und ihrer Macher

DJs brauchen kein teures Equipment mehr, denn Mixxx bietet gleichwertigen Ersatz am Computer. Wer lieber ein Webradio betreibt, erzeugt mit der Programmiersprache Liquidsoap vollautomatisch flexible Streams. Zu essen gibt’s ein Kartoffel-Kürbis-Gratin mit einer Kruste aus Walnüssen und Ziegenkäse.

Abbildung 1: Wer nicht kistenweise Vinyl und Spezialplattenspieler mit sich herumtragen möchte, der findet in Mixxx ein virtuelles DJ-Set mit allen Schikanen.

Abbildung 1: Wer nicht kistenweise Vinyl und Spezialplattenspieler mit sich herumtragen möchte, der findet in Mixxx ein virtuelles DJ-Set mit allen Schikanen.

“Play them really, really loud!” Benutzer der Software Mixxx [1] machen auf diese Weise ihr Publikum glücklich, denn es handelt sich bei dem freien Projekt um ein virtuelles DJ-Pult (Abbildung 1). Andere mit tanzbarer Tonkunst zu erfreuen bedeutet aber mehr, als einfach nur Musik abzuspielen. Es gilt, den passenden Track im richtigen Moment auf den Plattenteller zu balancieren, sodass er seinen Vorläufer zum idealen Zeitpunkt ablöst und den Tanzrhythmus des Publikums erfasst. Optimal ist ein Übergang dann, wenn der Plattenaufleger das Tempo der beiden einander folgenden Titel aufeinander abstimmt.

Wie in fast allen Lebensbereichen gibt es auch beim DJing eher traditionsorientierte Geister, die auf originale Instrumente bei der musikalischen Tätigkeit setzen. Als DJs vor rund 30 Jahren ihren Siegeszug antraten, besaßen sie gewöhnlich zwei Plattenteller, zusätzlich ein Mischpult und ein Mikrofon. Das Abspieltempo der aufliegenden Schallplatten kontrollierte der DJ manuell. Hinzu kamen Spezialhandgriffe wie Scratching, das Geräusche der übers Vinyl kratzenden Plattennadel in die Musik integriert.

Besser ausgerüstete Anlagen bieten heutzutage drei oder vier Audio-Ausgänge, sodass zwei Geräte den Raum beschallen, während der DJ auf den verbleibenden Kanälen per Kopfhörer die weitere Abfolge plant.

Arbeitsgeräte

Inzwischen haben neue Techniken auch Einzug in die Welt der Musikaufleger gehalten, und so greifen viele DJs auf passende Software als Ergänzung oder sogar als vollständigen Ersatz für die klassischen oder die zwischenzeitlich ebenfalls etablierten CD-Player zurück. Das bietet gleich mehrere Vorteile: Vorbei sind die Zeiten, in denen DJs schwere Schallplattenstapel oder Koffer voller CDs geschleppt haben, auch teure Spezialplattenspieler scheinen entbehrlich. Stattdessen empfehlen sich Laptops mit einer gut sortierten MP3-Sammlung und ein Stück Software.

Beim virtuellen Set wollen die DJs natürlich nicht auf die Möglichkeiten verzichten, die ihnen das reale Gegenstück bietet. So haben die Entwickler von Mixxx, Ken and Tue Haste Andersen (selbst Hobby-DJs), die wichtigsten Elemente originalgetreu in Java nachprogrammiert. Bereits 2001 begann die Arbeit am Softwaremischpult, als es kaum Tools dieser Gattung gab, weder proprietär noch frei.

Inzwischen haben sich die beiden aus der Entwicklung zurückgezogen, das Projekt ist unter der GPLv2 an die Community übergegangen. Adam Davison und Albert Santoni fungieren als Projektmanager respektive Hauptentwickler des großen Teams.

Insgesamt vier virtuelle Kanäle, zwei für Lautsprecher und zwei für Kopfhörer, ahmen die herkömmlichen Plattenspieler nach. Der DJ legt allerdings keine Platten mehr auf, sondern wählt digitalisierte Musiktitel aus und mischt deren Wiedergabe nach Belieben zusammen. Alternativ dienen die Mixxx-Kanäle, jeweils einzeln konfigurierbar, als Ton-Eingabe für Midi-Controller oder reale Plattenspieler, sodass das Tool vor allem als Mischpult eine gute Figur macht (siehe Abbildung 2).

Abbildung 2: Mixxx spielt nicht nur Musik des eigenen Rechners ab, sondern kann auch auf externe Plattenspieler und andere Geräte zugreifen.

Abbildung 2: Mixxx spielt nicht nur Musik des eigenen Rechners ab, sondern kann auch auf externe Plattenspieler und andere Geräte zugreifen.

Außerdem unterstützt Mixxx so genannte DJ-Control-Hardware. Dabei handelt es sich um Geräte, die optisch und in puncto Bedienung Plattentellern nachempfunden sind, jedoch faktisch die Wiedergabe digitalisierter Musik steuern. Schließt der Musikfreund ein solches Gerät an den eigenen Rechner an, kann er Mixxx damit steuern und muss nicht auf Maus und Tastatur zurückgreifen.

Features

Neulinge in der Welt des virtuellen DJing haben mit Mixxx keine größeren Startschwierigkeiten. Die Einstiegsaufgabe, ein Lied nach dem anderen abzuspielen, ist schnell bewältigt. Danach ergründet der Anwender Schritt für Schritt die weiteren Features – Lieder klingen leise aus, während das folgende Stück langsam die akustische Dominanz übernimmt. Mit der Hot-Cue-Funktion markiert er zudem Stellen in einem Lied, die sich besonders gut für Aus- oder Einstieg eignen.

Fortgeschrittene erfreut neben der Anzeige der Klangwellenform das so genannte BPM-Meter, das dabei hilft, den perfekten Übergang zu finden. Es zeigt die Frequenz des Basis-Beats (Beats per Minute) an, ein wichtiges Kriterium in der Welt der elektronischen Musik. Mit diesem Feature bestimmt der Nutzer den Einsatz nachfolgender Stücke, wenn sie gerade die gleiche Geschwindigkeit haben. Zudem bietet Mixxx eine Funktion, welche die Geschwindigkeit eines Tracks verändert, ohne dass sich dadurch auch die Tonlage verzerrt, was aufgrund der Akustikgesetze ohne weiteres Eingreifen der Fall wäre.

Genau diese mehr oder weniger subtilen Veränderungen an der Originalmusik gehören zu den gewollten Kunstgriffen eines DJ. Daher erlaubt der Vinyl-Emulationsmodus eine gleichzeitige Veränderung von Geschwindigkeit und Tonhöhe.

Ein wichtiges Element, das DJs schon früh erfanden, sind Loops. Dabei wiederholen sie bestimmte Abschnitte eines Liedes, Samples genannt, in einer Schleife und mischen diese beispielsweise in andere Songs hinein. Auch dabei leistet Mixxx Schützenhilfe. Ein Klick auf »IN« markiert den Beginn, »OUT« das Ende. Diese Loop wiederholt Mixxx nun so lange, bis der DJ sie explizit beendet. Die einzelnen Schleifen manipuliert er dabei genauso wie jede andere Wiedergabe.

The End

Erreicht Mixxx bei der Wiedergabe das Ende eines Liedes ohne Eingreifen des DJ, erkennt das Programm das zukünftig als Standardverhalten für den Song an. Zur Wahl stehen außerdem »Stop« (Wiedergabe hält am Ende an), »Loop« (spielt den Titel erneut) und »Next« (geht zum nächsten Eintrag der Playlist). Das integrierte Mischpult bietet auch Basisfunktionen wie einen Fader für die sanften Übergänge und einen Equalizer, der die Lautstärke abhängig von der Tonfrequenz reguliert.

Dank seiner Plugin-Struktur ist Mixxx gut erweiterbar. So bilden auch exotisch kodierte Musikdateien oder neue Hardware keine unüberwindbaren Hürden. Wer Gefallen an Mixxx gefunden hat und die Entwicklung des Mischpults oder auch von Addons aktiv unterstützen möchte, der findet Kontaktdaten (IRC-Channel und Mailinglisten) auf der Projekt-Homepage.

Radio-DJs

Mit Urheberrechtsabgaben, Kontrollen und einigen anderen bürokratischen Hürden versuchen Regierungen und Verwaltungen auf der ganzen Welt schon einige Zeit lang, Webradios den Saft abzudrehen. Doch allen Versuchen zum Trotz florieren die beliebten Privatstationen weiterhin. Musikliebhaber schicken per Stream ihre Lieblingstitel in den Netzäther, andere Internetradios haben wiederum eher den Charakter gesprochener Weblogs, in denen die Macher ihre Gedanken zu den verschiedensten Themen vortragen.

Unabhängig vom Inhalt besteht ein Webstream in technischer Sicht aus drei Komponenten. Die Audiodaten befinden sich in einer beliebigen Quelle, ein Streamingserver nimmt sie entgegen und stellt sie via Internet bereit. Der Client des Hörers schließlich ruft die Daten ab und gibt sie normalerweise über die Soundkarte des Rechners wieder.

An Streamingservern selbst besteht glücklicherweise kein existenzieller Mangel. Icecast [2] und Shoutcast [3] heißen zwei der beliebtesten freien Vertreter. Auch auf Client-Seite ist das Angebot groß, fast jeder moderne Desktop bietet eine integrierte Wiedergabesoftware, die auch Streams abspielt.

An der Quelle

Liquidsoap [4] verspricht die Zusammenstellung von Audiodaten zu fertigen Webstreams zu erleichtern. Die Software kombiniert auf Wunsch verschiedene Eingabequellen, beispielsweise lokale Dateien und Netzressourcen, und kompiliert daraus einen fertigen Audiostream. Diesen leitet das Programm dann an einen Server wie Icecast weiter.

Das Ganze basiert auf einer spezialisierten Skriptsprache, welche die Liquidsoap-Entwickler eigens zu diesem Zweck ins Leben gerufen haben. Das Verfahren soll dem Streamanbieter die Freiheit geben, mit überschaubarem Aufwand die individuell benötigten Features selbst zu implementieren, statt auf bereits existierende Lösungen – mit deren zwangsläufig vorhandenen Beschränkungen – zurückzugreifen.

Eine typische Zeile in einem Liquidsoap-Skript bezieht sich auf eine Quelle (»Source« ). Gewöhnlich bilden mehrere Quellen den entstehenden Stream. Ein Quellobjekt kann beispielsweise ein einzelnes Lied auf der lokalen Festplatte, eine Wiedergabeliste oder eine Sounddatei im Netz repräsentieren. Des Weiteren geben »output« -Kommandos einen Stream an einen Streamingserver aus. Alternative Ausgabemöglichkeiten sind Geräte wie die Soundkarte, auch wenn das im Kontext von Webradios nur selten von Bedeutung ist.

Ein Icecast-Server verarbeitet mehrere Streams. Dieses Feature macht sich auch Liquidsoap zunutze und erlaubt es dem Heim-DJ, beispielsweise auf Basis von Metadaten wie Musikgenre oder Künstler, Soundobjekte bestimmten Streams zuzusenden. Auch technische Details wie die Bitrate oder das Format passt er optional an. Der denkbar einfachste Aufruf erzeugt ein Soundobjekt aus einer einzelnen lokalen Ogg-Vorbis-Datei: »single(“file.ogg”)« .

Der Benutzer speichert dieses Objekt beispielsweise in einer Variablen, um es danach über die Funktion »output.icecast()« auszugeben. Der Aufruf steuert einen lokalen oder im Netz vorhandenen Icecast-Server an. Andere Funktionen erlauben Fallback-Optionen zu konfigurieren, falls es zu Problemen beim Abruf von Ressourcen kommt. Der Stream-Programmierer kennzeichnet diese auf Wunsch mit der booleschen Eigenschaft »fallible« als nicht ausfallsicher.

Liquidsoap kümmert sich auch um Probleme, die über der Netzebene liegen. Empfängt das Programm etwa aus einer Quelle nur noch Stille, reagiert es automatisch darauf, es kommt also wiederum eine Fallback-Option zum Einsatz.

An die Oberfläche

Die Liquidsoap-Entwickler betonen die Vorteile ihrer flexibel programmierbaren Lösung im Vergleich zu einer statischen Oberfläche. Eine solche wäre zwar möglicherweise leichter benutzbar, schränkt den Benutzer allerdings an anderer Stelle ein. Wer dennoch nicht auf ein GUI verzichten möchte, sollte sich Liguidsoap (ebenfalls unter [4] erhältlich) anschauen. Es handelt sich um eine grafische Entwicklungsumgebung, über die der Benutzer per Mausklick Liquidsoap-Skripte erzeugt (Abbildung 3).

Abbildung 3: Die grafische Entwicklungsumgebung Liguidsoap generiert Programme für die Skriptsprache Liquidsoap. Die gebräuchlichsten Kommandos sind per Mausklick erreichbar.

Abbildung 3: Die grafische Entwicklungsumgebung Liguidsoap generiert Programme für die Skriptsprache Liquidsoap. Die gebräuchlichsten Kommandos sind per Mausklick erreichbar.

Die Liguidsoap-Oberfläche präsentiert die gebräuchlichsten Liquidsoap-Kommandos als Schaltflächen. Der Anwender klickt auf diese, um in einem separaten Reiter die entsprechenden Parameter zu definieren. So konfiguriert er einen Streamingserver für die Ausgabe oder erzeugt eine Wiedergabeliste mit den Lieblingstiteln. Auf Wunsch startet das grafische Tool sogar einen lokalen Icecast-Server.

Auch wenn die GUI-Lösung nicht die gesamte Funktionsvielfalt von Liquidsoap widerspiegelt, bietet sie dennoch einen schnellen Einstieg in die Materie und verhilft Neulingen per Klick zum eigenen Webradio.

Liquidsoap ist in der am französischen Forschungsinstitut Inria entworfenen Sprache Objective Caml (Ocaml, [5]) implementiert. Das ist kein Zufall, denn auch die Liquidsoap-Entwickler stammen aus diesem Umfeld. Plugins bieten Schnittstellen zur Einbettung in Webseiten, unter anderem mit Django, Perl, PHP und Plone. Wer sich für den aktuellen Entwicklungsstand der Software interessiert, sollte einen Blick auf den Bugtracker des Projekts werfen [6].

Kartoffel-Kürbis-Gratin

Zur Abwechslung gibt’s mal wieder ein vegetarisches Rezept. Der leckere Kartoffel-Kürbis-Auflauf bekommt durch die Kruste aus Ziegenkäse und Walnüssen richtig Pep. Zutaten für vier Personen: zirka 800 g vorwiegend festkochende Kartoffeln, 1 mittelgroßer Hokkaidokürbis, 150 ml Sahne, 100 ml Milch, 1 TL Gemüsebrühe-Pulver, 150 g weicher Ziegenkäse, 50 g Walnusskerne, 1 Zitrone (Bio), 1 EL Butter, Salz und Pfeffer.

Die Kartoffeln schälen, waschen und in feine Streifen schneiden. Den Hokkaidokürbis vierteln, von den Kernen und Fasern befreien, waschen und ebenfalls fein schneiden. Die Außenhaut dieser Kürbissorte ist essbar, er muss also nicht geschält werden. Den Backofen vorheizen.

Die Kartoffeln und den Kürbis abwechselnd in einer Auflaufform schichten. Die Sahne und die Milch mischen, mit etwas Gemüsebrühe-Pulver, Salz, Pfeffer und geriebener Zitronenschale abschmecken. Den Auflauf damit von der Seite angießen. Ziegenweichkäse in Würfel schneiden und Walnüsse grob hacken und zusammen mit kleinen Butterflöckchen über dem Auflauf verteilen.

Das Gratin dann bei 180 Grad (Umluft: 160 Grad) zirka 45 Minuten backen, bis es eine schöne braune Knusperkruste hat und die Kartoffeln und der Kürbis weich sind. Guten Appetit!

Infos

  1. Mixxx: http://www.mixxx.org
  2. Icecast: http://www.icecast.org
  3. Shoutcast: http://www.shoutcast.com
  4. Liquidsoap und Liguidsoap: http://savonet.sourceforge.net
  5. The Caml Language: http://caml.inria.fr
  6. Liquidsoap-Bugtracker: http://dev.sourcefabric.org/browse/LS
DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 3 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
LINUX-MAGAZIN KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Readly Logo
E-Mail Benachrichtigung
Benachrichtige mich zu:
0 Kommentare
Älteste
Neuste Beste Bewertung
Nach oben