《基于声卡的虚拟语音系统设计论文.doc》由会员分享,可在线阅读,更多相关《基于声卡的虚拟语音系统设计论文.doc(5页珍藏版)》请在三一办公上搜索。
1、XX学院Lab VIEW 设 计论文题目 基于声卡的虚拟语音系统设计学 院 电子信息与机电工程学院 专 业 电子信息科学与技术 年 级 学 号 学生姓名 指导教师 完成时间 2011 年 5 月基于声卡的虚拟语音系统设计摘要:本系统利用常用的虚拟仪器开发软件Lab VIEW完成了基于声卡的虚拟语音系统设计。该系统能够利用声卡正确采集语音信号和回放语音文件,具有录音、放音功能,相当于简单的录音机和音乐播放器。关键词:LabVIEW、声卡、语音系统1 LabVIEW软件及其基本设计原理简介1.1 LabVIEW简介LabVIEW(Laboratory Virtual instrument Engi
2、neering)是一种图形化的编程语言,它广泛地被工业界、学术界和研究实验室所接受,视为一个标准的数据采集和仪器控制软件。LabVIEW集成了与满足GPIB、VXI、RS-232和RS-485协议的硬件及数据采集卡通讯的全部功能。它还内置了便于应用TCP/IP、ActiveX等软件标准的库函数。这是一个功能强大且灵活的软件。利用它可以方便地建立自己的虚拟仪器,其图形化的界面使得编程及使用过程都生动有趣。传统文本编程语言根据指令的先后顺序决定程序执行顺序,但LabVIEW 则采用数据流编程方式,程序框图中节点之间的数据流向决定了VI 及函数的执行顺序。LabVIEW 提供很多外观与传统仪器(如示
3、波器、万用表)类似的控件,可用来方便地创建用户界面。用户界面在LabVIEW 中被称为前面板。使用图标和连线,可以通过编程对前面板上的对象进行控制。这就是图形化源代码,又称G 代码。LabVIEW 的图形化源代码在某种程度上类似于流程图,因此又被称作程序框图。LabVIEW尽可能利用了技术人员、科学家、工程师所熟悉的术语、图标和概念。因此,LabVIEW是一个面向最终用户的工具。它可以增强你构建自己的科学和工程系统的能力,提供了实现仪器编程和数据采集系统的便捷途径。使用它进行原理研究、设计、测试并实现仪器系统时,可以大大提高工作效率。利用LabVIEW,可产生独立运行的可执行文件。1.2 La
4、bVIEW软件设计基本原理我们把用LabVIEW实现的一个完整的LabVIEW应用程序成为一个虚拟仪器,称为VI。所有的VI,它包括前面板、程序框图图以及图标/连结器三部分。(1)前面板。前面板是图形用户界面,也就是VI的虚拟仪器面板,前面板直接面向用户,是用户使用虚拟仪器的基本操作面板。这一界面上有用户输入和显示输出两类对象,具体表现有开关、旋钮、图形以及其他控制和显示对象。(2) 程序框图提供VI的图形化源程序。它的功能是对前面板上的控件进行定义、操作和连线以实现虚拟仪器的功能,是LabVIEW程序设计的核心。在程序框图中存在着对VI编程,以控制和操纵定义在前面板上的输入和输出。它包括前面
5、板上的控件和控件的连线端子,还有一些前面板上没有,但编程必须有的东西,例如函数、结构和连线等。如果将VI与标准仪器相比较,那么前面板上的东西就是仪器面板上的东西,而流程图上的东西相当于仪器箱内的东西。在许多情况下,使用VI可以仿真标准仪器,不仅在屏幕上出现一个惟妙惟肖的标准仪器面板,而且其功能也与标准仪器相差无几。(3)图标/连接器。VI具有层次化和结构化的特征,一个VI可以作为子程序,这里称为子VI,被其他VI调用。图标与连接器在这里相当于图形化的参数。LabVIEW的强大功能归因于它的层次化结构,用户可以把创建的VI程序当作子程序调用,以创建更复杂的程序,而这种调用的层次是没有限制的。在V
6、I设计过程中,可以利用工具选板、前面板中的控件选板、程序框图中的函数选板进行设计。这些选板的详细功能及用法通过不断的学习设计VI的过程逐渐地掌握。2 关于虚拟语音系统的设计思路及方案的实现2.1设计思路本设计的想法是让前面板尽量与现实生活中的语音播放器(如录音机)基本一致。它具有一个语音波形面板,一个录音按钮、放音按钮和快进按钮,还有一个音量调节滑动杆和步进长度调节滑动杆。面板设计美观合理而且操作简单。(1) 录音:设置一个录音按钮,开即通过声卡采集声音信号,开始录音,关则停止录音。(2) 放音:设置一个放音按钮,开则播放所选音频文件,关则停止播放。(3) 步进长度设置:通过一个滑动杆即可改变
7、步进长度。(4) 快进:设置一个快进按钮,按动按钮可让音频文件按所设的步进长度快进播放。(5) 停止语音系统:通过while循环的停止按钮设置停止系统。2.2 方案的实现2.2.1前面板的设计根据设计思路,设计成的前面板如图1所示:图1:虚拟语音系统前面板2.2.2 设计的基本原理和设计步骤(1)等待操作的实现,在程序框图中建立一个条件结构。以一个数值变量作为条件结构的的条件输入。先在程序中初始化数值等于0,让程序不断进入条件等于0(即等待)时的状态,直到它被操作,才进入相应的条件结构,执行录音或放音。系统处于等待操作时的框图程序如图2所示:图2:等待操作框图程序(2)录音功能的实现,当录音键
8、被按下时,让数值变量等于1,进入条件输入为1时的条件结构(即录音)。录音程序中,建立一个while循环,加入读取声音输入函数和写入声音文件函数不断的采集信号和保存信号,直到关闭录音按钮,程序将停止录音,重新进入等待操作。系统处于录音时的框图程序如图3所示:图3:录音框图程序(3)放音功能的实现,当放音按钮按下时,让数值等于2,进入条件输入为2时的条件结构(即放音)。放音程序中,建立一个while循环,加入读取声音文件函数和写入声音输出函数不断的读取信号和输出信号。在读取声音文件函数前,在其位置偏移量接线端加一个条件结构,以快进按钮作为条件输入,当按下快进时,改变其偏移量,并使按钮值取反,让其下
9、一次读取文件时偏移量为0,这样就达到了快进的效果。在写入声音输出前,接设置声音输出音量函数,用于调节输出音量。关闭录音按钮,程序将停止放音,重新进入等待操作。系统处于录音时的框图程序和前面板如图4、5所示:图4:放音框图程序图5:放音时前面板3 设计总结(1)本语音系统设计完成了录放音功能,并且在放音时加入了音量调节和快进功能,使该系统在使用时更方便。录音时可正确的采集声音信号,放音时,音质佳,并无出现失真。综上所述,此系统设计是一个成功的设计。(2)系统不足:虽然此系统是成功的,但是仍然存在不足之处,比如可以让它智能一点,在等待操作的时候,设置一段时间,如果在等待操作这一段时间,系统无任何操作,让系统自动停止,终止程序。又如可以给系统加入播放暂停功能。系统的不足希望可以在以后的学习中不断的改进。