Die Wellen, die ich rief (2)

WaveTools

01.03.2003
In Ausgabe 01/2003 haben wir ausführlich Einsatzgebiete der WaveTools, insbesondere der Programme wfct, wflt, wmix, und wplot, vorgestellt. Jetzt werfen wir einen Blick auf die restlichen Tools und zeigen deren Anwendungsmöglichkeiten.

Vom Addieren und Multiplizieren

Bei unserer Arbeit mit dem Programm wfct haben wir zwar schon unterschiedliche Wellenformen (Sinus, Dreieck, Rechteck, Sägezahn und Rauschen) generiert, aber eine Option haben wir gänzlich außer Acht gelassen: Dies ist der Parameter -p, der es ermöglicht, die Phasenverschiebung für die Ausgabe der generierten Welle zu definieren. Um eine Phasenverschiebung zu verstehen, rufen wir uns eine einfache Formel aus unserem Trigonometrie-Unterricht ins Gedächtnis zurück: Wir wissen, dass sin(x + ½PI)=cos(x) ist. Wenn also

wfct 440Hz 10ms

eine Sinus-Welle erzeugt, generieren Sie mit

wfct -p90deg 440Hz 10ms

eine Cosinus-Welle (beachten Sie, dass ½PI gerade 90° entspricht – ½PI=1.570796 können Sie aber auch im Bogenmaß über -p1.570796rad definieren). Wer sich noch an eines der Additionstheoreme, genauer

½(sin a + sin b)=sin(½(a+b))×cos(½(a-b))

erinnert, der kann dies nun grafisch überprüfen. Dafür ersetzen Sie a durch 400Hz und b durch 480Hz und erzeugen die beiden Terme links und rechts vom Gleichheitszeichen als wav-Dateien. Der erste Term wird über

(wfct 400Hz 30ms; wfct 480Hz 30ms) | wmix -s - -

erzeugt. Beachten Sie, dass die Option -s durch die Anzahl der Eingabedaten dividiert. Für den zweiten Term brauchen wir ½(a+b)=440Hz und ½(a-b)=40Hz. Somit wird dieser über

(wfct 440Hz 30ms; wfct 20Hz 30ms) | wmix -m - -

generiert. Der Parameter -m multipliziert. Einen Vergleich zeigen die Abbildungen 1 und 2, die in der Tat identisch aussehen.

Abbildung 1: (wfct 400Hz 30ms; wfct 480Hz 30ms) | wmix -s - - | wplot | display
Abbildung 2: (wfct 440Hz 30ms; wfct -p90deg 40Hz 30ms) | wmix -m - - | wplot | display

Was steckt drin?

Das Programm winf zeigt Header-Information von wav-Datei an. Ohne weitere Optionen werden nur die Länge, die Sampling-Frequenz und die Auflösung (in Bits) der Datei ausgegeben. Das kann schon recht interessant sein, denn wenn Sie sich tatsächlich mal Ihren Lieblingsheuler aus dem Netz gezogen haben, gibt Ihnen winf Auskunft über die Qualität der Aufnahme. Gerade wav-Dateien werden wegen ihres hohen Speicherbedarfs von eher minderer Qualität sein, also eine niedrigere Abtastfrequenz oder kleinere Auflösung haben. Nehmen wir uns als Beispiel unsere Cosinus-Welle und holen uns über

wfct -p90deg 400Hz 1s -ocosinus.wav; winf cosinus.wav

die Informationen

cosinus.wav : time 0:01.00 s (  11025 values), sampling 11025 Hz  8 bits

auf den Schirm. Es überrascht nicht weiter, dass die Standardwerte die Abtastrate der Frequenz auf 11025 Hz setzen, wenn die Option -s nicht angegeben wird. Der fehlende Parameter -b führt zur Standardauflösung von 8 Bits. Interessanter ist jedoch die Option -s des Programms winf, die ein wenig Statistik präsentiert. Die Ausgabe liefert neben Maximal- und Minimalwerten auch die Lautstärke der Datei, welche einen Prozentwert in Relation zur Sinus-Welle ausgibt. Hätten Sie gewusst, dass die Überlagerung der Sinus- und Cosinus-Welle noch 99,4% der Lautstärke der Sinus-Welle hat, aber schon die Überlagerung von sin(x) mit sin(x+¾PI) nur noch 76,5% (vgl. auch Listing 1) der Lautstärke des Sinus' besitzt? Warum das so ist, können Sie sich klarmachen, indem Sie die beiden Wellen betrachten.

Listing 1

Die

winf

-Ausgabe

