使用Python 机器学习-4-Python Mini Project–使用 librosa 进行语音情感识别

一、前言

该文章仅作为个人学习使用

二、正文

项目源代码:Python 迷你项目 - 使用 librosa 进行语音情感识别 - DataFlair (data-flair.training)

数据集:

Python 迷你项目

语音情感识别,有史以来最好的python小项目。最好的例子可以在呼叫中心看到。如果您注意到,呼叫中心员工从不以相同的方式说话,他们与客户推销/交谈的方式会随着客户而变化。现在,这也发生在普通人身上,但这与呼叫中心有什么关系?这是你的答案,员工从言语中识别客户的情绪,这样他们就可以改善他们的服务并转化更多的人。通过这种方式,他们正在使用语音情感识别。那么,让我们详细讨论这个项目。

语音情感识别是一个简单的 Python 迷你项目,您将使用 DataFlair 进行练习。之前,我向您解释与此迷你 python 项目相关的术语,请确保您将 Python 项目的完整列表添加为书签。

什么是语音情感识别?

言语情绪识别,缩写为SER,是试图从言语中识别人类情绪和情感状态的行为。这利用了这样一个事实,即声音通常通过语气和音调反映潜在的情感。这也是狗和马等动物用来理解人类情感的现象。

SER 很难,因为情绪是主观的,注释音频具有挑战性。

什么是天秤座?

librosa 是一个用于分析音频和音乐的 Python 库。它具有更扁平的封装布局、标准化的接口和名称、向后兼容性、模块化功能和可读代码。此外,在这个 Python 迷你项目中,我们演示了如何使用 pip 安装它(以及其他一些包)。

什么是 JupyterLab?

JupyterLab 是 Project Jupyter 的开源、基于 Web 的 UI,它具有 Jupyter Notebook 的所有基本功能,如笔记本、终端、文本编辑器、文件浏览器、丰富的输出等。但是,它还提供了对第三方扩展的改进支持。

若要在 JupyterLab 中运行代码,首先需要使用命令提示符运行它:

C:\Users\DataFlair>jupyter 实验室

这将在浏览器中为您打开一个新会话。创建一个新的控制台,然后开始键入代码。JupyterLab 可以一次执行多行代码;按 Enter 键不会执行您的代码,您需要按 Shift+Enter 键才能执行相同的代码。

言语情感识别 – 目标

使用 librosa 和 sklearn 库以及 RAVDESS 数据集构建一个模型来识别语音中的情感。

语音情感识别 – 关于 Python 迷你项目

在这个 Python 迷你项目中,我们将使用 librosa、soundfile 和 sklearn 等库来构建使用 MLPClassifier 的模型。这将能够识别声音文件中的情感。我们将加载数据,从中提取特征,然后将数据集拆分为训练集和测试集。然后,我们将初始化 MLPClassifier 并训练模型。最后,我们将计算模型的准确性。

数据集

对于这个 Python 迷你项目,我们将使用 RAVDESS 数据集;这是 Ryerson Audio-Visual Database of Emotional Speech and Song 数据集,可免费下载。该数据集有 7356 个文件,由 247 个人对情感有效性、强度和真实性进行了 10 次评分。整个数据集是来自 24 个参与者的 24.8GB,但我们降低了所有文件的采样率,您可以在此处下载

先决条件

您需要使用 pip 安装以下库:

pip install librosa soundfile numpy sklearn pyaudio

如果您在使用 pip 安装 librosa 时遇到问题,可以尝试使用 conda。

语音情感识别 python 项目的步骤

1. 进行必要的进口:

导入 Librosa
导入声音文件
导入操作系统、glob、泡菜
导入 numpy 作为 np
来自 Sklearn。model_selection导入train_test_split
来自 Sklearn。neural_network导入 MLPClassifier
来自 Sklearn。指标导入accuracy_score

截图:

Python 项目 - 导入数据

2. 定义一个功能extract_feature,以从声音文件中提取 mfcc、chroma 和 mel 特征。此函数采用 4 个参数 - 文件名和三个功能的三个布尔参数:

  • MFCC的:Mel 频率倒谱系数,表示声音的短期功率谱
  • 色度:涉及 12 种不同的音高等级
  • 梅尔:梅尔频谱图频率
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值