基于声卡的声音识别系统_第1页
基于声卡的声音识别系统_第2页
基于声卡的声音识别系统_第3页
基于声卡的声音识别系统_第4页
基于声卡的声音识别系统_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

1、基于声卡的声音识别系统学生所在学院:学生所在班级:学生姓名:声音识别系统利用PC声卡对声音进行采集。在LabVIEW中对采集的信号进行存储和重载,并对音频信号处理后提取关键参量进行比对。比对结果比较准确,可以判断录入声音和密钥声音的相似性,实现密钥功能。系统具有成本低,交互性高,便捷的优点,具有一定的应用前景。关键词LabVIEW声卡声音识别信号处理目录1 .系统设计背景41.1 声卡工作原理41.2 声音识另U技术41.3 LabVIEW软件42 .系统设计目的和意义53 .系统设计思路53.1 系统功能概述53.2 系统流程图64 .程序设计介绍64.1 声音录用和保存模块64.1.1 声

2、音采集64.1.2 录入声音处理84.1.3 录首保存94.2 波形对比识别模块104.2.1 用户开锁声音录用104.2.2 样本声音“密钥”调取104.2.3 声音比判断105 .结果分析116 .总结137 考文献13系统设计背景1.1 声卡工作原理要用虚拟仪器技术完成一个测量任务,一般需要计算机配备具有一定性能的数据采集卡,而价格便宜的声卡是计算机的标准配置。声卡作为声音信号与计算机的通用接口,其基本工作流程为:输入时,麦克风或线路输入(LineIn)获取的音频信号通过A/D转换器转换成数字信号,送到计算机进行播放、录音、等各种处理;输出时,计算机通过总线将数字化的声音信号以PCM(脉

3、冲编码调制)方式送到D/A转换器,变成模拟的音频信号,通过功率放大器或线路输出(LineOut)送到音响等设备转换成声波。声卡不仅价格低廉,而且兼容性好、性能稳定、灵活通用,驱动程序升级方便。如果测量对象的频率在音频范围,而且对指标没有太高的要求,就可以考虑使用声卡取代常规的DAQ设备。而且LABVIEW中提供了专门用于声卡操作的函数节点,所以用声卡搭建数据采集系统是非常方便的。1.2 声音识别技术网络安全建立在密码等个人信息基础上,各种卡、帐号、网络登录号等都需要输入密码,而因忘记密码而无法进入的情况时有发生。若采用生物信息作为密码,则可以很好的解决这一问题。常用的生物信息如声音、手印、指纹

4、等。声音识别技术和签名识别相同,都属于行为识别技术。声音识别是一项根据语音波形中反映说话人生理和行为特征的语音参数,自动识别说话人身份的技术。它的基本原理是通过分析人的声音,为每个人构造一个独一无二的数学模型,有计算机对模型和实际输入的语音进行精确匹配,根据匹配结构辨认出说话人。声音识别的优点是非接触识别,用户较易接受。但由于声音变化的范围较大,很难进行精确匹配;且采集的声音会随着音量、速度和音质的变化而变化,进而影响识别;另外,用录在磁带上的声音也可能欺骗声音识别系统。1.3 LabVIEW软件LabVIEW(LaboratoryVirtualInstrumentEngineeringWor

5、kbench)是种程序开发环境,由美国国家仪器(NI)公司研制开发。4与C和BASIC一样,LabVIEW也是通用的编程系统,有一个完成任何编程任务的庞大函数库。LabVIEW的函数库包括数据采集、GPIB、串口控制、数据分析、数据显示及数据存储,等等。LabVIEW也有传统的程序调试工具,如设置断点、以动画方式显示数据及其子程序(子VI)的结果、单步执行等等,便于程序的调试。LabVIEW是一种用图标代替文本行创建应用程序的图形化编程语言。传统文本编程语言根据语句和指令的先后顺序决定程序执行顺序,而LabVIEW则采用数据流编程方式,程序框图中节点之间的数据流向决定了VI及函数的执行顺序。L

6、abVIEW提供很多外观与传统仪器(如示波器、万用表)类似的控件,可用来方便地创建用户界面。用户界面在LabVIEW中被称为前面板。使用图标和连线,可以通过编程对前面板上的对象进行控制。这就是图形化源代码,又称G代码。LabVIEW的图形化源代码在某种程度上类似于流程图,因此又被称作程序框图代码。在LabVIEW“函数选板”“编程”“图形和声音”“声音”“输入”子选板上有LabVIEW提供的声卡输入函数,包括配置声音输入vi,启动声音输入采集vi,读取声音输入vi,停止声音输入采集vi,声音输入清零vi,此外还有声卡输出函数等,操作起来比较方便。二.系统设计目的和意义本次专业实训旨在熟悉和掌握

