paulstretch 2.2-2 unter MacOS X kompilieren

Es scheint sich einzupendeln, dass ich es alle halbe Jahre einmal schaffe, einen neuen Beitrag zu schreiben; immerhin! Dieses Mal geht es um das kleine, aber mächtige Free-Software-Programm paulstretch (unter dem angegebenen Link finden sich auch einige Klangbeispiele).

paulstretch ermöglicht das extreme Verlängern (“extreme stretching”) von Audiodateien im WAV-, OGG Vorbis- oder MP3-Format bei gleichbleibender Tonhöhe. Man kann so mit ein paar Klicks ein Musikstück von wenigen Sekunden oder Minuten auf einige Stunden verlängern. Es entstehen auf diese Weise interessante Klangstrukturen oder -texturen, die sich hervorragend für experimentelle Audioproduktionen verwenden lassen.

Für Windows-Nutzer existieren vorkompilierte Binärdateien, der Quellcode enthält Scripte, um das Programm auf einem GNU/Linux-System zu kompilieren. Wer jedoch auf MacOS X arbeitet, muss einen Umweg gehen, um zu einem ausführbaren Programm zu gelangen. Diesen „Umweg“ möchte ich hier beschreiben.

Benötigt wird zunächst die Apple Xcode Umgebung. Diese kann von der beim Kauf des Apple-Computers beiliegenden Installations-DVD nachinstalliert werden (wenn man es – wie ich – nicht einsieht, 99$/Jahr für einen Developer-Account an Apple zu überweisen, um sich das Paket von der Apple-Website laden zu dürfen, nur um an die eigentlich freie GCC zu kommen). Des weiteren wird CMake benötigt, dass die notwendigen Kommandozeilenbefehle zur Kompilierung letztendlich auf einen einzigen reduziert.

Denn glücklicherweise ist der Löwenanteil der Vorarbeit zur Kompilierung von paulstretch bereits von Kent Williams aka Chaircrusher erledigt worden. Er hat auf seinem Blog “Do My Eyes Look Scary?” eine Anleitung zum kompilieren von paulstretch 2.1 unter MacOS X veröffentlicht. Diese umfasst ein kleines Script-Paket, dass die benötigten Programmbibliotheken und den Quellcode automatisch herunterlädt und daraus eine ausführbare .app-Datei kompiliert, die in den Applications-Ordner von MacOS kopiert werden kann. Um nun die aktuelle Version 2.2-2 von paulstretch zu kompilieren (ein direktes Ausführen der Datei “BuildPaulStretch.sh” würde Version 2.1 kompilieren), sind lediglich zwei kleine Änderungen in der Datei “CMakeLists.txt” nötig:

In den Zeilen 150 und 151 wird der Downloadlink auf den Quelltext zu Version 2.2-2 geändert sowie die entsprechende MD5-Summe angepasst, sodass die genannten Zeilen danach wie folgt aussehen:

150:  URL "http://downloads.sourceforge.net/project/hypermammut/paulstretch/2.2/paulstretch-2.2-2.tar.bz2"
151:  URL_MD5 172dec7ad316ea4df0fda6d97758c5f2

Anschließend startet man aus dem Terminal (im entsprechenden Ordner) mit dem folgenden Befehl den eigentlichen Kompiliervorgang, der einige Zeit in Anspruch nimmt:

sh BuildPaulStretch.sh

Die schon genannte Programm-Datei „paulstretch.app“ findet sich anschließlich im selben Ordner.

Veröffentlicht unter Audioproduktion, Freie Software, Musik | Verschlagwortet mit , , , , , , , , , | Hinterlasse einen Kommentar

Hausarbeiten und andere Veröffentlichungen

Nach langer, langer Zeit gibt es hier wieder etwas Neues zu vermelden. Ich habe hier eine Seite erstellt, auf der ich meine bisherigen wissenschaftlichen Arbeiten verlinkt habe, die ich im Laufe meines Studiums verfasst habe. Sie können dort im PDF-Format abgerufen werden.

Ich hoffe, während der kommenden Monate vielleicht auch etwas mehr Zeit zum Schreiben finden werde, denn es stehen einige interessante Dinge an. Ich plane beispielsweise, in einem Uni-Projekt eine abgespeckte Variante der Ondes Martenot, einem elektronischen Musikinstrument der ersten Stunde, nachzubauen. Das vollständige Instrument wird sicherlich aufgrund der begrenzten Zeit eines Bachelor-Studenten und der eingeschränkten finanziellen Mittel nicht realisierbar sein, aber ich werde versuchen, die typische Ribbon-Steuereinheit samt dem „touche d’expression“ möglichst genau nachzubauen. Ob ich den zur Tonerzeugung nötigen Schwebungssummer ebenfalls originalgetreu nachbauen werde, weiß ich zum jetzigen Zeitpunkt noch nicht, möglicherweise wird auch hier Zeit und Geld gespart und ein fertiger Tonerzeuger aus dem Elektrofachhandel eingebaut. Ich werde auf jeden Fall an dieser Stelle über den Fortschritt der Planungen und später der eigentlichen Konstruktion berichten.

