聲音報警
發(fā)布時間:2014/7/2 20:03:43 訪問次數(shù):1323
如同大多數(shù)在線監(jiān)測系統(tǒng)一樣,AT17C256-10PC鍋爐供熱系統(tǒng)也需要聲音報警功能。聲音報警可以用數(shù)字量輸出驅動外部聲光報警裝置進行報警;但是如果報警聲音傳播距離不要求很遠,用計算機的聲卡和音箱進行報警也是可行的方案,這樣不僅熊用音響提示出現(xiàn)異常狀況,還可以用語音提示具體的異常情況。
LabVIEW的聲音VI在“編程一圖形與聲音一聲音”函數(shù)子選板中,這個選板又分為輸出、輸入和文件3個子選板。
錄制聲音文件
我們先用“輸入”和“文件”子選板的VI構建一個錄制聲音的程序,用這個程序可以通過麥克風將音樂、聲響或語音錄制下來,保存在文件中,以備特定情況下播放,對操作者進行提示。
錄制聲音的程序由一系列聲音VI和一系列文件VI并列組成,程序框圖如11-13所示。
下面按照圖中各個VI的序號,介紹程序的構成。
(1)讀取并打開聲音文件VI:這是一個多態(tài)VI,此處選取“寫入”。它創(chuàng)建一個聲音文件,用于寫入“.wav”格式的聲音文件。它要求輸入文件路徑和音文件格式!奥曇舾式”參數(shù)是一個簇,其中包含采樣率、通道數(shù),每采樣比特數(shù)。程序中把這3個參數(shù)分別設置為22050、2、16,這樣可以把麥克風輸入的聲音存儲為16位立體聲數(shù)據(jù)文件。它輸出一個聲音文件引用句柄。
(2)寫入聲音文件VI:將輸入的聲音數(shù)據(jù)寫入聲音文件。聲音數(shù)據(jù)是一個簇數(shù)組,共兩個元素;每個元素是一個波形簇,包括采樣開始時間t0、采樣時間間隔dt和聲音數(shù)據(jù)y。t0和dt被忽略,y可以是DBL、SGL、U8、I16、I32幾種數(shù)據(jù)類型。這是一個多態(tài)VI,要根據(jù)y輸入的數(shù)據(jù)類型手工選擇相應的予VI。
(3)關閉聲音文件VI:根據(jù)輸入的聲音文件引用句柄將“.wav”聲音文件關閉。
(4)配置聲音輸入VI:配置聲音輸入設備以采集聲音數(shù)據(jù)!懊客ǖ纴順訑(shù)”參數(shù)配置內存緩沖區(qū)中每個通道的采樣數(shù),連續(xù)錄音時要用大一些的數(shù)值,本例配置為“1000Q”;“采樣模式”參數(shù)在事前不清楚錄制數(shù)據(jù)量大小時配置為“連續(xù)采樣”;“設備ID”參數(shù)指定使用的聲音設備;“聲音格式”參數(shù)前面已經(jīng)介紹過;“任務ID”參數(shù)輸出一個關于制定設備配置信息的標識。
(5)讀取聲音輸入VI:根據(jù)輸入的任務ID從聲音輸入設備讀取數(shù)據(jù)。“每通道采樣數(shù)”的參數(shù)要和配置聲音輸入VI中的配置相同。這是一個多態(tài)VI,要根據(jù)需要的聲音數(shù)據(jù)類型手工選擇相應的子VI。
(6)聲音輸入清零VI:根據(jù)輸入的任務ID結束聲音采集、清空內存緩沖區(qū)、釋放相關設備資源。
(7)簡易錯誤處理器VI:報告整個程序執(zhí)行過程中是否有錯誤。
如同大多數(shù)在線監(jiān)測系統(tǒng)一樣,AT17C256-10PC鍋爐供熱系統(tǒng)也需要聲音報警功能。聲音報警可以用數(shù)字量輸出驅動外部聲光報警裝置進行報警;但是如果報警聲音傳播距離不要求很遠,用計算機的聲卡和音箱進行報警也是可行的方案,這樣不僅熊用音響提示出現(xiàn)異常狀況,還可以用語音提示具體的異常情況。
LabVIEW的聲音VI在“編程一圖形與聲音一聲音”函數(shù)子選板中,這個選板又分為輸出、輸入和文件3個子選板。
錄制聲音文件
我們先用“輸入”和“文件”子選板的VI構建一個錄制聲音的程序,用這個程序可以通過麥克風將音樂、聲響或語音錄制下來,保存在文件中,以備特定情況下播放,對操作者進行提示。
錄制聲音的程序由一系列聲音VI和一系列文件VI并列組成,程序框圖如11-13所示。
下面按照圖中各個VI的序號,介紹程序的構成。
(1)讀取并打開聲音文件VI:這是一個多態(tài)VI,此處選取“寫入”。它創(chuàng)建一個聲音文件,用于寫入“.wav”格式的聲音文件。它要求輸入文件路徑和音文件格式!奥曇舾式”參數(shù)是一個簇,其中包含采樣率、通道數(shù),每采樣比特數(shù)。程序中把這3個參數(shù)分別設置為22050、2、16,這樣可以把麥克風輸入的聲音存儲為16位立體聲數(shù)據(jù)文件。它輸出一個聲音文件引用句柄。
(2)寫入聲音文件VI:將輸入的聲音數(shù)據(jù)寫入聲音文件。聲音數(shù)據(jù)是一個簇數(shù)組,共兩個元素;每個元素是一個波形簇,包括采樣開始時間t0、采樣時間間隔dt和聲音數(shù)據(jù)y。t0和dt被忽略,y可以是DBL、SGL、U8、I16、I32幾種數(shù)據(jù)類型。這是一個多態(tài)VI,要根據(jù)y輸入的數(shù)據(jù)類型手工選擇相應的予VI。
(3)關閉聲音文件VI:根據(jù)輸入的聲音文件引用句柄將“.wav”聲音文件關閉。
(4)配置聲音輸入VI:配置聲音輸入設備以采集聲音數(shù)據(jù)。“每通道來樣數(shù)”參數(shù)配置內存緩沖區(qū)中每個通道的采樣數(shù),連續(xù)錄音時要用大一些的數(shù)值,本例配置為“1000Q”;“采樣模式”參數(shù)在事前不清楚錄制數(shù)據(jù)量大小時配置為“連續(xù)采樣”;“設備ID”參數(shù)指定使用的聲音設備;“聲音格式”參數(shù)前面已經(jīng)介紹過;“任務ID”參數(shù)輸出一個關于制定設備配置信息的標識。
(5)讀取聲音輸入VI:根據(jù)輸入的任務ID從聲音輸入設備讀取數(shù)據(jù)。“每通道采樣數(shù)”的參數(shù)要和配置聲音輸入VI中的配置相同。這是一個多態(tài)VI,要根據(jù)需要的聲音數(shù)據(jù)類型手工選擇相應的子VI。
(6)聲音輸入清零VI:根據(jù)輸入的任務ID結束聲音采集、清空內存緩沖區(qū)、釋放相關設備資源。
(7)簡易錯誤處理器VI:報告整個程序執(zhí)行過程中是否有錯誤。