Aus Linux-Magazin 07/2003

Die monatliche GNU-Kolumne

Diese Kolumne berichtet aus der Perspektive des GNU-Projekts und der FSF über Projekte und aktuelle Geschehnisse aus dem Umfeld freier Software und versucht Einblicke in die zugrunde liegende Philosophie zu vermitteln. In dieser Ausgabe: LAOE, Apvsys, PyDDR und das Free Software Directory.

Willkommen auch in diesem Monat, und zwar zur fünfzigsten Ausgabe der Brave GNU World. Sie fährt an der Stelle fort, wo die vorherige aufgehört hat, nämlich beim weiten Feld der Audio-Applikationen.

LAOE[5] ist ein grafischer Soundeditor, an dem sein Entwickler, Olivier Gäumann, bereits seit Juli 2000 arbeitet. Seit kurzem ist das Programm als freie Software unter der GNU General Public License (GPL) verfügbar.

LAOE, ein künftiges Gimp für Töne

Olivier begann das Projekt, weil er lange erfolglos nach einer ähnlichen Anwendung suchte. Da er aber kein professioneller Musiker ist, ging die Entwicklung am Anfang nicht ganz ohne Irrwege und Schwierigkeiten ab. Das Design von LAOE orientiert sich an dem freien Grafikprogramm Gimp[6]. Es folgt einem Layer-basierten Ansatz mit zahlreichen Plugins und Effekten. Olivier möchte letztendlich einen Soundeditor zusammenstellen, der in seiner Funktionalität ähnlich komplett ist wie die heutigen Grafikprogramme.

Abbildung 1: Der Soundeditor LAOE lehnt sich in Erscheinung und Bedienkonzept an das Grafikprogramm Gimp an.

Abbildung 1: Der Soundeditor LAOE lehnt sich in Erscheinung und Bedienkonzept an das Grafikprogramm Gimp an.

LAOE ist in der Lage, MP3-, WAV-, AU-, AIFF- und GSM-Files zu lesen und WAV und AIFF auszugeben. Die Implementation eines eigenen LAOE-Formats, in dem auch die unterschiedlichen Schichten und Einstellungen erhalten bleiben, ist ebenfalls geplant.

LAOE unterstützt beliebig viele Kanäle und Schichten, deren Zahl allein durch die Leistungsfähigkeit der eingesetzten Hardware begrenzt ist. Für die Soundbearbeitung kommen ausschließlich Fließkomma-Operationen zum Einsatz; das soll eine möglichst hohe Präzision sicherstellen. Neben Standardfunktionen wie Kopieren, Einfügen, Ausschneiden und Verschieben ist auch ein ausgefeiltes und prinzipiell unbegrenztes Undo zum Wiederherstellen von älteren Zuständen möglich. Zudem können Bereiche anhand von bestimmten Parametern ausgewählt werden.

Neben den Werkzeugen zur Analyse verfügt LAOE auch über Wellenform-Generatoren und verschiedene Funktionen zur Amplitudenmodifikation. Die Überführung in den beziehungsweise in die Bearbeitung im Frequenzraum mittels Fast-Fourier-Transformation (FFT) wird ebenso unterstützt wie das Filtern anhand bestimmter Parameter und Frequenzen. Daneben bietet dieses Projekt viele Effekte, etwa verzögertes Echo, Pitch-Manipulation, Disharmonie-Plugin und Zeitmanipulationen. Außerdem ist es möglich, Spektrogramme anzuzeigen und direkt zu editieren.

Usability keine Nebensache

Auch auf die Bedienbarkeit hat Olivier bereits einige Zeit verwandt, so versteht LAOE auch Mouse-Stroke Shortcuts, die es beispielsweise erlauben, über das Zeichnen eines einfachen u mit der Maus das Plugin für die Undo-History aufzurufen. Wem das noch nicht genügt, der ist natürlich herzlich eingeladen, seine eigenen Effekte und Erweiterungen als Plugins beizusteuern.

Die Entwicklung von LAOE selbst ist bereits sehr fortgeschritten, sodass Olivier eigentlich plant, sich stärker auf die Dokumentation zu konzentrieren, um das Projekt populärer zu machen. Eine Kurzreferenz beziehungsweise Menükarte existiert bereits. Allerdings reißt die Zahl der Vorschläge und Änderungswünsche im Moment nicht ab, weshalb sich die weitere Dokumentation noch etwas verzögern könnte.

