[发明专利]一种基于Android的声纹识别方法在审
申请号: | 201710809811.X | 申请日: | 2017-09-11 |
公开(公告)号: | CN107993663A | 公开(公告)日: | 2018-05-04 |
发明(设计)人: | 陈立江;窦文韬;张旭东 | 申请(专利权)人: | 北京航空航天大学 |
主分类号: | G10L17/02 | 分类号: | G10L17/02;G10L17/04;G06F21/32 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100191*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明一种基于Android的声纹识别方法,运行在Android操作系统中,通过调用内置录音设备采集训练说话人音频并进行语音增强,训练时构建矢量量化模型的kd树以及高斯混合模型。识别时在矢量量化模型的kd树中搜索出与测试说话人声纹特征最接近的K个训练说话人后,利用高斯混合模型进行精确识别。本发明利用矢量量化模型的kd树不仅避免了遍历高斯混合模型库中的所有模型,增加了识别速度,而且利用矢量量化模型和高斯混合模型的二次识别增加了识别的准确度,具有很强的实用性、易用性和鲁棒性。 | ||
搜索关键词: | 一种 基于 android 声纹 识别 方法 | ||
【主权项】:
一种基于Android的声纹识别方法,该方法步骤如下:步骤1:利用AudioRecorder接口采集音频数据,采用单声道录音,设置采样频率22050HZ,采取脉冲编码调制,每个采样点量化位数16,同时通过调用AcousticEchoCanceler类实例、NoiseSuppressor类实例和AutomaticGainControl类实例进行自动回声消除、抑制噪声和自动增益控制,达到语音增强的效果,同时通过Android的异步消息处理机制实现子线程更新UI并实现计时功能,在获取音频裸数据的同时,为其编写wave格式的头文件后存入相应的训练说话人语音库文件夹中,录音结束后,软件界面弹出重命名窗口,用户输入对应训练说话人的姓名作为文件名;步骤2:当训练说话人语音库采集完毕后,对该库中所有音频文件进行预处理,首先进行分帧操作,设置分帧帧长为16毫秒,帧移为8毫秒;当分帧操作完成后,利用双门限法进行端点检测工作,由于步骤1中语音增强效果理想,设置低能量阈值为0.1,高能量阈值为1,低过零率阈值为0.01,高过零率阈值为10,语音段中最长静音时长为12帧,即语音段的帧能量和过零率同时小于低能量阈值和低过零率阈值的时长不能超过12帧,最短语音时长为10帧,即起始语音段的帧能量大于低帧能量阈值或过零率大于低过零率阈值的时长不能短于10帧;当端点检测完成后,获取语音段信号,为每帧信号加上汉明窗;当加窗操作完成后,为每帧语音段信号进行预加重操作,弥补高频分量的损失,本方法设置预加重系数为0.93;步骤3:当预处理完成后,本方法提取梅尔频率倒谱系数,设置三角带通滤波器个数为40,每帧提取前12维系数;当提取梅尔频率倒谱系数完成后,提取前1阶和2阶12维差分梅尔频率倒谱系数;当提取完成差分特征后,淘汰对应帧能量小于1和大于10的特征向量,消除说话人声音音量过大或过小而产生的识别误差;步骤4:当完成特征提取后,训练其矢量量化模型,生成代表该说话人的码书,采用构造平衡kd树的算法,以所有训练说话人码书中的码字构建kd树,每个码字作为该树中的一个结点而存在;步骤5:同时,程序在另一线程中利用k均值聚类算法将特征矢量进行聚类,分类数为16,该方法将k均值聚类过程重复进行10次后,分别计算每次聚类后的总类内方差,选择总类内方差最小的一次作为最终结果;当完成聚类操作后,利用EM算法进行高斯模型的参数估计,首先将聚类后的各参数—均值、方差和权重系数作为高斯混合模型的初始参数,通过EM算法的参数重估公式进行各项参数的重估,在重估过程中计算似然函数值的对数值的改变量,当该改变量小于阈值0.01时,即判定为收敛,记录此时的均值、方差和权重系数,然后将该三项参数与抓取的该语音文件名即训练说话人姓名存入说话人模型类中,并将该说话人模型类实例存入模型动态数组中;当模型动态数组中的内存大小即模型类实例的个数,等于说话人个数时,表明所有语音文件全部被训练完毕,然后程序将模型动态数组进行序列化操作,其中的各个模型类实例转换为字节序列,然后将该序列存入高斯混合模型数据库文件,训练工作即完毕;步骤6:当高斯混合模型数据库文件建立完成后,即可进行测试工作,录取测试说话人音频数据后,按照步骤2、3提取测试说话人的声纹特征向量集,在特征向量集中选取一个特征向量,在步骤4生成的kd树中,找到与该特征向量的欧式距离最近的M个码字,并查找该M个码字分别对应的码书,重复上述步骤,直到遍历完测试特征向量集,然后找出被查找次数最多的K个码书,其中K<M,然后将该K个码书分别对应的K个训练说话人的声纹特征进行高斯混合模型的识别,在高斯混合模型识别的过程中,程序针对其中每个人的声纹特征,在高斯混合模型数据库中找到后验概率最大的模型,该模型对应的说话人即判断为测试说话人。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京航空航天大学,未经北京航空航天大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201710809811.X/,转载请声明来源钻瓜专利网。
- 上一篇:一种教学用化学实验装置
- 下一篇:实验室制取和检验氧气联合装置