Inizia subitoInizia gratis

Da byte a interi

Hai visto come importare e leggere un file audio usando il modulo wave di Python e il metodo readframes(). Tuttavia, questo produce un array di byte.

Per convertire i byte in qualcosa di più utile, useremo il metodo frombuffer() di NumPy.

Passando a frombuffer() i byte dell'onda sonora e indicando un dtype pari a 'int16', possiamo convertire i byte in interi. Gli interi sono molto più semplici da gestire rispetto ai byte.

La libreria wave di Python è già stata importata, così come il file audio good_morning.wav.

Questo esercizio fa parte del corso

Elaborazione del linguaggio parlato in Python

Visualizza corso

Istruzioni dell'esercizio

  • Importa il pacchetto numpy con il suo alias comune np.
  • Apri e leggi il file audio good morning.
  • Converti i byte di signal_gm in interi int16.
  • Visualizza i primi 10 valori dell'onda sonora.

esercizio interattivo pratico

Prova questo esercizio completando questo codice di esempio.

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[:____])
Modifica ed esegui il codice