Der größte Nachteil von LAOE ist derzeit, dass das gesamte Musikstück in den Arbeitsspeicher geladen werden muss. Es ist deshalb nur für Musikstücke bis etwa fünf Minuten Länge vernünftig einsetzbar. Außerdem kam als Programmiersprache Java zum Einsatz – mit den schon in der letzten Ausgabe beschriebenen Problemen[7]. LAOE hängt also momentan noch von einer proprietären Plattform ab.

Ob die Zukunft nun ein freies Java bringt oder den Einsatz einer anderen Sprache – möglicherweise auch zur Vermeidung technischer Probleme -, in jedem Fall ist LAOE ein hochinteressantes Projekt, mit dem wieder ein Schritt in Richtung professioneller Audio-Applikationen getan wurde.

Abbildung 2: Die Menu Cards für den LAO-Editor. Sie bilden den Grundstock der Software-Dokumentation.

Abbildung 2: Die Menu Cards für den LAO-Editor. Sie bilden den Grundstock der Software-Dokumentation.

Auch wenn Olivier bisher nach eigenem Bekunden nur relativ wenig Unterstützung von anderen erhalten hat, weiß er diese zu schätzen. Er sucht also ausdrücklich nach Freiwilligen, die Lust dazu haben, mit ihm gemeinsam an diesem Projekt weiterzuarbeiten. Näheres dazu ist auf der LAOE-Homepage[5] zu finden.

Tanzen mit PyDDR

Zumindest auf der Nordhalbkugel nähert sich mittlerweile mit großen Schritten der Sommer. Es wird also endlich auch Zeit für die Geeks, sich wieder etwas in Form zu bringen. Um dabei den geliebten Computer nicht verlassen zu müssen, gibt es das nächste Projekt: PyDDR[12] ist ein in Python geschriebener Klon des Spiels DDR (Dance Dance Revolution), bei dem es darum geht, unter vollem Körpereinsatz auf einer Sensormatte zur richtigen Zeit auf die richtigen Pfeile zu treten.

Klingt einfach, ist es auch – allerdings nur beim Zuschauen. Auch wenn diese Spiele in Europa und Amerika noch keine so große Verbreitung gefunden haben, sind sie in Asien bereits eine ganze Weile populär und in so mancher Spielhalle wird getanzt oder auch (bei einem ähnlichen Spiel) getrommelt.

Dank Brendan Becker, der pyDDR unter einer X11-ähnlichen Lizenz als freie Software implementiert hat, kann man dieser Beschäftigung nun auch zu Hause nachgehen und auf diese Weise Wartezeiten – zum Beispiel wegen einer längeren Kompilation – für die körperliche Ertüchtigung nutzen. Zum Einsatz kamen dabei speziell die PyGame-Module[13] sowie die Simple Direct Media Layer (SDL)[14].

Abbildung 3: Dance Dance Revolution ist in Asien ein beliebtes Spiel, das es erlaubt, sich am PC mal zu bewegen. Eine freie Version stellt das Programm PyDDR zur Verfügung.

Abbildung 3: Dance Dance Revolution ist in Asien ein beliebtes Spiel, das es erlaubt, sich am PC mal zu bewegen. Eine freie Version stellt das Programm PyDDR zur Verfügung.

Geschrieben wurde PyDDR ursprünglich für GNU/Linux, es läuft aber auch unter Windows NT, XP, 9x sowie BSD, Mac OS X und Be OS und selbst auf einer Playstation 2 unter GNU/Linux – das ist aber guten Gewissens nur technisch Versierten zu empfehlen. Natürlich ist für den vollen Spielspaß eine Sensormatte notwendig, für das Spielen gegeneinander sogar zwei.

Allerdings kann man die Sensormatte auch durch die Tastatur ersetzen, sodass es immerhin möglich ist, sich einen Eindruck des Spiels zu verschaffen. Hier bleibt aber der Trainingseffekt auf der Strecke oder beschränkt sich auf die Fingermuskulatur. Sensormatten gibt es ab 25 Euro, zusätzlich ist ein Adapter vom Playstation-Controller auf PC nötig.

Wer die weitere Entwicklung unterstützen möchte, ist dazu herzlich eingeladen. Brendan ist auch an finanzieller Hilfe interessiert, da er lieber mehr Zeit auf Spiele verwenden würde, statt seinem normalen Job nachzugehen. Auch Tanz- und Bewegungs-Muffeln sei ein prüfender Blick durchaus empfohlen, denn das Spiel kommt sehr professionell mit schöner Grafik und gutem Sound daher und bietet somit auch Anregung dafür, wie als freie Software realisierte Spiele aussehen können.

