34、基于语音的性别、年龄和口音自动分类

基于语音的性别、年龄和口音自动分类

1 引言

人类在识别他人方面能力出色,除了视觉线索,还高度依赖听觉线索。我们能迅速从语音中判断出说话者的性别、年龄、口音、教育或文化背景等特征。对说话者特征进行分类在对话系统、语音合成、法医鉴定、语言学习、评估系统和说话者识别系统等领域都是一项重要任务。

1.1 人机交互应用

  • 语音对话系统 :为金融、旅游、日程安排、辅导或天气等领域提供服务,需要自动收集用户信息以提供及时且相关的服务。如今,大多数基于电话的服务都使用语音对话系统,将呼叫路由到合适的代理,甚至由自动系统处理整个服务。
  • 计算机辅助学习和评估系统 :提供用户输入语音的交互式录制和回放,反馈声学语音特征,识别输入并解释交互,以充当对话伙伴。学习系统可能需要针对特定口音进行定制。

1.2 以人为中心的应用

  • 智能房间环境 :计算机观察和解释人们的行动和交互,以支持通信目标。
  • 语音翻译系统 :识别源语言的输入语音,将识别输出的文本翻译成目标语言的文本,然后将翻译后的文本合成为目标语言的可听语音。该系统需要根据说话者的性别、年龄和口音生成合适的合成输出。

1.3 澳大利亚口音分类

澳大利亚英语主要有三种口音:广泛式(Broad,占人口的34%)、通用式(General,占55%)和优雅式(Cultivated,占11%)。广泛式澳大利亚英语通常由男性使用,与澳大利亚男性气质相关;大多数澳大利亚人说通用式澳大利亚英语;优雅式澳大利亚英语与英国标准发音有一些相似之处,常被误认为是英国标准发音。目前针对澳大利亚口音的研究主要集中在语言学方法、本地和非本地澳大利亚人的分类或提高澳大利亚自动语音识别性能上,但缺乏基于这三种澳大利亚口音的自动说话者分类研究,也没有能同时根据性别、年龄和口音对人进行分类的系统。

本文提出了一种基于语音的分类方案来对说话者特征进行分类。在训练阶段,语音数据根据说话者的性别、年龄和口音分组为18个说话者组,提取语音特征向量,使用向量量化(VQ)、高斯混合模型(GMM)和支持向量机(SVM)等技术训练说话者特征模型,融合这些组的分类结果以获得每个特征的最终分类结果,并使用澳大利亚国家口语数据库(ANDOSL)进行评估。

2 用于性别、年龄和口音分类的分类器

2.1 向量量化(VQ)

向量量化是一种数据缩减方法,使用聚类技术将特征向量集转换为一组小的不同向量。这些不同的向量称为码向量,最能代表训练向量集的码向量集称为码本。VQ码本可作为语音或说话者模型。VQ建模的关键是导出最优码本,通常使用硬C均值(HCM,即k均值)实现。

设(X = {x_1, x_2, …, x_T})是一组T个向量,每个向量是通过数字语音信号处理提取的d维特征向量。设(U = [u_{it}])是一个矩阵,其元素是(x_t)在第i个簇中的隶属度。硬C划分空间的条件如下:
[
\begin{cases}
\sum_{i = 1}^{C} u_{it} = 1, & \forall t = 1, …, T \
u_{it} \in {0, 1}, & \forall i = 1, …, C, \forall t = 1, …, T \
0 < \sum_{t = 1}^{T} u_{it} < T, & \forall i = 1, …, C
\end{cases}
]

HCM方法基于最小化平方误差和函数:
[
J_m(U, X; \lambda) = \sum_{i = 1}^{C} \sum_{t = 1}^{T} u_{it} d_{it}^2
]
其中(U)是X的硬C划分,(\lambda)是一组原型(在最简单的情况下是簇中心集),(d_{it})是(x_t)到(\mu_i)的A范数距离。

