wave モジュールというのがあるけれど、 scipy でも WAVE ファイル読めるみたいだし。
以下のサンプル・プログラムでは wave モジュールを使っている。
| readparam.py |
# coding: utf-8
# readparam.py --- WAVEファイルのパラメーター調査
import wave
import sys
argv = sys.argv
argc = len(argv)
if argc == 1:
fname = "guitar-5-3.wav"
else:
fname = argv[1]
wavefile = wave.open(fname)
nchannels = wavefile.getnchannels() # 1: モノラル, 2: ステレオ
samplewidth = wavefile.getsampwidth()
samplingrate = wavefile.getframerate()
numframes = wavefile.getnframes()
parameters = wavefile.getparams()
print "ファイル名: ", fname
print "チャンネル数: ", nchannels
print "サンプル幅: ", samplewidth
print "サンプリング周波数: ", samplingrate
print "フレームの総数: ", numframes
print "パラメーター: ", parameters
|
$ python readparam.py guitar-5-3.wav ファイル名: guitar-5-3.wav チャンネル数: 2 サンプル幅: 2 サンプリング周波数: 44100 フレームの総数: 452025 パラメーター: (2, 2, 44100, 452025, 'NONE', 'not compressed') |
guitar-5-3.wav が欲しければ、 curl -O http://nalab.mind.meiji.ac.jp/ mk/lecture/fourier-2020/guitar-5-3.wav