Tests und Erfahrungsberichte
----------------------------

1. Kleine Helfer für den Amiga-Alltag (von Christian Aichinger)

Herzlich Willkommen zu den „Kleinen Helfern“ im November!

Ogg Vorbis, ein neuer verlustbehafteter Open-Source-Audio-Codec kratzt am
Thron von MP3. Aufgrund der sehr guten Resultate scheinen die Chancen nicht
schlecht, dass die Zeiten des lizenzpflichtigen MP3-Audio-Standards gezählt
sind. Viel Spaß beim Lesen der Reviews zu den vorbis-tools-1.0 und Ogg--
Engine.


vorbis-tools-1.0:

MP3 kennt mittlerweile wohl jeder Computernutzer. Audiodaten können durch
dieses Format auf einen Bruchteil der ursprünglichen Größe komprimiert 
werden.
So lassen sich fünfminütige Songs, die zuvor ca. 50 MByte auf der 
Festplatte benötigten, auf eine Größe von vielleicht vier bis fünf MByte 
eindampfen. Der MP3-Codec schafft dies, indem er für das menschliche Ohr 
(fast) unhörbare Frequenzen einfach aus den Audiodaten entfernt und 
zusätzlich hochoptimierte Packer-Routinen verwendet. Das größte Problem bei 
MP3 ist jedoch, dass der bei der Erstellung benötigte MP3-Encoder 
lizenzpflichtig ist. Wer also Audiodaten ins MP3-Format konvertieren 
möchte, muss auf kommerzielle Software zurückgreifen. Sogenannte freie MP3-
Encoder wie BladeEnc oder Lame sind... nun ja, entweder illegal oder 
wandern rechtlich gesehen auf einem sehr schmalen Grad.

Im Gegensatz zu MP3 basiert Ogg Vorbis auf komplett frei zugänglichen 
Quellcodes. Jeder darf die Ogg-Vorbis-Algorithmen in kommerzieller als auch 
nichtkommerzieller, OpenSource- oder "Closed-Source"-Software verwenden. 
Des weiteren ist der Audio-Codec nur ein Teil eines ziemlich umfangreichen 
Projektes, da die Xiph.org-Foundation, von der das Ogg-Vorbis-Format 
entwickelt wird, plant, in Zukunft sämtliche proprietären Software-
Standards für Audio- und Videotechnologie zu ersetzen. Doch das wird wohl 
noch etwas dauern...

Die Folgen dieser offenen Lizenzpolitik bekommen jedenfalls auch Amiga-User 
zu spüren, denn die erste AmigaOS-Portierung der Vorbis-Tools ließ nicht 
lange auf sich warten. In der Vorbis-Tools-Distribution für AmigaOS 
befinden sich mehrere kleine Programme, mit deren Hilfe sämtliche 
grundlegenden Operationen über die Shell erledigt werden können. So enthält 
das Archiv neben dem eigentlichen Encoder ("oggenc") und dem Decoder 
("oggdec") einen Player ("ogg123"), ein Programm zum Schneiden von Ogg-
Dateien ("vcut"), ein Programm zum Editieren der Audiotags 
("vorbiscomment") und ein weiteres Programm ("ogginfo"), welches alle 
wichtigen Informationen über eine Ogg-Audio-Datei auflisten kann. Alle 
genannten Programme liegen in Versionen für AmigaOS-68k und MorphOS vor. 
Die 68k-Binaries sind für 68060-CPUs optimiert, funktionieren jedoch auch 
auf älteren 68k-Prozessoren. Eine Portierung für WarpOS ist mir bisher noch 
nicht bekannt (wer nähere Infos hat, möchte mir doch bitte eine E-Mail 
schicken). Es wird außerdem die ixemul.library aus dem Aminet benötigt. Wer 
AHI installiert hat, kann Ogg-Dateien auch über die Soundkarte ausgeben.

