基于声卡的声音识别系统

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于声卡的声音识别系统

学生所在学院:

学生所在班级:

学生姓名:

指导教师:

摘要

声音识别系统利用PC声卡对声音进行采集。在LabVIEW中对采集的信号进行存储和重载,并对音频信号处理后提取关键参量进行比对。比对结果比较准确,可以判断录入声音和密钥声音的相似性,实现密钥功能。系统具有成本低,交互性高,便捷的优点,具有一定的应用前景。

关键词LabVIEW 声卡声音识别信号处理

目录

一. 系统设计背景 (4)

1.1 声卡工作原理 (4)

1.2 声音识别技术 (4)

1.3 LabVIEW软件 (4)

二. 系统设计目的和意义 (5)

三.系统设计思路 (5)

3.1 系统功能概述 (5)

3.2 系统流程图 (6)

四. 程序设计介绍 (6)

4.1 声音录用和保存模块 (6)

4.1.1 声音采集 (6)

4.1.2 录入声音处理 (8)

4.1.3 录音保存 (9)

4.2 波形对比识别模块 (10)

4.2.1 用户开锁声音录用 (10)

4.2.2 样本声音“密钥”调取 (10)

4.2.3 声音比对判断 (10)

五. 结果分析 (11)

六. 总结 (13)

参考文献 (13)

一. 系统设计背景

1.1 声卡工作原理

要用虚拟仪器技术完成一个测量任务,一般需要计算机配备具有一定性能的数据采集卡,而价格便宜的声卡是计算机的标准配置。

声卡作为声音信号与计算机的通用接口,其基本工作流程为:输入时,麦克风或线路输入(Line In)获取的音频信号通过A/D转换器转换成数字信号,送到计算机进行播放、录音、等各种处理;输出时,计算机通过总线将数字化的声音信号以PCM(脉冲编码调制)方式送到D/A转换器,变成模拟的音频信号,通过功率放大器或线路输出(Line Out)送到音响等设备转换成声波。

声卡不仅价格低廉,而且兼容性好、性能稳定、灵活通用,驱动程序升级方便。如果测量对象的频率在音频范围,而且对指标没有太高的要求,就可以考虑使用声卡取代常规的DAQ设备。而且LABVIEW中提供了专门用于声卡操作的函数节点,所以用声卡搭建数据采集系统是非常方便的。

1.2 声音识别技术

网络安全建立在密码等个人信息基础上,各种卡、帐号、网络登录号等都需要输入密码,而因忘记密码而无法进入的情况时有发生。若采用生物信息作为密码,则可以很好的解决这一问题。常用的生物信息如声音、手印、指纹等。

声音识别技术和签名识别相同,都属于行为识别技术。声音识别是一项根据语音波形中反映说话人生理和行为特征的语音参数,自动识别说话人身份的技术。它的基本原理是通过分析人的声音,为每个人构造一个独一无二的数学模型,有计算机对模型和实际输入的语音进行精确匹配,根据匹配结构辨认出说话人。

声音识别的优点是非接触识别,用户较易接受。但由于声音变化的范围较大,很难进行精确匹配;且采集的声音会随着音量、速度和音质的变化而变化,进而影响识别;另外,用录在磁带上的声音也可能欺骗声音识别系统。

1.3 LabVIEW软件

LabVIEW(Laboratory Virtual Instrument Engineering Workbench)是一种程序开发环境,由美国国家仪器(NI)公司研制开发。

与C 和BASIC 一样,LabVIEW也是通用的编程系统,有一个完成任何编程任务的庞大函数库。LabVIEW的函数库包括数据采集、GPIB、串口控制、数据分析、数据显示及数据存储,等等。LabVIEW也有传统的程序调试工具,如设置断点、以动画方式显示数据及其子程序(子VI)的结果、单步执行等等,便于程序的调试。

LabVIEW是一种用图标代替文本行创建应用程序的图形化编程语言。传统文本编程语言根据语句和指令的先后顺序决定程序执行顺序,而 LabVIEW 则采用数据流编程方式,程序框图中节点之间的数据流向决定了VI及函数的执行顺序。

LabVIEW提供很多外观与传统仪器(如示波器、万用表)类似的控件,可用来方便地创建用户界面。用户界面在 LabVIEW 中被称为前面板。使用图标和连线,可以通过编程对前面板上的对象进行控制。这就是图形化源代码,又称G代码。LabVIEW 的图形化源代码在某种程度上类似于流程图,因此又被称作程序框图代码。

在LabVIEW“函数选板”→“编程”→“图形和声音”→“声音”→“输入”子选板上有LabVIEW提供的声卡输入函数,包括配置声音输入 vi,启动声音输入采集 vi,读取声音输入 vi,停止声音输入采集 vi,声音输入清零 vi,此外还有声卡输出函数等,操作起来比较方便。

二. 系统设计目的和意义

本次专业实训旨在熟悉和掌握虚拟仪器和LabVIEW图形化编程语音的基础知识。通过自主设计一个完整系统,了解LabVIEW编写程序的详细流程。同时有助于提高查阅文献的能力和自主学习的能力,以及运用所学知识解决复杂工程问题的能力,提高设计能力和实验技能,为以后进行毕业设计、就业等打下基础。

三.系统设计思路

3.1 系统功能概述

样本声音定义为系统所有者自己设定的“声音密钥”,待检声音定义为任意用户输入的声音。

从使用者的角度,可以将系统大致分为两个大模块:

(一)样本声音输入模块:合法用户向系统输入自己的声音,作为唯一的“声音密钥”。

(二)声音识别模块:任意用户向系统发出申请,输入自己的声音,系统将对其进行识别,并对正确的“密钥”输入进行响应,若匹配则指示灯亮。

3.2 系统流程图

如图所示为系统的流程图:

图1 声音识别系统工作流程

系统的核心是声音匹配。声音的匹配是严格的,不仅要求说话者说的是某句话,也需要说话者是同一个人。识别过程中对用户的说话声音的基础特征有配对要求。这需要对声音的音频有准确的记录和配对。但是这可以是声音密码锁的一大好处,习惯的语速总是难以被人模仿的,因而其可靠性得以提高。

在采样与配对的过程中,声音的分析是关键,在转换过程中无法避免出现的失真需要尽量的减少,否则声音密码锁的精确度将受到很大的限制。而所提供的硬件在这方面可能不能实现的很好,只能尽量做到精确,减小失真度。

四. 程序设计介绍

在LabVIEW中所建立的系统两大块子vi实现以上的流程:

1.样本声音录用和保存子vi,这一部分实现了样本声音采集和声音保存的功能。

2.波形比对识别子vi,这一部分实现了待测声音的录入,样本声音的调用,比对和最终的门锁控制。

在LabVIEW中的“函数选板”→“编程”→“结构”中选择条件结构,将枚举vi接入分支选择器,选择器标签设为“声音录入”和“声音比对”,分别编写上述两个模块的程序框图。

4.1 声音录用和保存模块

4.1.1 声音采集

(一) 声卡设置

程序首先对声卡进行设置,使用簇常量将声卡的采样率设为44100Hz,通道形式设为双声道,采样位数设为16 bit。

(二)按钮模块

为了提高交互性,在前面板生成一个“开始录音”按钮,只有当用户单击按钮时,

相关文档
最新文档