目录
- openSMILE 工具简介
- Linux 上的安装步骤
- 使用示例
- 后续
openSMILE 工具简介
- 一款以命令行形式运行的工具,通过配置config文件,主要用于音频特征的提取。
- 官网:https://www.audeering.com/research/opensmile/ (当前是3.0版本)
Linux 上的安装步骤
我的系统环境:Ubuntu 20.04.4
参考:
- 官方文档:https://audeering.github.io/opensmile/get-started.html
- GitHub:https://github.com/audeering/opensmile
Step1:下载安装包
直接 clone 该项目:https://github.com/audeering/opensmile
Step2:
进入项目目录,执行如下命令,成功之后会生成 build 目录:
sh build.sh
Step3:
将 ./build/progsrc/smilextract
加入系统目录:
vim /etc/profile
在文档末尾添加:
export PATH="/data/opensmile-master/build/progsrc/smilextract:$PATH"
保存退出,然后执行:
source /etc/profile
Step4:
测试安装是否成功:
SMILExtract -h
成功则会显示版本等相关信息,类似如下:
使用示例
使用语法示例如下,提供:-C
配置文件路径( config 文件夹下有,也可以自己修改定义),-I
音频文件路径,-O
输出结果文件路径(默认ARFF格式)
SMILExtract -C ./path/to/xx.conf -I ./path/to/input_audio/xx.wav -O ./path/to/output_file/xx.csv
代码示例:在项目目录下执行
SMILExtract -noconsoleoutput -C ./config/is09-13/IS13_ComParE.conf -I ./example-audio/media-interpretation.wav -O ./feature.csv
打开生成的结果文件 feature.csv
可以看到,前面为特征列的名称和数据类型:
最后一行为具体的特征数据:
可以通过如下Python代码进行特征解析:
def feature_file_reader(feature_fp):"""读取生成的ARFF格式csv特征文件中特征值:param feature_fp: csv特征文件路径:return: np.array"""with open(feature_fp) as f:last_line = f.readlines()[-1] # ARFF格式csv文件最后一行包含特征数据features = last_line.split(",")features = np.array(features[1:-1], dtype="float64") # 第2~倒数第二个为特征数据return features
更多使用参考:
- ⭐GitHub - zlzhang1124/AcousticFeatureExtraction
- 知乎 - openSMILE简介及使用(trans2018)
后续
发现了一个更加方便使用的 Python 库:opensmile
pip install opensmile