Die Anforderungen an die Hardware des Amigas sind enorm. Allein schon der 
Player "ogg123" wird auf "echten" 68k-Rechnern kaum noch sinnvoll 
einsetzbar sein. Ein 44 Sekunden langes Stück (44.1 KHz, Stereo, variable 
Bitrate mit durchschnittlich 172 KBit/s) benötigte auf meinem A1200 mit 
68040/40 MHz ca. drei Minuten, um komplett abgespielt zu werden. Von Audio-
Genuss kann dabei keine Rede sein. Selbst ein Amiga mit 68060-CPU wird kaum 
Resultate erreichen, die man als hörenswert bezeichnen könnte.

Auf das Messen der Geschwindigkeit des Encoders auf meinem Amiga habe ich 
lieber verzichtet, schafft selbst ein PC mit 500MHz-AMD-K6-CPU die 
Konvertierung von CDDA-Audiodaten ins Ogg-Format gerade so in Echtzeit. 
Interessanter wird der Einsatz dann schon auf PPC- oder x86-Amigas, sind 
dort die MIPS und FLOPS nicht ganz so knapp bemessen.

Als Eingangsformate unterstützt der Encoder "oggenc" jedenfalls RAW, 
WAV/PCM, AIFF und AIFF/C in 8 und 16 Bit sowie WAV/IEEE in 32 Bit. Die 
Qualität lässt sich von 0 bis 10 einstellen, was einer durchschnittlichen 
KBit-Rate zwischen 45 und 500 entspricht. Wer aber unbedingt eine 
definierte Bit-Rate oder Bit-Raten zwischen definierten Bereichen benötigt, 
kann "oggenc" natürlich auch dazu veranlassen. Die ganze Latte an 
Programmparametern (inklusive einer kurzen englischen Erklärung) gibt 
"oggenc" mit dem Parameter "-h" aus.

Wer nur einen 68k-Amiga sein Eigen nennt, kann mit Hilfe des Programms 
"oggdec" Ogg-Audiodateien ins WAV-Format konvertieren und diese dann zum 
Beispiel mit AMPlifier abspielen lassen. "oggdec" unterstützt dabei die 
WAV-Formate 8 Bit, 16 Bit, signed, unsigned, little endian und big endian.

Das Schnittprogramm "vcut" ist etwas "tricky" und hat außerdem noch einen 
eher experimentellen Status. Es ist also etwas Vorsicht angesagt. Die 
Syntax lautet:

vcut.060 infile.ogg outfile1.ogg outfile2.ogg cutpoint

Dabei ist "infile.ogg" die Datei, die in zwei einzelne Dateien zerlegt 
werden soll, "outfile1.ogg" und "outfile2.ogg" sind die beiden 
resultierenden Dateien. "cutpoint" ist die Position in Samples (bei einer 
CD-Aufnahme gibt es 44100 Samples pro Sekunde), an der der Schnitt 
durchgeführt werden soll. Dieser lässt sich mittels einer kleinen Formel 
berechnen. Möchte man zum Beispiel eine in 44.1 KHz gesamplete Ogg-Aufnahme 
nach 50 Sekunden schneiden, wird der Schnittpunkt mit 50/(1/44100) 
berechnet. Der ermittelte "cutpoint" wäre demnach 2205000. Bei meinen 
Experimenten erstellte "vcut" zwar zwei Dateien (die erste Schnittdatei 
"outfile1.ogg" hatte sogar die richtige Länge von 50 Sekunden), jedoch war 
die zweite Datei immer nur 0 Byte groß, was so natürlich nicht stimmen 
kann. Aber wie erwähnt ist "vcut" noch nicht ganz ausgereift.

Das Programm "vorbiscomment" dient dazu, beliebige zusätzliche 
Informationen (Tags) in einer Ogg-Vorbis-Datei unterzubringen. So kann zum 
Beispiel angegeben werden, wer die Datei erstellt hat, welcher Interpret zu 
hören ist oder von welchem Album das Stück stammt. Wird "vorbiscomment" nur 
mit dem Namen einer Ogg-Datei aufgerufen, werden alle gespeicherten Tags 
aufgelistet. Mit dem Parameter "-a" können neue Tags eingefügt werden. Der 
einzufügende Tag wird mit dem Parameter "-t" eingeleitet. Das Beispiel...

