聲音報警
發布時間:2014/7/2 20:03:43 訪問次數:1304
如同大多數在線監測系統一樣,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:報告整個程序執行過程中是否有錯誤。