Veröffentlicht unter Musik, Studium | Verschlagwortet mit , , , , , , , | Hinterlasse einen Kommentar

Doctor Media endlich online!

Nachdem das Semester nun fast rum ist, hat nun auch endlich das Blog-Projekt zum Seminar „Kanonische Texte [der Medienwissenschaft J.M.]“ Gestalt angenommen. Ein Teil der seit November vergangenen Jahres vorbereiteten Texte sind nun veröffentlicht. Zu finden ist das Projekt unter folgender URL:

http://doctor-media.blogspot.com

Es finden sich dort die von Studenten (unter anderem von mir) verfassten zusammenfassenden Texte zu den im Seminar behandelten Medientheorien, sowie der gemeinsame Versuch einer Medienchronologie Kommentare sind erwünscht!

Veröffentlicht unter Medien, Studium | Verschlagwortet mit , , , , | Hinterlasse einen Kommentar

M-Audio Fast Track Pro unter Ubuntu GNU/Linux mit 48kHz/24Bit-Sampling

Ich habe bereits vor einiger Zeit eine gute Anleitung gefunden, um das M-Audio FastTrack Pro USB-Interface unter Ubuntu GNU/Linux mit 48kHz Sampling bei 24Bit Auflösung zu betreiben. Ohne manuelles Eingreifen läuft dieses zwar ohne Probleme per Einstöpseln und Loslegen, jedoch dann nur bei 44,1kHz und 16Bit (CD-Standard).

Zu finden ist diese Anleitung (in englischer Sprache) unter diesem Link in Joe Giampaoli’s Blog. Die Anleitung ist zwar in erster Linie für Ubuntu 8.04 (hardy) gedacht, jedoch konnte ich sie auch unter Ubuntu 9.10 (karmic) umsetzen – mit ein paar Änderungen, die ich dort in den Kommentaren vermerkt habe.

Danach kann man das FastTrack Pro in seinem vollen Funktionsumfang nutzen.

Veröffentlicht unter Audioproduktion, Freie Software, Musik | Verschlagwortet mit , , , , , , , | 4 Kommentare

Bristol unter Ubuntu 9.10 mit jack-Unterstützung kompilieren

Bristol ist ein (für Linux-Verhältnisse) sehr hochwertiger Software-Synthesizer, der Emulationen verschiedener klassischer analoger Synthiesizer und Orgeln, wie beispielsweise der berühmten Hammond B3, bietet. In den offiziellen Ubuntu-Repositories gibt es ihn zwar vorkompiliert zum einfachen Installieren über die Paketverwaltung (sudo apt-get install bristol), leider in diesem Fall ohne eingebaute Unterstützung für den Soundserver jack, der die für professionelle Audio-Anwendungen benötigten niedrigen Latenzen ermöglicht. Wenn man Bristol unter Ubuntu mit jack-Unterstützung benötigt, kommt man momentan nicht umhin, sich das Programm aus dem Quellcode selbst zu kompilieren.

Ich gebe hier eine Kurzanleitung (neudeutsch: Tutorial), die Schritt für Schritt zum ausführbaren Bristol mit jack-Unterstützung voranschreitet.

Zuallererst sollten wichtige Bibliotheken und Tools, die für das Kompilieren von Programmen aus dem Quellcode essentiell sind, installiert werden. Unter Ubuntu gibt es dafür, wie bei auf Debian basierenden Distributionen üblich, ein Paket namens build-essential, das alle diese Programme auf einmal bereitstellt. Des weiteren wird zur einfachen Integration in die Ubuntu-Paketverwaltung in dieser Anleitung auf die checkinstall-Methode zurückgegriffen. Das hierfür benötigte Paket checkinstall muss also auch installiert werden. Mit folgendem Befehl (in einem Terminal auszuführen) erreichen wir dies:

sudo apt-get install build-essential checkinstall

Nun benötigt man den Quellcode, den man von der Projektseite beziehen kann. Das heruntergeladene Archiv entpackt man sich am besten in einen neuen Ordner im Home-Verzeichnis. Anschließend öffnet man ein Terminal und wechselt in das Verzeichnis, in das man den Quellcode entpackt hat. Wichtig ist nun, dass die zusätzlichen zum Kompilieren von Bristol benötigten Pakete, die sogenannten Abhängigkeiten, installiert sind. Glücklicherweise gibt es dafür einen simplen Befehl, der dies schnell erledigt:

