Opensmile的安装与简单使用

Opensmile的安装与简单使用

Opensmile官方下载地址(点击OPENSMILE ON GITHUB即可跳转到链接)
在这里插入图片描述
github界面: 自行根据系统选择下载自行根据系统选择下载
在这里插入图片描述

Windows系统

安装与测试

  1. 下载后解压到任意路径即可
  2. 验证是否安装成功
    • 打开命令行窗口cd到openSMILE安装路径的bin目录下
      在这里插入图片描述
    • 输入命令:SMILExtract -h,回车
      在这里插入图片描述
      显示以上界面即为安装成功。

简单使用

使用 OpenSMILE(The Munich Open-Source Large-scale Multimedia Feature Extractor)提取音频特征的一般步骤:

  1. 安装 OpenSMILE:首先,需要安装 OpenSMILE。你可以从其官方网站下载并安装 OpenSMILE 软件包。安装完成后,确保 OpenSMILE 的可执行文件在系统路径中可用。

  2. 准备音频文件:准备要提取特征的音频文件。这些音频文件应该是支持的格式(例如,WAV、MP3等)。

  3. 定义配置文件:OpenSMILE 需要一个配置文件来指定要提取的特征。配置文件通常是一个文本文件,指定了要提取的特征集合以及相关的参数。

  4. 执行特征提取:使用 OpenSMILE 的命令行工具,在终端中运行命令来执行特征提取。命令的参数包括音频文件的路径、配置文件的路径以及输出文件的路径。

  5. 处理提取的特征:提取完特征后,你可以对特征进行进一步的处理,例如归一化、降维等。

方式一:Windows下直接在命令行使用

这里是一个简单的例子,展示如何在命令行使用 OpenSMILE 进行特征提取:

SMILExtract -C config/emobase.conf -I input.wav -O output.csv

在这个例子中:

  • SMILExtract 是 OpenSMILE 的可执行文件。
  • -C config/emobase.conf 指定了配置文件的路径。
  • -I input.wav 指定了输入音频文件的路径。
  • -O output.csv 指定了输出 CSV 文件的路径。

执行该命令后,OpenSMILE 将会读取 input.wav 文件,使用 emobase.conf 配置文件中指定的特征集合提取特征,并将提取的特征保存到 output.csv 文件中。

方式二:使用Python调用

直接调用 OpenSMILE 的可执行文件:这种方法通过在 Python 中调用系统命令来执行 OpenSMILE。可以使用 subprocess 模块来调用 OpenSMILE 的可执行文件,并传递参数进行特征提取。

  • subprocess 是 Python 标准库中的一个模块,用于创建新的进程,连接到它们的输入、输出和错误管道,并获取它们的返回值。
import subprocess  

# OpenSMILE 可执行文件路径,自行调整
exe_opensmile = r'D:\AD_Tool\opensmile-3.0-win-x64\bin\SMILExtract.exe'
# 配置文件路径,自行调整
path_config = r'D:\AD_Tool\opensmile-3.0-win-x64\config\mfcc\MFCC12_0_D_A.conf'
# 输入音频文件路径
infilename = 'test1.wav'
# 输出特征文件路径
outfilename = 'test.csv'

# 构建命令
command = [
    exe_opensmile,
    '-C', path_config,
    '-I', infilename,
    '-O', outfilename
]

# 执行命令
subprocess.run(command)

pycharm调用openSmile接口简单使用

  1. 安装 opensmile Python 包:pip install opensmile

  2. 简单示例

    import opensmile
    
    # 查看opensmile版本
    print(opensmile.__version__)
    
    # 示例:使用opensmile提取特征
    def extract_features(input_file, output_file):
        # 创建opensmile实例
        smile = opensmile.Smile(
            feature_set=opensmile.FeatureSet.eGeMAPSv02,
            feature_level=opensmile.FeatureLevel.LowLevelDescriptors
        )
        
        # 提取特征
        features = smile.process_file(input_file)
    
        # 保存特征到文件
        with open(output_file, 'w') as f:
            for feature in features:
                f.write(','.join(map(str, feature)) + '\n')
    
    # 测试提取特征
    input_file = 'input.wav'
    output_file = 'output.csv'
    extract_features(input_file, output_file)
    print("Features extracted and saved successfully!")
    
  • 10
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值