[image of a Brave GNU World]
Brave GNU World - Ausgabe 50
Copyright © 2003 Georg C. F. Greve <greve@gnu.org>
Permission statement below.

[CA | DE | EN]

Willkommen auch diesen Monat zu einer neuen Ausgabe der Brave GNU World. Diese Ausgabe macht dort weiter, wo die Letzte aufgehört hat, im weiten Feld der Audio-Applikationen.

LAoE

LAoE [5] ist ein grafischer Soundeditor von Olivier Gäumann, an dem er bereits seit Ende Juli 2000 arbeitet und der seit Kurzem als Freie Software unter der GNU General Public License (GPL) verfügbar ist.

Bevor er mit der Arbeit an LAoE begann, hatte Olivier bereits seit Januar 2000 nach einer geeigneten Anwendung gesucht, die seinen Ansprüchen genügt, leider ohne Erfolg. So beschloß er, sich selbst zu helfen und machte sich an die Arbeit. Speziell da er nicht über Erfahrung als professioneller Musiker verfügte, ging die Entwicklung nicht ganz ohne Irrwege und Schwierigkeiten ab, die aber zunehmend gelöst wurden.

Das Design von LAoE orientiert sich bewußt an dem freien Grafikprogramm GIMP [6] und ebenfalls folgt einem Schichten (Layer) -basierten Ansatz mit zahlreichen Plugins und Effekten. Oliviers Hoffnung ist, einen Soundeditor zusammenzustellen, der in seiner Funktionalität ähnlich komplett ist wie die heutigen Grafikprogramme.

LAoE ist in der Lage, mp3, wav, au, aiff, und gsm Files zu lesen und unterstützt momentan wav und aiff für die Ausgabe. Die Implementation eines eigenen laoe-Formats, in dem auch die unterschiedlichen Schichten und Einstellungen erhalten bleiben, ist geplant.

Für die Bearbeitung unterstützt LAoE beliebig viele Kanäle und Schichten, deren Zahl nur durch die Leistungsfähigkeit der eingesetzten Hardware begrenzt ist. Möglichst hohe Präzision wird über ausschließliche Verwendung von Fließkomma-Operationen angestrebt.

Neben Standard-Funktionen wie Kopieren, Einfügen, Ausschneiden und Verschieben unterstützt LAoE auch ein ausgefeiltes und prinzipiell unbegrenztes Wiederherstellen von älteren Zuständen (Undo). Zur Auswahl von Bereichen existiert ebenfalls eine Zahl von Funktionen, um die Auswahl anhand gewisser Parameter vozunehmen bzw. zu modifizieren.

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

Auch auf die Bedienbarkeit hat Olivier bereits einige Zeit verwandt, so versteht LAoE "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.

In seiner Entwicklung ist LAoE bereits sehr fortgeschritten, so daß Olivier eigentlich plant, sich mehr auf die Dokumentation zu konzentrieren — selbst eine Kurzreferenz/Menükarte existiert bereits — um die Benutzbarkeit zu erhöhen und das Projekt mehr Menschen nahe zu bringen.

Allerdings reißt die Zahl an Vorschlägen und Änderungswünschen im Moment nicht ab, weshalb sich die weitere Dokumentation noch etwas verzögern könnte.

Hauptproblem ist, daß LAoE derzeit nur für Musikstücke bis c.a. 5 Minuten vernünftig einsetzbar ist, da das gesamte Stück in den Arbeitsspeicher geladen werden muß, was die technisch größte Beschränkung darstellt.

Außerdem kam als Programmiersprache Java zum Einsatz; mit den in Ausgabe #49 [7] beschriebenen Problemen. LAoE hängt also momentan noch von einer proprietären Plattform ab.

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

Auch wenn Olivier bisher nach eigenem Bekunden nur relativ wenig Unterstützung von Außen erhalten hat, bedeutet das im Übrigen nicht, daß er diese nicht zu schätzen wüßte. Ganz im Gegenteil, er sucht ausdrücklich nach weiteren Freiwilligen, die Lust haben, mit ihm gemeinsam an diesem Projekt weiterzuarbeiten.

Nähere Informationen zum Projekt und Kontaktinformationen finden sich auf der LAoE Homepage. [5]

Apvsys

Manchmal ist es notwendig oder zumindest sehr nützlich, verschiedene Versionen von Programmen gleichzeitig installiert zu haben und benutzen zu können. Mögliche Gründe dafür sind, daß die neue Version eines Programms nicht mehr abwärtskompatibel ist oder aber zwei unterschiedliche Versionen eines Programms von anderen im Einsatz befindlichen Applikationen verwendet werden.

