python wav模組獲取取樣率 取樣點聲道量化位數(例項程式碼)
阿新 • • 發佈:2020-01-24
安裝:
pip install wave
在wav 模組中 ,主要介紹一種方法:getparams(),該方法返回的結果如下:
_wave_params(nchannels=1,sampwidth=2,framerate=48000,nframes=171698592,comptype='NONE',compname='not compressed')
引數解釋:
- nchannels:聲道數
- sampwidth:量化位數(byte)
- framerate:取樣頻率
- nframes:取樣點數
程式碼如下:
import wave wavFile = r"C:\Users\Lenovo\Desktop\G0001.wav" f = wave.open(wavFile) # 音訊頭 引數 params = f.getparams() Channels = f.getnchannels() SampleRate = f.getframerate() bit_type = f.getsampwidth() * 8 frames = f.getnframes() Duration = frames / float(SampleRate) # 單位為s print("音訊頭引數:",params) print("通道數(Channels):",Channels) print("取樣率(SampleRate):",SampleRate) print("位元(Precision):",bit_type) print("取樣點數(frames):",frames) print("幀數(Duration):",Duration)
輸出結果:
音訊頭引數: _wave_params(nchannels=1,compname='not compressed')
通道數(Channels): 1
取樣率(SampleRate): 48000
位元(Precision): 16
取樣點數(frames): 171698592
幀數(Duration): 3577.054
驗證:
這是在win 下 使用sox 命令 檢查下的結果:
win 下的sox命令(需要安裝sox,可百度一下) : sox --i G0001.wav
可以看出 ,兩種方法,輸出的結果是一致的。
總結
以上所述是小編給大家介紹的python wav模組獲取取樣率 取樣點聲道量化位數,希望對大家有所幫助!