2013年7月13日土曜日

wave関係

pythonのwaveモジュールを用いて,waveファイルの情報抽出,読み込みを行う.なお,1行目のfrom __future__ import divisionは整数と整数を小数で出力するおまじない.
from __future__ import division
import wave
from pylab import *
from numpy import *

def printWaveInfo(wf):
    print "Number of channels: ", wf.getnchannels()
    print "Sampel width: ", wf.getsampwidth()
    print "Sampling frequency: ", wf.getframerate()
    print "Number of frames: ", wf.getnframes()
    print "Parameters: ", wf.getparams()

def wavread(wf):
    buffer = wf.readframes(wf.getnframes())
    data = frombuffer(buffer, dtype="int16")
    return data

if __name__ == '__main__':
    wf = wave.open("./wave/guitar_A4.wav", "r")
    printWaveInfo(wf)
    x = arange(wf.getnframes())
    y = wavread(wf)
    fs = wf.getframerate()
    x = x / fs
    
    plot(x, y)
    xlabel("Time [sec]", fontsize = 20, fontname = 'serif')
    ylabel("Amplitude", fontsize = 20, fontname = 'serif')
    xticks(fontsize = 16)
    yticks(fontsize = 16)
    show()

2013年7月12日金曜日

macにpythonをインストール



  • python本体をインストール
  • sudo port install python27
  • numpy(pythonで行列を扱うライブラリ)をインストール
  • git clone https://github.com/numpy/numpy.git
    cd numpy
    python setup.py build
    sudo python setup.py install
  • scipy(pythonで複雑な数値計算を扱うライブラリ)をインストール
  • git clone https://github.com/scipy/scipy.git
    cd scipy
    python setup.py build
    sudo python setup.py install
  • matplotlib(pythonでmatlabライクなグラフを扱うライブラリ)をインストール
  • git clone https://github.com/matplotlib/matplotlib.git
    cd matplotlib
    python setup.py build
    sudo python setup.py install