matlab 图像矢量量化,MATLAB环境下基于矢量量化的说话人识别系统(1)

第21卷第6期湖 北 工 业 大 学 学 报2006年12月

Vol.21No.6 Journal of Hubei Univer sity of Technology Dec.2006

[收稿日期]2006-10-13

[作者简介]宋 敏(1979-),女,湖北武汉人,湖北工业大学硕士研究生,研究方向:计算机语音技术应用.

[文章编号]1003-4684(2006)1220027203

MATLAB 环境下基于矢量量化的说话人识别系统

宋 敏1,刘幺和1,谭保华2

(1湖北工业大学机械工程学院,湖北武汉430068;2湖北工业大学理学院,湖北武汉430068)[摘 要]在MATLAB 环境下实现基于矢量量化的说话人识别系统.在实时录音的情况下,利用该识别系统,对不同人的1~7s 的语音进行辨识,准确率可达到98%.识别时间根据使用人数的不同,测试语音长度的不同辨识时间从1~20s,实现与文本无关的自动说话人确认的实时识别.[关键词]说话人识别系统;MATLAB;矢量量化[中图分类号]TN912.3

[文献标识码]:A

说话人识别是指通过说话人的语音来自动识别说话人的身份.目前,与文本无关的说话人识别的常用方法有基于非参数模型的矢量量化VQ (Vector Quantization)方法、基于参数模型的隐马尔可夫方法(H idden Markov Model)和基于人工神经网络[1].一般来讲,在存储数据量小的情况下,基于VQ 建立说话人识别的模型有良好的效果.

1 语音信号特征参数的提取

语音信号特征提取是语音识别和说话人识别的一个重要环节.特征提取的目的是对原始语音进行处理后计算语音对应的特征参数.常用的语音特征参数是基于Mel 频率倒谱系数(Mel 2Fr equency Cepstrum Coefficients,MFCC).因为人耳所听到的声音的高低与声音的频率并不成线性正比关系,所以基于听觉模型得到的MFCC 比基于声道模型得到的LPC(Linear Predictive Coding)倒谱系数更符合人耳的听觉特性[2].MFCC 将频谱转化为基于Mel 频标的非线性频谱,然后转换到倒谱域上.由于充分模拟了人的听觉特性,而且没有任何前提假设,MFCC 参数具有识别性能和抗噪能力,因此本系统采用MFCC 参数为语音特征参数.

MFCC 参数的计算过程[3]如下:

1)对输入语音帧预加重和加H amming 窗后作快速傅利叶变换(Fast Fourier Tr ansformation,FFT)得到其频谱,将时域信号转化为频域信号;

2)求出频谱平方,即能量谱,并用M 个Mel 带

通滤波器进行滤波,由于每个频带中分量的作用在人耳中是叠加的,因此将每个滤波器频带内的能量进行叠加,这是第k 个滤波器输入功率谱x c (k );

3)将每个滤波器的输出取对数,得到相应频带的对数功率谱,并进行反离散余弦变换,得到L 个MFCC 系数,由于在实际的语音识别的应用中,并不是取全部维数的MFCC 系数,有实验表明最前若干维以及最后若干维的MFCC 系数对语音的区分性能较大,通常取前12维的MFCC 系数即可

[2]

.

MFCC 系数

C n =

E M

k =1

log x c (k)cos [P (k-

0.5)n/M]

(n =1,2,,,L).

4)这种直接得到的MFCC 特征称作为静态特征,由于MFCC 主要反映语音的静态特征,要得到语音信号的动态特征则是将这种静态特征做一阶和二阶差分.

2 矢量量化

矢量量化是20世纪70年代后期发展起来的一种数据压缩技术,目前已在语音、图像压缩等领域得到广泛应用.矢量量化的理论基础是信息论的率失真理论,是仙农(C.E.SH ANNON )信息论在信源编码理论(source coding theory)方面的发展.其基本思想是将若干个标量数据组构成一个矢量,然后在矢量空间给以整体量化,从而压缩了数据而不损

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/503554.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

