背景
在很多业务场景下,确定发声人的性别都是很有用的。人类可以很轻松的通过一段语音确定发声者的性别,但是人的成本以及效率是比较低的。此时,假如机器可以完成这项工作的,将极大的解放人力提升效率。
研究过程
算法方案
特征的选择使用在自动语音和说话人识别中广泛使用的MFCC特征。因为男女声的最明显的差异在音色,而音色在音频上表现为其共振峰分布。MFCC特征[1]是使用频谱包络(连接所有共振峰值点的平滑曲线)再经过基于人耳听觉实验获取到的三角滤波器组,过滤掉一些人耳不敏感的频率分量之后得到。因此,使用MFCC特征作为模型的训练特征.
模型的选择同样适用在音频信号领域比较常用的gmm(高斯混合模型)。
假设男生的共振峰分布和女性的共振峰分布是有比较明显的差异的。此时,使用gmm分别去描述男性和女性的分布。在使用的时候,利用男性和女性各自的GMM模型,相似度高者即为结果。
训练方法如下:
- 获取一段音频,对其进行分帧,短时傅里叶变换而后提取MFCC特征,得到关于这段音频的特征组
- 将每一帧数据作为单独的特征,不考虑其连续性,用来训练男女两个模型,得到关于一帧数据的男女两个模型
判定一段语音归属的方法:
- 对一段音频进行分帧,短时傅里叶变换后提取MFCC特征
- 将每一帧数据分别输入到两个模型中,分别获得本帧数据与两个模型的相似度
- 将整段音频关于两个模型每一帧的相似度结果各自累加,作为整段音频关于两个模型的相似度,选择高的作为结果
同时,使用深度学习的方式构建以及简单的DNN模型代替GMM进行单帧的预测,最终效果与GMM的差异不大。