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