最小化该目标函数可得:
[
u_{it} =
\begin{cases}
1, & d_{it} < d_{jt}, \forall j \neq i, j = 1, …, C \
0, & \text{otherwise}
\end{cases}
]
[
\mu_i = \frac{\sum_{t = 1}^{T} u_{it} x_t}{\sum_{t = 1}^{T} u_{it}}
]

2.2 模糊向量量化(FVQ)

模糊向量量化是将X模糊划分为C个模糊子集或簇。最著名的模糊聚类目标函数是最小二乘函数,即模糊C均值(FCM)函数族。

[
J_m(U, X; \lambda) = \sum_{i = 1}^{C} \sum_{t = 1}^{T} u_{it}^m d_{it}^2
]
其中(U)是X的模糊c划分,(u_{it})是向量(x_t)属于第i个簇的程度,称为模糊隶属度函数,(m > 1)是模糊度。

最小化该模糊目标函数可得:
[
u_{it} = \left[\sum_{k = 1}^{C} \left(\frac{d_{it}}{d_{kt}}\right)^{\frac{2}{m - 1}}\right]^{-1}
]
[
\mu_i = \frac{\sum_{t = 1}^{T} u_{it}^m x_t}{\sum_{t = 1}^{T} u_{it}^m}
]

2.3 高斯混合模型(GMM)

由于特征向量的分布未知,用高斯密度的混合来近似建模,即K个分量密度的加权和:
[
p(x_t | \lambda) = \sum_{i = 1}^{K} w_i N(x_t; \mu_i, \Sigma_i)
]
其中(\lambda)是一组模型参数({w_i, \mu_i, \Sigma_i}),(w_i)是混合权重,(N(x_t; \mu_i, \Sigma_i))是d维高斯分量密度。

训练GMM时,通常使用最大似然(ML)估计。对于训练向量序列X,GMM的似然为:
[
p(X | \lambda) = \prod_{t = 1}^{T} p(x_t | \lambda)
]
由于该表达式是非线性的,使用期望最大化(EM)算法迭代获得参数。辅助函数Q为:
[
Q(\lambda, \lambda’) = \sum_{t = 1}^{T} p(i | x_t, \lambda’) \log[w_i N(x_t; \mu_i, \Sigma_i)]
]
其中(p(i | x_t, \lambda’))是声学类i的后验概率。

EM算法的重估计方程如下:
[
w_i = \frac{1}{T} \sum_{t = 1}^{T} p(i | x_t, \lambda)
]
[
\mu_i = \frac{\sum_{t = 1}^{T} p(i | x_t, \lambda) x_t}{\sum_{t = 1}^{T} p(i | x_t, \lambda)}
]
[
\Sigma_i = \frac{\sum_{t = 1}^{T} p(i | x_t, \lambda) (x_t - \mu_i) (x_t - \mu_i)’}{\sum_{t = 1}^{T} p(i | x_t, \lambda)}
]

2.4 支持向量机(SVM)

训练数据集标记为({(x_i, y_i), i = 1, …, l}),其中(y_i \in {-1, 1}),(x_i \in R^d)。支持向量机使用C - 支持向量分类(C - SVC)算法找到最优超平面:
[
f(x) = w^T \Phi(x) + b
]
通过解决以下优化问题来分离训练数据:
[
\min_{w, \xi} \frac{1}{2} |w|^2 + C \sum_{i = 1}^{n} \xi_i
]
约束条件为:
[
y_i [w^T \Phi(x_i) + b] \geq 1 - \xi_i, \xi_i \geq 0, i = 1, …, l
]
该优化问题保证最大化超平面间隔,同时最小化误差成本。

原问题的拉格朗日形式为:
[
L_P(w, \xi, \alpha, \mu) = \frac{1}{2} |w|^2 + C \sum_{i = 1}^{n} \xi_i - \sum_{i = 1}^{n} \alpha_i [y_i (w^T \Phi(x_i) + b) - 1 + \xi_i] - \sum_{i = 1}^{n} \mu_i \xi_i
]
对偶问题为:
[
L_D(\alpha) = \sum_{i = 1}^{n} \alpha_i - \frac{1}{2} \sum_{i = 1}^{n} \sum_{j = 1}^{n} \alpha_i \alpha_j y_i y_j \Phi(x_i)^T \Phi(x_j)
]
约束条件为:
[
\sum_{i = 1}^{n} y_i \alpha_i = 0, 0 \leq \alpha_i \leq C, i = 1, …, n
]
解为:
[
w = \sum_{i = 1}^{N_S} \alpha_i y_i x_i
]
其中(N_S)是支持向量的数量。

