Die Wellen, die ich rief (2)
WaveTools
Das Mikroskop
Das Programm wview kann wav-Dateien interaktiv am Bildschirm darstellen. Mit den Pfeiltasten [hoch] und [runter] bestimmen Sie das Intervall der darzustellenden Information, mit den Tasten [links] und [rechts] können Sie das von Ihnen bestimmte Intervall in der Zeitachse wandern lassen. Außerdem können Sie mit [Bild hoch] und [Bild runter] zoomen. Das Programm lässt sich, da es im SVGA-Modus läuft, nur mit [Q] oder [Strg+c] beenden.
Dividieren
Als Ergänzung finden Sie auf unserer Heft-CD das Programm winv. Dieses ist nicht in den WaveTools enthalten; ich habe es selbst geschrieben, um die Addition und Multiplikation des Programms wmix noch um die Division zu erweitern. Der Wertebereich der Amplitude liegt zwischen -1 und 1. Das Invertieren der Werte wird diesen Bereich sicher verlassen. Deshalb normiert winv seine Ausgabe derart, dass der maximale Ausschlag 1 beträgt.
Auf der Heft-CD finden Sie das Binary winv, das statisch gelinkt ist. Dieses können Sie in das Verzeichnis /usr/local/bin kopieren (cp .../winv /usr/local/bin). Das Programm besitzt alle Ein- und Ausgabemöglichkeiten und Optionen der anderen WaveTools. Testen wollen wir winv an einer mathematischen Formel, die aus dem Rechnen mit komplexen Zahlen entstammt [2] und in Abbildung 5 zu sehen ist.
Wir wählen n=4 und für den Winkel 100 Hz. Dann erzeugen wir die linke Seite durch
(wfct 100Hz 30ms; wfct 200Hz 30ms; wfct 300Hz 30ms; wfct 400Hz 30ms) | wmix - - - -
während wir für die rechte Seite nun winv für den Term im Nenner des Bruchs einsetzen und diesen über
(wfct 250Hz 30ms; wfct 200Hz 30ms; wfct 50Hz 30ms | winv) | wmix -m - - - | wflt -n
generieren. Dabei normieren wir das Ergebnis final noch einmal mit wflt -n, um die Normierung, die innerhalb von winv vorgenommen wurde, wieder rückgängig zu machen. Schauen wir uns den linken Term in Abbildung 6 an und vergleichen wir ihn mit dem rechten Term in Abbildung 7, so sehen wir, dass die Gleichung schon grob stimmt. Die eckige Gestalt dieser Abbildung macht uns aber darauf aufmerksam, dass es sich um eine numerische Instabilität handelt. Diese können wir in den Griff bekommen, indem wir höher quantisieren und die Auflösung mit der Option -b16 auf 16 Bit erhöhen. Das Ergebnis in Abbildung 8 ist entsprechend zufriedenstellend und nicht mehr von Abbildung 6 zu unterscheiden.
Glossar
Mbrola
Ein Werkzeug, das zusammen mit txt2pho Texte vorliest. Die beiden Programme wurden in der LinuxUser-Ausgabe 04/2002 [1] ausführlich besprochen.
Infos
[1] Jo Moskalewski: "Lesestunde – Sprachsynthesizer Mbrola", LinuxUser 04/2002, S. 25
[2] Herbert Pieper: "Die komplexen Zahlen", Deutsch Taschenbücher, Nr.44, Frankfurt am Main, 1999 (ISBN 3817116144)



