小编Cno*_*lus的帖子

将3字节立体声WAV文件转换为numpy数组

我已经获得了一个连续水下记录的大型WAV文件,我想将其转换为numpy数组进行分析.我正在努力做到这一点.

到目前为止,我有:

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)
Run Code Online (Sandbox Code Playgroud)

第一帧看起来像这样:'\ xcd\xbc\xff @\x01\x00'.我试图使用struct解压缩它,但解压缩任何我得到以下错误:" str大小不匹配格式 ".我想这与Python struct无法处理24位数据有关.

wave文件的参数如下所示:

  • nchannels = 2
  • sampwidth = 3
  • 帧率= 48000
  • 将为nframes = 283516532L
  • comptype = 'NONE'
  • compname ='not compressed'

有人知道如何将24位立体声WAV文件读入一个numpy阵列?

python numpy wav wave

5
推荐指数
2
解决办法
1955
查看次数

标签 统计

numpy ×1

python ×1

wav ×1

wave ×1