工具学习——使用OpenSmile提取音频特征

这篇具有很好参考价值的文章主要介绍了工具学习——使用OpenSmile提取音频特征。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

OpenSmile介绍

  • openSMILE(open-source Speech and Music Interpretation by Large-space Extraction)是一个开源工具包,用于语音和音乐信号的音频特征提取和分类。openSMILE广泛应用于情感计算的自动情感识别。openSMILE完全免费用于研究目的。

下载和安装

  • 在下述网页下载opensmile的安装包,链接
  • 然后进入“/home/public/gl/MultiDetection/alzheimers-dementia-master/opensmile-master/”
    工具学习——使用OpenSmile提取音频特征,AD检测分类,学习,音视频
  • 输入如下指令
bash build.sh
  • 运行结果如下
    工具学习——使用OpenSmile提取音频特征,AD检测分类,学习,音视频
  • 将这个二进制执行文件在环境路径中添加。
export PATH="/home/public/gl/MultiDetection/alzheimers-dementia-master/opensmile-master/build/progsrc/smilextract:$PATH"

工具学习——使用OpenSmile提取音频特征,AD检测分类,学习,音视频

  • 使用如下指令进行设置测试,输出如下
SMILExtract -h

工具学习——使用OpenSmile提取音频特征,AD检测分类,学习,音视频

提取特征

格式转换

  • 我需要处理的是mp3文件,而opensmile仅仅支持处理wav文件,所以这里需要将wav文件转为mp3文件
  • 这里需要调用ffmpeg进行格式转换,对应的脚本如下
#!/bin/bash

# 定义搜索和转换的根目录
SEARCH_DIR="/home/public/gl/Dataset/ADDReSS-M/"

# 使用 find 命令查找所有的 .mp3 文件
# 然后使用 while 循环和 read 命令逐一处理它们
find "$SEARCH_DIR" -type f -name "*.mp3" | while IFS= read -r mp3file; do
    # 使用参数替换来生成新的 .wav 文件名
    wavfile="${mp3file%.mp3}.wav"

    # 检查MP3文件是否存在
    if [ ! -f "$mp3file" ]; then
        echo "The file $mp3file does not exist, skipping."
        continue
    fi

    # 调用 ffmpeg 进行转换
    ffmpeg -i "$mp3file" "$wavfile" < /dev/null && echo "Converted $mp3file to $wavfile"

    # 如果不需要保留原MP3文件,取消下面一行的注释
    # rm "$mp3file"
done

echo "All MP3 files have been converted to WAV format."
  • 输出效果如下

工具学习——使用OpenSmile提取音频特征,AD检测分类,学习,音视频

特征提取

尝试一
  • 这里直接运行了下述脚本,遍历所有的wav文件,并将特征进行保存,脚本代码如下
#!/bin/bash

# openSMILE的配置文件路径
SMILE_CONFIG="/home/public/gl/MultiDetection/alzheimers-dementia-master/opensmile-master/config/is09-13/IS13_ComParE.conf"
# 原始数据集的根目录
SOURCE_DIR="/home/public/gl/Dataset/ADDReSS-M/"
# 特征文件保存的根目录
FEATURE_DIR="./ADDReSS-M_features"

# 创建特征文件的保存目录
mkdir -p "$FEATURE_DIR"

# 递归地查找所有的WAV文件
find "$SOURCE_DIR" -type f -name "*.wav" | while read -r wavfile; do
  # 计算相对路径
  relative_path="${wavfile#$SOURCE_DIR}"
  # 获取不带扩展名的文件名
  base_name="$(basename "$relative_path" .wav)"
  # 获取不带文件名的目录路径
  dir_path="$(dirname "$relative_path")"

  # 在特征文件目录中创建相同的目录结构
  mkdir -p "$FEATURE_DIR/$dir_path"

  # 设置输出文件的完整路径
  output_file="$FEATURE_DIR/${dir_path}/${base_name}.csv"

  # 使用openSMILE处理WAV文件
  SMILExtract -C "$SMILE_CONFIG" -I "$wavfile" -O "$output_file"
  echo "Features extracted for $wavfile and saved to $output_file"
done

echo "Feature extraction complete for all WAV files."
  • 输出结果如下
    工具学习——使用OpenSmile提取音频特征,AD检测分类,学习,音视频
  • 比较害怕及格diable对结果有什么影响,这里仔细地搜索相关资料进行学习
    • 这个东西是用来设置输出文件样式的,如果我只需要csv的数据并不需要使用
      工具学习——使用OpenSmile提取音频特征,AD检测分类,学习,音视频
