1 安装
#librosa
pip install librosa
#pyaudio
brew install portaudio
pip install pyaudio
2 使用
2.1 librosa的使用
加载音频文件librosa.load
>>> y, sr = librosa.load('/opt/code/python/datasets/corpus/VCTK-Corpus/wav48/p225/p225_337.wav')
>>> y
array([-0.0042162 , -0.00709974, -0.00608977, ..., 0.01398546,
0.01344879, 0. ], dtype=float32)
>>> sr
22050
y代表音频时间序列,sr代表采样评率,librosa默认使用22050采样频率对音频重新采样,如果想使用原文件的采样频率,可以设置sr=None
>>> y, sr = librosa.load('/opt/code/python/datasets/corpus/VCTK-Corpus/wav48/p225/p225_337.wav', sr=None)
>>> y
array([-0.00509644, -0.00695801, -0.00653076, ..., 0.01403809,
0.01324463, 0.01477051], dtype=float32)
>>> sr
48000
librosa,load全部参数:
参数为:
path:音频路径
sr:重采样频率,默认22050,如果设置为None不重采样
mono:该值为true时候是单通道、否则为双通道
offset:读音频的开始时间,也就是可以不从头开始读取音频
duration:持续时间,可以不加载全部时间,通过与offset合作读取其中一段音频
dtype:返回的音频信号值的格式,似乎只有float和float32
res_type:重采样的格式
返回值:
y:音频的信号序列,类型为numpy.ndarray
sr:音频的采样值,如果参数没有设置返回的是原始采样率
2.2 pyaudio的使用
参考:
http://librosa.github.io/librosa/
http://people.csail.mit.edu/hubert/pyaudio/docs/#class-pyaudio