Comece agoraComece grátis

Bytes para inteiros

Você viu como importar e ler um arquivo de áudio usando o módulo wave do Python e o método readframes(). Mas isso resulta em um array de bytes.

Para converter os bytes em algo mais útil, vamos usar o método frombuffer() do NumPy.

Passando para frombuffer() os bytes das ondas sonoras e indicando um dtype de 'int16', podemos converter os bytes em inteiros. Inteiros são muito mais fáceis de manipular do que bytes.

A biblioteca wave do Python já foi importada, assim como o arquivo de áudio good_morning.wav (https://assets.datacamp.com/production/repositories/4637/datasets/d30b8e2319792fb3e9d7ce1e469b15ecf3f75227/good-morning.wav).

Este exercicio faz parte do curso

Processamento de Linguagem Falada em Python

Ver curso

Instruções do exercicio

  • Importe o pacote numpy com o alias comum np.
  • Abra e leia o arquivo de áudio good morning.
  • Converta os bytes de signal_gm para inteiros int16.
  • Veja os primeiros 10 valores da onda sonora.

exercicio interativo prático

Tente este exercicio completando este código de exemplo.

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[:____])
Editar e Executar Código