当前位置: 首页 > news >正文

基于Matlab GUI的说话人识别测试平台

基于Matlab GUI的说话人识别测试平台

        摘 要:为了克服在Matlab中语音处理工具箱的不足,设计出基于Matlab图形用户界面(GUI)的说话人识别测试平台。系统框架设计:特征参数采用美尔倒谱系数及差分美尔倒谱系数,识别模型采用矢量量化模型;人机交互实现:设置各控件属性,通过回调函数实现系统功能;测试实例:测试人数50人,识别率为96%,表明了该测试平台的有效性。该平台的特点是:功能较为完整,可设置参数,如:人数、字数、帧长等,方便用户实验,具有良好的实用性、可交互性等。

        关键词: Matlab图形用户界面; 说话人识别; 测试平台; 回调函数

              0 引 言

        说话人识别(Speaker Recognition,SR)是语音识别的一种,是通过话音区分说话人,从而进行身份鉴别与认证的技术。与其他生物认证技术如指纹识别、掌型识别、虹膜识别等相比,具有独特的方便性、经济性和准确性,并逐渐成为人们日常生活和工作中重要且普及的安全验证方式[1]。

        Matlab是使用最为广泛的科学计算软件之一,在说话人识别中有着广泛应用。但在实际应用中仍存在如下不足:其语音处理工具箱仅仅提供了基本函数,并未针对一类问题给出一整套设计方案;一般Matlab控制台程序以命令形式调用语音处理工具箱函数,这种形式不像人机交互界面那样直观,也不易数据处理。正因为这些困难与不足,有必要设计基于Matlab GUI的说话人识别测试平台[2]。

        1 GUI说话人识别测试平台实现

        1.1 系统框架设计

        说话人识别系统框图如图1所示,主要由以下模块组成:

        (1)预处理模块:完成对语音信号的采样与量化、预加重处理、加窗、端点检测等;

        (2)特征提取模块:测试音和训练音都必须经特征提取,提取出表征说话人个性的语音信号特征,以方便后续处理;

        (3)参考模板模块:对模型参数进行估计和优化,建立说话人模型;

        (4)模式匹配模块:测试音经特征提取,将提取出的特征参数和训练时产生的模型进行匹配,计算匹配距离;

        (5)判决模块:根据匹配距离大小,依照某种相似性准则形成判决[3]。

        对上面5个模块编写程序,在程序中调用了语音处理工具箱中的enframe,melcepst,melbankm等函数[4]。对所有程序进行优化和整合,设计出说话人识别系统测试平台。

        1.2 人机交互界面设计

        说话人识别测试平台主界面如图2所示。设置各控件属性,通过回调函数实现系统功能。

        1.2.1 控件属性值设置

        图2主界面中,包括如下控件类型:Static Text,Push Button,Pop⁃up menu,Radio⁃button,Extid text,Mpanel等。表1为各控件类型的主要属性设置情况[5]。

        1.2.2 系统各部分功能的实现

        主界面主要包括录音、测试及结果分析3部分。

        (1)录音部分:首先设置语音采样点数,然后录音,可通过PLOT按钮观看录制的语音波形,或通过PLAY按钮听录制语音的声音[6],以保证录制语音质量。录音按钮回调函数为:

        function pushbutton9_Callback(hObject, eventdata, handles)

        (2)测试部分:首先选择人数、发音的字数、帧长、帧移、是否选择有端点检测,然后选择采用的语音特征参数是MFCC或MFCC+ΔMFCC,通过The Path of Train 按钮,输入训练语音路径,以输入训练语音,再按TRAIN按钮,当Edit text框中显示training has been completed表明训练已完成。再按The Path Of Test按钮,输入测试语音路径,以输入测试语音,再按TEST按钮以进行测试,其测试结果显示在Edit text框中,最后识别率显示在Identify rate窗口。训练按钮回调函数为:

        function train_Callback(hObject, eventdata, handles)

        (3)结果分析部分:对几个影响识别率的因素进行了分析。主要因素有:帧长、人数、字数、MFCC阶数、是否采用端点检测等,其结果和理论结论一致。

        表1 控件类型的主要属性设置

        2 测试实例

        测试实例参数设置及测试结果如图3所示。特征参数采用MFCC+差分MFCC;识别模型为矢量量化模型;测试环境为实验室环境。人数为50人,每个人训练、测试时分别说12个汉字,中文普通话。识别率窗口显示系统识别率为96%,效果较好,表明了该测试平台的有效性。

        3 结 语

        本文所设计的基于Matlab GUI说话人识别测试平台,充分利用Matlab软件中的GUI技术及语音处理工具箱中内置函数,功能完善,包括录音、测试及结果分析部分。该平台提供了良好的人机交互环境,便于用户在各种参数条件下的测试实验,例如用户可方便设置采样点数、人数、字数、及帧长、帧移、MFCC的阶数等测试条件,系统识别率高,为进一步开发说话人识别系统提供一定的仿真环境及参考价值。

        参考文献

        [1] 吴朝晖.说话人识别模型与方法[M].北京:清华大学出版社,2009.

        [2] 秦辉.基于Matlab GUI的预测控制仿真平台设计[J].系统仿真学报,2006,18(10):2778⁃2779.

        [3] 甄斌,吴玺宏,刘志敏.语音识别和说话人识别中各倒谱分量的相对重要性[J].北京大学学报:自然科学版,2001,37(3):371⁃378.

        [4] 陈炜杰.噪声环境下的说话人识别技术研究[D].杭州:浙江工业大学,2008.

        [5] 郑阿奇.Matlab实用教程[M].北京:电子工业出版社,2005.

        [6] 徐明远,刘增力.Matlab仿真在信号处理中的应用[M].西安:西安电子科技大学出版社,2007.


http://www.mrgr.cn/news/63330.html

相关文章:

  • urllib库
  • 【解决方案】微信小程序如何使用 ProtoBuf 进行 WebSocket 通信
  • 关于springboot的选择题100道
  • CentOS9 Stream上安装Edge浏览器
  • AIGC实战——生成式人工智能总结与展望
  • 图书管理系统汇报
  • 基于SpringBoot的健身房系统的设计与实现(源码+定制+开发)
  • 国标GB28181摄像机接入EasyGBS国标GB28181软件与国标协议对接解决方案
  • 聚“芯”而行,华普微亮相第五届Silicon Labs Works With大会
  • HashSet 和 TreeSet 分别是如何实现去重的
  • Java 批量导出Word模板生成ZIP文件到浏览器默认下载位置
  • 【经验分享】从网页下载内嵌PDF的小妙招,亲测好用
  • OpenEuler 使用ffmpeg x11grab捕获屏幕流,rtsp推流,并用vlc播放
  • React04 State变量 组件渲染
  • fasdsdsadsa
  • 2024高性价比电容笔推荐!盘点实测西圣、绿联、酷盟电容笔!
  • qt QStackedWidget详解
  • Gemini API 和 Google AI Studio 升级,提升搜索准确性和响应能力
  • L 波段射频信号采集回放系统
  • window与Linux基础-1
  • Jenkins You‘re using ‘Known hosts file‘,known_hosts file does not exist
  • QList
  • 图片批量处理神器将每个文件夹中的多张图片拼接,一键实现横向和纵向的长图拼接效果,让你的图片处理更高效
  • 漓江景区景点推荐
  • LLMs在股票投资组合崩溃中的时间关系推理
  • 当贝F6和当贝F7Pro区别对比:新品当贝F7Pro性能配置全面升级