水中での連続録音の大きな 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)
最初のフレームは「\xcd\xbc\xff@\x01\x00」のようになります。構造体を使用して解凍しようとしましたが、何をしても解凍すると、次のエラーが表示されます:「str サイズがフォーマットと一致しません」。これは、Python 構造体が 24 ビット データを処理できないことに関連していると思われます。
ウェーブ ファイルのパラメーターは次のようになります。
- nチャンネル=2
- サンプル幅=3
- フレームレート=48000
- nframes=283516532L
- comptype='NONE'
- compname='非圧縮'
24 ビットのステレオ WAV ファイルを numpy 配列に読み込む方法を知っている人はいますか?