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

title_2014_10

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

Schnell Multi-Boot-Medien mit MultiCD erstellen
Schnell Multi-Boot-Medien mit MultiCD erstellen
Tim Schürmann, 24.06.2014 12:40, 0 Kommentare

Wer mehrere nützliche Live-Systeme auf eine DVD brennen möchte, kommt mit den Startmedienerstellern der Distributionen nicht besonders weit: Diese ...

Aktuelle Fragen

Windows 8 startet nur mit externer Festplatte
Anne La, 10.09.2014 17:25, 4 Antworten
Hallo Leute, also, ich bin auf folgendes Problem gestoßen: Ich habe Ubuntu 14.04 auf meiner...
Videoüberwachung mit Zoneminder
Heinz Becker, 10.08.2014 17:57, 0 Antworten
Hallo, ich habe den ZONEMINDER erfolgreich installiert. Das Bild erscheint jedoch nicht,...
internes Wlan und USB-Wlan-Srick
Gerhard Blobner, 04.08.2014 15:20, 2 Antworten
Hallo Linux-Forum: ich bin ein neuer Linux-User (ca. 25 Jahre Windows) und bin von WIN 8 auf Mint...
Server antwortet mit falschem Namen
oin notna, 21.07.2014 19:13, 1 Antworten
Hallo liebe Community, Ich habe mit Apache einen Server aufgesetzt. Soweit, so gut. Im Heimnet...
o2 surfstick software für ubuntu?
daniel soltek, 15.07.2014 18:27, 1 Antworten
hallo zusammen, habe mir einen o2 surfstick huawei bestellt und gerade festgestellt, das der nic...