当前位置: 首页 > 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.

相关文章:

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

基于Matlab GUI的说话人识别测试平台 摘 要:为了克服在Matlab中语音处理工具箱的不足,设计出基于Matlab图形用户界面(GUI)的说话人识别测试平台。系统框架设计:特征参数采用美尔倒谱系数及差分美尔倒谱系数&#xff0c…...

Leetcode 热题100之二叉树2

1.二叉树的层序遍历 思路分析:层序遍历是逐层从左到右访问二叉树的所有节点,通常可以使用广度优先搜索(BFS)来实现。我们可以使用一个队列(FIFO)来存储每一层的节点,并逐层访问。 初始化队列&a…...

<项目代码>YOLOv8 煤矸石识别<目标检测>

YOLOv8是一种单阶段(one-stage)检测算法,它将目标检测问题转化为一个回归问题,能够在一次前向传播过程中同时完成目标的分类和定位任务。相较于两阶段检测算法(如Faster R-CNN),YOLOv8具有更高的…...

GA/T1400视图库平台EasyCVR视频分析设备平台微信H5小程序:智能视频监控的新篇章

GA/T1400视图库平台EasyCVR是一款综合性的视频管理工具,它兼容Windows、Linux(包括CentOS和Ubuntu)以及国产操作系统。这个平台不仅能够接入多种协议,还能将不同格式的视频数据统一转换为标准化的视频流,通过无需插件的…...

LVM与磁盘配额

文章目录 LVM与磁盘配额1 LVM概述1.1 名词解释1.2 LVM优势 2 LVM相关命令2.1 创建逻辑卷过程2.2 对逻辑卷扩容 3 磁盘配额3.1 磁盘配额的特点3.2 磁盘配额的命令3.3 查看配额使用情况3.4 验证磁盘配额3.5 实验 LVM与磁盘配额 1 LVM概述 1.1 名词解释 LVM:logical…...

xmuoj [蒙德里安的梦想] 状压dp个人笔记

本题是状压dp经典题目,很多人都是通过这一题开始对状压dp有所了解。 在进行讲解之前,我们先通过几个问答大致了解状压dp。 一、问答 1. 问题:什么是状压dp? 回答:状压dp即为状态压缩动态规划,何为状态压缩&#x…...

ubuntu22安装搜狗输入法不能输入中文

关闭Wayland 在/etc/gdm3/custom.conf文件内,取消注释WaylandEnable cat /etc/gdm3/custom.conf | grep WaylandEnable WaylandEnablefalse 其它步骤参考搜狗官方教程 https://pinyin.sogou.com/linux/help.php...

HtmlAgilityPack 操作详解

目录 1.安装 HtmlAgilityPack 2. 示例 HTML 3. 使用 HtmlAgilityPack 进行 HTML 解析与操作 4. 代码详解 1.加载html文档 2.选择元素 3. 提取属性 4.修改属性 5.常用的几种获取元素的 XPath 写法 HtmlAgilityPack: 轻量且高效,适合进行常规的 H…...

基于SSM医院门诊互联电子病历管理系统的设计

管理员账户功能包括:系统首页,个人中心,用户管理,医生管理,项目分类管理,项目信息管理,预约信息管理,检查信息管理,系统管理 用户账号功能包括:系统首页&…...

【读书笔记/深入理解K8S】集群网络

前言 上一章讲了集群控制器的一个大概的原理,这一章讲一下集群网络。网络是集群通信的载体,因为该书是阿里云团队出品的,所以也以阿里云的集群网络方案为例,其他云厂商的网络集群方案一般来说也大同小异。所以通过本章的学习&…...

【专有网络VPC】连接公网

通过ECS实例固定公网IP、弹性公网IP、NAT网关、负载均衡使专有网络中的云资源可以访问公网(Internet)或被公网访问。 概述 专有网络是您自定义的云上私有网络。专有网络中的云资源默认无法访问公网,也无法被公网访问。您可以通过配置ECS实例…...

论文 | Legal Prompt Engineering for Multilingual Legal Judgement Prediction

