(电路与系统专业论文)说话人识别加速器的设计研究.pdf_第1页
(电路与系统专业论文)说话人识别加速器的设计研究.pdf_第2页
(电路与系统专业论文)说话人识别加速器的设计研究.pdf_第3页
(电路与系统专业论文)说话人识别加速器的设计研究.pdf_第4页
(电路与系统专业论文)说话人识别加速器的设计研究.pdf_第5页
已阅读5页,还剩55页未读 继续免费阅读

(电路与系统专业论文)说话人识别加速器的设计研究.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

塑江查兰璺圭兰垒笙奎 鳖望堡垒堡型垫望壁塑堡生里壅 t ,r 摘要 近年来,随着信息社会化发展,说话人识别作为具有语音识别与理解功能的 智能人机接口,是新一代计算机的重要组成部分。说话人识别系统出现在越来越 多的电子产品上,尤其在信息安全和人机交互等方面,有着很好的应用前景。大 多数说话人识别系统都是面向通用c p u 设计的,而现今的嵌入式产品的出现, 使用专用集成电路的设计成为必然选择。 说话人识别是通过对所收到的语音信号进行处理,提取相应的特征或建立相 应的模型,然后据此做出判断。一个典型的说话人识别系统包括:语音信号获取、 特征提取、说话人训练和识别( 模式匹配) 四个部分。本文的研究内容是一个说 话人识别的加速器,目的在于提高说话人识别的实时响应能力、运行速度和系统 性能,主要傲了以下工作: 首先分析了典型说话人识别系统的各关键技术,详细分析了矢量量化技术在 说话人识别中的应用,研究了码本训练算法以及说话人判别算法,对算法中各参 数值的选取进行了讨论;其次根据系统的需求建立一个小的语音库,录制语音信 号,并对采集的语音信号进行预处理,检测语音信号的起始端点;在m a t l a b 环境下仿真说话人识别系统,验证系统设计方案的可行性:特征提取阶段,提取 语音信号的1 2 阶美尔倒谱系数以及各阶倒谱系数对应的1 阶差分倒谱系数,在 训练阶段,采用分裂法和g l a 算法相结合的矢量量化技术训练说话人的码本, 识别阶段采用阈值判定的方法。仿真结果表明该识别算法可达较高的识别率。 设计说话人训练和识别( 模式匹配) 加速器:对特征参数进行转换,变浮点 形式为定点形式,作为加速器设计和验证数据。设计说话人识别加速器,包括基 于矢量量化的说话人码本训练模块和基于矢量量化的说话人判别模块,对各个模 块的结构和设计方案进行了 x 浙江大学硕士学位论文 说话人识别加速器的设计研究 图目录 图1 1 说话人识别系统原理图3 图1 2 美尔标度三角滤波器一6 图2 1 矢量量化器示意图15 图2 2 矢量量化编码和解码示意图一15 一 图2 3 采用矢量量化技术的说话人辨认系统框图2 4 图3 1m a t l a b 系统实现一2 5 一 图3 2w a v 文件格式说明2 8 图3 3 美尔倒谱系数及一阶差分系数的提取过程流程图2 9 图3 4 原始语音信号3 0 图3 5 语音段3 0 图3 6 分帧加窗后的语音信号3 0 图3 7 美尔倒谱系数及其一阶倒谱系数3 0 图3 8 码本训练算法流程图3 1 - 图3 9 矢量第1 8 维数值3 2 图3 1 0 说话人识别仿真系统判别模块流程图3 3 图3 1 1 不同码本的分布情况一3 5 一 图3 1 2 系统基本构架3 7 图3 1 3 控制模块的流程图3 7 图3 1 4 求均值模块流程图3 8 图3 1 5 求均值模块硬件结构图一3 8 一 图3 1 6 码字存储示意图3 9 一 图3 1 7 失真测度模块流程图4 1 - 图3 18 失真测度模块硬件结构图一4 1 - 图3 1 9 码字训练模块的流程图一4 2 图3 2 0 训练模块硬件结构图4 2 图3 2 1 判决模块流程图一4 3 一 图3 2 2 判决模块硬件结构图4 3 图4 1 控制模块部分信号波形图4 6 图4 2 均值模块波形图一4 6 一 图4 3 分裂模块波形图一4 6 图4 4 失真测度模块波形图4 7 图4 5 训练模块波形图4 7 图4 6 码本生成模块验证流程图4 8 图4 7 识别结果示意图一4 9 图4 8 说话人判别模块波形图5 0 浙江大学硕士学位论文 说话人识别加速器的设计研究 1 1 2 说话人识别原理 说话人识别的基本原理如图1 1 所示( 虚线部分为可选部分) ,主要包括两个 阶段,即特征提取和训练识别( 模式匹配) 阶段。其中特征提取是第一步,这里 的特征提取往往要求舍去语义信息而保留个人特征信息。声音中包含的个人特征 信息有两种:一是由声道长度、声带等先天性发音器官的个人差别产生;另一种 由方言、语调等后天性讲话习惯产生。后者以基频、共振峰频率的时间图案、单 词的时间长短等特征来表示。总体来看,说话人识别所用的特征包含:( 1 ) 语音 帧能量。( 2 ) 基音周期。( 3 ) 帧短时谱或b p f g 特征。( 4 ) 线性预测系数( l p c ) 。 ( 5 ) 共振峰频率及带宽。( 6 ) 鼻音联合特征。( 7 ) 谱相关特征。( 8 ) 相对发音 速率特征。( 9 ) l p c 倒谱。( 1 0 ) 音调轮廓特征等。在特征提取之后的训练阶段 指系统的每个使用者说出若干个训练语句,系统据此建立每个使用者的模板或模 型参数。识别阶段指由待识别人说的语音经特征提取后与系统训练时所产生的模 板或模型参数进行比较。在整个说话人识别系统中,从波形文件中提取特征后, 计算与预先存储的各说话人登记的标准模式的距离或相似度,并根据相似度做出 判断。在说话人辨认中,取与测试音匹配距离最小的说话人模型所对应的说话人 作为识别结果;在说话人确认中,则通过判别测试音与所声称的说话人的模型的 匹配距离是否小于一定的阈值做出判断。 图1 1 说话人识别系统原理图 1 1 3 说话人识别关键技术 分。 识剧结果 说话人识别的关键技术包括:语音信号预处理、特征提取和模式匹配三个部 浙江大学硕士学位论文 说话人识别加速器的设计研究 i i 】为上述三角滤波器的中心频率,满足 m e l ( f i + 1 ) 一m e l ( f i ) = m e l ( f i ) 一m e l ( f i 一1 】) ( 1 1 3 ) 5 、利用离散余弦变换求得倒谱系数。如下所示,其中p 是三角滤波器的个 数。 q = 污喜o s 唔沪o s , 6 、计算上述特征矢量的1 阶回归时间差分和2 阶回归时间差分,其计算方 法如下: d ,h = 墅铲 m 口i t :丛堡璺删型! ( 1 1 6 ) 2 :,牙 其中,哆吲t 、q 司分别表示第t 帧的1 阶和2 阶回归时间差分的第i 维系数, 为计算1 阶回归时间差分的窗口大小,? 为计算2 阶回归时间差分的窗口大小。 根据对m f c c 的研究,和1 3 阶的m f c c 参数比较起来,更高阶的m f c c 参数 并不能够减少多少错误率。这也就意味着前1 3 个参数已经包含在前1 6 个系数参 数中。如果引入系数的1 阶和2 阶动态差分系数,相比高阶的参数,更能减少语 音识别的错误率。而对于说话人识别,2 阶动态差分系数基本上不起作用,甚至 会产生负面影响。 同时,研究也表明,在语音识别或者说话人识别中,m f c c 的各个分量的贡 献也是不同的。在干净语音的条件下,对于说话人识别,m f c c 的0 阶和1 阶分 量贡献很小,甚至是负影响。所以一般情况下在用归一化能量参数代替0 阶是合 理的。剩余分量中,又以第6 阶到第1 3 阶的贡献最大1 1 5 。 m f c c 特征参数考虑了人耳对声音的感知特点。是语音信号中主要使用的特 征提取方法。 3 ) 其他特征参数还包括:l p c 的倒谱系数( l p c c ) 、感知线性预测系数 ( p l p c ) 、多分辨率小波分析技术。 三、语音信号模式匹配( 训练与识别) : 详细划分是将模式匹配归到语音信号的识别部分,但在码本训练阶段,主要 浙江大学硕士学位论文 说话人识别加速器的设计研究 状态琅只与前一时刻所处状态g 。有关,即 它满足 = 尸( 吼= 马i g “= 墨,g m = 最,) = p ( g i = ql 吼一,= s ) ( 1 1 9 ) 吩 j = 1 ( 1 2 0 ) b 为观察序列中任一观察( 它是随机变量或随机矢量) 在各个状态的观 察概率空间中的分布。这个分布具有离散型和连续型两类,分别对应离散卸m m 和连续h m m ,其分布分别为: 在离散h m m 情况下,观察序列为符号序列,b 为一概率矩阵: b = 0 ( 七) ,= l ,2 ,;足= 1 ,2 ,m j ( 1 2 1 ) 并满足: 哆( i ) = l ( 1 2 2 ) 其中m 为编码符号集,在矢量量化时,m 就是码本大小,j 为状态序号。 在连续 m 的情况下,观察序列为矢量序列( 设维数为d ) ,b 就是n 个 d 维的概率密度函数的集合 b = q ( o ) ,= 1 ,2 , ( 1 2 3 ) 其中0 为观察矢量空间中的任一矢量,每个概率密度函数都满足归一条件,即: h ( d ) ,d ( o ) = l ( 1 2 4 ) 西 其中g 表示第i 个状态的观察概率空间,它可以是矢量所在的全空间,也可以是 其中的一个子空间。 3 ) 高斯混合模型g m m ( g a u s s i a i lm i x t u r em o d e l ) 高斯混合模型本质上是一种多概率密度函数,可为每一个说话人建立一个高 斯混合模型。 对于说话人辨认来说,设s 个说话人,对应的g 删模型分别是 , ,如。 目前则是对于一个观测序列x ,找到使之有最大后验概率的模型所对应的说话人 五。,即: 9 浙江大学硕士学位论文 说话人识别加速器的设计研究 童= a r g 燃张旧= a r g 懋警 假定只( 五) 2 l s 即每个说话人出现为等概率, 同的,上式可简化为: s 2 鹕懋p ( jf 丑) 1 1 4 说话人识别系统的性能评价 ( 1 2 5 ) 且因p ( x ) 对每个说话人是相 ( 1 2 6 ) 评价说话人识别系统的性能有多种指标,其中最重要的指标是识别结果的正 确性。而这个指标对说话人辨认和确认系统又有所差别。对说话人辨认系统而言, 常用的是正确识别的概率( 常称为识别率) 或错误识别的概率( 常称为误识率或 错误率) 。对说话人确认系统,不仅要考虑错误接收的概率( f a u d t a c c e p t ,f a ) 还要考虑错误拒绝的概率( f a u l tr e m s e ,f r ) 。这两种指标是相互矛盾的,降低 f a 必然会造成f r 的提高,反之亦然。可以通过改变判决门限调整f a 和f r 的 相对大小。对于说话人识别系统的评价,还要综合考虑系统的实际应用要求,这 主要包括以下几个方面: 1 ) 训练样本数和识别速度。训练样本少能使新用户尽快完成登录工作,使 用户乐于接受; 2 ) 识别响应速度; 3 ) 说话方式要求。一般来讲,系统尽可能适应使用者的各种说话方式,包 括语速变换,声音大小变化以及发音内容变化等。这不是一件容易的事情,目前 希望在保证系统识别性能的前提下,尽可能减少对说话人方式的限制; 4 ) 对环境的鲁棒性。工程应用的领域应该有良好的适应环境干扰的能力, 包括噪声、信道畸变、线路衰减及多人背景语音等; 5 ) 识别人数。 1 1 5 说话人识别现状与难点 目前说话人识别技术的研究工作进展缓慢,主要表现在理论上没有较大的突 破。虽然各种新的修正方法不断涌现,但其普遍适用性都值得商榷。具体来讲, 浙江大学硕士学位论文 说话人识别加速器的设计研究 主要表现在: 1 ) 语音识别系统的适应性差,主要体现在对环境的依赖型强,即在某种环 境下采集到的语音训练系统只能在这种环境下应用,否则系统的性能将急剧下 降; 2 ) 高噪声环境下语音识别进展困难,因为此时人的发音变化很大,像声音 变高,语速变慢,音调以及共振峰变换等等,必须寻找新的信号分析处理方法; 3 ) 语言学、生理学、心理学方面的研究成果已有不少,但如何把这些知识 量化、建模并用于语音识别,还需研究。而语言模型、语法及词法模型在中、大 词汇量连续语音识别中是非常重要的; 4 ) 我们对人类的听觉理解、知识积累和学习机制以及大脑神经系统的控制 机理等方面的认识还很不清楚;其次,把这方面的现有成果用于语音识别,还有 一个艰难的过程; 5 ) 语音识别系统从实验室演示系统到商品的转化过程中还有许多具体问题 需要解决,识别速度、拒识问题以及关键词( 旬) 检测技术( 即从连续语音中去 除诸如“啊”、“唉”等语音,获得真正待识别的语音部分) 等等技术细节需要解 决: 6 ) 说话人识别的信息来源是用户所说的话。这个语音信息是说话人个性特 征和说话内容特征的综合体,目前还没有很好的方法将说话人的个性特征从语音 特征中分离出来,从而对识别系统的性能提高造成一定的困难; 7 ) 说话人的发音常常与环境、情绪、健康状况有关,它的稳定性比较差, 不像指纹,具有静态的、固定的物理特征,而说话人特征具有长时变动特征,会 随着时间和年龄的变化而变化 4 】; 8 ) 与文本无关的说话人识别系统的开发以及如何防止识别声音被模仿的问 题。与文本无关的说话人识别系统的不规定说话人的发音内容,模型建立相对困 难,此外还需防止窃入者利用录音的方式模仿识别音。 1 2 课题需求和现实意义 随着信息社会化发展,蜕话人识别作为具有语音识别与理解功能的智能人机 接口,是新一代计算机的重要组成部分。说话人识别与其他生物识别技术,诸如 浙江大学硕士学位论文 说话人识别加速器的设计研究 指纹识别、掌形识别、虹膜识别等相比较,被认为是最自然的利用生物特征进行 身份鉴定的方式。具有不会遗忘和忘记、不需要记忆、使用方便等优点。其应用 领域不断扩大: ( 1 ) 说话人核对:包括电话预约业务的声音确认转帐、汇款、余额通知、股票 行情咨询等; ( 2 ) 司法领域:可以为公安部门进行语音验证,帮助对嫌疑人的查证; ( 3 ) 保安领域中,可以用于机密场所的进入控制、合法使用通信线路、机要设 备的身份核查及电子银行转帐业务的安全检查等; ( 4 ) 医学应用:如使识别系统仅响应患者的命令,则可实现对假肢的控制; ( 5 ) 玩具、家用电器领域也具有广泛的应用。 1 3 本文的主要工作和结构 1 3 1 本文的主要工作 分析了典型说话人识别系统的各关键技术,研究了码本训练算法以及说话人 判别算法,对算法中各参数值的选取进行了讨论;根据系统的需求建立一个小的 语音库,录制语音信号,并对采集的语音信号进行预处理,检测语音信号的起始 端点;在m a t l a b 环境下仿真说话人确认系统,验证系统设计方案的可行性; 设计说话人训练和识别( 模式匹配) 加速器,包括基于矢量量化的说话人码本训 练模块和基于矢量量化的说话人判别模块,详细分析了各个模块的结构和设计方 案:最后本文提出系统验证方案,并对各模块进行了仿真、验证和综合,同时对 结果进行分析,提出改进的思想。 1 3 2 本文的结构 本论文由以下五章组成: 第一章绪论,介绍说话人识别技术相关概念、关键技术和现实意义等,并 对论文结构做了安排; 第二章介绍了矢量量化技术在说话人识别领域的应用; 第三章详细介绍了说话人识别加速器的设计,包括说话人识别系统仿真, 浙江大学硕士学位论文说话人识别加速器的设计研究 以及说话人加速器各个模块的详细设计 第四章对说话人识别加速器进行仿真和综合,设计结果并对性能进行评估, 据此提出改进的方案; 第五章说话人识别加速器的总结和展望。 浙江大学硕士学位论文 说话人识别加速器的设计研究 第二章模式匹配中的矢量量化技术 2 1 矢量量化原理及其在说话人识别中的应用 2 1 1 矢量量化的理论基础 矢量量化技术( v e c t o rq u a l l t i z a t i o n ,v q ) 包括码本设计、码字索引和码字索 引分配,是指在量化时用输出组集合( 码本) 中最匹配的一组输出( 码字) 来代 替一组输入采样值( 输入矢量) ,其理论是香农的速率失真理论,即只要概率一 失真函数r ( d ) 不超过信道容量就能保证接受端的失真不超过给定闽值d 。在 数学上,r ( d ) 定义为在给定失真d 的条件下,系统所能够达到的最小码速率。 对于幅值离散的信源,r ( d ) 定义如下: 五( d ) = i n i n p ( x ) p ( x y ) l o g : p ( j ,x ) ,q ( 圳 ( 2 1 ) z , 其中q ( y ) = p ( 工) p ( y 工) ,平均失真满足条件: j p ( x ) p ( 】,。r ) d ( x ,y ) d ( 2 2 ) xy 式中d ( ,y ) 是失真测度,它表示输出采样值y 再现原始采样值x 所引入的失真, p ( y x ) 表示在已发送x 的情况下接收到y 的概率。 根据香农的这一理论,可找到一个最小的信源速率使得系统发送端到接受端 的平均失真不超过给定的失真阈值,这正是数据压缩系统所要做的事情。 2 1 2 矢量量化的定义和基本原理 矢量量化是一种数据压缩算法,其基本原理是将若干标量数据组成一个矢 量,然后在矢量空间给以整体量化,从而压缩了数据量而不损耗多少信息。它能 够有效地去除信号的冗余度,对信号进行编码和分类。 1 ) 矢量量化的定义 维数为k ,尺寸为n 的矢量量化器q 定义为从k 维欧几里得空涮形到一包 含n 个输出( 重构) 点得有限集合c 的映射,即q :舻斗c ,其中 浙江大学硕士学位论文 说话人识别加速器的设计研究 c = 儿,m ,y 。 ,m ,f 1 1 ; o ,1 ,一1 。集合c 称为码本,其尺寸( 大 小) 为n 。码本的n 个元素称为码字或码矢量。它们均为中的矢量。 一个矢量量化器可分解为两个部分,即编码器和解码器。编码器占是从彤到 索引集合r 的映射;而解码器是从索引集合r 到重构集合( 码本) c 的映射,即 s :r 斗1 1 ,d :r 斗c ( 2 3 ) 若给定输入矢量空间的一种划分,则可完全确定某个输入矢量的编码索引。另一 方面,若给定码本,则可以根据索引通过简单查表操作确定相应的重构矢量。实 际上,编码器的任务就是确定输入矢量处在哪一个胞腔中,甚至可认为编码过程 根本不需要码本。另一方面,解码过程只是一个简单查表操作,只需要码本参与, 并不需要知道胞腔如何划分。对大多数使用矢量量化器来说,由于码本可隐含地 确定胞腔划分,故编码操作可通过码本来完成。由此可见,整个矢量量化器操作 可看作两步骤地级联或复合,即 q ( x ) = d s ( x ) = d ( 占( x ) ) ( 2 4 ) 为方便起见,有时认为编码器能同时产生索引号i 和量化输出值q ( x ) 。解 码器有时被称作“逆向量化器”。 图2 1 矢量量化器示意图 编码器 解码器 图2 2 矢量量化编码和解码示意图 图2 1 表示如何通过编码器和解码器的级联来定义一个矢量量化器,图2 2 浙江大学硕士学位论文 说话人识别加速器的设计研究 表示基本的矢量荠萍荇娃。稀嚣荫罗箭嚣需;诺喜挂堡盈擗鞴揣雀嚣裂段继罂 硒尽攥型搏逛肯殴峰分祁虐除噪声等几。个生臻磊喹理港 臻曼理罐;理弭甲公 荔馒型丑椿显堡j 群基髂揽琵摧戳坭拨弼到崭姊掣醮甄型越醪蝉沾j 孕告嚣掣鞋 冒靛雀诗裔垮稽砦攒。 i i 碧氡氍羹裂翻 掣羹料酥融渐弱燮茬戳曼。i 彗i ;一,科l 好的解决被他人模仿的问题,具有较好的抗噪 性以及鲁棒性。鲁棒性指在特征提取的过程中,不会丢失表现说话人特征的信息。 主要的特征参数有: 1 ) 线性预测系数l p c ( l i n e p r e d i c tc e p s t r u m ) : 线性预测的基本思想是对语音信号的每个采样值用它过去的若干个取样值 的加权值来预测表示,通过使实际语音抽样和线性预测抽样之间的差值的平方和 ( 在一个有限间隔上) 达到最小值,能够决定唯一的一组预测器系数。 语音信号产生的数学模型的系统函数为: 日( z ) :s ( z ) u ( z ) = 一 ( 1 1 ) 1 一吼z “ k = l 对这个模型使用l p c 方法的目的,是要用l p c 方法对该系统函数的参数 q 进行估值,实际上就是对表征声道模型的线性时变系统的参数 吼) 进行估值。语 音信号产生的数学模型是短时平稳的,也就是在较短的时间内( 2 0 - - 3 0 m s ) ,可 以认为激励源、声道模型都不会变化,即 坼 随每个短时段而变化。显然选择这 样长度一帧语音信号,如果可以用l p c 方法准确的确定 嘶 ,就得到了描述这 一短时间内的声道模型参数,表征了个人在待定时间的声道特点,这样得到的参 数就是所谓的l p c 参数。 下面说明用l p c 方法确定参数 吼) 。用过去p 个时刻的语音采样值的线性组 合, 以最小的预测误差预测下一个时刻的语音信号采样值,称为对语音信号的p 阶线 浙江大学硕士学位论文 说话人识别加速器的设计研究 为了进行传输和存储,量化后得到的码矢只都要进行编码。通常不是直接将 卫进行编码,而是将卫在码本中的地址或标号进行编码。 2 1 3 矢量量化器的性能指标 矢量量化器的性能指标包括:矢量量化器的分辨率、编码速率、比特率、失 真测度和复杂度。 矢量量化器的分辨率、编码速率( 编码率) 定义为每个输入采样所需要的平 均比特数。设码本大小为n ,矢量维数为k 。对于基本的矢量量化器,由于每个 码字索引所占的比特数为l o g :,故每一维分量所占的比特数即编码速率为r = l o g :瓜。它表明在码本性能良好的情况下,用此矢量量化器所能取得的准确度 和精确度,所以也称之为分辨率。对于固定维数k 而言,分辨率由码本尺寸n 决定,而与存储码字的每一分量所占用的比特数无关。在通信系统中,矢量量化 编码器选择一个合适的匹配码字卫来近似描述输入矢量x ,并将被选中的码字的 索引号i 传输( 以二进制形式) 给接收器。然后矢量量化解码器执行查表操作产 生重构矢量卫,它是原输入矢量的近似。如果系统是一个矢量序列,那么系统处 理的基本单位是矢量而不是标量,则每个输入矢量所需的比特数称为比特率或称 传输率r ( 比特矢量) 它可由r = l ( r 给出,其中r 为分辨率,k 为矢量维度。若 用工表示矢量传输速率,即每秒被编码的矢量数,则每秒所传输的比特数为 b = 向呒( 比特s ) 。如果系统处理的基本单位为标量,如波形编码,其中每个矢 量代表波形的一个连续采样段,即每个矢量由一定的标量组组成。 矢量量化编码过程实质上是输入矢量与码字的匹配过程。模式匹配的一个关 键问题是矢量间差异的度量。失真度d ( x ,y ) 表征输入矢量x 与被重构矢量y 量化而产生的非负失真。假定x ,y 和z 为k 维欧几里得空间中的三个矢量,则 测度d 通常应该满足下面三个性质: ( 1 ) 正定性: 0 d ( x ,_ y ) ;当且仅当x = y 时,d ( x ,_ y ) = o ( 2 9 ) 浙江大学硕士学位论文说话人识别加速器的设计研究 ( 2 ) 对称性: d ( 工,y ) = d ( y ,工) ( 2 1 0 ) ( 3 ) 三角不等性 d ( x ,y ) d ( x ,z ) + d ( y ,z ) ( 2 1 1 ) 与标量量化相比,矢量量化的主要缺点是复杂度大,且复杂度随维数的增大 呈指数形式增加,这是实现高维矢量量化的主要障碍。无论从硬件考虑还是从软 件考虑,复杂度有两种:时间复杂度和空间复杂度。时间复杂度定义量化每个输 入矢量所需要的计算量,包括加减法,乘除法和比较等。空间复杂度定义为量化 器所需的存储容量。 2 2 矢量量化的码本设计算法 矢量量化的首要问题是设计出性能好的码本。码本性能的好坏,对于整个系 统有着至关重要的意义。码本设计的过程就是寻求把m 个训练矢量分成n 类的 一种最佳方案( 使均方误差最小) ,而把各类的质心矢量作为码本的码字。然而 在n 和m 较大的情况下,搜索全部码本是不可能的。为了克服这个困难,码本 设计一般都采用搜索部分码本的方法得到局部最优或接近全局最优的码本。因 此,码本设计的目的就是寻求有效的算法尽可能找到全局最优或接近全局最优的 码本以提高码本性能,并尽可能减少计算复杂度。 码本设计算法大致可以归为四大类:( 1 ) 传统码本设计算法,( 2 ) 基于神经 网络的码本设计算法,( 3 ) 基于全局优化技术( 随机松弛) 的码本设计算法,( 4 ) 基于禁止搜索码本设计算法;( 5 ) 基于模糊聚类理论的码本设计算法。 2 2 1 传统码本设计算法 1 ) 分裂法 l i n d e 等人提出一种类似于乘积项技术的初始化技术,这种技术由较小的码 本生成较大的码本。这种方法称为分裂法,它每次产生的码本大小逐渐增加而维 数恒定。全局晟优的0 比特码本包含一个码字,这个码字是训练矢量的质心。 浙江大学硕士学位论文说话人识别加速器的设计研究 法的具体步骤如下: 步骤1 :设训练矢量x 的集合用s 表示,设置迭代算法的最大迭代次数l , 设置畸变改进闽值占,设置m 个初始码字的初值砰,霹,瑶,设置畸变初值 d o = 0 0 。 步骤2 :根据最近邻准则将s 分成m 个子集掣,雩,黠。即当x 筇时, 下式应成立: d ( x ,巧”。1 ) d ( x ,蚱“。) ,v i ,i , ( 2 1 3 ) 步骤3 :计算总畸变d ”: 村 d ”= d ( x ,i ”1 ) ( 2 1 4 ) i = 1 j e 步骤4 :计算畸变改进的相对值: 肚掣 步骤5 :计算新的码字i ”,珂,瑶 p :一1y x j n 悬 ( 2 1 5 ) ( 2 1 6 ) 步骤6 :如果扩 将失真值与系统设定的阈值相比较,若失真值小于阈值,则接受待测说 话人,系统输出s ,否则,输出n 0 。 以下详细分析各模块的算法流程。 3 1 2 语音信号采集 设计中所用到的语音信号是利用p c 机上的声卡进行采集的。p c 机上的声卡 和专用的录音软件进行采集的语音质量良好,且采集过程很简单,具有以下特点: 1 、可选择单、双通道采集信号; 2 、量化位数可选择8 b 1 6 b i t ,灵活性高,可保证精度; 3 、有8 k h z 到4 8k h z 9 种可选择的采样频率; 4 、声卡具有抗混叠滤波器; 5 、专用的录音软件可生成和处理w a v 格式文件,便于数据的交换和处理。 设计中采集的语音信号是单声道采集、8 b i t 量化精度,8 k h z 的采样频率,主 要内容包括: 1 、男生a ,“你好”、“矢量量化”词组各1 0 个组: 2 、男生b ( 与男生a 差异较小) ,“你好”、“矢量量化”词组6 组; 3 、女生a ( 与男生a 差异较大) ,“你好”、“矢量量化”词组6 组。 建立以上语音库的目的是为了测试以下几种情况: l 、相同说话人文本相关的识别性能; 2 、相同说话人文本无关的识别性能; 浙江大学硕士学位论文 说话人识别加速器的设计研究 图3 2 w a v 文件格式说明 识别wav文件数据首先要判别wav文件是单通道文件还是双通道文件。如 通道的采样数据是相邻的。其次,要判断wav文件的量化位数是8位还是16 位。如果是8 位量化的,每个字节代表一个采样值。如果是巍心器支嚣客8 耘。 丢1 f j 免伟 = 询盘高悯鬟晕滁捕簿窒誓是篓舢驯驰西挤棘醭i 3 1 。3 囊霎翥羹冀雾 囊菲趟酢蹈娶抠骐鳕阿翳j 碍疆蝉琵删诌爨萝套砰酉悬崔爨确省赢罐滏 | 了智擘壤灞屿物力翳i ! 醪凑樊弱苍疆隳娶萄辚鸯嚣鼙茧弃簿荇, j 彬攮悔增磁 茹夔; 崖希搿带潮讯蜜 f 宣霸券彭番彰嚣裔非囊誊是多:嚏凄露陲蹬淄的收敛速 度、最终码本的性能以及码本 的自适应程度,因此可以考虑对算法进行改进,采用识别性能更高、搜索速度更 快的快速搜索和自适应算法等矢量量化的其他改进算法; 4 、需要考虑当提取较大码本容量的码字时所需要巨大的运算量,以及较大 的存储空间。 随着科技的进步一定会有更新的技术和方法逐渐涌现出来。为了满足新的需 求同时也为了推广系统的应用,必须在现有的基础上对系统进行更加深入的研 究。说话人识别未来的发展方向包含两方面的内容:研究方法和市场应用。在说 话人识别的研究方法上尽管已经取得不错的进展寻找更加优良的研究方法仍然 有相当艰巨的路要走。说话人识别的市场应用也是一个重要的课题。毫无疑问随 着研究技术的日臻完善,说话人识别的应用市场也将趋于成熟。多种识别实用软 件的推出,为企业提供了更多的选的推出,为企业提供了更多的选择。相信随着科技的进步,说话人识别技术一 定会得到广泛的应用。 x 浙江大学硕士学位论文说话人识别加速器的设计研究 图3 3 美尔倒谱系数及一阶差分系数的提取过程流程图 1 ) 端点检测后首先确定每一帧语音采样序列的点数,此处取点数n = 2 5 6 。 对每帧序列经过预加重、分帧处理,再经过离散f f t 变换,取模的平方得到离 散功率谱s ( n ) ; 2 ) 计算s ( n ) 通过m 个峨,( 胛) 后得到的功率值,即计算s ( n ) 和上( h ) 在各离 散频率点上乘积之和,得到m 个参数己,m = o ,l ,2 ,m 一1 ; 3 ) 计算只的自然对数,得到厶,m = o ,1 ,2 ,m 一1 : 4 ) 对岛,厶,k 计算其离散余弦变换,得到巩,m = 0 ,1 ,2 ,m - 1 ; 5 ) 舍去代表直流成分的取,取d l ,d 2 ,q 作为m f c c 参数。此处k = 1 2 ; 6 ) 计算m f c c 参数的一阶差分m f c c 参数,并它们合并起来,除去首尾各 两帧,因为这两帧的一阶差分参数是o 。 m f c c 特征参数提取的结果如下各图:图3 4 为原始语音信号( 男生a “你 好”) ,其中红线标注出判别出的语音信号开始与结束的位置。图3 5 为端点检测 程序检测到的语音段信号,图3 6 为经分帧加窗后的语音信号,图3 7 为m f c c 参数及其一阶倒谱系数,图中曲线个数为m f c c 的阶数以及各阶对应的一阶倒 浙江大学硕士学位论文说话人识别加速器的设计研究 谱系数。 图34 原始语音信号 图3 5 语音段 图3 6 分帧加窗后的语音信号 图3 7 美尔倒谱系数及其一阶倒谱系数 3 1 4 说话人码本训练 本文是采用g l a 算法对码本进行训练,该算法初始码字的选取是采用随机 的方式,即从训练矢量中随机选取m 个矢量作为初始码字,由于m 个矢量的选 取是随机的,其性能的优劣也是不确定的,若选取得好,则失真可以快速的收敛, 获得性能较好的码本,否则不利于好的码本的获取。因此本文初始码字的选取是 借助分裂法的思想,先选取所有训练矢量的质心,作为第一一个初始码本,接着在 浙江大学硕士学位器的设计研究 此码本的基础上进行迭代运算,直到完成所需码本容量的计算。算法的具体流程 如图3 8 ,b 为分裂次数,q 缸酬枉窜墅。 引x = j l 瑚# i i | | f 烈彰氨莉鹭引 1i 曼斟自甘副氨剥犬= 笥舟妃蜒l ;曼掣嘟逆甄甜虱直1 万;科雕荆手蒯k 闭 烈型矧割直1 伯缸咖矧酮# i 杆挈分意琥下j y j2 要。一y 。0 簪办矧酬争jj t 1i z i 弛阶段,初始码字只有一个r ( ”,因此全部的训练矢量都归属于这个初始 码字所属的胞腔,设置此时的畸变初值为d ( o ) = g o ; 3 ) 对初始码本进行分裂,分裂算法如下: r :“+ :2 i ”( 1 + 占) i = 1 , 2 , 3 2 b - i ; ( 3 2 ) l r _ “= l ”( 1 一s ) 4 ) 码字个数由1 裂变为2 个,根据最近邻准则对训练矢量重新进行分类, 计算总的失真值: 总的失真值: 浙江大学硕士学位论文 说话人识别加速器的设计研究 矢量置到r 的距离最小,该最小距离的计算公式如下: d x r 2 吉蔷,:蠢,i x , 一i 3 剐 其中置是聚类到r 胞腔的矢量。在进行说话人确认的判定时,将待测矢量与其 所声称身份对应的码本进行吻合程度的度量,如果最小距离小于系统设定的阈 值,接受该说话人,如果大于阈值,则不接受该说话人。在进行说话人辨认的判 定时只需把d 。最小时对应的码本作为识别结果,该码本所对应的话者便是经过 说话人确认系统判决得出的待测说话人的身份。说话人识别计算流程如图3 1 0 : 臣匠卜爵蠕瓣戳 图3 10 说话人识别仿真系统判别模块流程图 在说话人确定系统中要考虑的一个关键问题是阈值的选择问题,用于决策的 闽值直接决定了系统的性能。判决阈值的设定问题就在于怎么样确定闽值使系统 的效果最佳。随着说话人技术在实际中的应用,阈值的确定问题成为影响说话人 确认系统的难点所在。一个说话人确认系统在进行判决时,会产生两种错误,一 种是接受冒认者的错误接受f a ( f a l s ea c c e p t ) ,另一种是拒绝真实用户的错误拒绝 f r ( f a l s er e f u s e ) 。在进行闽值的设定时,要保证设定的阈值使系统的f r 和f a 达到最小。 经典的阈值估计算法常常是对一个给定的说话人系统而言的,通过对f r 和 f a 的估计,找到使f r 和f a 相等的值作为说话人确认的判决阂值。但是对于一 个实际应用的系统而言,错误拒绝率f r 可以完全使用本人的数据来进行确定, 但是,系统却无法预先知道所有冒认者的数据,因而错误接受率f a 将随着冒认 者的不同而变化的,这样就不利于系统对f r 和f a 进行统计,从而找到使两种 错误率相等的点作为说话人确认的闽值。经典的阈值估计算法可以认为是一种基 于 炕目 兄倒兰扑惴 x 浙江大学硕士学位论文 说话人识别加速器的设计研究 中,使用聚类统计的方法对开放的系统进行说话人识别,为整个系统设定一个闽 值,通过阈值的判断来决定说话人是否属于集合内。利用得到的最小失真与事先 设定的阈值进行比较,如果失真小于阂值,则接受说话人,否则,拒绝该说话人。 所以在进行阂值设定的时候,不仅要考虑每个说话人自己对自己码本产生的失 真,同时还要考虑集合内不同说话人之间产生的失真。因此在阈值确定时,可用 通过统计集合内说话人对自己码本产生失真的最大值,和集合内说话人不同的语 音码本之间产生的失真的最小值,来确定整个集合的失真范围,作为整个集合的 闽值。阈值的确定公式是: t = 口m i n d ( y , 野) 】+ ( 1 一口) m a x d ( y ,野,i = 七) 】 ( 3 6 ) 其中巧是训练语音产生的每个说话人的码本集合,这个集合作为训练说话人的 模型存储,f 是说话人的训练样本按照一定时间长度进行聚类,得到的说话人 的一个训练子集,d 是两个码本的距离。口的取值决定系统阂值t ,对系统的 f r 和f a 有很大的影响,一般根据试验选取口值( 口的值一般在o 一1 2 之间选 取) ,使产生的f r 和f a 值相等。 使用基于矢量量化的开集阈值估计可能产生的误差还包括:在利用这种方法 进行阈值确定时,对整个系统设定一个阈值,这样可能就忽视了每个说话人自身 失真变化的范围。 本文中阈值的确定便是基于上述方法,即通过多次计算同一说话人的不同次 发音与该说话人的码本之间的距离,再计算其他说话人的不同次发音与该说话人 的码本之间的距离,根据这些距离得出经验值。 实验结果表明,该系统能准确快速的进行与文本无关的说话人识别。图3 1 1 为特定说话人的码本以及不同说话人的特征参数。黑色的倒三角为经过训练的说 话人的码本,一共含四个码字;红色的交叉符为该说话人的特征参数,即未经训 练的码字;蓝色的交叉符为合法说话人不同次发音提取的码本,黑色十字符为非 法说话人语音提取的码本。从图中可以看出,对同一说话人不同次发音提取的码 本之间的距离相距非常接近,而对于不同说话人的语音信号,提取的码本与用于 判别的码本之间的距离相距非常的远。这就是使用矢量量化方法进行说话人判别 的依据( 图中只画出了各码本矢量第一维和第二维的数据,横轴是矢量的第一维, 浙江火学硕士学位论文说话人识别加速器的设计研究 因此将这些数值均右移四位,然后通过c 程序将数据转换为二进制数值,保存 在t b i n 文件中。在加速器设计中,就可以将文件中的数据读入r a m ,用于码本 的训练。 3 2 2 基于矢量量化的说话人码本训练模块设计 在特征提取中,计算了1 2 阶美尔倒谱系数及各阶倒谱系数相对应的l 阶差 分参数作为说话人识别的特征值,这样,一帧语音信号中就有2 4 个特征参数。 将这2 4 个参数看成1 个矢量,即每个矢量的维度为2 4 。每次取6 4 个时间上连 续的矢量作为训练矢量,从中经过均值、分裂、失真测度和训练等几个模块计算 出2 个码字,根据同样的步骤可对生成的码字再次进行上述过程的训练以获得足 够数量码字的码本。 由于训练矢量的数量相对较大,因此将用于训练的训练矢量单独存在一块6 4 2 1 的r a m 中。根据以往众多实验得到的经验值,一个码本包含6 4 个码字的 识别效果最优,因此,虽然这次提取的码字个数不多,但也将生成的码字单独存 放在另一r a m 中,以便以后程序的扩展。 图3 1 2 为码本训练的基础构架,系统主要分为控制模块、均值计算、分裂模 块、失真测度和训练模块。控制模块控制各模块的工作状态以及r a m 数据的存 储;均值计算主要计算训练矢量的均值,对生成的码字进行训练;分裂模块为根 据码字分裂算法,将一个码字分裂成两个码字,将新生成的两个码字存储在码字 存储器中,其中之一替换原先的一个码字;失真测度模块计算每个训练矢量与码 字问的距离,求出训练前后的失真,通过调用除法器计算畸变改进值,这个值输 出给训练模块,在计算每个训练矢量与码字距离的同时,应该对每个训练矢量根 据最近邻准则进行聚类,最近邻准则是指输入矢量经过量化后应该被量化成一个 码字,使输入训练矢量和这个码字的失真是最小的;码字训练模块中当训练矢量 完成聚类后,计算各个胞腔的质心,用每个胞腔的质心来替换该胞腔中原先的码 字,接着判断畸变改进值是否满足原先设定的闽值,若是不满足就返回失真测度 模块,重新对码字进行畸变改进值的计算以及训练,直到满足失真小于设定的阈 值或是已经达到训练的次数。 浙江人学硕士学位论文 说话人识别加速器的设计研究 图3 1 4 求均值模块流程图 c l i v e c i v e c t 图3 1 5 求均值模块硬件结构图 当系统发出使能信号时,模块开始工作,采用两个计数器判断工作状态。 c o u m e r l 表示当前计算的是矢量的哪个维度,c o u m e r 2 表示当前计算的是哪个矢 量。矢量的同一维度分量计算均值后再计算矢量的下一维分量,这样在输出输入 矢量地址时采用每次输出的值相隔2 4 个地址( 2 4 个维度) ,按顺序将均值存入 保存码字的r a m 中。模块中求均值没有调用系统中的除法器,因为训练矢量的 总数是2 的幂次。计算完成后,向总调度模块发出均值计算完成信号。图3 1 5 为其硬件结构图。 3 ) 码字分裂模块结构比较简单,将一个码字分别乘以( 1 + s ) 与( 1 一占) , 其中占是裂变步长。对于占的设置必须适中。如果设置过大,可能造成的影响是 分裂后的畸变值太大,使畸变改进值无法满足要求;如果设置过小,则可能会使 导致迭代次数增多。一般设定的范围是o 0 1 0 0 5 之间,本设计中选择的值是1 6 4 浙江人学硕士学位论文 说话人识别加速器的设计研究 图3 仃失真测度模块流程图 图3 1 8 失真测度模块硬件结构图 4 1 浙江大学硕士学位论文 说话人识别加速器的设计研究 设定的阈值可以在比较长的时间内保持有效,因此可用软件来完成阈值的选择, 本文中设定的阈值就是仿真系统通过对某一个说话人多次训练得出的一个经验 值。 本文中,判决模块的具体实现流程如图3 2

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论