Python音频特征提取——pyAudioAnalysis工具包

语音识别等应用离不开音频特征的提取,最近在看音频特征提取的内容,用到一个python下的工具包——pyAudioAnalysis: An Open-Source Python Library for Audio Signal Analysis,该工具包的说明文档可以点击这里下载,对应的github链接点击这里。

这个工具包原说明文档支持的是Linux安装,且不能与python3很好地兼容,注意啦!

一、pyAudioAnalysis工具包简介

pyAudioAnalysis是一个音频处理工具包,主要功能如图:
Python音频特征提取——pyAudioAnalysis工具包_第1张图片
其中Feature Extraction包括(顺序有先后):
Python音频特征提取——pyAudioAnalysis工具包_第2张图片
补充说明一下:

  • 1-Zero Crossing Rate:短时平均过零率,即每帧信号内,信号过零点的次数,体现的是频率特性
  • 2-Energy:短时能量,即每帧信号的平方和,体现的是信号能量的强弱
  • 3-Entropy of Energy:能量熵,跟频谱的谱熵(Spectral
    Entropy)有点类似,不过它描述的是信号的时域分布情况,体现的是连续性
  • 4-Spectral
    Centroid:频谱中心又称为频谱一阶距,频谱中心的值越小,表明越多的频谱能量集中在低频范围内,如:voice与music相比,通常spectral
    centroid较低
  • 5-Spectral Spread:频谱延展度,又称为频谱二阶中心矩,它描述了信号在频谱中心周围的分布状况
  • 6-Spectral
    Entropy:谱熵,根据熵的特性可以知道,分布越均匀,熵越大,能量熵反应了每一帧信号的均匀程度,如说话人频谱由于共振峰存在显得不均匀,而白噪声的频谱就更加均匀,借此进行VAD便是应用之一
  • 7-Spectral Flux:频谱通量,描述的是相邻帧频谱的变化情况
  • 8-Spectral Rolloff:频谱滚降点,给出定义:
    Python音频特征提取——pyAudioAnalysis工具包_第3张图片
  • 9~21-MFCCs:就是大名鼎鼎的梅尔倒谱系数,这个网上资料非常多,也是非常重要的音频特征。
  • 22~33-Chroma Vector:这个有12个参数,对应就是12级音阶,还是看原文解释:A 12-element representation of the spectral energy where the bins represent the 12 equal-tempered pitch classes of western-type music (semitone spacing).
  • 34-Chroma Deviation:这个就是Chroma Vector的标准方差。

    如果希望了解更多的音频特征,这里给出一个链接,点击这里,包含的特征有:
    Python音频特征提取——pyAudioAnalysis工具包_第4张图片
    对应都有graph、sound可以点击,sound是对应的音频,graph对应的是特征的效果图。

    二、pyAudioAnalysis工具包安装

    pyAudioAnalysis对应链接点击这里。安装这个工具包需要依赖:
    Python音频特征提取——pyAudioAnalysis工具包_第5张图片
    1、A-hmmlearn安装
    hmmlearn的链接点击这里。安装hmmlearn有几个前提:
    Python音频特征提取——pyAudioAnalysis工具包_第6张图片
    下载之后,把hmmlearn-master放在C:\Anaconda3\pkgs\python-3.6.4-h6538335_1\Lib目录,cmd窗口下cd进去,输入:

pip install -U --user hmmlearn

即可安装成功:
注:博主在这里这个包还未安装成功。解决办法请参照博主的另一篇博客。

2、B-Simplejson工具包安装:
Simplejson是Python的JSON编码和解码器,它具有简单、快速、完整、正确和易于扩展的特点,对应的链接点击这里。Simplejson工具包直接conda安装即可:

conda install simplejson

Python音频特征提取——pyAudioAnalysis工具包_第7张图片
3、C-eyed3安装:
eyed3:A tool for working with audio files, specifically MP3 files containing ID3 metadata. 它提供了读写 ID3 标签(v1.x 和 v2.3/v2.4)的功能。同时可检测 MP3 文件的头信息,包括比特率、采样频率和播放时间等。eyed3直接conda install没有成功,对应的链接点击这里。选择了这个版本:
这里写图片描述
放在了python库的Lib文件夹下:C:\Anaconda3\pkgs\python-3.6.4-h6538335_1\Lib,cd到对应目录下,pip install 文件名.whl,即可完成安装。
Python音频特征提取——pyAudioAnalysis工具包_第8张图片
4、D-pydub安装:
pydub是音频处理常用的工具包,例如:
打开一个wav格式文件:

from pydub import AudioSegment
song = AudioSegment.from_wav("never_gonna_give_you_up.wav")

我在github上下载对应的工具包,里边有对应的安装说明。
Python音频特征提取——pyAudioAnalysis工具包_第9张图片
5、E-pyAudioAnalysis安装
Github给出的是linux下的安装思路,这里下载之后将pyAudioAnalysis放在了\Anaconda3\Lib\site-packages文件夹下,进入该文件夹C:\Anaconda3\Lib\site-packages\pyAudioAnalysis-master后输入指令:

pip install pyAudioAnalysis

安装成功。
Python音频特征提取——pyAudioAnalysis工具包_第10张图片

你可能感兴趣的:(Python,音频)