【机器学习PAI实践十二】机器学习实现男女声音识别分类(含语音特征提取数据和代码)

本文涉及的产品
交互式建模 PAI-DSW,每月250计算时 3个月
模型训练 PAI-DLC,5000CU*H 3个月
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
简介: 背景随着人工智能的算法发展,对于非结构化数据的处理能力越来越受到重视,这里面的关键一环就是语音数据的处理。目前,许多关于语音识别的应用案例已经影响着我们的生活,例如一些智能音箱中利用语音发送指令,一些搜索工具利用语音输出文本代替键盘录入。本文我们将针对语音识别中最简单的案例“男女声音”识别,结合本地的R工具以及机器学习PAI,为大家进行介绍。通过本案例,可以将任何用户

背景

随着人工智能的算法发展,对于非结构化数据的处理能力越来越受到重视,这里面的关键一环就是语音数据的处理。目前,许多关于语音识别的应用案例已经影响着我们的生活,例如一些智能音箱中利用语音发送指令,一些搜索工具利用语音输出文本代替键盘录入。

本文我们将针对语音识别中最简单的案例“男女声音”识别,结合本地的R工具以及机器学习PAI,为大家进行介绍。通过本案例,可以将任何用户的语音数据标记出性别,并且保持高准确率。我们把整个实验流程切分为两部分,第一部分是声音信号的特征提取,通过R的信号处理工具实现;第二部分通过机器学习PAI实现男女声音分类模型的训练,本实验需要事先积累男女声音的录音数据,本文已经提供处理好的3000条语音数据,文章末尾提供下载。

声音信号特征提取

语音数据与图像数据以及文本数据不同,如果经常使用K歌软件或者是语音合成软件,不难理解语音数据通常成信号状分布。

为了有效的通过算法处理这种波形数据,需要首先通过信号处理工具对语音信号进行处理。本文我们选用的是R语言的warbleR包,warbleR包含大量的频谱处理工具,可以通过其中的频谱处理函数提取出关于声音的以下特征信息,因为男生和女生在声音频率、振幅的方面一定有很大区别,所以要通过提取以下特征帮助我们进行分类:

接下来会讲解如何提取这些声音信号的特征:

1.安装R

首先安装R语言包,warbleR需要R的版本是3.2以上,这里强烈建议大家使用3.3.3版本(博主在使用3.4的时候遇到错误)。具体R的安装方式网上有很多介绍,这里就不详细介绍了。

2.安装warbleR

安装完R之后,进入R命令行,需要通过以下命令安装warbleR:

install.packages("warbleR")  

library(warbleR)  

这里需要注意的是镜像最好使用美国的默认镜像服务,需要翻*,不然很有可能会安装不成功,因为国内的镜像会缺少某些依赖包。

3.特征提取

首先把需要处理的录音数据(必须是wav格式)按照男声、女声分装在male和female两个文件夹中,然后执行笔者提供的R脚本代码(文末提供了下载链接)。需要将代码中以下两个文件路径改为自己建立的male以及female文件路径即可:

执行这个R脚本,就会将wav格式的声音文件转化为结构化数据,数据会存储为一个CSV文件。文件部分截图:

PAI训练男女声音分类模型

1.导入数据

将通过R处理后的数据导入PAI平台,也可以直接将文末提供的处理好的数据导入。具体方法可以看:https://help.aliyun.com/video_detail/54945.html

数据导入后,可以看到有20个特征以及1列label列,

2.建立分类模型

通过拖拉PAI平台的组件搭建实验,实验流程图:

  • voice_classify:为数据读入源
  • 拆分:将数据集拆分为训练集以及预测集
  • 线性支持向量机:通过SVM算法训练生成模型
  • 预测组件:通过模型对预测集预测
  • 混淆矩阵:用来评估

这是一个比较简单的二分类场景,具体也可以参看之前的一些文章:https://yq.aliyun.com/articles/54260

3.评估

最终“混淆矩阵”组件会显示如下图的分类评估:

通过混淆矩阵,可以看到男女声音的分类还是非常精准的。

总结

本文通过使用R脚本以及机器学习PAI实现了男女声音分类的案例,最终的准确率达到百分之九十八左右。在实际使用过程中,用户需要执行以下几步:
(1)首先积累需要分类的声音文件,数据越多越好,存储为wav格式。
(2)然后通过R脚本对打标好的声音文件进行特征提取。
(3)将处理后的数据上传PAI,建立分类模型即可。

PAI地址:https://data.aliyun.com/product/learn
企业服务咨询:https://survey.aliyun.com/survey/AMgL8_Pm5
数据下载(代码及数据来自warbleR社区开源提供):https://github.com/jimenbian/PAI_voice_classify
与作者讨论可以关注我的微信公众号“凡人机器学习”:

