next up previous
Nächste Seite: Verarbeitung von Wave-Files Aufwärts: Einführung Vorherige Seite: Das Wave-Dateiformat

Unterabschnitte

Konzepte und Konventionen

Das Grundkonzept von WAVETOOLS ist es, durch modularen Aufbau und freie Kombinierbarkeit von kleineren Grundprogrammen nach dem Bausteinprinzip komplexere Transformationen durchzuführen. So erzeugt etwa die Befehlsfolge

(wfct 800Hz 3s; wfct -i50% 2Hz 3s) | wmix -m - - | $\tt\backslash$
wcat -r11025Hz -b8 -oalarm.wav warning.wav +500ms -

ein 3 Sekunden langes Sinussignal von 800 Hz, multipliziert es mit Rechteckimpulsen von 2 Hz und einer Breite von 250 ms, und fügt das so erzeugte Alarmsignal nach einer Pause von einer halben Sekunde an den Inhalt der Datei warning.wav an, die zuvor noch auf ein Format von 8 bit und eine Sampling-Frequenz von 11025 Hz konvertiert wurde, und schreibt alles in die Datei alarm.wav.

Kombination von Programmen

Um die Kombination zu vereinfachen, genügen alle Programme den folgenden Konventionen:

DOS-User müssen ihre Beigeisterung über diese Möglichkeiten leider etwas zügeln, da DOS Binärdateien nicht richtig buffern kann. Zum Auslesen des File-Headers reicht es gerade noch, aber ansonsten seien DOS-User an das Anlegen temporärer Dateien oder an ein vernünftiges Betriebssytem verwiesen.

Optionen und Parameter

Programme wie wflt oder wfct verfügen über eine breite Palette von optionalen Parametern und Switches um die Standard-Syntax möglichst einfach zu halten (Mit Ausnahme von wfct können alle Programme auch ohne Parameter aufgerufen werden.). Optionen und Parameter genügen folgenden Konventionen:

Wieder schlechte Nachrichten für DOS-User: Während nach den UNIX Konventionen Optionen an jeder Stelle in der Parameterliste auftreten können und zwischen Option und Argument Leerzeichen erlaubt sind, so hat man sich unter DOS streng an die Befehlssyntax zu halten, also die Optionen vor allen anderen Parametern und keine Leerzeichen vor optionalen Argumenten.

Einheiten

Zur Angabe physikalischer Größen stehen folgende Einheiten zur Verfügung:

Dimensionslose Einheiten:
% (Prozent), B oder b (Bel) $=\log_{10}$
Phasen und Winkel:
deg (Grad), rad oder r (Radianten)
Zeit:
s (Sekunde)
Frequenz:
Hz, hz oder h (Hertz), f (Basis-Sampling-Frequenz) $=11025$ Hz
Länge:
m (Meter), pt (Punkt) $=0.3516 $mm (dient zur Angabe der Schriftgröße bei wplot)

Allen diesen Einheiten können die dekadischen Multiplikatoren m  $={1 \over 1000}$, c  $={1 \over 100}$, d $={1 \over 10}$, k $=1000$ und für Informatiker K $=1024$ vorangestellt werden.

Interne Darstellung von Wave-Files

Unabhängig von der tatsächlichen Auflösung (sample depth) werden die digitalisierten Werte der Wave-Files intern als Fließkommazahlen aus dem Intervall $[-1,1)$ dargestellt und nur beim Einlesen bzw. der Ausgabe auf die jeweilige Integer-Dastellung umgerechnet. Alle Amplitudenangaben der Programme winf, wview, wplot und wfct beziehen sich auf diese interne Darstellung und sind daher für jedes Format gültig. Ist die Option -v gesetzt, werden etwaige Überläufe vom Programm gemeldet.

Die Programme wflt, wmix und wview müssen Wave-Files in den Speicher einlesen bevor sie mit der Ausgabe beginnen können. Bei langen Dateien kann es daher bei Systemen mit wenig Speicherplatz zu Problemen kommen. In diesem Fall muß die Eingabe mit wcut auf mehrere Dateien aufgeteilt werden, die separat bearbeitet und nachher mit wcat wieder zusammengefügt werden können.


next up previous
Nächste Seite: Verarbeitung von Wave-Files Aufwärts: Einführung Vorherige Seite: Das Wave-Dateiformat

(c) Bernhard Ömer - oemer@tph.tuwien.ac.at - http://tph.tuwien.ac.at/~oemer/