在测试阶段,通过计算以下式子的符号来使用SVM:
[
f(x) = \sum_{i = 1}^{N_S} \alpha_i y_i K(s_i, x) + b
]
其中(s_i)是支持向量。

二元SVM分类器可组合处理多类情况:一对多分类为每个类别使用一个二元SVM将其成员与其他类别分开;成对分类为每对类别使用一个二元SVM将一个类别的成员与另一个类别的成员分开。

分类器对比表格

分类器 原理 优点 缺点
向量量化(VQ) 使用聚类技术将特征向量集转换为码本 实现相对简单 存在量化误差,码本较大时存储需求高
模糊向量量化(FVQ) 模糊划分特征向量集 考虑了向量的模糊隶属度 计算相对复杂
高斯混合模型(GMM) 用高斯密度的混合近似建模特征向量分布 能较好地拟合复杂分布 训练时间较长
支持向量机(SVM) 找到最优超平面分离训练数据 泛化能力强 对大规模数据集计算成本高

分类器训练流程 mermaid 图

graph LR
    A[语音数据] --> B[特征提取]
    B --> C{选择分类器}
    C -->|向量量化(VQ)| D[VQ训练]
    C -->|模糊向量量化(FVQ)| E[FVQ训练]
    C -->|高斯混合模型(GMM)| F[GMM训练]
    C -->|支持向量机(SVM)| G[SVM训练]
    D --> H[模型评估]
    E --> H
    F --> H
    G --> H

3 实验结果

3.1 ANDOSL数据库

澳大利亚国家口语数据库(ANDOSL)语料库包含为澳大利亚本土和海外移民说话者精心平衡的材料,旨在尽可能代表澳大利亚人口中的重要说话者群体。本次实验使用的子集包含108名以澳大利亚英语为母语的说话者,具体分布如下表:

口音类型 说话者数量 性别分布 年龄分布
通用澳大利亚英语 36 男女各18人 18 - 30岁、31 - 45岁、46 + 岁各6人
广泛澳大利亚英语 36 男女各18人 18 - 30岁、31 - 45岁、46 + 岁各6人
优雅澳大利亚英语 36 男女各18人 18 - 30岁、31 - 45岁、46 + 岁各6人

每个说话者在一次会话中贡献200个语音丰富的句子,所有波形以20kHz采样,每个样本16位。

3.2 语音处理

在说话者特征研究中,韵律方法试图捕捉说话者在语调、时间和响度方面的特定变化。这些特征是超音段的,能为基于帧级或语音特征的系统提供补充信息。本次语音处理使用开源的openSMILE特征提取工具,选择了16个低级描述符(包括零交叉率、均方根能量、基音频率、谐波噪声比和MFCC 1 - 12),并为每个描述符计算增量系数。然后对每个描述符应用12个函数(如均值、标准差、峰度等),每个块的总特征向量包含16 * 2 * 12 = 384个属性。

3.3 参数设置

3.3.1 VQ和FVQ参数设置

由于特征值范围不同且使用欧几里得距离,对特征进行如下归一化:
[
x_{tj}’ = \frac{x_{tj} - \mu_j}{s_j}
]
其中(x_{tj})是第t个向量的第j个特征,(\mu_j)是所有T个向量的第j个特征的均值,(s_j)是绝对标准差:
[
s_j = \frac{1}{T} \sum_{t = 1}^{T} |x_{tj} - \mu_j|
]
为了找到合适的簇数量并观察准确率趋势,尝试了不同数量的簇。实验结果表明,当簇数量为32时,口音分类率最高。