这篇文章探讨了如何利用“法律提示工程”(LPE)来指导大型语言模型(LLM)进行多语言法律判决预测(LJP)。主要内容: LPE 的概念: LPE 是指通过设计特定的提示(promp…...

国科安芯抗辐照MCU和CANFD芯片发布

国科安芯科技有限公司近期发布了两款重要的芯片产品:抗辐照MCU芯片和抗辐照CANFD芯片。这两款芯片的发布标志着国科安芯在高性能、高安全性芯片产品研制方面取得了显著进展,特别是在抗辐照技术领域。 1. 抗辐照MCU芯片:国科安芯研发的AS32A4…...

C++ 并发专题 - 无锁数据结构(概述)

一:概述: 无锁数据结构是一种在多线程环境中实现线程安全的结构,它允许多个线程在没有传统锁机制的情况下并发访问和修改数据。这种设计的目标是提高程序的性能和响应性,避免锁竞争和上下文切换的开销。 二:原理&…...

NLP领域的经典算法和模型

在自然语言处理(NLP)领域,经典算法和模型众多,它们在不同任务中发挥着重要作用。以下是一些NLP领域的经典算法和模型的详细介绍: 一、基础模型 词袋模型(Bag of Words,BoW) 原理&a…...

提升安全上网体验:Windows 11 启用 DOH(阿里公共DNS)

文章目录 阿里公共 DNS 介绍免费开通云解析 DNS 服务Windows 编辑 DNS 设置配置 IPv4配置 IPv6 路由器配置 DNS 阿里公共 DNS 介绍 https://alidns.com/ 免费开通云解析 DNS 服务 https://dnsnext.console.aliyun.com/pubDNS 开通服务后,获取 DOH 模板&#xff0…...

论文概览 |《Journal of Transport Geography》2024.10 Vol.120

本次给大家整理的是《Journal of Transport Geography》杂志2024年9月第120卷的论文的题目和摘要,一共包括17篇SCI论文! 论文1 Modelling scenarios in planning for future employment growth in Stockholm 斯德哥尔摩未来就业增长规划情景建模 【摘要…...

yum不能使用: cannot find a valid baseurl for repo: base/7/x86_64

使用yum命令时报错: 原因: CentOS 已经停止维护的问题。2020 年 12 月 8 号,CentOS 官方宣布了停止维护 CentOS Linux 的计划,并推出了 CentOS Stream 项目,CentOS Linux 8 作为 RHEL 8 的复刻版本,生命周期…...

什么品牌的护眼台灯比较好?五款护眼效果比较明显的护眼台灯

在当今信息爆炸的时代背景下,挑选一款真正符合个人需求的护眼台灯,确实是一项不小的挑战。市场上品牌众多、型号繁杂,功能特点各不相同,价格区间也相当广泛,许多消费者在选购时往往感到迷茫不已。当大家询问“什么品牌…...

HTML 表单设计与验证

创建 HTML 表单的步骤如下&#xff1a; 使用 <form> 标签来创建表单&#xff0c;<form> 标签有一个 action 属性&#xff0c;用于指定表单提交的目标 URL。 在 <form> 标签内部&#xff0c;使用 <input> 标签来创建输入框。<input> 标签有一个 …...

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造&#xff0c;完美适配AGV和无人叉车。同时&#xff0c;集成以太网与语音合成技术&#xff0c;为各类高级系统&#xff08;如MES、调度系统、库位管理、立库等&#xff09;提供高效便捷的语音交互体验。 L…...

Python:操作 Excel 折叠

💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 Python 操作 Excel 系列 读取单元格数据按行写入设置行高和列宽自动调整行高和列宽水平…...

SpringCloudGateway 自定义局部过滤器

场景&#xff1a; 将所有请求转化为同一路径请求&#xff08;方便穿网配置&#xff09;在请求头内标识原来路径&#xff0c;然后在将请求分发给不同服务 AllToOneGatewayFilterFactory import lombok.Getter; import lombok.Setter; import lombok.extern.slf4j.Slf4j; impor…...

Spring是如何解决Bean的循环依赖:三级缓存机制

1、什么是 Bean 的循环依赖 在 Spring框架中,Bean 的循环依赖是指多个 Bean 之间‌互相持有对方引用‌,形成闭环依赖关系的现象。 多个 Bean 的依赖关系构成环形链路,例如: 双向依赖:Bean A 依赖 Bean B,同时 Bean B 也依赖 Bean A(A↔B)。链条循环: Bean A → Bean…...

基于SpringBoot在线拍卖系统的设计和实现

摘 要 随着社会的发展&#xff0c;社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。 在线拍卖系统&#xff0c;主要的模块包括管理员&#xff1b;首页、个人中心、用户管理、商品类型管理、拍卖商品管理、历史竞拍管理、竞拍订单…...

用递归算法解锁「子集」问题 —— LeetCode 78题解析

文章目录 一、题目介绍二、递归思路详解&#xff1a;从决策树开始理解三、解法一&#xff1a;二叉决策树 DFS四、解法二&#xff1a;组合式回溯写法&#xff08;推荐&#xff09;五、解法对比 递归算法是编程中一种非常强大且常见的思想&#xff0c;它能够优雅地解决很多复杂的…...

2025年低延迟业务DDoS防护全攻略:高可用架构与实战方案

一、延迟敏感行业面临的DDoS攻击新挑战 2025年&#xff0c;金融交易、实时竞技游戏、工业物联网等低延迟业务成为DDoS攻击的首要目标。攻击呈现三大特征&#xff1a; AI驱动的自适应攻击&#xff1a;攻击流量模拟真实用户行为&#xff0c;差异率低至0.5%&#xff0c;传统规则引…...

高分辨率图像合成归一化流扩展

大家读完觉得有帮助记得关注和点赞&#xff01;&#xff01;&#xff01; 1 摘要 我们提出了STARFlow&#xff0c;一种基于归一化流的可扩展生成模型&#xff0c;它在高分辨率图像合成方面取得了强大的性能。STARFlow的主要构建块是Transformer自回归流&#xff08;TARFlow&am…...

JUC并发编程(二)Monitor/自旋/轻量级/锁膨胀/wait/notify/锁消除

目录 一 基础 1 概念 2 卖票问题 3 转账问题 二 锁机制与优化策略 0 Monitor 1 轻量级锁 2 锁膨胀 3 自旋 4 偏向锁 5 锁消除 6 wait /notify 7 sleep与wait的对比 8 join原理 一 基础 1 概念 临界区 一段代码块内如果存在对共享资源的多线程读写操作&#xf…...

Shell 解释器​​ bash 和 dash 区别

bash 和 dash 都是 Unix/Linux 系统中的 ​​Shell 解释器​​&#xff0c;但它们在功能、语法和性能上有显著区别。以下是它们的详细对比&#xff1a; ​​1. 基本区别​​ ​​特性​​​​bash (Bourne-Again SHell)​​​​dash (Debian Almquist SHell)​​​​来源​​G…...