正常使用手段
  • 需要指定提取音频特征的配置文件、输入文件和输出文件,具体使用样例如下
SMILExtract -C config/demo/demo1_energy.conf(配置文件) -I example-audio/opensmile.wav(输入文件) -O opensmile.energy.csv(输出文件)
  • 运行结果如下
    • 仅仅收到了MSG,运行成功
    • 收到ERROR表示提取失败

工具学习——使用OpenSmile提取音频特征,AD检测分类,学习,音视频

创建自己的配置文件

  • 我们将使用此函数生成我们的第一个配置文件,该文件将能够读取波形文件、计算帧能量并将输出保存到 CSV 文件
  • 具体指令如下
SMILExtract -cfgFileTemplate -cfgFileDescriptions -configDflt cWaveSource,cFramer,cEnergy,cCsvSink -l 1 2> myconfig/demo1_descriptions.conf

工具学习——使用OpenSmile提取音频特征,AD检测分类,学习,音视频

配置文件分析

  • 第一部分是基本的配置
    工具学习——使用OpenSmile提取音频特征,AD检测分类,学习,音视频
  • 第二部分是当前配置文件所对应的不同的组件信息
    • 可以在这里修改不同组件的参数,比如说每一帧的长度等 工具学习——使用OpenSmile提取音频特征,AD检测分类,学习,音视频
常见的特征
  • Chroma features for key and chord recognition
    用于键和和弦识别的色度功能

  • MFCC for speech recognition
    用于语音识别的 MFCC

  • PLP for speech recognition
    用于语音识别的 PLP

  • Prosody (Pitch and loudness)
    韵律(音高和响度)

  • The INTERSPEECH 2009 Emotion Challenge feature set
    INTERSPEECH 2009 情感挑战赛功能集

  • The INTERSPEECH 2010 Paralinguistic Challenge feature set
    INTERSPEECH 2010 副语言挑战赛功能集

  • The INTERSPEECH 2011 Speaker State Challenge feature set
    INTERSPEECH 2011 Speaker State Challenge 功能集

  • The INTERSPEECH 2012 Speaker Trait Challenge feature set
    INTERSPEECH 2012 Speaker Trait Challenge 功能集

  • The INTERSPEECH 2013 ComParE feature set
    INTERSPEECH 2013 ComParE 功能集

  • The MediaEval 2012 TUM feature set for violent scenes detection.
    用于暴力场景检测的 MediaEval 2012 TUM 功能集。

  • Three reference sets of features for emotion recognition (older sets, obsoleted by the new INTERSPEECH challenge sets)
    用于情感识别的三个参考功能集(较旧的功能集,已被新的 INTERSPEECH 挑战集淘汰)

  • Audio-visual features based on INTERSPEECH 2010 Paralinguistic Challenge audio features.
    基于INTERSPEECH 2010副语言挑战赛音频特征的视听特征。

  • 这里不同特征需要自己去了解,相关说明文档链接\文章来源地址https://www.toymoban.com/news/detail-828888.html

使用Gnuplot可视化特征

