语者识别系统设计及Matlab实现

2022-09-12 版权声明 我要投稿

语者识别又称说话人识别, 是通过对说话人的声音信号进行分析处理、建立模型对说话人进行识别, 在网络信息发达的今天具有广泛应用, 如罪犯身份鉴别取证、电话语音追踪、声音拨号、计算机远程登录等。一个良好的语者识别系统既能保障信息安全不受侵犯, 又能方便人们的日常生活。

一、整体设计

目前语者识别系统较为流行的实现方法分为三类:模板匹配法、概率模型法和人工神经网络。由于模板匹配的识别准确率较低, 人工神经网络需要很大的训练数据, 因此本文使用概率模型法对系统进行设计。

此设计主要分为两个阶段, 训练阶段和识别阶段。首先录制30段不同的音频, 由15人进行录制, 每人录制两段分别用于训练和识别。在训练阶段, 提取每个说话人的音频特征并建立相应的模型。在识别阶段, 同样对待识别的音频进行特征提取, 将每段音频的特征与训练产生的模板进行逐一对比, 若待识别音频与模板的相似度大于某一阈值, 则选取相似度最大的说话人作为系统的识别结果。以下为具体的语者识别系统的Matlab实现方法。

二、分步实现

(一) 特征提取

使用audioread函数对事先准备好的15段不同人说话的音频进行读取, 做归一化处理。首先对读取到的音频使用开源epdByVol.m进行端点检测, 从连续的语音信号中检测出有用的信息段, 去掉音频首尾部的空白。再使用函数melcepst.m计算语音信号的梅尔频率倒谱系数 (MFCC) , MFCC用于提取音频特征, 绘制其中一段语音的MFCC三维图如图所示。

(二) GMM训练

GMM (高斯混合模型) 是将多个单一高斯分布进行混合, 作为音频模型判断不同说话人最有可能特征向量的连续概率分布。使用开源代码gmm_estimate.m训练说话人的声学特征, 返回值是GMM的三个参数, 代表说话人的不同特征。

(三) 识别

对15段待识别音频进行如2.1步所示的特征提取, 再使用开源代码MFCC_feature_compare.m对待识别音频的特征与训练模型中的说话人特征进行比较, 返回一个比较值, 此值为待识别特征最接近的训练模型特征的序号, 即为说话人序号。

三、实验结果

通过测试, 15段待识别音频中有13段准确地识别出说话人, 系统测试结果如图2所示, 系统可靠性为87%仍需进一步提高。

摘要:本文使用15段不同说话人的音频进行了语者识别系统的设计, 给出其整体设计思路, 使用Matlab实现分步设计, 并对系统性能进行测试。

关键词:语者识别,特征提取,GMM,Matlab

参考文献

[1] 郑丽武.基于嵌入式平台的说话人识别系统的研究与实现[D].东南大学, 2016.

[2] 杨琴.基于MFCC和LPC特征的说话人识别系统[A].中国声学学会.2018年全国声学大会论文集K语言声学与语音信号处理[C].中国声学学会:中国声学学会, 2018:2.

[3] 房安栋, 刘军万.复杂背景下声纹识别系统的研究方法综述[J].电子世界, 2013 (03) :97-99.

上一篇:事业单位会计基础工作的创新管理下一篇:凝结水精处理高速混床氨化运行浅析