openSMILE的下载与使用
1. 安装openSMILE:在官网https://github.com/audeering/opensmile/releases/tag/v3.0.0下载压缩包到本地;
官网底部DOWNLOADopen’SMILE
选择对应压缩包下载,如opensmile-3.0-win-x.zip
-
解压到本地(解压即可使用),安装目录路径记为install_dir,解压后文件如下;
-
提取音频特征需要到代码保存文件夹的bin文件夹下执行命令,在终端将路径调至该路径下
-
在该路径下执行命令SMILExtract -h查看openSMILE是否可用,一般均可以正常使用;
-
在bin目录路径下,通过终端提取特征的命令为SMILExtract -C config_path -I input_audio_path -O ouput_path
其中:
-
-C配置需要提取的音频特征集合路径config_path,在解压文件的config目录下;
例如选择GeMAPS特征集
-
-I配置输入音频的路径input_audio_path;
例如音频example.wav
-
-O配置提取的音频特征保存路径output_path,保存为txt格式;
-
-
结合示例完整提取命令为:
-
提取的特征保存在feature.txt文件中;
以上是使用openSMILE提取音频特征的完整示例;但是大多情况下,我们需要处理大量的音频文件,则需要openSMILE可以批量化的处理音频;下面介绍如何通过python调用openSMILE工具批量处理音频文件。
python调用openSMILE批量处理音频文件
使用openSMILE批量处理音频文件即通过python调用终端执行处理命令,即将上述命令在python(或其他编程语言)中循环执行;
如音频文件列表
import os
audio_list = [audio1.wav, audio2.wav, ..., audion.wav]
for audio in audio_list:
cmd_exe = 'cd ./bin && SMILExtract -C ./config/gemaps/v01a/GeMAPSv01a.conf -I '+ audio +' -O ' + output_file
os.system(cmd_exe)
cmd_exe即为提取特征的命令,在这里通过python去执行而已。在循环处理音频的时候,输出的特征文件名要随着音频不同而改变,否则将会覆盖掉。
批量提取的时候,最好将特征与音频文件对应命名,单独保存到一个文件夹下,便于后续使用和分析。