7、虚拟仪器和LabVIEW图形化编程语音的基础知识。通过自主设计一个完整系统,了解LabVIEW编写程序的详细流程。同时有助于提高查阅文献的能力和自主学习的能力,以及运用所学知识解决复杂工程问题的能力,提高设计能力和实验技能,为以后进行毕业设计、就业等打下基础。三.系统设计思路3.1 系统功能概述样本声音定义为系统所有者自己设定的“声音密钥”,待检声音定义为任意用户输入的声音。从使用者的角度,可以将系统大致分为两个大模块:(1) 样本声音输入模块:合法用户向系统输入自己的声音,作为唯一的“声音密钥”。(2) 声音识别模块:任意用户向系统发出申请,输入自己的声音,系统将对其进行识别,并对正确的“密

8、钥”输入进行响应,若匹配则指示灯亮。3.2 系统流程图如图所示为系统的流程图:图1声音识别系统工作流程系统的核心是声音匹配。声音的匹配是严格的,不仅要求说话者说的是某句话,也需要说话者是同一个人。识别过程中对用户的说话声音的基础特征有配对要求。这需要对声音的音频有准确的记录和配对。但是这可以是声音密码锁的一大好处,习惯的语速总是难以被人模仿的,因而其可靠性得以提高。在采样与配对的过程中,声音的分析是关键,在转换过程中无法避免出现的失真需要尽量的减少,否则声音密码锁的精确度将受到很大的限制。而所提供的硬件在这方面可能不能实现的很好,只能尽量做到精确,减小失真度。四.程序设计介绍在LabVIEW中

9、所建立的系统两大块子vi实现以上的流程:1 .样本声音录用和保存子vi,这一部分实现了样本声音采集和声音保存的功能。2 .波形比对识别子vi,这一部分实现了待测声音的录入,样本声音的调用,比对和最终的门锁控制。在LabVIEW中的“函数选板”“编程”“结构”中选择条件结构,将枚举vi接入分支选择器,选择器标签设为“声音录入”和“声音比对”,分别编写上述两个模块的程序框图。4.1 声音录用和保存模块4.1.1 声音采集(一)声卡设置程序首先对声卡进行设置,使用簇常量将声卡的采样率设为44100Hz,通道形式设为双声道,采样位数设为16bit。(二)按钮模块为了提高交互性,在前面板生成一个“开始录

10、音”按钮,只有当用户单击按钮时,6才开始准备录制声首。算法实现为:外层为While循环,将出错信息和“开始录音”按钮取“或”,作为循环停止的条件。这样,在单击“开始录音”按钮之前,系统一直处于执行这一循环状态,即等待录制命令的下达;当单击“开始录音”按钮之后(或有出错信息),程序将跳出这一循环,开始进入到后面的录制环节。具体程序如图2所示:ffl:E.蜃atee图2声卡设置及按钮模块程序设计(三)等待模块在用户单击“开始录音”按钮后,程序进入这一模块。此模块的功能是:当用户还没有发出声音时,系统不会将声音录入;只有当系统检测到的声音信号幅值超过一个设定阈值后,才开始对声音信号进行采集。这一模块

11、的作用是避免系统对声音的错误记录。算法实现为:外层为While循环,每循环一次,就将声卡采集的信号用“提取单频信息”模块提取波形的主频率的幅值进行检测。当幅值高于设定的门限(15)时,退出While循环,进入后面的录制程序模块。具体程序如图3所示:7图3等待模块程序设计(四)录制模块当有声音信号输入时,就进行一次信号采集,然后等待下一次输入,直到按下“停止”按钮或者记够6次(6位密码)。算法实现为:用While循环对输入的声音信号进行依次采样,每次采集前都需要进入等待模式,以防止声音的错误记录。具体程序如图4所示:图4录制模块程序设计4.1.2 录入声音处理由于声音录入过程中混入大量杂音,所以