Die verschiedenen Betriebssysteme haben dazu unterschiedliche Lösungsansätze. Unter MS Windows wird dies beispielsweise über die zentralisierte Registry gehandhabt, die dieses Problem allerdings nur sehr unzulänglich löst.

Das Betriebssystem Plan9 hat das Konzept von sogenannten "Sichtweisen" ("Views") in Kombination mit Union-Filesystemen. Dies erlaubt es, alle Applikationen im /bin Verzeichnis unterzubringen. Die Benutzerin kann dann über die Sichtweise bestimmen, welche Versionen zum Einsatz kommen. Unter Unix geschieht eine solche Auswahl bzw. Installation üblicherweise mittels symbolischer Links und den Umgebungsvariablen PATH und LD_LIBRARY_PATH.

Für den Fall, daß nur eine neue Version außerhalb der Distribution von Hand überinstalliert werden soll, ohne die Wartbarkeit des Systems zu beeinträchtigen, gibt es Werkzeuge wie GNU Stow [9], die einem das Leben erleichtern können (siehe Ausgabe #36 [10]). Sollen mehrere Versionen parallel benutzbar sein, ist dies allerdings keine Lösung.

Teilweise wird versucht, diese Probleme über Wrapper und Shellskripte zu lösen, allerdings sind die Lösungen dann zumeist 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. Benutzer müssen 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 Default-Version verwandt.

Die Konfiguration geschieht dabei mittels einfacher Textdateien, die über Perl-Applikationen verwaltet werden. Für die Apvsys Shell selber kam C zum Einsatz.

Zum Hintergrund sei gesagt, daß Apvsys die Reimplementation eines 2001 von Alex Farell in Perl geschriebenen Programmes ist. Dieses konnte jedoch nicht weiter eingesetzt werden, da Alex Farell das Programm während seiner Arbeitszeit erstellt hatte und daher die Rechte bei seinem damaligen Arbeitgeber lagen.

Bei Apvsys wurden diese Klippen bewußt umschifft und 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. Dies scheint ihm gut gelungen zu sein, da Apvsys sich bereits seit 2002 erfolgreich im Produktionseinsatz in drei großen Design-Büros in Belgien und Frankreich befindet.

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

Für die Zukunft ist angedacht, Apvsys mit einem grafischen Interface zu versehen und mit einem Paketsystem auszustatten. Ob dies neu entwickelt werden wird, oder ob die Wahl auf die Anpassung eines bestehenden Systems fällt, ist noch nicht absehbar.

Freiwillige sind in jedem Fall außerordentlich willkommen, sich in Apvsys einzubringen und vielleicht auch Vorschläge bezüglich des Interfaces oder Paketsystems zu machen.

Auch bei der Plattformunabhängigkeit könnten Freiwillige helfen. Bisher ist bekannt, daß Apvsys auf GNU/Linux, Solaris, HPUX und Cygwin läuft. Es sollte daher auch auf anderen Systemen einsetzbar sein, dies muß jedoch getestet werden.

Die letzte Anregung von Xavier Duret, der die Brave GNU World Fragen zu Apvsys beantwortete, bezieht sich auf den GNU Hurd. [11] Für den Fall, daß dies nicht bereits getan wurde, 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.

pyDDR

Zumindest auf der Nordhalbkugel nähert sich mittlerweile mit großen Schritten der Sommer. Daher ist es nun auch an den Geeks, sich wieder etwas in Form zu bringen. Um dabei den geliebten Computer nicht verlassen zu müssen und als kleine Hilfestellung 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 anderen Spiel) getrommelt.

Dank der Arbeit von Brendan Becker, der pyDDR unter einer X11-artigen Lizenz als Freie Software implementiert hat, kann man dieser Beschäftigung nun auch zu Hause nachgehen und so bei Wartezeiten — zum Beispiel aufgrund einer längeren Kompilation — ein wenig für den körperlichen Zustand tun. Zum Einsatz kamen dabei speziell die PyGame Module [13] und die Simple DirectMedia Layer (SDL) [14].

Unterstützt wurde Brendan in seiner Arbeit von mehreren Freiwilligen, wie zum Beispiel Joe Wreschnig und John Bafford, und wer die weitere Entwicklung unterstützen möchte, ist dazu herzlich aufgerufen. Auch in finanzieller Form, wie Brendan betont, da er lieber mehr Zeit auf Spiele verwenden würde, anstatt seinem "normalen" Job nachzugehen.

