声音处理相关vi剖析

上传人:今*** 文档编号:105924184 上传时间:2019-10-14 格式:DOC 页数:6 大小:79KB
返回 下载 相关 举报
声音处理相关vi剖析_第1页
第1页 / 共6页
声音处理相关vi剖析_第2页
第2页 / 共6页
声音处理相关vi剖析_第3页
第3页 / 共6页
声音处理相关vi剖析_第4页
第4页 / 共6页
声音处理相关vi剖析_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《声音处理相关vi剖析》由会员分享,可在线阅读,更多相关《声音处理相关vi剖析(6页珍藏版)》请在金锄头文库上搜索。

1、声音处理相关VI 通过声音VI可将声音文件和函数集成到VI中。这些VI可用于下列任务: 创建播放声音文件的VI,例如在用户执行某些操作时,播放事先录制的报警声。 创建当VI开始或结束运行,或到达VI中的某个点时播放声音文件的VI。 配置采集声音数据的声音输入设备。声音输入VI可采集声音数据。也可读取经由该设备传输的声音信息。 配置从其它声音VI接收声音数据的声音输出设备。可控制经由该设备的声音音量、播放或暂停声音,或从系统中清除该声音。 (Windows) 使用声音VI须具有DirectX 8.0或更高版本。(Linux) 使声音VI需具有开放声音系统(OSS)驱动程序。声音输出任务 声音输出

2、VI可生成和控制用于扬声器或耳机等声音输出设备的声音。如仅进行简单操作,可用“播放波形”Express VI在声音输出设备上播放声音。 对于更复杂的操作,可用配置声音输出VI创建并配置一个新的声音输出任务ID。创建任务ID后,用启动声音输出播放VI控制何时开始播放声音、用停止声音输出播放VI停止声音的播放、用“设置声音输出音量”VI控制音量、写入声音输出VI把声音发送到声音设备,以及通过声音输出信息VI向声音设备查询有关任务ID的信息。声音输出清零VI可释放任务ID所使用的一切资源。声音输入任务 声音输入VI可将从麦克风等声音输入设备采集到的声音数据输LabVIEW。“声音采集”Express

3、 VI可对声音输入设备进行简单的声音采集。对于更复杂的操作,可用配置声音输入VI创建并配置一个新的声音输入任务ID。 创建任务ID后,可用启动声音输入采集VI和停止声音输入采集VI,将声音状态分别改为运行或空闲。“读取声音输入”VI从声音输入设备读取声音。声音输入清零VI释放任务ID所使用的一切资源。 声音数据 LabVIEW将声音数据存储为波形数组。数组中的一个波形即代表一个特定的通道。例如,一个包含了两个波形元素的数组便具有立体声(或双声道)的数据。由于各路通道为同步播放,故在每个波形中,应确保dt和t0值与Y数组的元素数量相匹配。 波形的Y数组中包含的是脉冲代码调制(PCM)数据。PCM

4、数据中,每个Y数组中的元素与信号振幅成正比。如Y数组数据类型是16位带符号或32位带符号整数,该数据类型的最大值和最小值的中点为零。缓冲区中元素的值均为零时表示静音。如Y数组的数据类型是8位不带符号整数,值域是0-255,以127为中心。缓冲区中元素的值均为127(不是零)时表示静音。这可能会导致8位不带符号整数有初始声音。浮点数的数值为-1.0到1.0的闭区间。数据不做换算,被强制到范围内。任务ID 配置声音输出、配置声音输入和播放声音VI返回由VI生成的用于引用当前声音任务的任务ID。程序框图中随后的声音VI将使用此任务ID,以特定的声音操作方式对数据进行操作。再次运行VI前须先将此任务I

5、D从内存中清除。声音输出清零VI可释放任务ID使用的一切资源。声音输入清零VI可释放声音输入操作所占用的一切资源。声音设备 声音设备是声卡或其他连接到计算机上的硬件。配置声音输出、配置声音输入和播放声音文件VI的设备ID输入端的值指定了使用的声音设备。在默认的声音设备设备ID中,输入0。其他设备则分别输入1、2、3,以此类推。声音缓冲区 音输入和声音输出操作在LabVIEW和声音设备之间使用了一个缓冲区,以确保声音数据传输通畅。声音VI对声音数据进行读取、写入和配置以控制声音缓冲区。各种声音VI所创建的任务用于在缓冲区和声音设备间传输声音数据。这些任务将持续运行直至用户指令其停止或发生错误。输

6、入操作将声音数据从输入设备传输到缓冲区再到程序框图。“读取声音输入”VI可从声音输入设备读取声音。如缓冲区没有足够的数据来读取所有需要的采样,LabVIEW将立即读取采样。如需要的采样在数量上大于可用的采样,VI将暂停执行直至达到需要的采样数量。 输出操作将声音数据从输出设备传输到缓冲区再到程序框图。写入声音输出VI在一次声音输出操作中把数据传输到缓冲区。如缓冲区有足够的空间,LabVIEW会把数据复制到缓冲区。如缓冲区没有足够空间且被配置为连续模式,VI将暂停执行直到它将所有数据复制到缓冲区为止。配置声音数据可对缓冲数据的格式进行设置。LabVIEW自动转LabVIEW数据的格式,使之与缓冲

7、区数据的格式相匹配。例如,将单声道数据写入一个配置为使用立体声数据的输出任务,LabVIEW就会把写入的单声道数据发送到两个立体声通道。播放声音文件 播放声音文件VI和While循环可连续播放一个声音文件。如以下程序框图所示。“播放声音文件”VI会读取声音文件路径输入端指定的播放声音VI,同时开始以设备ID输入端所指定的声音设备播放该声音。VI将返回一个任务ID,而While循环则连续地把任务ID传递下去,直至声音结束播放、出现错误或用户按下前面板上的停止按钮。声音输出清零VI将任务ID从计算机内存中清除。 声音VI可配置声音文件的播放方式,如文件的比特率、声音播放的通道(单声道、立体声等)。

8、也可在运行时暂停、停止和播放一个声音文件。关于生成声音数据的范例,见labviewexamplessound2sound2.llb中的Sound File to Sound Output VI生成和播放声音数据 波形生成VI和“仿真信号”Express VI可生成声音数据。如以下程序框图所示。“仿真信号”Express VI生成一个正弦波,而“播放波形”Express VI则以设备输入端所指定的声音设备播放生成的声音数据。声音输出VI可更好地控制已生成的声音数据。例如,配置声音输出VI可控制比特率、采样率、声音通道的数量,而“设置声音输出音量”VI可控制音量。如以下程序框图所示。 关于生成声音

9、数据的范例,见labviewexamplessound2sound2.llb中的Generate Sound VI。将数据写入声音文件 简易写入声音文件和“写入声音文件”VI可将采集到的数据写入文件或生成一个声音文件。在以下程序框图中,使用了“简易写入声音文件”VI将一个立体声声音写入路径输入端所指定的文件,该立体声声音由正弦波和具有50000个采样的三角波音调组成。 “写入声音文件”VI可更好地控制声音文件的创建过程。“写入声音文件”VI要求打开现有声音文件的引用,或通过“打开声音文件”VI创建一个声音文件并通过关闭声音文件VI将声音文件关闭。如不关闭声音文件,则文件将驻留在内存中,且其它应用程序或用户无法访问该文件。 关于采集声音并将其存入声音文件的范例,见labviewexamplessound2sound2.llb中的Sound Input to File VI。6

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号