3.3.2 GMM参数设置

GMM被视为单状态连续隐马尔可夫模型,使用HTK工具包进行训练和测试。将所有特征向量转换为HTK格式,高斯分量的数量设置为32,与VQ和FVQ的码向量数量相同。

3.4 实验结果分析

3.4.1 不同分类器的性能对比

通过在ANDOSL数据库上的实验,比较了VQ、FVQ、GMM和SVM四种分类器在性别、年龄和口音分类上的性能,结果如下表所示:

分类器 性别分类准确率 年龄分类准确率 口音分类准确率
VQ 85% 60% 70%
FVQ 88% 63% 72%
GMM 90% 68% 75%
SVM 92% 70% 78%

从表中可以看出,SVM在所有分类任务中都表现出最高的准确率,其次是GMM。VQ和FVQ的性能相对较低,但FVQ在一定程度上优于VQ,这表明模糊划分在处理说话者特征分类问题上具有一定优势。

3.4.2 特征重要性分析

为了分析不同特征对分类结果的影响,进行了特征重要性分析。通过逐步去除某些特征并观察分类准确率的变化,发现基音频率、MFCC和均方根能量等特征对性别和年龄分类较为重要,而MFCC和零交叉率等特征对口音分类更为关键。

3.5 实验流程 mermaid 图

graph LR
    A[ANDOSL数据库] --> B[语音处理]
    B --> C[特征归一化]
    C --> D{选择分类器}
    D -->|VQ| E[VQ实验]
    D -->|FVQ| F[FVQ实验]
    D -->|GMM| G[GMM实验]
    D -->|SVM| H[SVM实验]
    E --> I[结果评估]
    F --> I
    G --> I
    H --> I
    I --> J[结果分析]

4 总结

本次研究提出了一种基于语音的说话者特征分类方案,使用VQ、FVQ、GMM和SVM四种分类器对说话者的性别、年龄和口音进行分类。通过在ANDOSL数据库上的实验,验证了该方案的有效性。实验结果表明,SVM在所有分类任务中表现最佳,GMM次之。同时,特征重要性分析揭示了不同特征在不同分类任务中的重要性。

未来的研究可以进一步探索更有效的特征提取方法和分类算法,以提高说话者特征分类的准确率。此外,可以考虑将该方案应用于实际的人机交互和语音翻译系统中,以提升系统的性能和用户体验。

研究成果总结列表

  • 提出基于语音的说话者特征分类方案,涵盖性别、年龄和口音分类。
  • 比较了VQ、FVQ、GMM和SVM四种分类器的性能,SVM表现最佳。
  • 分析了不同特征在分类任务中的重要性。
  • 为实际应用提供了理论和实验基础。

相关推荐

Voice-Classification:语音性别分类

语音分类 声音的性别分类 先决条件: 1.Aubio apt-get install aubio-tools libaubio-dev libaubio-doc 2.sklearn (scikit-learn) pip install -U scikit-learn 或 apt-get install python-sklearn 3.scikit.talkbox sudo easy_install scikits.talkbox 运行程序: 运行服务器。 Python服务器g.py 运行客户端 Python客户端.py 目前它对从客户端发送的 .wav 文件进行分类。 在运行此程序之前,请确保您的 /server/sample 文件夹中已经有 .wav 文件。 去做: 在客户端添加录制按钮。

语音识别数据集-speech analytic--性别识别--Voice Gender Detection using GMMs-2

使用说明在这里:https://blog.youkuaiyun.com/yj13811596648/article/details/88737623

大数据课程综合实验案例:网站用户行为分析

大数据课程综合实验案例1 案例简介1.1 案例目的1.2 适用对象1.3 时间安排1.4 预备知识1.5 硬件要求1.6 软件工具1.7 数据集1.8 案例任务1.9 实验步骤2 本地数据上传到数据仓库Hive2.1 实验数据集的下载2.2 数据集的预处理(1)删除文件第一行记录,即字段名称(2)对字段进行预处理(3)导入数据库3 Hive数据分析3.1 操作Hive3.2 简单查询分析3.3 查询条数统计分析3.4 关键字条件查询分析3.4.1 以关键字的存在区间为条件的查询3.4.2 关键字赋予给定值为

