7.1 WAVEファイルのパラメーターを読み取る

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



桂田 祐史