Convertendo bytes de onda sonora em inteiros

Processamento de Linguagem Falada em Python

Daniel Bourke

Machine Learning Engineer/YouTube Creator

Convertendo bytes em inteiros

  • Não dá para usar bytes
  • Converta bytes em inteiros com numpy
import numpy as np

# Converter soundwave_gm de bytes para inteiros signal_gm = np.frombuffer(soundwave_gm, dtype='int16')
# Mostrar os 10 primeiros itens signal_gm[:10]
array([ -3,  -5,  -8,  -8,  -9, -13,  -8, -10,  -9, -11], dtype=int16)
Processamento de Linguagem Falada em Python

Encontrando a taxa de quadros

  • Frequência (Hz) = tamanho do array do objeto wave/duração do arquivo de áudio (segundos)
# Obter a taxa de quadros (frame rate)
framerate_gm = good_morning.getframerate()

# Mostrar a taxa de quadros framerate_gm
48,000
  • Duração do arquivo de áudio (segundos) = tamanho do array do objeto wave/frequência (Hz)
Processamento de Linguagem Falada em Python

Encontrando timestamps da onda sonora

# Retorna valores igualmente espaçados entre start e stop
np.linspace(start=1, stop=10, num=10)
array([ 1.,  2.,  3.,  4.,  5.,  6.,  7.,  8.,  9., 10.])
# Obter os timestamps da onda sonora good morning
time_gm = np.linspace(start=0, 
                      stop=len(soundwave_gm)/framerate_gm,
                      num=len(soundwave_gm))
Processamento de Linguagem Falada em Python

Encontrando timestamps da onda sonora

# Ver os 10 primeiros timestamps da onda good morning
time_gm[:10]
array([0.00000000e+00, 2.08334167e-05, 4.16668333e-05, 6.25002500e-05,
       8.33336667e-05, 1.04167083e-04, 1.25000500e-04, 1.45833917e-04,
       1.66667333e-04, 1.87500750e-04])
Processamento de Linguagem Falada em Python

Vamos praticar!

Processamento de Linguagem Falada em Python

Preparing Video For Download...