Python有一些很棒的音频处理库,比如Librosa和PyAudio。还有一些内置的模块用于一些基本的音频功能。
1. Librosa
核心音频处理函数
这部分介绍了最常用的音频处理函数,包括音频读取函数load( ),重采样函数resample( ),短时傅里叶变换stft( ),幅度转换函数amplitude_to_db( )以及频率转换函数hz_to_mel( )等。这部分函数很多,详细可参考librosa官网 http://librosa.github.io/ librosa/core.html
音频处理
频谱表示
幅度转换
时频转换
特征提取
本部分列举了一些常用的频谱特征的提取方法,包括常见的Mel Spectrogram、MFCC、CQT等。函数详细信息可参考http:// librosa.github.io/librosa/feature.html
绘图显示
包含了常用的频谱显示函数specshow( ), 波形显示函数waveplot( ),详细信息请参考http://librosa.github.io/librosa/display. html
2. IPython.display.Audio
PyAudio为跨平台音频I / O库 PortAudio 提供 Python 绑定。使用PyAudio,您可以轻松地使用Python在各种平台上播放和录制音频,例如GNU / Linux,Microsoft Windows和Apple Mac OS X / macOS。
pyaudio有这么几个功能:
- 提取特征
- 训练并且使用分类器
- 语音分割功能
- 内容关系可视化
python实现,好处有这么几个
- 适合做计算分析类型操作(编码少,效率不低)
- 免费
- 不需要很复杂的搭环境
- 大量的第三方库可以使用
具体功能
特征提取(feature extraction):关于时域信号和频域信号都有所涉及
分类(classification):监督学习,需要用已有的训练集来进行训练。交叉验证也实现了,进行参数优化使用。分类器可以保存在文件中以后使用。
回归(regression):将语音信号映射到一个回归值。
分割(segmenttation):有四个功能被实现了
[x] 固定大小的分割
[x] 静音检测(silence removal)
[x] 语音聚类(speaker diarization)
[x] 语音缩略图(audio thumbnailing)
可视化:给定语音,将内容可视化