Bytes in Integer
Du hast gesehen, wie man mit Pythons wave-Modul und der Methode readframes() eine Audiodatei importiert und liest. Das Ergebnis ist jedoch ein Byte-Array.
Um die Bytes in etwas Nützlicheres umzuwandeln, verwenden wir NumPys Methode frombuffer().
Indem wir frombuffer() die Byte-Daten der Schallwellen übergeben und einen dtype von 'int16' angeben, können wir die Bytes in Integer konvertieren. Mit Integern lässt es sich viel leichter arbeiten als mit Bytes.
Die Python-Bibliothek wave wurde bereits importiert, ebenso wie die good_morning.wav-Audiodatei.
Diese Übung ist Teil des Kurses
Verarbeitung gesprochener Sprache in Python
Anleitung zur Übung
- Importiere das Paket
numpymit dem gängigen Aliasnp. - Öffne und lies die Good-Morning-Audiodatei.
- Wandle die
signal_gm-Bytes inint16-Integer um. - Lass dir die ersten 10 Werte der Schallwelle anzeigen.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
import ____ as ____
# Open good morning sound wave and read frames as bytes
good_morning = wave.open(____, 'r')
signal_gm = good_morning.readframes(-1)
# Convert good morning audio bytes to integers
soundwave_gm = np.frombuffer(____, dtype=_____)
# View the first 10 sound wave values
print(soundwave_gm[:____])