雷云3灯光配置文件_雷蛇的哪种键盘最适合入手?3款最佳雷蛇键盘推荐。

更新时间2020.8.6本次主要内容是雷蛇的三款不同价位的雷蛇键盘推荐,有需要的小伙伴可以看一下哦,也许你想要入手的键盘就在其中。---------------------------------雷蛇黑寡妇蜘蛛精英版--------------------------------------黑寡妇蜘蛛精英版在猎魂光…

oracle窗帘位图索引,Greenplum数据库设计开发规范参考.docx

Greenplum数据库设计开发规范参考Greenplum数据库设计开发规范参考文档2016年7月目 录Greenplum数据库设计开发规范1V1.511 前言41.1 文档目的41.2 文档范围41.3 预期读者41.4 参考资料42 开发规范检查项43 GP与TD的差异关注点64 系统级设计74.1 用户设计74.1.1 超级用户84.1.2…

某些您可以编辑的区域交叠在一起 可能不能同时显示_DX200操作要领—修改与编辑程序(三十九)...

3.5 修改程序3.5.1 程序的调出1. 选择主菜单中的【程序内容】2. 选择【程序选择】–显示程序一览表。3. 选择要调出的程序3.5.2 程序相关画面程序相关画面有下面5种,可以确认/编辑每个程序的设定或登录。•程序标题画面显示和编辑注释、登录日期、编辑禁止的状态等。…

求二叉树中以x为根的子树的深度_还在玩耍的你,该总结啦!(本周小结之二叉树)...

给「代码随想录」一个星标吧!❝有学习就要有总结❞本周小结本周赶上了十一国庆,估计大家已经对本周末没什么概念了,但是我们该做总结还是要做总结的。本周的主题其实是「简单但并不简单」,本周所选的题目大多是看一下就会的题目&a…

oracle (+)的可读性,Oracle基础笔记一

1.基本 SELECT 语句1.基本 SELECT 语句SELECT 标识 选择哪些列。FROM 标识从哪个表中选择。注意:SQL 语言大小写不敏感。SQL 可以写在一行或者多行关键字不能被缩写也不能分行各子句一般要分行写。使用缩进提高语句的可读性。2.算术运算符( - * /)数字和日期使…

钉钉功能介绍_平棉集团组织召开阿里钉钉办公系统基础功能培训会

4月11日上午,平棉集团在总部26楼多媒体会议室组织召开阿里钉钉办公系统基础功能培训会,邀请河南一一信息技术公司经理杨杉前来授课。集团公司董事长张先顺及公司领导陈亚民、王仲山、王向阳、陶尚林,各生产经营单位主管销售工作的负责人和公司…

qemu搭建arm运行linux内核,centos使用qemu搭建ARM64运行环境

准备工作(1) linux 内核源码, 从github上获取git clone https://github.com/torvalds/linuxmake kernelversion(2) 交叉编译工具,从linaro官网(www.linaro.org)上获取解压后设置环境变量即可xz -d gcc-linaro-xxx.tar.xztar -xvf gcc-linaro-xxx.tarexpo…

java 某年某月中第几周 开始时间和结束时间_重磅!库里又要签下一超级大合同!4年2亿啊!退役时间也定了...

好家伙!现在的超级巨星都喜欢提前续约了,继詹姆斯与湖人签下两年8500万美元顶薪协议后,库里也有望达成这一成就。当地时间周一训练结束后,他接受采访谈到自己的续约问题,表示已经和球队交流过,同时明确表态…

vb ftp linux,VB FTP上传和下载模块

Option ExplicitPrivate Const INTERNET_OPEN_TYPE_DIRECT 1Private Const scuseragent "vb wininet"Private Const INTERNET_FLAG_PASSIVE &H8000000调用设置环境Private Declare Function InternetOpen Lib "wininet.dll" Alias "InternetOp…

