python利用wave對聲音數據進行處理


1.引入包

import numpy as np
import wave
import math
import glob
import matplotlib.pyplot as pl

2.讀取.wav聲音文件

#根據聲音路徑,得到錄音特征值
def get_wav_mfcc(wave_path):
    f = wave.open(wave_path,'rb')
    params = f.getparams()
    nchannels, sampwidth, framerate, nframes = params[:4]
    strData = f.readframes(nframes)#讀取音頻,字符串格式
    waveData = np.fromstring(strData,dtype=np.int16)#將字符串轉化為int
    waveData = waveData*1.0/(max(abs(waveData)))#wave幅值歸一化
    waveData = np.reshape(waveData,[nframes,nchannels]).T
    f.close()
    return waveData
    

3.繪制聲音圖像

waveData=get_wav_mfcc("train\\1-137-A-32.wav")
time = np.arange(0,500)
pl.plot(time, waveData[0:500]) 
pl.xlabel("時間") 
pl.show()


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM