LabView声控设计(可编辑修改word版)

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

基于声卡的虚拟声控灯系统
摘要:本系统是基于 Lab View 设计的一款简单音乐播放器,通过读取音乐数据,经过滤波处理分析音乐的低潮和高潮的对应关系。

并根据音乐的低潮与高潮起落来控制灯光
显示出类似喷泉的效果。

关键字:Lab View
一、系统设计方案
本设计的目的是要根据声音来控制灯光的显示系统,因此声音的来源可以是音乐文件,也可以是实时的录音文件,都可以通过处理实时的控制灯光的显示。

方案 1 基于音乐文件的声控灯
对于使用音乐文件,那么就需要通过打开、读取、处理、关闭等操作。

同时也可通过声卡播放出音乐,但是现在 Lab View 只能打开 .wav 的音乐文件,由于 .wav 音乐文件一般都比较大在 30M-50M 之间。

这对内存占用还是比较有影响的。

对于 MP3 文件的音乐,Lab View 可以通过控件调用 Media Player 打开播放,但只是打开播放,播放器上的快进等都不能用并且对于音乐数据的处理也不是很容易。

因而本设计采用播放 .wav 的音乐文件。

方案 2 基于实时录音的声控灯
对于使用录音功能控制灯光那么就需要设计一个实时录音、实时处理的模块程序。

这样可以亲身感受一下自己的声音。

自己唱歌或录音其他声音比较自如。

这就相当于一个简单的录音机。

但是对于灯光的控制显示不会像音乐的那样高低起伏良好的效果。

方案选择
相比两种方案各有优点,对于音乐文件可以做出自己控制的音乐播放器,相对录音就没有音乐播放的视听效果。

为了感受音乐播放器的设计,因此本设计选择了使用音乐文件,也就是方案 1 基于音乐文件的声控灯。

二、系统整体功能概述
本设计的声控灯系统,不仅仅是简单的读取音乐文件分析数据来控制灯光的显示,
脉动与灯显示
数据处理
运行程序
检测PLAY 按键
下或上一首按钮
播放音乐
按下暂停键
初初始化变量
退出按钮
使用结束
对音乐进行了播放制作了简单的播放器,并有播放、暂停、下一首、上一首按钮的选择,还有音乐背景的更换设计选项,单曲循环和顺序播放的功能。

包含根据音乐底高潮实时对应的脉动效果。

灯的数量选择了 31 个。

摆成了字母 L、心形状、字母 V 的顺序。

通过音乐的底高潮实现灯的闪烁效果不同,低潮时所有灯的闪烁轻微,当达到高潮时所有灯交替闪烁加强视觉效果。

三、系统的程序设计
本设计把系统主要分为了五大模块:音乐播放模块、音乐辅助功能模块、音乐数据提取模块、脉动喷泉模块、灯光显示模块等。

系统流程图如图 1 所示:
图 1 系统流程图
(一)音乐播放模块
系统的音乐播放是基于 NI 提供的声音例子的基础上设计改进实现的。

把音乐文件的路径固定在一个具体的文件夹内。

把需要的声音文件放进此文件夹即可。

声音文件打开的程序图如图 2 所示:
图 2 指定路径下声音文件打开程序图
对于声音的读播放是使用 Lab View 声音下读控件和写播放控件实现。

最后声音的关闭也是使用声音下 close 控件实现。

这样一个简单的声音文件播放就实现了。

(二)音乐辅助功能模块
音乐辅助功能主要包含读取路径下的音乐文件个数及显示播放列表的功能、播放时间的显示、声音的调节、播放进度的显示、当前正播放音乐名称、下一首和上一首音乐实现、背景设置的功能。

在此模块内使用了比较多的变量及其局部变量。

局部变量主要是为时间显示及背景设置、切换音乐服务的。

此部分程序图如图 3 所示:
图 3 播放进度与时间部分程序图
(三)音乐数据提取模块
我们知道音乐数据里包含了许多信息比如频率、文件大小、时间长度等等。

如果直接读取音乐的数据会得到杂乱无章的线条。

由于音乐中七个音符的频率也不同、对应幅值也不同。

因此需要从音乐文件读取的数据进行处理,经过处理来分析音乐底高潮对应的信号关系。

本设计采用单频测量及低通滤波来处理信号,单频测量采用幅值测量,频率设置在 20Hz-40Hz 之间,低通滤波器截止频率设置在 50Hz。

处理后数据经过延迟控件分配给脉动条显示。

程序图如图 4 所示:
图 4 数据处理及脉动显示程序图
(四)灯光显示模块
在数据分析及脉动显示的基础上,对灯的控制做出相应的方案,本设计使用 31 个灯,顺序摆成字母 L、心形状、字母 V。

显示的方案为:在音乐低潮时灯光的闪烁从字母L 少量的灯开始轻微的闪烁到字母 V。

当音乐高潮时多个灯从字母 L 到字母 V 大量闪烁。

整体感觉是使音乐的底高潮与脉动显示、灯光闪烁保持同步。

呈现类似喷泉效果的感觉。

效果如图 5 所示:
图 5 脉动及灯光的效果图
四、所用程序结构的功能
本设计使用了两个 While 循环和许多个 Case 结构。

Case 结构主要用来初始化变量、实现某个计算过程、退出程序清变量等作用。

While 循环一个用来音乐的播放,一个用来音乐的循环播放功能。

五、结论
本设计声控灯系统仅仅在一定程度上实现音乐与灯的闪烁实时同步,达到一定的音乐喷
泉效果。

也可作为简单音乐播放器使用,但功能不是很全但基本功能基本满足了。

相关文档
最新文档