Apvsys verwaltet Softwareversionen

Doch nun wieder zu ziemlich technischen Themen. Manchmal ist es notwendig oder zumindest sehr nützlich, unterschiedliche Versionen von Programmen gleichzeitig installiert zu haben und benutzen zu können. Zum Beispiel wenn die neue Version eines Programms nicht mehr abwärtskompatibel ist oder wenn zwei unterschiedliche Versionen eines Programms von anderen im Einsatz befindlichen Applikationen verwendet werden.

Die verschiedenen Betriebssysteme haben dazu unterschiedliche Lösungsansätze. MS Windows nutzt die zentrale Registry, die dieses Problem allerdings nur sehr unzulänglich löst. Das Betriebssystem Plan9 hat das Konzept der so genannten Sichtweisen (Views) in Kombination mit Union-Filesystemen. Dies erlaubt es, alle Applikationen im »/bin« Verzeichnis unterzubringen. Die Benutzer können dann über die Sichtweise bestimmen, welche Versionen zum Einsatz kommen. Unter Unix nutzt man üblicherweise symbolische Links und die Umgebungsvariablen »PATH« und »LD _LIBRARY_PATH«.

Falls nur eine zusätzliche Version pro Programm von Hand installiert werden soll, ohne die Wartbarkeit des Systems zu beeinträchtigen, gibt es Werkzeuge wie GNU Stow[9] (siehe Ausgabe 36 vom April 2002[10]). Sollen mehrere Versionen parallel benutzbar sein, ist dies allerdings keine Lösung.

Wrapper und Shellskripte wären eine weitere Möglichkeit, sie sind jedoch meist störungsanfällig und wartungsintensiv. Apvsys[8] von Arnaud Bertrand bietet eine bessere Lösung: Die verschiedenen Versionen der einzelnen Programme werden dabei in eigene Unterverzeichnisse installiert und durch Apvsys verwaltet.

Die Benutzer müssen dafür lediglich am Anfang ihrer »PATH«-Variable ein Verzeichnis hinzufügen, was auch automatisiert geschehen kann. Danach können sie über die »APVSYS_TOOLSPEC_ FILES« verschiedene Versionen für bestimmte Anwendungen und Umgebungen konfigurieren und über Kommandozeilentools die verwendeten Versionen abfragen und Konfigurationen administrieren. Bei Nichtangabe einer speziellen Version wird automatisch die Defaultversion eingesetzt. Die Konfiguration geschieht dabei mittels einfacher Textdateien, die über Perl-Applikationen verwaltet werden. Für die Apvsys-Shell kam C zum Einsatz.

Apvsys ist die Reimplementation eines 2001 von Alex Farell in Perl geschriebenen Programms – es konnte nicht mehr eingesetzt werden, weil Alex Farell das Programm während seiner Arbeitszeit erstellt hatte und daher die Rechte bei seinem damaligen Arbeitgeber lagen. Bei Apvsys wurden diese Klippen sorgfältig umschifft; es ist als freie Software unter der GNU General Public License (GPL, Version 2) verfügbar.

Durch den Umstieg auf C wollte Arnaud Bertrand zudem die Geschwindigkeit erhöhen, wobei er darauf achtete, das Format der Ascii-Konfigurationsdatenbank beizubehalten, um den Umstieg möglichst reibungslos zu gestalten. Das scheint ihm auch gut gelungen zu sein, da Apvsys sich bereits seit 2002 erfolgreich im Produktionseinsatz in drei großen Designbüros in Belgien und Frankreich befindet.

Der Kern von Apvsys ist also eindeutig stabil, was natürlich nicht bedeutet, dass es keine Probleme oder Verbesserungsmöglichkeiten mehr gäbe. So ist Vorsicht angebracht, wenn unterschiedliche Werkzeuge identische Namen für ihre Kommandos verwenden. Außerdem gibt es teilweise Probleme, wenn Pfade fest in Programme einkompiliert sind und eine Rekompilation unmöglich ist.

GUI und Paketsystem geplant

In Zukunft soll Apvsys noch ein grafisches Interface und ein Paketsystem bekommen. Ob dies neu entwickelt werden wird oder ob die Wahl auf die Anpassung eines bestehenden Systems fällt, ist noch nicht absehbar. Freiwillige Helfer sind in jedem Fall außerordentlich willkommen, sich in Apvsys einzubringen und vielleicht auch Vorschläge bezüglich des Interface oder Paketsystems zu machen.