volker@maus: (wfct 440Hz 1s; wfct -p90deg 440Hz 1s) | wmix - - | winf -s
-standard-input-    : time 0:01.00 s (  11025 values), sampling 11025 Hz  8 bits
  Amplitude (x[n])  : min = -1.00000  mid = -0.00931  max = +0.98438
  Step (x[n+1]-x[n]): min = -0.25781  mid = +0.15814  max = +0.25781
  Zero Values       : n =     880  n/sec =   880.0
  Extreme Values    : n =     880  n/sec =   880.0
  Standard Deviation (Volume): s = 0.70295 = 99.4 %
volker@maus: (wfct 440Hz 1s; wfct -p135deg 440Hz 1s) | wmix - - | winf -s
-standard-input-    : time 0:01.00 s (  11025 values), sampling 11025 Hz  8 bits
  Amplitude (x[n])  : min = -0.77344  mid = -0.00779  max = +0.75781
  Step (x[n+1]-x[n]): min = -0.20312  mid = +0.12194  max = +0.19531
  Zero Values       : n =     880  n/sec =   880.0
  Extreme Values    : n =     880  n/sec =   880.0
  Standard Deviation (Volume): s = 0.54108 = 76.5 %

Ebenfalls interessant ist das Ergebnis der Überlagerung von Wellen fast gleicher Frequenz. Sie interferieren schließlich (in Abbildung 3 heben sich eine 440-Hz- und eine 439-Hz-Schwingung einmal in der Sekunde fast auf), weshalb ihre Summe auch nicht die Lautstärke der Sinus-Welle erreicht.

(wfct 440Hz 1s; wfct 439Hz 1s) | wmix - - | winf

liefert 70,5% der Sinus-Lautstärke.

Abbildung 3: (wfct 440Hz 1s; wfct 439Hz 1s) | wmix - - | wplot | display

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Ähnliche Artikel

  • Wav-Dateien mit den Wave-Tools erzeugen
    Alle Welt spricht MP3, wozu sich noch mit wav-Dateien beschäftigen? Letztlich steckt hinter jedem MP3 auch nur eine Art Wellenbeschreibung, und Wellen sind vielfältig einsetzbar. Was man mit wav-Dateien zusammen mit den WaveTools alles erleben kann, zeigt dieser Artikel.
Kommentare

Infos zur Publikation

LU 05/2015: Daten visualisieren

Digitale Ausgabe: Preis € 4,95
(inkl. 19% MwSt.)

Mit der Zeitschrift LinuxUser sind Sie als Power-User, Shell-Guru oder Administrator im kleinen Unternehmen monatlich auf dem aktuelle Stand in Sachen Linux und Open Source.

Sie sind sich nicht sicher, ob die Themen Ihnen liegen? Im Probeabo erhalten Sie drei Ausgaben zum reduzierten Preis. Einzelhefte, Abonnements sowie digitale Ausgaben erwerben Sie ganz einfach in unserem Online-Shop.

NEU: DIGITALE AUSGABEN FÜR TABLET & SMARTPHONE

HINWEIS ZU PAYPAL: Die Zahlung ist auch ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!       

Tipp der Woche

Grammatikprüfung in LibreOffice nachrüsten
Grammatikprüfung in LibreOffice nachrüsten
Tim Schürmann, 24.04.2015 19:36, 0 Kommentare

LibreOffice kommt zwar mit einer deutschen Rechtschreibprüfung und einem guten Thesaurus, eine Grammatikprüfung fehlt jedoch. In ältere 32-Bit-Versionen ...

Aktuelle Fragen

Admin Probleme mit Q4os
Thomas Weiss, 30.03.2015 20:27, 6 Antworten
Hallo Leute, ich habe zwei Fragen zu Q4os. Die Installation auf meinem Dell Latitude D600 verl...
eeepc 1005HA externer sound Ausgang geht nicht
Dieter Drewanz, 18.03.2015 15:00, 1 Antworten
Hallo LC, nach dem Update () funktioniert unter KDE der externe Soundausgang an der Klinkenbuc...
AceCad DigiMemo A 402
Dr. Ulrich Andree, 15.03.2015 17:38, 2 Antworten
Moin zusammen, ich habe mir den elektronischen Notizblock "AceCad DigiMemo A 402" zugelegt und m...
Start-Job behindert Bootvorgang, Suse 13.2, KDE,
Wimpy *, 20.02.2015 10:32, 4 Antworten
Beim Bootvorgang ist ein Timeout von 1 Min 30 Sec. weil eine Partition sdb1 gesucht und nicht gef...
Konfiguration RAID 1 mit 2 SSDs: Performance?
Markus Mertens, 16.02.2015 10:02, 6 Antworten
Hallo! Ich möchte bei einer Workstation (2x Xeon E5-2687Wv3, 256GB RAM) 2 SATA-SSDs (512GB) al...