LoslegenKostenlos loslegen

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

Kurs anzeigen

Anleitung zur Übung

  • Importiere das Paket numpy mit dem gängigen Alias np.
  • Öffne und lies die Good-Morning-Audiodatei.
  • Wandle die signal_gm-Bytes in int16-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[:____])
Code bearbeiten und ausführen