sudo apt-get build-dep bristol

Doch halt, einmal müssen wir hier noch eingreifen, denn wir wollen Bristol ja mit jack-Unterstützung kompilieren. Dazu ist ein weiteres Paket vonnöten, das wir mit folgendem Befehl installieren:

sudo apt-get install libjack-dev

Hinweis: Natürlich muss, um Bristol mit jack-Unterstützung kompilieren zu können, jack selbst installiert sein. Da ich davon ausgehe, dass dieses Tutorial von Menschen gelesen wird, die jack bereits installiert haben, wird hier nicht näher darauf eingegangen. Wer hierzu grundlegende Hilfe sucht, ist beispielsweise im Ubuntuusers.de-Wiki besser aufgehoben.

Da wir nun alles beisammen haben, kann der eigentliche Kompiliervorgang beginnen. Zunächst muss das configure-Script ausgeführt werden, dass noch einmal überprüft, ob auch wirklich alle benötigten Bibliotheken und Tools installiert sind und das System auf den Kompiliervorgang hin einrichtet. Dies geschieht mit dem einfachen Aufruf (im Verzeichnis, in dem der Bristol-Quellcode entpackt wurde):

./configure

Man sollte nach dem Durchlauf darauf achten, dass in der abschließend ausgegebenen Tabelle nach dem Eintrag „jack“ das Wort „true“ auftaucht, also der Server jack und die Bibliothek libjack korrekt verlinkt wurden. Sollte hier „false“ stehen, sollte man seine Systemeinstellungen überprüfen. Sofern alles OK ist, kann der eigentliche Kompiliervorgang mit folgendem Befehl gestartet werden:

make

Ist auch dieser Befehl ohne Fehler durchgelaufen, muss das fertig kompilierte Programm nur noch installiert werden. Üblicherweise würde an dieser Stelle nun der Befehl sudo make install folgen, doch da wir das Programm so installieren wollen, dass die Ubuntu-Paketverwaltung darüber „bescheid weiß“, gehen wir nun wie folgt vor:

sudo checkinstall

Das Programm checkinstall erstellt ein einfaches .deb-Paket, dass im folgenden einfach über die Paketverwaltung wieder deinstalliert werden kann, also deutlich komfortabler funktioniert als eine manuelle Installation. Außerdem ist es einfach besser, wenn man seine Paketinstallationen alle über die Paketverwaltung durchführt. Wer einmal ein Distributions-Upgrade durchgeführt hat, weiß wovon ich spreche; wer nicht, wird sich zu gegebenem Anlass freuen, dass er diesem Rat gefolgt ist. Man muss nach dem obigen Befehl noch ein paar Fragen beantworten, die eigentlich selbsterklärend sind (den Anweisungen auf dem Bildschirm folgen, Tipp: eine etwas detailliertere Anleitung zur Paketinstallation mit checkinstall gibt es wiederum im Ubuntuusers.de-Wiki). Man sollte vielleicht die Versionsnummer des Pakets  anpassen (ich habe dieser ein „-jack“ angehängt). Im Anschluss wird das Paket erstellt und automatisch installiert.

Nun kann man Bristol von einem Terminal aus starten. Zum Einstieg reicht folgender Befehl (im Terminal):

startBristol -b3 -jack

Dies öffnet Bristol mit der Hammond B3-Emulation und jack-Unterstützung. Man kann nun z.B. über qjackctl die Verbindungen anpassen (den Bristol-Output mit dem System-Output verbinden und ggf. ein Midi-Keyboard mit dem Midi-Eingang von Bristol verbinden) und loslegen. Auf der Bristol-Homepage findet sich eine recht gute Dokumentation der verschiedenen Emulationen und deren Einstellmöglichkeiten.

Ich wünsche viel Spaß!

Veröffentlicht unter Audioproduktion, Freie Software, Medien, Musik | Verschlagwortet mit , , , , , , , , | 1 Kommentar

inpopnito oder: Schreiben über Musik

In meinem Studium der Musik- und Medienwissenschaften, dass ich zu Beginn diesen Wintersmesters an der Humboldt-Universität zu Berlin begonnen habe, belege ich ein Blockseminar Popmusik-Journalismus. Um eine Plattform für unsere Arbeiten zu erlangen, haben wir das Online-Musikmagazin inpopnito gegründet. Sämtliche musikjournalistischen Arbeiten, die wir im Zuge des Seminars erstellen werden, werden fortan dort publiziert. Es lohnt sich also, dort einmal vorbeizuschauen. Momentan ist die Seite zwar noch etwas provisorisch, allerdings wird sich daran in naher Zukunft etwas ändern. Nichtsdestotrotz sind dort schon die ersten Arbeiten veröffentlicht (unter anderem auch eine CD-Rezension meinersteis).

