.wav Datei einfügen und Amplitude ermitteln/Normierung
Verfasst: Dienstag 24. Juli 2018, 15:16
Hallo liebe Community,
mit den folgendem Code habe ich eine .wav-Datei eingefügt und geplottet:
import matplotlib.pyplot as plt
import numpy as np
import wave
import sys
spf = wave.open('wavfile.wav','r')
signal = spf.readframes(-1)
signal = np.fromstring(signal, 'Int16')
plt.plot(signal)
plt.show().
Nun zur Frage. Meine vorgegebenes Signal hat eine max. Amplitude von 200 (aus ASCII-Code erstellt .wav-Datei). Beim Plotten wird das Signal jedoch durch Int16 normiert, sodass in der Darstellung die maximale Amplitude 16Bit, also 2^15, beträgt. Wie lasse ich mir den Normierungsfaktor anzeigen bzw. auswerfen, da ich in Zukunft nicht die max. Amplitude kenne und sie aus dem Signalverlauf berechnen wollte.
Im Voraus vielen Dank für die Hilfe.
mit den folgendem Code habe ich eine .wav-Datei eingefügt und geplottet:
import matplotlib.pyplot as plt
import numpy as np
import wave
import sys
spf = wave.open('wavfile.wav','r')
signal = spf.readframes(-1)
signal = np.fromstring(signal, 'Int16')
plt.plot(signal)
plt.show().
Nun zur Frage. Meine vorgegebenes Signal hat eine max. Amplitude von 200 (aus ASCII-Code erstellt .wav-Datei). Beim Plotten wird das Signal jedoch durch Int16 normiert, sodass in der Darstellung die maximale Amplitude 16Bit, also 2^15, beträgt. Wie lasse ich mir den Normierungsfaktor anzeigen bzw. auswerfen, da ich in Zukunft nicht die max. Amplitude kenne und sie aus dem Signalverlauf berechnen wollte.
Im Voraus vielen Dank für die Hilfe.