声音报警
发布时间:2014/7/2 20:03:43 访问次数:1312
如同大多数在线监测系统一样,AT17C256-10PC锅炉供热系统也需要声音报警功能。声音报警可以用数字量输出驱动外部声光报警装置进行报警;但是如果报警声音传播距离不要求很远,用计算机的声卡和音箱进行报警也是可行的方案,这样不仅熊用音响提示出现异常状况,还可以用语音提示具体的异常情况。
LabVIEW的声音VI在“编程一图形与声音一声音”函数子选板中,这个选板又分为输出、输入和文件3个子选板。
录制声音文件
我们先用“输入”和“文件”子选板的VI构建一个录制声音的程序,用这个程序可以通过麦克风将音乐、声响或语音录制下来,保存在文件中,以备特定情况下播放,对操作者进行提示。
录制声音的程序由一系列声音VI和一系列文件VI并列组成,程序框图如11-13所示。
下面按照图中各个VI的序号,介绍程序的构成。
(1)读取并打开声音文件VI:这是一个多态VI,此处选取“写入”。它创建一个声音文件,用于写入“.wav”格式的声音文件。它要求输入文件路径和音文件格式。“声音格式”参数是一个簇,其中包含采样率、通道数,每采样比特数。程序中把这3个参数分别设置为22050、2、16,这样可以把麦克风输入的声音存储为16位立体声数据文件。它输出一个声音文件引用句柄。
(2)写入声音文件VI:将输入的声音数据写入声音文件。声音数据是一个簇数组,共两个元素;每个元素是一个波形簇,包括采样开始时间t0、采样时间间隔dt和声音数据y。t0和dt被忽略,y可以是DBL、SGL、U8、I16、I32几种数据类型。这是一个多态VI,要根据y输入的数据类型手工选择相应的予VI。
(3)关闭声音文件VI:根据输入的声音文件引用句柄将“.wav”声音文件关闭。
(4)配置声音输入VI:配置声音输入设备以采集声音数据。“每通道来样数”参数配置内存缓冲区中每个通道的采样数,连续录音时要用大一些的数值,本例配置为“1000Q”;“采样模式”参数在事前不清楚录制数据量大小时配置为“连续采样”;“设备ID”参数指定使用的声音设备;“声音格式”参数前面已经介绍过;“任务ID”参数输出一个关于制定设备配置信息的标识。
(5)读取声音输入VI:根据输入的任务ID从声音输入设备读取数据。“每通道采样数”的参数要和配置声音输入VI中的配置相同。这是一个多态VI,要根据需要的声音数据类型手工选择相应的子VI。
(6)声音输入清零VI:根据输入的任务ID结束声音采集、清空内存缓冲区、释放相关设备资源。
(7)简易错误处理器VI:报告整个程序执行过程中是否有错误。
如同大多数在线监测系统一样,AT17C256-10PC锅炉供热系统也需要声音报警功能。声音报警可以用数字量输出驱动外部声光报警装置进行报警;但是如果报警声音传播距离不要求很远,用计算机的声卡和音箱进行报警也是可行的方案,这样不仅熊用音响提示出现异常状况,还可以用语音提示具体的异常情况。
LabVIEW的声音VI在“编程一图形与声音一声音”函数子选板中,这个选板又分为输出、输入和文件3个子选板。
录制声音文件
我们先用“输入”和“文件”子选板的VI构建一个录制声音的程序,用这个程序可以通过麦克风将音乐、声响或语音录制下来,保存在文件中,以备特定情况下播放,对操作者进行提示。
录制声音的程序由一系列声音VI和一系列文件VI并列组成,程序框图如11-13所示。
下面按照图中各个VI的序号,介绍程序的构成。
(1)读取并打开声音文件VI:这是一个多态VI,此处选取“写入”。它创建一个声音文件,用于写入“.wav”格式的声音文件。它要求输入文件路径和音文件格式。“声音格式”参数是一个簇,其中包含采样率、通道数,每采样比特数。程序中把这3个参数分别设置为22050、2、16,这样可以把麦克风输入的声音存储为16位立体声数据文件。它输出一个声音文件引用句柄。
(2)写入声音文件VI:将输入的声音数据写入声音文件。声音数据是一个簇数组,共两个元素;每个元素是一个波形簇,包括采样开始时间t0、采样时间间隔dt和声音数据y。t0和dt被忽略,y可以是DBL、SGL、U8、I16、I32几种数据类型。这是一个多态VI,要根据y输入的数据类型手工选择相应的予VI。
(3)关闭声音文件VI:根据输入的声音文件引用句柄将“.wav”声音文件关闭。
(4)配置声音输入VI:配置声音输入设备以采集声音数据。“每通道来样数”参数配置内存缓冲区中每个通道的采样数,连续录音时要用大一些的数值,本例配置为“1000Q”;“采样模式”参数在事前不清楚录制数据量大小时配置为“连续采样”;“设备ID”参数指定使用的声音设备;“声音格式”参数前面已经介绍过;“任务ID”参数输出一个关于制定设备配置信息的标识。
(5)读取声音输入VI:根据输入的任务ID从声音输入设备读取数据。“每通道采样数”的参数要和配置声音输入VI中的配置相同。这是一个多态VI,要根据需要的声音数据类型手工选择相应的子VI。
(6)声音输入清零VI:根据输入的任务ID结束声音采集、清空内存缓冲区、释放相关设备资源。
(7)简易错误处理器VI:报告整个程序执行过程中是否有错误。