CommencerCommencer gratuitement

Octets vers entiers

Vous avez vu comment importer et lire un fichier audio avec le module wave de Python et la méthode readframes(). Mais cela renvoie un tableau d’octets.

Pour convertir ces octets en quelque chose de plus exploitable, nous allons utiliser la méthode frombuffer() de NumPy.

En passant à frombuffer() les octets de nos ondes sonores et en indiquant un dtype de 'int16', nous pouvons convertir nos octets en entiers. Les entiers sont bien plus faciles à manipuler que les octets.

La bibliothèque Python wave a déjà été importée ainsi que le fichier audio good_morning.wav.

Cet exercice fait partie du cours

Traitement du langage parlé en Python

Afficher le cours

Instructions

  • Importez le package numpy avec son alias courant np.
  • Ouvrez et lisez le fichier audio « good morning ».
  • Convertissez les octets de signal_gm en entiers int16.
  • Affichez les 10 premières valeurs de l’onde sonore.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

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[:____])
Modifier et exécuter le code