基于ipython notebook的 wavefile以及display, Audio的使用
- 首先是使用的庫
- 使用 wavfile 讀取.wav文件
- 使用display,Audio播放聲音
最近在做聲音信號處理的時候,使用了ipython notebook。發現相較于matlab,python在有關生成wave文件和播放音頻需要利用到scipy庫中的scipy.io.wavfile 以及 Ipython 庫中的display,Audio。以下為使用的代碼,以及一些尚未解決的問題:
首先是使用的庫
import numpy as np
from scipy.io import wavfile
from matplotlib import pyplot as plt
使用 wavfile 讀取.wav文件
Fe,sine440 = wavfile.read('sine440.wav')
sine440 = np.array(sine440,dtype=np.float64)
sine440 = sine440/(2**15)
print(Fe)
plt.figure()
plt.plot(sine440)
plt.axis([0,1000,-1,1])
print(sine440.shape)
wavfile.read 返回兩個參數,Fe : 采樣頻率 sine440 :數據類型為numpy.ndarray的聲音信號
使用display,Audio播放聲音
使用display,Audio可以直接播放wav文件
display(Audio('sine440.wav',rate = Fe))
同時也可以用來播放一段類型為numpy.ndarray的編輯好的聲音文件,rate 的數值規定采樣頻率。
display(Audio(yR,rate=Fslow))
上述代碼中yR就是處理過后的numpy.ndarray數據