02 Wie berechne und zeichne ich die Wellenform?

Online calculator: Audio file waveform (planetcalc.com)

PCM-Audiodaten werden als eine Folge von Samples gespeichert, die in regelmäßigen Abständen aufgezeichnet werden. Eine Sekunde eines 8kHz-Audiosignals niedriger Qualität besteht aus 8000 Samples. Um jeden Punkt dieses Signals so darzustellen, wie er ist, brauchen Sie mindestens einen 8000 Pixel breiten Bildschirm.

Daher brauchen wir einen Algorithmus, um die visuelle Darstellung der Wellenform zu reduzieren.
Der Rechner verwendet den Root Mean Square (RMS)-Algorithmus, um eine Stichprobenmenge als eine einzige Linie auf dem Kurvendiagramm darzustellen.

  • Bestimmen Sie die Anzahl der Punkte der Kurvenbreite P
  • Bestimmen Sie die Anzahl der Abtastwerte pro Punkt S=T/P, wobei T – Gesamtzahl der Abtastwerte
  • Berechnen Sie für jeden Punkt den RMS:

    wobei s(n) – die n-te Stichprobe eines bestimmten Punktes ist
  • Ziehen Sie für jeden Punkt eine vertikale Linie von -R nach R

Hinweis

Audio-Amplitudensamples werden als Integer-Werte im PCM-Format gespeichert. Der Rechner wandelt die Integer-Amplituden in Float-Werte im Bereich (-1…1) um, um die Signalwellenform im Diagramm einheitlich darzustellen.

Das PCM-Format kann zwei Arten von Integer-Daten speichern. Wenn die ganzzahlige Abtastgröße kleiner oder gleich 8 Bit (ein Byte) ist, wird sie als Wert ohne Vorzeichen gespeichert. Andernfalls (bei mehr als 8 Bit) wird der Wert im Zweierkomplement mit Vorzeichen gespeichert.

Der Rechner wandelt 8-Bit-Ganzzahldaten auf folgende Weise in Fließkommazahlen um: (s(n)-128)/128. Die größeren Integer-Daten (16, 24 oder 32 Bit lang) werden als s(n)/|int_min| in Float umgewandelt. |int_min| entspricht 32768; 8388608 oder 2147483648 für 16, 24 bzw. 32-Bit Ganzzahlen.