12、录入声音后,必须对声音进行放大和滤波。在程序中,选择将波形放大100倍。又由于人的声音在一定频率范围之内,所以为了使得录入声音更加准确,要滤去用户声音之外的其他噪声。滤波器的参数设置为:选用带通滤波器,低频截止频率设定为150Hz,高频截至频率设定为2000Hz。原因如下:对系统产生干扰的杂音频率均较低,集中在几十赫兹。这样,通过150Hz的截止频率就可以将杂音部分滤除,改善采集声音的质量;而高于2000Hz的频率事实上不应该作为用户发出声音的主频率,通过对高频的滤波就可以避免系统对主频率的误判断。另外,为了提高滤波器的选频特性,选择有限长冲击响应滤波器,并将抽头数设为401。如图所示为滤波器

13、程序设计。如图5所示:滤波器2后上迳7T二-S,信号,错误蝇(无信Filename5vi将来自波形或波形lvm格式的文件。完整程图5对录入声音进行放大、滤波、存储程序设计4.1.3 录首保存采集数据并将数据发送到缓存,然后通过“写入测量文件”数组的数据写入lvm文件。通过这些vi便可以实现声音信号的采集,并将其存储为序框图如图6所示:口口口口口口心口凸已口口口已口白口心口0日口已口白口3口口口口已口心口口口口口口巴口0口口口口口口已I?0口口口口口口已口口。口口口口巴口0口3口口口口口口凸口图6声首米集子vi在整个“声音录入”子vi中,使用了平铺式顺序结构,将按钮模块和录音保存模块分开,这样在

14、结构上更加合理,防止误判。上述操作已经完成了声音的录用和保存,下面将对声音进行比对和判断。4.2 波形对比识别模块4.2.1 用户开锁声音录用类似于第一个子vi中对“密钥”声音的处理,对“开锁”声音一样采用放大和数字带通滤波器进行处理,并且显示出“开锁”声音的频谱波形,使用户对声音有直观的认识。4.2.2 样本声音“密钥”调取基于波形存储中的文本测量文件(vm),通过“读取测量文件”模块对声音进行调取,同时显示出声音的频谱波形。算法实现为:外层为While循环,每循环一次,即读取一个声音波形数组元素,并显示其频谱,当单击“停止读取样本文件”按钮或者“读取测量文件”读到文件尾时跳出这一循环,开始

15、进入声音比对判断模块。具体程序如图7所示:Filename3样本声音频号停止读取样本文件LLELE7读双乱量文件信号唾图7样本声音调取模块程序设计4.2.3 声音比对判断声音的比对和判断是这个程序的核心内容,所以也是本次设计的重点内容。算法实现为:分别使用“取整”模块对从“提取单频信息”模块中得到的样本声音和待测声音的频率和幅值序列取整数,再对取整后的两个时间频率序列和两个时间10幅值序列各自做比较(设定一个样本的误差范围,看待测时间序列值是否在该范围内)将比较结果送入LED灯阵列。若待测声音频率和幅度序列均在设定的样本声音误差范围内,则相应的LED灯响应。当所有元素均在阈值范围内时,表示声音

16、完全匹配。当用户选择“声音比对”后,则整个系统执行波形比对子vi,并且通过指示灯显示比对结果。整个模块采用平铺式顺序结构,将待测声音的录入设为第0帧,样本声音调取设为第1帧,声音比对判断设为第2帧。如图9所示为声音比对子vi完整截图:图9声首比对子vi五.结果分析整个程序前面板如图10所示:11一it聿y号止髭.wI停.到I停止洋赤脂i侍。麻悻车IM活初罐值套比对iEJ=RWR悌CiUersXAdminiistr-&tc-iAD*5ktQp5cundslihfm17co,i?目。|cm)o加laoo-1S55图10系统前面板由于本次设计的算法较简单,仅仅是提取声音信号中幅度最高的单频,故要求用

17、户以特定语速说一句特定的话才能被系统正确识别。设定密码为6位,如930308,在声音比对vi以同样的语速输入930308时,有80%左右的绿灯亮,表示基本匹配,而当语音录入的内容和设定密钥完全不相关时,则基本没有绿灯亮。因此系统基本可以正确对密码声音进行匹配。其样本声音和其中一次录入的待测声音的幅度和频率序列如图11所示:图11样本和待测语音频率幅度序列12六.总结通过本次专业实训,我对虚拟仪器有了基本的认知,对使用LabVIEW编写程序的流程有了初步的掌握。通过查阅资料,完成任务,提高了自主学习的能力和解决复杂工程问题的能力,对语音识别的一些算法也有了大致的了解,增长了见识。本次程序设计中,我深刻认识到使用调试工具的重要性,如在声音录用中的录制模块中,两个While循环嵌套,外层为声音的录用,内层为等待模块。最开始测试程序时,发现按下“停止录

温馨提示

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

评论

0/150

提交评论