MMAUDIO
Kapitel 4 - Implementierung

MMAUDIO

Die vom Funktionumfang weitaus umfangreichste Applikation ist MMAUDIO, der Audiorecorder und -player. Sowohl auf eine benutzergeführte Interfacegestaltung als auch auf die Unterstützung vielfältiger Audioformate wurde großer Wert gelegt. Selektierbar sind durch eindeutige Symbole repräsentierte Knöpfe, wie sie von z.B. von einem Kassetten- oder Videorekorder bekannt sind. Play, Record, Pause, Stop und ToStart (Sprung an den Anfang des Audiostroms) sind implementiert. Weiterhin können sowohl das Audioformat als auch alle relevanten Kodierungsparameter (entsprechend des gewählten Formates) eingestellt werden. Ergänzt wird das graphische Interface durch Schieberegler zur Regulierung der Lautstärke und der Aufnahmeempfindlichkeit. Weiterhin kann zwischen angeschlossenem Mikrofon und dem Line-In-Eingang umgeschaltet werden, um Aufnahmen von anderen, analogen Audioquellen zu ermöglichen.

Unterstützt wird die Aufnahme und das Abspielen von MPEG-1-Audio, &mu-law, a-law, RAW-PCM, ADPCM und WAV. Die Aufnahme und Kodierung aller Formate geschieht dabei in Echtzeit, nur MPEG-1-Audio wird zuerst als eine Folge von linearen PCM-samples aufgenommen und nachträglich kodiert. Somit erfolgt die langwierige MPEG-Kodierung nur bei Aufnahmen, die explizit vom Benutzer gewünscht wurden.


Abb. 21:MMAUDIO-Interface (links: einfach, rechts: wenig komplex)


Abb. 22:MMAUDIO-Interface (komplex)

Das Interface von MMAUDIO steht in drei Grundvarianten zur Verfügung: einfach, mittel und komplex (letzteres siehe Abbildung 21). Das weniger komplexe Interface (siehe Abbildung 21, rechts) eignet sich für Aufnahme und Wiedergabe, bei denen nicht zwischen Formaten gewechselt werden muß, also der MIME-Typ schon feststeht. Das einfache Interface (siehe Abbildung 21, links) ist zur Einbindung in andere Applikationen gedacht, die zusätzlich Audiounterstützung benötigen. Weiterhin lassen sich alle Varianten explizit als recorder und mit einer für Touchscreens 22 geeigneten Größe der Knöpfe starten und konfigurieren. Zur weiteren Unterstützung des Benutzers wird die Interaktion mit Menüs und Schaltern nur erlaubt (graue Schaltflächen sind dabei inaktiv), wenn die entsprechende Funktion im Kontext der momentanen Ausführung sinnvoll bzw. erlaubt ist, z.B. kann der Benutzer während der Aufnahme weder die Aufnahmelautstärke noch das Format ändern.

Um das Format MPEG zu unterstützen, wurde die Kodierungssoftware der CCITT umgeschrieben, angepaßt und als Teillibrary (LIBENCODE) zur Verfügung gestellt. Als Dekodierer wurde die Entwicklung MAPLAY von Tobias Bading, die im Rahmen eines OKS-Projektes fertiggestellt wurde, als externe Applikation angebunden. Die Steuerung derselben erfolgt über sogenannte Unix- Signals, d.h. MAPLAY kann durch die Applikation MMAUDIO jederzeit gestartet, angehalten oder gestoppt werden. Die eigentlichen Daten werden dabei jedoch von der Applikation MMAUDIO (z.B. vom Message-Store) gelesen und mit Hilfe des named-pipe-Konzeptes 23 an MAPLAY zur Dekodierung weitergereicht.


22) Ein Touchscreen ist ein spezieller Computermonitor mit drucksensitiver Oberfläche und wird z.B. im VISA-System benutzt. Die menschliche Hand ersetzt also die Computermaus zur Selektion von Objekten.
23) Eine named pipe innerhalb des UNIX-Dateisystems verhält sich wie ein
Puffer gewisser Größe. Von ihr kann gelesen und in sie kann geschrieben werden, wie in jede andere Datei, ihre Größe bleibt jedoch konstant und eignet sich deshalb besonders um eine dateibasierte Kommunikation zwischen mehreren Applikationen herzustellen. Somit müssen Lese- und Schreibfunktionen der Applikationen nicht an eine eventuelle Interprozesskommunikation angepaßt werden.