weixin_44616879的博客 1万+

海思方案定制hi3531dv200/SS528 DVR方案解析:从硬件选型到编解码实战应用

海思方案,Hi3518EV100,Hi3518CV100,Hi3515CV100,Hi3516CV100,Hi3516ECV100,Hi3516D,Hi3516A,Hi3519,Hi3520D,Hi3521A,Hi3535,Hi3531,Hi3536,Hi3536C,Hi3536D,Hi3518EV200,Hi3518EV201,Hi3520DV200,Hi3516CV200,Hi3516CV300,Hi3516AV200,Hi3520DV300,Hi3519V101,sd3403,hi3519av200

1584

Cadence HDL原理图库避坑指南:从Excel导入引脚到解决‘V- V+’报错(附FPGA实例)

本文详细介绍了Cadence HDL原理图库的高效构建与排错方法,重点讲解如何从Excel智能导入引脚数据并优化FPGA封装设计。通过数据预处理、智能导入和深度排错三个关键阶段,帮助工程师避免常见错误如‘V- V+’报错,提升设计效率和准确性。

weixin_28739079的博客 234

阿里数据集(cluster-trace-v2018)提取

阿里数据集提取 本数据集采用的是阿里集群数据集-2018 详情可参考该文献:https://blog.youkuaiyun.com/weixin_41988248/article/details/92431588 CSV数据集提取操作见:https://blog.youkuaiyun.com/lucky_shi/article/details/105321149 关于read_csv包的用法见:https://blog.youkuaiyun.com/dc19971118/article/details/107721340 从阿里数据集来看,我

5-StarrySky的博客 3339

VSCode + Clangd 配置避坑实录:从‘红波浪线’到完美代码提示的完整心路

本文详细记录了VSCode与Clangd配置过程中的常见问题及解决方案,从编译数据库生成到参数调优,帮助C++开发者快速解决代码提示失效、头文件找不到等问题,实现完美代码补全体验。重点介绍了Clangd与LLDB的集成配置及性能优化技巧,适用于Linux和跨平台开发环境。

weixin_28829479的博客 490

Anolis 8系统下,手把手搞定Nginx、Redis、JDK8和Tomcat9的完整安装与配置(含开机自启)

本文详细介绍了在Anolis 8系统下搭建Java Web全栈环境的完整流程,包括JDK8、Tomcat9、Nginx和Redis的安装与配置,并实现系统级服务管理。通过深入每个组件的配置细节,揭示服务间的协同关系,最终打造一个生产级可用的标准化环境。

weixin_42556197的博客 158

手机端实时检测:YOLOv8n轻量化改进,骁龙865上35FPS,mAP+3.2%

YOLOv8n-Lite的改进不是简单的“砍通道、降分辨率”,而是结合手机端硬件特性(NPU加速、内存限制)和场景需求(小目标检测),通过“卷积拆分减少计算、通道瘦身适配内存、特征强化保留精度”的协同策略,在骁龙865上实现35FPS实时性与mAP+3.2%的双赢。该方案已在手机端AR应用中落地,支持实时手势识别、物体测量等功能,功耗比原始模型降低40%(连续检测1小时仅耗电12%)。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 723

22h2版本的win10安装Docker Desktop时页面空白

摘要:Windows10 22H2系统重装Docker时出现安装界面卡死问题,通过管理员CMD执行静默安装命令解决。命令指定了WSL-2后端及多个自定义数据存储路径(安装目录、Hyper-V数据、Windows容器数据、WSL数据),安装需等待几分钟。最终验证安装成功。

猿小白的博客 650

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

上一篇: 1、物联网产品开发:JavaScript 的应用与实践
下一篇: 37、数字轨道地图辅助多传感器融合在复杂轨道区段列车占用识别中的应用及GNSS多径检测
corn8
博客等级 码龄1天 0粉丝 1639原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值