Veröffentlicht unter Medien, Musik, Studium | Verschlagwortet mit , , , , | Hinterlasse einen Kommentar

Merkel gegen den Klimaschutz?

Folgender interessanter Schreibfehler ist mir gerade in einem Artikel auf zeit.de aufgefallen. Ist bestimmt nicht so gemeint, aber dennoch musste ich schmunzeln:

...ist bestimmt nicht so gemeint.

Merkel gegen den Klimaschutz?

Gefunden auf: http://www.zeit.de/politik/ausland/2009-11/merkel-rede-usa (Zugriff am 03.11.2009, 18:30 Uhr).

Nachtrag (04.11.2009, 10:00 Uhr): Mittlerweile ist der Fehler behoben worden.

Veröffentlicht unter Kurioses, Medien | Verschlagwortet mit , , , , | 1 Kommentar

Scripting-Bug in Picard 0.11 beheben, ohne auf Version 0.12 warten zu müssen

Ich nutze den MusicBrainz-Tagger Picard, um meine Musik komfortabel mit den korrekten ID3-Tags zu versorgen. Leider hat die momentan in den Ubuntu-Quellen befindliche Version 0.11 einen nervigen Bug, der das Scripting mit Picard unmöglich macht. Jedesmal, wenn man dort eine Klammer eingibt, friert das Programm ein. Doch gerade in der Möglichkeit, die zu speichernden Tags durch Scripting zu beeinflussen, ist eine der großen Stärken des Programms. Der Bug selbst ist den Picard-Entwicklern schon lange bekannt und behoben, jedoch wird die offizielle Veröffentlichung wohl noch etwas auf sich warten lassen, denn der Fix ist erst für die nächste Version 0.12 angekündigt. Wer jedoch jetzt schon in den Genuss der Scripting-Funktionen kommen möchte, kann auch selbst Hand anlegen, denn da Picard in Python geschrieben ist, brauch man lediglich den Quellcode anzupassen, ohne das Programm neu kompilieren zu müssen. Die Änderungen belaufen sich außerdem gerade einmal auf zwei Codezeilen in einer einzigen Datei. Die nun folgende Anleitung zum Selbstbeheben des Fehlers entnehme ich dem betreffenden Patch der Picard-Entwickler.

Die betreffende Datei heißt passenderweise scripting.py und befindet sich im Verzeichnis /usr/share/pyshared/picard/ui/options. Zunächst einmal sollte man von der zu bearbeitenden Datei eine Kopie anlegen, denn sicher ist sicher.

~$ cp /usr/share/pyshared/picard/ui/options/scripting.py ~

Gibt man diesen Befehl im Terminal ein, so erhält man eine Kopie der Datei in seinem Heimatverzeichnis. Anschließend öffnet man die Original-Datei mit Root-Rechten, um die Änderungen vorzunehmen. Ich verwende gedit zum Bearbeiten, natürlich kann hier jeder seinen favorisierten Texteditor nutzen:

~$ gksudo gedit /usr/share/pyshared/picard/ui/options/scripting.py

Die zwei nun zu bearbeitenden Codezeilen befinden sich in den Zeilen 53 und 57. Gegebenenfalls muss man hierzu in den Optionen des Texteditors die Anzeige von Zeilennummern aktivieren. In gedit setzt man dazu den betreffenden Haken vor der Option „Zeilennummern anzeigen“ unter Bearbeiten -> Einstellungen. Im folgenden habe ich den einzugebenden Code grün gefärbt, zum Vergleich steht jeweils noch der alte Code in rot darüber.

[...]
Zeile 53 alt:          index = text.indexOf(expr)
Zeile 53 neu:          index = expr.indexIn(text)
[...]
Zeile 57 alt:              index = text.indexOf(expr, index + length + b)
Zeile 57 neu:              index = expr.indexIn(text, index + length + b)
[...]

Anschließend speichert man die Datei und kann von nun an die Scriptingmöglichkeiten in Picard voll ausnutzen. Hierzu gibt es in der offiziellen Picard-Dokumentation eine sehr ausführliche Liste mit möglichen Funktionen und Befehlen.

Zum Schluss habe ich zu diesem Fehler noch ein Launchpad-Ticket für das Ubuntu-Paket angelegt. Vielleicht wird der Fix ja demnächst auch in der offiziellen Ubuntu-Version übernommen.

Veröffentlicht unter Freie Software | Verschlagwortet mit , , , , , , | 1 Kommentar