python struct pack一个数组_Python中struct.pack的一个疑问

展开全部的确很奇怪。我试验了10几分钟,你按下面的方法来做就可以正确。import structzzz ("{Type:2}").encode("utf-8")length len(zzz)a struct.pack("%ds"%length,zzz)print(a)简单的说32313133353236313431303231363533e59b9e…

linux list 添加失败,linux运维实战案例之Argument list too long错误与解决方法

1、错误现象这是一台Mysql数据库服务器,在系统中运行了很多定时任务,今天通过crontab命令又添加了一个计划任务,退出时发生了如下报错:#crontab -e编辑完成后,保存退出,就出现下面如下图所示错误&#xff1…

软件项目周报模板_一份高质量的职场工作周报,要这样写

周报是会呼吸的痛,它会在每个周五来回滚动。几乎每个职场人都会为周报所折腰,因为周报看起来是小事,但又不仅仅是小事。周报,是职场人士对一周工作的总结和记录,是展示自己工作状态和成果的重要载体,是领导…

linux 多线程客户端服务端通信,[转载]多线程实现服务器和客户端、客户端和客户端通信;需要代码,留言...

一、实验名称动手打造自己的 IM二、实验目的1本次实验旨在锻炼大家的Socket编程能力,以日常生活中广泛使用的IM软件为背景,培养大家对于网络编程的兴趣。2、通过本次实验,培养linux环境下网络编程能力,使得我们对网络应用层的网络…

python安装sqap_python文件I/O

python文件I/O键盘读入:raw_input函数str raw_input("请输入: ")input函数,可以接受一个python表达式作为输入str input("请输入:")输入:[ x*5 for x in range(2, 10, 2)]open函数:f…

linux 设置ssh并发度,在linux如何使用ControlPersist加快SSH连接速度的问题

不经意间我们又来到了文章的学习,在众多学习中,我们的文章也许不起眼,但是想必大家都有很多问题吧,所以重要的下面我们就来讲解一下,大家一定要认真看奥!!Linux系统进行服务器配置管理迁移的时候…

linux下c标准库位置,C 标准库 IO 使用详解

其实输入与输出对于不管什么系统的设计都是异常重要的,比如设计 C 接口函数,首先要设计好输入参数、输出参数和返回值,接下来才能开始设计具体的实现过程。C 语言标准库提供的接口功能很有限,不像 Python 库。不过想把它用好也不容…

python调用系统_python 执行系统命令

Python中执行系统命令常见的几种方法:(1)os.system# 仅仅在一个子终端运行系统命令,而不能获取命令执行后的返回信息# 如果再命令行下执行,结果直接打印出来例如:>>> import os>>> os.system(ls)chk_err_log.py…

linux libbz2.so.1,libbz2.so.1.0: cannot open shared object file: No such file or directory

在解决这个报错的过程中,我学到了Linux下解决问题的一种新思路。这个报错很早之前就遇到过,当时是用自己安装的miniconda来下载安装samtools(非root用户),安装完成之后运行就这样报错了,但是其他的软件又可以正常运行,…

python文件对象是可以迭代的_详解python可迭代对象、迭代器和生成器

可迭代对象什么是可迭代对象?顾名思义就是可以迭代的一个对象,再通俗点就是可以被for循环遍历的对象,如常用的list、str等数据类型。我们可以使用isinstance来判断这个数据是否是可迭代对象,在此要先从Iterable包中导入模块collec…

linux更改nginx最大访问数,Linux下nginx服务的配置文件nginx.conf中模块的讲解之配置limit_conn_zone来限制并发连接数以及下载速率...

一、限制并发连接数的配置方法如下:1、在nginx.conf里的http{}里加上如下代码:# vim /usr/local/nginx/conf/nginx.conf#在其中的36行加入下面的内容(在http{}模块中加入的)limit_conn_zone $binary_remote_addr zoneaddr:10m;#解释内容如下:要限制连接&…