基于LabVIEW的录音笔程序设计DOC.docx

上传人:b****6 文档编号:7473905 上传时间:2023-05-11 格式:DOCX 页数:14 大小:1.43MB
下载 相关 举报
基于LabVIEW的录音笔程序设计DOC.docx_第1页
第1页 / 共14页
基于LabVIEW的录音笔程序设计DOC.docx_第2页
第2页 / 共14页
基于LabVIEW的录音笔程序设计DOC.docx_第3页
第3页 / 共14页
基于LabVIEW的录音笔程序设计DOC.docx_第4页
第4页 / 共14页
基于LabVIEW的录音笔程序设计DOC.docx_第5页
第5页 / 共14页
基于LabVIEW的录音笔程序设计DOC.docx_第6页
第6页 / 共14页
基于LabVIEW的录音笔程序设计DOC.docx_第7页
第7页 / 共14页
基于LabVIEW的录音笔程序设计DOC.docx_第8页
第8页 / 共14页
基于LabVIEW的录音笔程序设计DOC.docx_第9页
第9页 / 共14页
基于LabVIEW的录音笔程序设计DOC.docx_第10页
第10页 / 共14页
基于LabVIEW的录音笔程序设计DOC.docx_第11页
第11页 / 共14页
基于LabVIEW的录音笔程序设计DOC.docx_第12页
第12页 / 共14页
基于LabVIEW的录音笔程序设计DOC.docx_第13页
第13页 / 共14页
基于LabVIEW的录音笔程序设计DOC.docx_第14页
第14页 / 共14页
亲,该文档总共14页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

基于LabVIEW的录音笔程序设计DOC.docx

《基于LabVIEW的录音笔程序设计DOC.docx》由会员分享,可在线阅读,更多相关《基于LabVIEW的录音笔程序设计DOC.docx(14页珍藏版)》请在冰点文库上搜索。

基于LabVIEW的录音笔程序设计DOC.docx

基于LabVIEW的录音笔程序设计DOC

成绩:

 

《虚拟仪器技术及应用》

题目:

基于LabVIEW的录音笔程序设计

学期:

2013~2014学年第一学期

指导教师:

陶林

姓名:

龚华德

学号:

20107150

年级、专业:

2010级机制1班

 

西南交通大学峨眉校区机械工程系

基于LabVIEW的录音笔程序设计

1、录音笔程序设计背景

数码录音笔,也称为数码录音棒或数码录音机,数字录音器的一种,为了便于操作和提升录音质量造型并非以单纯的笔型为主,携带方便,同时拥有多种功能,如激光笔功能、FM调频、MP3播放等。

与传统录音机相比,数码录音笔是通过数字存储的方式来记录音频的。

录音笔工作原理:

通过对模拟信号的采样、编码将模拟信号通过数模转换器转换为数字信号,并进行一定的压缩后进行存储。

而数字信号即使经过多次复制,声音信息也不会受到损失,保持原样不变。

录音笔五大应用:

(1)重要的现场采访录音;

(2)会议录音,后期记录整理等;(3)重要交通现场,刑事现场;(4)教育工作者,学生等;(5)工检法执法者、记者/私家侦探。

利用美国国家仪器公司的可视化图形编程软件LabVIEW作为开发平台,实现基于普通计算机声卡的虚拟录音笔的设计。

通过计算机声卡实时声音采集,在前面板友好的显示采集波形和操作界面。

2、录音笔VI流程图

2.1录制声音文件VI流程图

如图2-1所示:

图2-1录制声音文件VI流程

2.2播放声音文件VI流程图

如图2-2所示:

图2-2播放声音文件VI流程

3、录音笔VI设计原理

3.1录制声音文件VI设计

3.1.1、录制声音文件VI界面设计,如图3-1-1所示:

图3-1-1录制声音文件VI界面

3.1.2、录制声音文件VI程序框图设计,如图3-1-2所示:

图3-1-2录制声音文件VI程序框图

用“输入”和“文件”子选板的VI构建一个录制声音的程序,用这个程序可以通过麦克风将音乐、声响或语音录制下来,保存在文件中,以备特定情况下播放,对操作者进行提示。

录制声音的程序由一系列声音VI和一系列文件VI并列组成。

(1)读取并打开声音文件VI:

这是一个多态VI,此处选取“写入”。

