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
Instructions
- Importez le package
numpyavec son alias courantnp. - Ouvrez et lisez le fichier audio « good morning ».
- Convertissez les octets de
signal_gmen entiersint16. - 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[:____])