資源簡介
python進行.wav格式聲音文件的讀取,并進行時域和頻譜的圖的繪制
代碼片段和文件信息
#?-*-?coding:?UTF-8?-*-
import?wave
import?numpy?as?np
import?matplotlib.pyplot?as?plt
#?打開wav文件?,open返回一個的是一個Wave_read類的實例,通過調用它的方法讀取WAV文件的格式和數據。
f?=?wave.open(r“D:\project\REC001.wav““rb“)
#?讀取格式信息
#?一次性返回所有的WAV文件的格式信息,它返回的是一個組元(tuple):聲道數?量化位數(byte單位)?采
#?樣頻率?采樣點數?壓縮類型?壓縮類型的描述。wave模塊只支持非壓縮的數據,因此可以忽略最后兩個信息
params?=?f.getparams()
[nchannels?sampwidth?framerate?nframes]?=?params[:4]
#?讀取波形數據
#?讀取聲音數據,傳遞一個參數指定需要讀取的長度(以取樣點為單位)
str_data??=?f.readframes(nframes)
f.close()
#?將波形數據轉換成數組
#?需要根據聲道數和量化單位,將讀取的二進制數據轉換為一個可以計算的數組
wave_data?=?np.fromstring(str_datadtype?=?np.short)
#?將wave_data數組改為2列,行數自動匹配。在修改shape的
評論
共有 條評論