它创建一个声音文件,用于写入“.wav”格式的声音文件。

“声音格式”参数是一个簇,其中包含采样率、通道数、每采样比特数。

程序中把这3个参数分别设置为22050、2、16,,它输出一个声音文件引用句柄。

(2)写入声音文件VI:

将输入的声音数据写入声音文件。

声音数据是一个簇数组,共两个元素;每个元素是一个波形簇,包括采样开始时间

、采样时间间隔

和声音数据y。

被忽略,y可以是DBL、SGL、U8、I16、I32几种数据类型。

这是一个多态VI,要根据y输入的数据类型手工选择相应的子VI。

(3)关闭声音文件VI:

根据输入的声音文件引用句柄将“.wav”声音文件关闭。

(4)配置声音输入VI:

配置声音输入设备以采集声音数据。

“每通道采样数”参数配置内存缓冲区中每个通道的采样数,连续录音时要用大一些的数值,本文配置为“10000”;“采样模式”参数在事前不清楚录制数据量大小时配置为“连续采样”;“设备ID”参数指定使用的声音设备;“声音格式”参数在写入声音文件VI中已经介绍过;“任务ID”参数输出一个关于制定设备配置信息的标识。

(5)读取声音输入VI:

根据输入的任务ID从声音输入设备读取数据。

“每通道采样数”的参数要和配置声音输入VI中的配置相同。

这是一个多态VI,要根据需要的声音数据类型手工选择相应的子VI。

(6)声音输入清零VI:

根据输入的任务ID结束声音采集、清空内存缓冲区、释放相关设备资源。

(7)简易错误处理器VI:

报告整个程序执行过程中是否有错误。

3.2播放声音文件VI设计

3.2.1、播放声音文件VI界面设计,如图3-2-1所示:

图3-2-1播放声音文件VI界面

3.2.2、播放声音文件VI程序框图设计,如图3-2-2所示:

图3-2-2播放声音文件VI程序框图

用“输出”和“文件”子选板的VI把声音文件播放出来,下面介绍程序的构成。

(1)打开声音文件VI:

这是一个多态VI,此处选取“读取”。

它创建一个声音文件,用于读取“.wav”格式的声音文件。

“声音格式”参数是一个簇,其中包含采样率、通道数、每采样比特数。

程序中把这3个参数分别设置为22050、2、16,,它输出一个声音文件引用句柄。

(2)读取声音文件VI:

根据输入的声音文件引用句柄从“.wav”文件读取一个波形数组。

“每通道采样总数”参数指定这个VI每次被调用时读出的采样数据量,尽量和“配置声音输入VI”的“每通道采样数”参数一致;“位置模式”和“位置偏移量”两个参数确定读取文件的起始位置,“绝对”是从文件开头加上偏移量的位置开始读数据,“相对”是从文件当前位置加上偏移量的位置开始读数据,默认值为“相对”;输出的“数据”类型与写入时一样,每次输出一次采样的数据;输出的“偏移量”参数是输入的偏移量加上本次读文件产生的偏移量之和;“文件结束?

”参数输出“T”时到达文件末尾。

这是一个多态VI,要根据声音文件的数据类型手工选择相应的子VI。

(3)关闭声音文件VI:

根据输入的声音文件引用句柄将“.wav”声音文件关闭。

(4)配置声音输出VI:

和“配置声音输入VI”的配置参数相同。

(5)配置声音输出音量VI:

调节输出声音音量大小用。

(6)写入声音输出VI:

将输入数据写入声音输出设备。

这是一个多态VI,要根据声音文件的数据类型手工选择相应的子VI。

(7)声音输入清零VI:

根据输入的任务ID结束声音采集、清空内存缓冲区、释放相关设备资源。

(8)简易错误处理器VI:

报告整个程序执行过程中是否有错误。

3.3播放声音的暂停/继续VI设计

暂停/继续VI:

用于播放时暂停,暂停后再按此键,能够紧接上次播放进度继续播放,不用从头再放,暂停与播放之间能互相切换。

此VI主要用到条件结构,当继续时(为真),条件结构内嵌一个While循环,如图3-3-1所示;当暂停时(为假),条件结构内什么都没,就是一个空跑,如图3-3-2所示。

图3-3-1继续VI

图3-3-2暂停VI

3.4录音笔VI整体设计

