Конвертировать 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-файл в массиве?

Ответы на вопрос(3)

Ваш ответ на вопрос