Python读取WAV文件的几种方式整理

版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处! https://blog.csdn.net/huplion/article/details/81040734

1)scipy

from scipy.io import wavfile
import numpy as np

sample_rate, sig = wavfile.read('new.wav')
print("采样率: %d" % sample_rate)
print(sig)

if sig.dtype == np.int16:
    print("PCM16位整形")
if sig.dtype == np.float32:
    print("PCM32位浮点")

输出如下:

采样率: 16000
[-1466  -733  -733 ...  2199  1832  1466]
PCM16位整形

2)pysoundfile

import soundfile as sf

sig, sample_rate = sf.read('new.wav')

print("采样率:%d" % sample_rate)
print(sig)

输出如下:

采样率:16000
[-0.04473877 -0.02236938 -0.02236938 ...  0.06710815  0.0559082
  0.04473877]

3)wave

不推荐此库

————————————————分割线———————————————–
WAV格可以用16位整形或者32位浮点编码
scipy可以通过输出数据的 dtype 格式来判断
pysoundfile 全部自动转换成float32来输出

猜你喜欢

转载自blog.csdn.net/huplion/article/details/81040734