可以自由选择录音还是播放,所以采用选项卡控件,录音笔界面如图3-4-1、图3-4-2所示,录音笔程序框图如图3-4-3、图3-4-4所示:

图3-4-1录音笔播放界面

图3-4-2录音笔录音框图

图3-4-3录音笔播放程序框图

图3-4-3录音笔录音程序框图

4、效果测试

4.1录制声音效果测试

运行时能够通过计算机麦克风录制声音,在界面中显示声音波形和录音时长等,按停止按钮可停止录制,按退出按钮退出录制并将录好的声音保存,录制声音效果测试如图4-1所示:

图4-1录制声音效果测试

4.2播放声音效果测试

运行时,先打开声音文件所在路径,便可播放之前录制的声音,中途可以按暂停/继续按钮,暂停播放,在按暂停/继续按钮,又会接着播放,声音播放完成或中途按停止播放按钮便会停止播放,按退出播放按钮可退出播放,播放声音效果测试如图4-2所示:

图4-2播放声音效果测试

5、程序增加或改进

这个程序是在图书馆借的LabVIEW参考书自己写的,当然是在参考了别人的想法的基础之上,通过自己的努力的结果。

5.1增加录制/播放时长部分

通过录音/播放时间前后的对比做差,得出时长,并将时长(原先为秒)转化为正常时间显示方式(时分秒),用到了“数值至十进制数字符串转换”和“连接字符串”。

5.2增加录制/播放时间日期显示部分

这部分比较简单,只要一个“获取日期/时间字符串”函数就可直接获得系统的当前日期/时间,再用“格式化日期/时间字符串”,将其显示变得更为美观。

5.3增加波形图显示部分

这部分更简单,只需要添加一个波形图就行。

5.4增加播放音量大小调节部分

在配置声音输出音量VI的卷接线处连接一个数值输入控件中的水平指针滑动杆,就可对音量大小进行调节,当然多加一个数值显示控件,有利于更为精确的看出调节的音量的具体数值,由于音量很小,所以在最开始就加上一个初始音量20。

5.5增加播放进度部分

通过录音/播放时间前后的做差,在其输出处添加一个显示控件水平进度条即可。

5.6增加暂停/继续按钮部分

在播放过程中,很多情况要突然中途暂停,然后接着继续播放,这不得不增加暂停/继续部分。

这部分主要用到条件结构,当继续时(为真),条件结构内嵌一个While循环;当暂停时(为假),条件结构内什么都没,就是一个空跑。

5.7增加显示播放文件时长部分

播放文件总时长等于每通道采样总数除以采样率与通道数之积,增加这部分主要是为了播放者能清楚的知道所播放声音文件的总时长。

5.8增加界面背景图片显示部分

用“当前VI路径”进行“拆分路径”,将拆分的路径端连接到“创建路径”的基路径接线端,在名称或相对路径端创建一个字符串常量,写上照片的名称,添加的路径端连接到“读取JPEG文件”函数,通过“绘制平化像素图”显示出图片。

5.9增加当前播放/录音文件名称部分

将文件路径和“当前播放/录音”字符串常量通过“连接字符串”函数连接起来并输出。

5.10改进保存/打开路径部分

可以手动在操作界面进行路径的选择,在打开声音文件VI的路径接线处改创建输入控件,而不是常量,创建文件对话框,以便对路径进行完善,判断是否为错误路径或空路径,如果为错误路径或空路径就要对路径进行重新选择。

6、程序存在的问题

(1)进度条的值不知如何确定,就是当一个声音文件正好播放完时,进度条也正好满值;

(2)当按下暂停时,声音文件是暂停没错,但是播放时长却还在后台运行,按下继续时,播放时长突然跳动到整个程序的运行时间,估计是由于暂停时的空运行引起的,目前还不知如何修改。

只要按暂停/继续后,播放时长(当然我指的播放时长是指声音文件播放过的时长,而不是这个程序的运行时长,如果是运行时长就是准确的)就是不准确的;

(3)无论是录音还是播放,必须先按停止按钮,退出按钮才有效。

7、结论

本文介绍了利用普通计算机中的声卡声音采集硬件设备,使用LabVIEW软件作为开发平台,较好的实现了音频范围内的虚拟录音笔设计,并对采集数据进行显示、存储和播放,还能对“.wav”格式音乐进行播放,简单的完成了录音笔的基本原理和要求。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2