相关实践学习
使用PAI-EAS一键部署ChatGLM及LangChain应用
本场景中主要介绍如何使用模型在线服务(PAI-EAS)部署ChatGLM的AI-Web应用以及启动WebUI进行模型推理,并通过LangChain集成自己的业务数据。
机器学习概览及常见算法
机器学习(Machine Learning, ML)是人工智能的核心,专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能,它是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。 本课程将带你入门机器学习,掌握机器学习的概念和常用的算法。
目录
相关文章
|
16天前
|
人工智能 JSON 算法
Qwen2.5-Coder 系列模型在 PAI-QuickStart 的训练、评测、压缩及部署实践
阿里云的人工智能平台 PAI,作为一站式、 AI Native 的大模型与 AIGC 工程平台,为开发者和企业客户提供了 Qwen2.5-Coder 系列模型的全链路最佳实践。本文以Qwen2.5-Coder-32B为例,详细介绍在 PAI-QuickStart 完成 Qwen2.5-Coder 的训练、评测和快速部署。
Qwen2.5-Coder 系列模型在 PAI-QuickStart 的训练、评测、压缩及部署实践
|
9天前
|
机器学习/深度学习 人工智能 算法
人工智能浪潮下的编程实践:构建你的第一个机器学习模型
在人工智能的巨浪中,每个人都有机会成为弄潮儿。本文将带你一探究竟,从零基础开始,用最易懂的语言和步骤,教你如何构建属于自己的第一个机器学习模型。不需要复杂的数学公式,也不必担心编程难题,只需跟随我们的步伐,一起探索这个充满魔力的AI世界。
26 12
|
5天前
|
机器学习/深度学习 人工智能 自然语言处理
模型训练数据-MinerU一款Pdf转Markdown软件
MinerU是由上海人工智能实验室OpenDataLab团队开发的开源智能数据提取工具,专长于复杂PDF文档的高效解析与提取。它能够将含有图片、公式、表格等多模态内容的PDF文档转化为Markdown格式,同时支持从网页和电子书中提取内容,显著提升了AI语料准备的效率。MinerU具备高精度的PDF模型解析工具链,能自动识别乱码,保留文档结构,并将公式转换为LaTeX格式,广泛适用于学术、财务、法律等领域。
58 3
|
9天前
|
机器学习/深度学习 存储 运维
分布式机器学习系统:设计原理、优化策略与实践经验
本文详细探讨了分布式机器学习系统的发展现状与挑战,重点分析了数据并行、模型并行等核心训练范式,以及参数服务器、优化器等关键组件的设计与实现。文章还深入讨论了混合精度训练、梯度累积、ZeRO优化器等高级特性,旨在提供一套全面的技术解决方案,以应对超大规模模型训练中的计算、存储及通信挑战。
33 4
|
23天前
|
人工智能 边缘计算 JSON
DistilQwen2 蒸馏小模型在 PAI-QuickStart 的训练、评测、压缩及部署实践
本文详细介绍在 PAI 平台使用 DistilQwen2 蒸馏小模型的全链路最佳实践。
|
15天前
|
机器学习/深度学习 人工智能 自然语言处理
探索机器学习:从理论到实践
在这篇文章中,我们将深入探讨机器学习的世界。我们将首先了解机器学习的基本概念和原理,然后通过一个简单的代码示例,展示如何实现一个基本的线性回归模型。无论你是初学者还是有经验的开发者,这篇文章都将帮助你更好地理解和应用机器学习。
|
28天前
|
机器学习/深度学习 数据采集 人工智能
探索机器学习:从理论到Python代码实践
【10月更文挑战第36天】本文将深入浅出地介绍机器学习的基本概念、主要算法及其在Python中的实现。我们将通过实际案例,展示如何使用scikit-learn库进行数据预处理、模型选择和参数调优。无论你是初学者还是有一定基础的开发者,都能从中获得启发和实践指导。
42 2
|
7月前
|
机器学习/深度学习 存储 搜索推荐
利用机器学习算法改善电商推荐系统的效率
电商行业日益竞争激烈,提升用户体验成为关键。本文将探讨如何利用机器学习算法优化电商推荐系统,通过分析用户行为数据和商品信息,实现个性化推荐,从而提高推荐效率和准确性。
249 14
|
7月前
|
机器学习/深度学习 算法 数据可视化
实现机器学习算法时,特征选择是非常重要的一步,你有哪些推荐的方法?
实现机器学习算法时,特征选择是非常重要的一步,你有哪些推荐的方法?
128 1
|
7月前
|
机器学习/深度学习 算法 搜索推荐
Machine Learning机器学习之决策树算法 Decision Tree(附Python代码)
Machine Learning机器学习之决策树算法 Decision Tree(附Python代码)