Leia os dados de um único canal de um arquivo de onda estéreo em Python
Eu tenho que ler os dados de apenas um canal em um arquivo de onda estéreo em Python. Para isso, tentei com o scipy.io:
import scipy.io.wavfile as wf
import numpy
def read(path):
data = wf.read(path)
for frame in data[1]:
data = numpy.append(data, frame[0])
return data
Mas esse código é muito lento, especialmente se eu tiver que trabalhar com arquivos mais longos. Alguém conhece uma maneira mais rápida de fazer isso? Pensei no padrãoonda módulo usandowave.readframes (), mas como os quadros são armazenados lá?