ÎncepețiÎncepe gratuit

Din bytes în numere întregi

Ai văzut cum se importă și se citește un fișier audio folosind modulul wave din Python și metoda readframes(). Însă rezultatul este un array de bytes.

Pentru a converti acești bytes într-un format mai util, vom folosi metoda frombuffer() din NumPy.

Transmițând lui frombuffer() bytes-urile undelor sonore și specificând dtype ca 'int16', putem converti bytes-urile în numere întregi. Numerele întregi sunt mult mai ușor de prelucrat decât bytes-urile.

Biblioteca wave din Python a fost deja importată, împreună cu fișierul audio good_morning.wav audio file.

Acest exercițiu face parte din cursul

Procesarea limbajului vorbit în Python

Vezi cursul

Instrucțiuni pentru exercițiu

  • Importă pachetul numpy cu aliasul său consacrat, np.
  • Deschide și citește fișierul audio „bună dimineața".
  • Convertește bytes-urile din signal_gm în numere întregi de tip int16.
  • Afișează primele 10 valori ale undei sonore.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

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[:____])
Editează și rulează codul