vorbiscomment.060 -a -t "Name=Christian" -t "Nachname=Aichinger" test.ogg

... fügt der Datei "test.ogg" die beiden Tags "Name" und "Nachname" ein und 
setzt deren Werte auf "Christian" und "Aichinger". Welche Tags in der Datei 
gespeichert werden sollen, ist dabei der Wahl des Anwenders überlassen. Es 
können des weiteren auch Tags direkt aus einer externen Textdatei verwendet 
oder schon vorhandene Tags mit neuen Werten belegt werden.

Der letzte Befehl "ogginfo" dient zur Diagnose und zur Ausgabe diverser 
Informationen über Ogg-Vorbis-Dateien. Neben Abspieldauer und der vom 
Ersteller angegebenen Tags werden noch die minimale und maximale Bitrate 
(falls angegeben) und auch die nominale und die durchschnittliche Bitrate 
ausgegeben.
Mit dem Parameter "-q" wird die Informationsausgabe unterdrückt und nur 
etwaige Fehler in der Ogg-Datei ausgegeben. Der Parameter "-v" veranlasst 
dagegen "ogginfo", sämtliche wichtigen (und unwichtigen) Informationen 
auszugeben.

Autor: M. Smith, K. Arnold, S. Seibert, S. Boessenkool 
Download: http://www.honeypot.net/audio/
Programmversion: 1.0
Homepage: http://www.vorbis.com
Lizenz: Public Domain (Open Source)


Ogg--Engine:

Die Ogg--Engine von Carsten Siegner ist eine graphische Benutzeroberfläche 
für die ogg-tools. Wer also keinen Bock hat, kryptische Benutzereingaben in 
eine Shell zu tippen, ist mit diesem Programm gut bedient.

Screenshot:
Screenshot

Die Installation beschränkt sich auf das Entpacken des Archivs. Alle 
benötigten Programme, wie der Ogg-Encoder, -Decoder und -Player befinden 
sich schon in dem Archiv. Die ixemul.library, die von den ogg-tools 
vorausgesetzt wird, muss aber in jedem Fall installiert worden sein oder 
noch installiert werden. Nachdem auch das erledigt ist, kann es sofort 
losgehen.

Die Oberfläche teilt sich in vier Bereiche. Im oberen Teil kann jeweils ein
Eingangs- und ein Ausgangsfile angegeben werden. Die Qualitätsstufe - falls 
eine Datei in ein Ogg-File konvertiert werden soll - wird mit einem Slider 
eingestellt. Im mittleren Bereich können diverse Tags angegeben werden. 
Benutzerspezifische Tags lässt die GUI allerdings nicht zu. Im unteren 
Bereich finden sich drei Buttons für den Player, Decoder und den Encoder. 
Je nachdem, was mit der GUI angestellt werden soll (ein Ogg erstellen, 
abspielen oder dekodieren) muss auch das Eingangs- bzw. Ausgangsfile dem 
vorausgesetzten Format entsprechen. Wenn zum Beispiel als "Eingang" eine 
WAV-Datei angegeben wurde, kann diese dann nicht mit dem Player-Button 
abgespielt werden, denn ogg123 kann nur Ogg-Dateien abspielen. Dasselbe 
gilt für den Encoder. Wenn als Eingangsdatei ein Ogg-File angegeben wurde, 
kann dieses natürlich nicht in ein Ogg-File konvertiert werden. Der 
Anwender muss also aufpassen, was als Eingangs- und Ausgangsfile angegeben 
wurde, wenn er eine der drei Funktionen ausführen möchte.

Autor: Carsten Siegner 
Download:  http://home.t-online.de/home/CarstenSiegner2/Ogg-Engine.lha 
Programmversion: ?
Homepage: http://home.t-online.de/home/CarstenSiegner2/
Lizenz: Freeware


So, das war das „Kleine Helfer“-Spezial zu Ogg Vorbis auf dem Amiga. Wer 
Vorschläge für die nächste Ausgabe hat oder irgendetwas zu diesem Text 
anzumerken hat, schickt mir eine Mail.

Christian Aichinger <aichi@gmx.de>