Aan de slagGa gratis aan de slag

Bytes naar integers

Je hebt gezien hoe je met Pythons wave-module en de methode readframes() een audiobestand importeert en leest. Maar dat levert een array met bytes op.

Om de bytes om te zetten in iets handigere data, gebruiken we NumPy's frombuffer()-methode.

Door frombuffer() de bytes van onze geluidsgolven te geven en een dtype van 'int16' op te geven, kunnen we de bytes naar integers converteren. Met integers werk je veel makkelijker dan met bytes.

De Python wave-bibliotheek is al geïmporteerd, samen met het good_morning.wav- audiobestand.

Deze oefening maakt deel uit van de cursus

Spoken Language Processing in Python

Cursus bekijken

Oefeninstructies

  • Importeer het pakket numpy met de gebruikelijke alias np.
  • Open en lees het good morning-audiobestand.
  • Converteer de signal_gm-bytes naar int16-integers.
  • Bekijk de eerste 10 waarden van de geluidsgolf.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

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 bewerken en uitvoeren