Конвертировать 3-байтовый стереофонический WAV-файл в массив numpy
Мне дали большой WAV-файл непрерывной подводной записи, который я хотел бы преобразовать в массив для анализа. Я изо всех сил пытаюсь сделать это.
Пока что у меня есть:
import numpy as np
import scipy as sp
import wave as wv
import struct
wavefile = wv.open(filename,'r')
(nchannels,sampwidth,framerate,nframes,comptype,compname) = wavefile.getparams()
// read a sample as example
wavedata =wavefile.readframes(1)
Первый кадр выглядит так:\ XCD \ XBC \ XFF @ \ x01 \ x00', Я попытался распаковать его, используя struct, но распаковав все, что я делаю, я получаю следующую ошибку: "размер строки не соответствует формату ", Я предполагаю, что это связано с тем, что структура Python не может обрабатывать 24-битные данные.
Параметр wave-файла выглядит следующим образом:
nchannels = 2sampwidth = 3= 48000 кадровnframes = 283516532LCompType =»НИКТО'compname =»не сжатыйКто-нибудь знает, как прочитать 24-битный стереофонический WAV-файл в массиве?