Geschrieben wurde pyDDR ursprünglich für GNU/Linux, allerdings gibt es Berichte, daß es erfolgreich unter Windows NT, XP, 9x, sowie BSD, MacOS X und BeOS zum Laufen gebracht wurde. Auch auf einer Playstation2 wurde es unter GNU/Linux zum Laufen gebracht — dies ist aber wohl 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 eine Sensormatte auch durch die Tastatur ersetzen, so daß es immerhin möglich ist, sich einen Eindruck des Spiels zu verschaffen, ohne Hardware anschaffen zu müssen.

Auch Tanz- und Bewegungs-antipathen ist der 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 Freie Software Spiele aussehen können.

Free Software Directory

Mit wachsender Zahl der Freien Software Anwendungen wird es immer schwieriger, den Überblick zu behalten. Als Lösung zu diesem Problem bieten sich Portale an.

Allerdings können manche Portale, wie beispielsweise Freshmeat, hier oft nur bedingt helfen, da sie oft nicht in der Lage sind, die Qualität der Einträge zu gewährleisten und zudem teilweise proprietäre und Freie Software mischen.

Zur Lösung dieses Problems begann die Free Software Foundation bereits im September 1999 mit der Arbeit am Free Software Directory, [15] einer Datenbank für Freie Software und betraute Janet Casey damit, diese zu betreuen.

Jeder Eintrag im Directory wird bezüglich seiner Lizenz zumindest durch Blick auf die Webpage und in den Sourcecode überprüft, um sicherzustellen, daß die angegebene Lizenz stimmt und es sich tatsächlich um Freie Software handelt.

Werden Schwierigkeiten (z.B. eine vergessene Lizenz) festgestellt, so werden die Autoren auf diese hingewiesen — damit hilft das Directory auch den Entwicklern, ihre Projekte sicher zu lizenzieren und erlaubt den Anwendern, größeres Vertrauen in die Angaben im Free Software Directory zu setzen.

Seit April 2003 hat sich nun auch die United Nations Education, Scientific and Cultural Organization (UNESCO) dieser Aktivität der FSF angeschlossen und unterstützt sie offiziell, so daß es sich mittlerweile um das "FSF/UNESCO Free Software Directory" handelt.

Wer nach Lösungen sucht oder wissen möchte, ob es für einen bestimmten Zweck bereits ein Programm gibt, für den bietet das Free Software Directory eine exzellente Anlaufstelle.

Autoren von Projekten sollten — sofern dies noch nicht geschehen ist — sicherstellen, daß ihre Projekte auch im Directory enthalten sind und natürlich auch der Brave GNU World bescheid geben. [1]

Ende

Damit ist die Kolumne für diesen Monat auch schon wieder am Ende. Für Fragen, Anregungen, Kommentare und Projektvorschläge per Email [1] bin ich wie immer gerne zu haben.

Infos

[1] Ideen, Anregungen, Kommentare an die Brave GNU World: column@brave-gnu-world.org
[2] Homepage des GNU-Projektes: http://www.gnu.org/
[3] Homepage von 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 Homepage: http://www.oli4.ch/laoe
[6] GIMP Homepage: http://www.gimp.org
[7] Brave GNU World Ausgabe #49: http://brave-gnu-world.org/issue-49.de.html
[8] Application Version System (Apvsys) Homepage: http://www.apvsys.org
[9] GNU Stow Homepage: http://www.gnu.org/software/stow/
[10] Brave GNU World Ausgabe #36: http://brave-gnu-world.org/issue-36.de.html
[11] GNU Hurd Homepage: http://www.gnu.org/software/hurd/
[12] pyDDR Homepage: http://icculus.org/pyddr/
[13] PyGame Homepage: http://pygame.org
[14] Simple DirectMedia Layer (SDL) Homepage: http://www.libsdl.org
[15] Free Software Directory: http://www.gnu.org/directory/
[16] United Nations Educational, Scientific and Cultural Organization (UNESCO): http://www.unesco.org


[ previous issue | Brave GNU World home ]

Return to GNU's home page.

Please send FSF & GNU inquiries & questions to gnu@gnu.org.
There are also other ways to contact the FSF.

Please send comments on Georg's Brave GNU World (in English or German) to column@gnu.org,
send comments on these web pages to webmasters@www.gnu.org,
send other questions to gnu@gnu.org.

Copyright (C) 2002 Georg C. F. Greve

Permission is granted to make and distribute verbatim copies of this transcript as long as the copyright and this permission notice appear.

Last modified: Wed Jun 11 21:32:12 Westeuropäische Sommerzeit 2003