Auch bei der Plattformunabhängigkeit könnten Freiwillige helfen. Bisher läuft Apvsys auf GNU Linux, Solaris, HPUX und Cygwin. Es sollte auch auf anderen Systemen einsetzbar sein, das muss aber noch getestet werden.

Die letzte Anregung von Xavier Duret, der die Brave-GNU-World-Fragen zu Apvsys beantwortete, bezieht sich auf GNU Hurd[11]. Für den Fall, dass dies nicht bereits erledigt ist, möchte er einen Freiwilligen dazu ermuntern, auf Basis eines Union-Filesystems einen Hurd-Translator zu erstellen, der äquivalente Fähigkeiten zu Apvsys oder Plan9 bereitstellen könnte.

Free Software Directory

Mit der wachsenden Zahl freier Anwendungen wird es immer schwieriger, den Überblick zu behalten. Als Lösung des Problems bieten sich Portale an. Einige, etwa Freshmeat, sind aber nicht in der Lage, die Qualität der Einträge zu gewährleisten, und mischen zudem teilweise proprietäre und freie Software. Deshalb begann die Free Software Foundation bereits im September 1999 mit der Arbeit am Free Software Directory[15], einer Datenbank für freie Software, die Janet Casey betreut.

Abbildung 4: Die Homepage des Free Software Directory listet über 2000 Programme. Die Betreiber stellen sicher, dass nur freie Software dort landet.

Abbildung 4: Die Homepage des Free Software Directory listet über 2000 Programme. Die Betreiber stellen sicher, dass nur freie Software dort landet.

Jeder Eintrag im Directory wird bezüglich seiner Lizenz zumindest durch Blick auf die Webpage und in den Sourcecode überprüft, um sicherzustellen, dass die angegebene Lizenz stimmt und es sich tatsächlich um freie Software handelt. Bei Schwierigkeiten, etwa einer vergessenen Lizenz, weist Janet die Autoren darauf hin. So hilft das Directory auch den Entwicklern, ihre Projekte sicher zu lizenzieren, und erlaubt es Anwendern, größeres Vertrauen in die Angaben im Free Software Directory zu setzen.

Im April 2003 hat sich auch die UNESCO dieser Aktivität der FSF angeschlossen, sodass das Verzeichnis nun FSF/UNESCO Free Software Directory heißt. Projektautoren sollten – sofern dies noch nicht geschehen ist – sicherstellen, dass ihre Projekte auch im Directory enthalten sind, und natürlich auch der Brave GNU World Bescheid geben.[1]

Damit ist die Kolumne für diesen Monat auch schon wieder am Ende. Für Fragen, Anregungen, Kommentare und Projektvorschläge per E-Mail[1] bin ich wie immer dankbar. (uwo)

Infos

[1] Ideen, Anregungen, Kommentare an die Brave GNU World: [column@brave-gnu-world.org]

[2] Homepage des GNU-Projekts: [http://www.gnu.org/]

[3] Georg\’s Brave GNU World: [http://brave-gnu-world.org]

[4] “We Run GNU”-Initiative: [http://www.gnu.org/brave-gnu-world/rungnu/rungnu.de.html]

[5] LAOE: [http://www.oli4.ch/laoe]

[6] Gimp: [http://www.gimp.org]

[7] Brave GNU World, Ausgabe 49: [http://brave-gnu-world.org/issue-49.de.html], Linux-Magazin 06/03

[8] Application Version System (Apvsys): [http://www.apvsys.org]

[9] GNU Stow: [http://www.gnu.org/software/stow/]

[10] Brave GNU World, Ausgabe 36: [http://brave-gnu-world.org/issue-36.de.html], Linux Magazin 4/02

[11] GNU Hurd: [www.gnu.org/software/hurd/]

[12] PyDDR: [http://icculus.org/pyddr/]

[13] PyGame: [http://pygame.org]

[14] Simple Direct Media Layer (SDL): [http://www.libsdl.de]

[15] Free Software Directory: [http://www.gnu.org/directory/]

[16] United Nations Educational, Scientific and Cultural Organization (UNESCO): [http://www.unesco.org]

Der
Autor


Dipl.-Phys. Georg C. F. Greve beschäftigt sich seit etlichen Jahren mit freier Software und kam früh zu GNU/Linux. Nach Mitarbeit im GNU-Projekt und seiner Aktivität als dessen europäischer Sprecher hat er die Free Software Foundation Europe initiiert, deren Präsident er ist. Mehr Informationen finden sich unter [http://www.gnuhh.org].

Copyright © 2001 Linux New Media AG

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
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben