我通过谷歌搜索about.wav文件格式,我所能想到的是帧是由样本(某些定义的位深度)组成的,而wav立体声文件有多个称为通道的东西....混淆是否是一个通道是由框架组成的?播放音频文件时,所有频道都播放吗?如果一个通道由帧组成,那么所有通道的长度是否相等(按比特)?如果有人可以回答,我必须在播放波形的wav文件时单独显示每个通道
我已经获得了一个连续水下记录的大型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文件的参数如下所示:
有人知道如何将24位立体声WAV文件读入一个numpy阵列?