PyAudioAnalysis
PyAudioAnalysis是一个 Python 下的完整的音频分析库。
安装
首先克隆仓库:
安装依赖项目:
安装自身:
分类
分类是通过对多个监督类中的音乐数据进行学习来构建监督模型,之后通过该模型来识别未知类。通常用于对音乐流派进行分类。
加载模型进行分类检测
对于单文件:
Python
from pyAudioAnalysis import audioTrainTest as aT
# 1. 音频文件路径
# 2. 模型文件路径
# 3. 模型文件类型
aT.file_classification("TrueFaith.wav", "data/svmMusicGenre3","svm")
对整个文件夹进行分类:
Bash
# only generates freq counts for each audio class
python audioAnalysis.py classifyFolder -i testFolder/ --model svm --classifier data/svmSM
# also outputs the result of each singe WAV file
python audioAnalysis.py classifyFolder -i testFolder/ --model svm --classifier data/svmSM --details
回归
回归模型在音频分析中也相当重要,例如语音情感识别。由于情感状态并不是一个离散的类别,而是一个实际测量值:
- 唤起度(arousal): 表示激动的程度,值越高,感情也强烈
- 评价值(valence): 表示高兴、满意的程度,值越高越是积极的情感
arousal 和 valence 都高即使非常兴奋,arousal 高 valence 低就是非常伤心。
加载模型进行回归检测
对于单文件回归:
Python
from pyAudioAnalysis import audioTrainTest as aT
aT.file_regression("anger1.wav", "data/modelssvmSpeechEmotion", "svm")
对整个文件夹进行回归:
Bash
python audioAnalysis.py regressionFolder -i ~/ResearchData/AUDIO/emotionSpeechData/germanSegments/Anger/ --model svm --regression data/svmSpeechEmotion
python audioAnalysis.py regressionFolder -i ~/ResearchData/AUDIO/emotionSpeechData/germanSegments/Sadness/ --model svm --regression data/svmSpeechEmotion
python audioAnalysis.py regressionFolder -i ~/ResearchData/AUDIO/emotionSpeechData/germanSegments/Happiness/ --model svm --regression data/svmSpeechEmotion