安装

  • 为了使用 gnuplot 可视化特征轮廓,您必须安装 gnuplot 4.6 或更高版本。在 Linux 上,gnuplot 既可以通过发行版的包管理器安装(在 Ubuntu 上:), sudo apt-get install gnuplot-nox 也可以从源代码编译(http://www.gnuplot.info)。对于 Windows,gnuplot 二进制文件可从项目网页获得。

使用

  • 这里需要写对应的plt脚本,然后调用gnuplot进行执行。具体就给了三个样例,分别是色度、频谱图还有响度曲线等,具体看官网就行。如果要自己画图,还是需要自己写的。
    工具学习——使用OpenSmile提取音频特征,AD检测分类,学习,音视频

总结

  • 关于音频特征,使用opensmile进行提取,还是挺快的,而且使用cpu就行,不需要使用gpu,下面就是尝试不同的音频特征就行。

到了这里,关于工具学习——使用OpenSmile提取音频特征的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【python】基于librosa库提取音频特征

    librosa.amplitude_to_db 是一个音频处理库librosa中的一个函数,用于将音频信号的幅度转换为分贝(dB)单位的值。在音频处理中,分贝是一种常用的单位,用于表示信号的相对强度。 该函数的输入参数是音频信号的幅度值,可以是单个值或者一个数组。它会将输入的幅度值转换为

    2024年04月17日
    浏览(49)
  • python之pyAudioAnalysis:音频特征提取分析文档示例详解

    PyAudioAnalysis是一个开源的Python库,用于从音频文件中提取特征并进行分析。它提供了一系列音频处理函数,可以帮助开发者实现音频分类、情感识别、语音分析等多种任务。在本文中,我们将详细介绍如何使用PyAudioAnalysis进行音频特征提取和分析。 音频特征提取 PyAudioAnalys

    2024年02月16日
    浏览(45)
  • 使用python中的pymrmr模块来进行特征提取,深入学习mRMR(最大相关最小冗余准则)

    文章目录 系列文章目录 前言 一、 最大相关最小冗余准则(mRMR)在python对应的库 ? 二、 如何安装和使用prmrmr? 1. 新建一个环境 2. 安装pymrmr库 3.如何使用pymrmr? pymrmr实验结果 总结 最大相关最小冗余准则(maximal relevance andminimal redundancy,mRMR),其核心思想是从给 定的特征集

    2024年02月06日
    浏览(39)
  • 计算机视觉:通过边缘检测探究卷积的特征提取功能

    在前面的课程中,我们学习了卷积核的运算,同时我们也学习了卷积核的含义,我们可以将卷积核理解为特征提取器,也就是说一个卷积核就是一个特征提取器,很多人对这种说法不了解,下面我们就通过一个边缘检测的例子来看一下卷积核是如何进行边缘特征的提取的。

    2024年02月13日
    浏览(45)
  • 【目标检测】(8) ASPP改进加强特征提取模块,附Tensorflow完整代码

    各位同学好,最近想改进一下YOLOV4的SPP加强特征提取模块,看到很多论文中都使用 语义分割中的ASPP模块 来改进,今天用Tensorflow复现一下代码。 YOLOV4的主干网络代码可见我上一篇文章:https://blog.csdn.net/dgvv4/article/details/123818580 将本节的ASPP代码替换原来的SPP模块代码即可 YO

    2024年02月06日
    浏览(36)
  • OpenCV中的人脸关键点检测和人脸特征提取如何实现?

    在OpenCV中,人脸关键点检测和人脸特征提取是常见的计算机视觉任务。OpenCV提供了一些用于实现这些任务的函数和算法。下面将介绍如何在OpenCV中实现人脸关键点检测和人脸特征提取。 1. 人脸关键点检测 人脸关键点检测是指识别和定位人脸上的关键点,如眼睛、鼻子、嘴巴

    2024年02月03日
    浏览(63)
  • 【计算机视觉】图像分割与特征提取——基于Log、Canny的边缘检测

    个人简介:  📦个人主页:赵四司机 🏆学习方向:JAVA后端开发  ⏰往期文章:SpringBoot项目整合微信支付 🔔博主推荐网站:牛客网 刷题|面试|找工作神器 📣种一棵树最好的时间是十年前,其次是现在! 💖喜欢的话麻烦点点关注喔,你们的支持是我的最大动力。 前言:

    2024年02月03日
    浏览(48)
  • 机器学习图像特征提取—SIFT特征提取原理及代码实现

    目录 1 SIFT简介 2 SIFT原理及特点 2.1 SIFT算法特点 2.2 SIFT特征检测 3 SIFT代码实现        SIFT,即尺度不变特征变换(Scale-invariant feature transform,SIFT),是用于图像处理领域的一种描述。这种描述具有尺度不变性,可在图像中检测出关键点,是一种局部特征描述子。       SIF

    2024年02月06日
    浏览(45)
  • 【机器学习】特征工程 - 字典特征提取

    「作者主页」: 士别三日wyx 「作者简介」: CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」: 对网络安全感兴趣的小伙伴可以关注专栏《网络安全入门到精通》 特征工程就是从 「原始数据」 中提取 「特征」 ,以供 「算法」 和 「模型

    2024年02月11日
    浏览(51)
  • opencv基础57-模板匹配cv2.matchTemplate()->(目标检测、图像识别、特征提取)

    OpenCV 提供了模板匹配(Template Matching)的功能,它允许你在图像中寻找特定模板(小图像)在目标图像中的匹配位置。模板匹配在计算机视觉中用于目标检测、图像识别、特征提取等领域。 以下是 OpenCV 中使用模板匹配的基本步骤: 加载图像 : 首先,加载目标图像和要匹配

    2024年02月13日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包