摘要:本文論述了一款雙聲道語音錄制系統(tǒng)的組成及開發(fā)過程,該系統(tǒng)利用LabVIEW進(jìn)行設(shè)計,采用計算機(jī)聲卡代替專用數(shù)據(jù)采集卡,實(shí)現(xiàn)語音信號的錄制、顯示、存儲等功能,具有廣闊的應(yīng)用前景。
關(guān)鍵詞:聲卡語音錄制LabVIEW
中圖分類號: 文獻(xiàn)標(biāo)識碼:A 文章編號:1007-9416(2012)02-0099-02
LabVIEW in Design of a Two-channel Voice Recording System
ZHI Geng
(College of Mechanics and Electronics, Beijing Institute of Technology, Beijng 100081, China)
Abstract:This paper discusses components and development process of a two-channel voice recording system, using LabVIEW and computer's sound card instead of a special DAC. This method could achieve functions of recording, displaying and saving signal data, enjoying broad application prospects.
Keywords:sound cardsignal recordingLabVIEW
1、引言
本系統(tǒng)采用計算機(jī)自帶聲卡,利用LabVIEW開發(fā)一款雙聲道語音錄制系統(tǒng),即用戶使用話筒錄音,聲音信號由聲卡輸入計算機(jī),經(jīng)數(shù)據(jù)處理保存為wav文件并存儲到計算機(jī)上。與采用專用數(shù)據(jù)采集卡的錄制系統(tǒng)相比,具有設(shè)計簡便、成本低廉、通用性高、擴(kuò)展性好、界面簡潔等優(yōu)點(diǎn)。
2、系統(tǒng)組成
該系統(tǒng)以計算機(jī),聲卡和話筒為硬件設(shè)備,由數(shù)據(jù)采集程序,數(shù)據(jù)處理程序和數(shù)據(jù)存儲程序組成。儀器面板包括:①錄音格式控制窗口:聲道選擇(mono/stereo),采樣頻率選擇(8000/11025/22100/44200 Hz),采樣位數(shù)選擇(8/16位)。②錄音、暫停、停止按鈕:控制系統(tǒng)實(shí)現(xiàn)錄音的進(jìn)行、暫停和停止保存。③工作狀態(tài)指示燈:工作時顯示“錄音中”,不工作時顯示“未錄音”。④兩個波形顯示器:實(shí)時顯示聲音信號波形。
3、系統(tǒng)實(shí)現(xiàn)
3.1 配置聲卡
設(shè)置聲卡工作模式和參數(shù),為聲卡正常工作做準(zhǔn)備。選擇“聲音輸入設(shè)置”函數(shù),在“聲音格式”處創(chuàng)建“錄音格式”輸入控件,該控件為3元素簇,可以控制“聲道”、“采樣頻率”、“采樣位數(shù)”的輸入。
3.2 采集信號
啟動聲卡采集聲音信號,實(shí)現(xiàn)錄音、暫停、停止功能,并將聲音信號轉(zhuǎn)換成計算機(jī)能夠識別和處理的數(shù)字信號,作為后續(xù)程序的數(shù)據(jù)來源。
3.2.1“錄音”功能的實(shí)現(xiàn)
選擇while循環(huán),在停止條件接線端創(chuàng)建“錄音”輸入控件,將其按鈕動作設(shè)置為“釋放時轉(zhuǎn)換”,同時在前面板創(chuàng)建“工作狀態(tài)”指示燈,顯示“未錄音”與“錄音中”,在程序框圖中將這個布爾按鈕放在while循環(huán)外,與“錄音”控件相連,如圖1所示。
3.2.2 “暫?!惫δ艿膶?shí)現(xiàn)
選擇sase條件結(jié)構(gòu),在選擇器接線端創(chuàng)建“暫?!陛斎肟丶?當(dāng)其值為“真”時用“聲音輸入停止”函數(shù)暫停錄音,用while循環(huán)實(shí)現(xiàn)再次按下“暫定”按鈕時繼續(xù)采集聲音的功能,其中的循環(huán)條件為布爾暫停按鈕的局部變量;當(dāng)其值為“假”時直接連接,如圖2所示。
3.2.3 “停止”功能的實(shí)現(xiàn)
選擇case條件結(jié)構(gòu),在選擇器接線端創(chuàng)建“停止”輸入控件,當(dāng)其值為“真”時用“聲音輸入停止”函數(shù)停止錄音,“停止”按鈕的機(jī)械動作設(shè)置為“釋放時觸發(fā)”;當(dāng)其值為“假”時直接連接。停止錄音后,“工作狀態(tài)”指示燈由“錄音中”轉(zhuǎn)換成“未錄音”,“錄音”按鈕還原,其中的和需創(chuàng)建屬性節(jié)點(diǎn),如圖3所示。
3.3 處理數(shù)據(jù)
數(shù)據(jù)處理程序?qū)崿F(xiàn)的功能是讀取聲音數(shù)據(jù)并實(shí)時顯示聲音波形,將新信號添加到已有信號的存在數(shù)組中。
聲音數(shù)據(jù)的讀取要用到“聲音輸入讀取”函數(shù)來實(shí)現(xiàn),其輸出是雙聲道8位還是16位則由輸入控件“聲音格式”決定。由于輸入控件“聲音格式”是一個3元素的簇,因此要用到“按名稱解除捆綁”函數(shù),并將解除捆綁后的“采樣位數(shù)”作為case條件結(jié)構(gòu)的輸入值。創(chuàng)建字符串常量,用文本顯示控件顯示聲道的不同,默認(rèn)是雙聲道8位。選擇“波形圖表”來實(shí)現(xiàn)聲音波形的實(shí)時顯示,將“聲音輸入讀取”函數(shù)的“立體聲8位/16位”輸出端接到“波形圖表”上,并將“波形圖表”屬性中的“外觀”改成“2曲線顯示”,便可實(shí)現(xiàn)數(shù)據(jù)的實(shí)時顯示。將新信號添加到已有信號的數(shù)組中,可通過“移位寄存器”來實(shí)現(xiàn),將“讀取聲音輸入”函數(shù)的輸出數(shù)組和錄制過程while循環(huán)的移位寄存器數(shù)組連接成一個數(shù)組,再連回移位寄存器,便可將新信號不斷地添加到已有信號數(shù)組中,如圖4所示。
3.4 關(guān)閉聲卡
整個聲音采集、數(shù)據(jù)處理過程使用while循環(huán)來控制,循環(huán)條件為“停止”按鈕和“錯誤輸出狀態(tài)”的或運(yùn)算值,即當(dāng)按動“停止”按鈕或出現(xiàn)錯誤時,聲卡采集任務(wù)立即停止。在這個while循環(huán)外面用“聲音輸入清零”函數(shù)實(shí)現(xiàn)聲音輸入清零,釋放所占用的系統(tǒng)資源。
3.5 保存錄音
錄音保存使用“錄音保存.vi”實(shí)現(xiàn)。由于“采樣位數(shù)”不同造成保存格式不同,因此使用case條件結(jié)構(gòu),將右側(cè)移位寄存器引出線(即所有聲音數(shù)據(jù))連接到“錄音保存.vi”輸入端,便可將最終的錄音文件保存為wav文件存入計算機(jī),其中的為的局部變量。
4、結(jié)束語
這款雙聲道語音錄制系統(tǒng)采用圖形化編程語言軟件LabVIEW作為開發(fā)工具,利用計算機(jī)聲卡代替昂貴的數(shù)據(jù)采集卡采集數(shù)據(jù),充分利用計算機(jī)強(qiáng)大的信息處理能力和LabVIEW模塊化編程技術(shù),實(shí)現(xiàn)了常見音頻信號的實(shí)時采集、顯示、存儲及回放等功能。
參考文獻(xiàn)
[1]陳東方.吳國紅.一個基于聲卡的LabVIEW虛擬示波器[J].《微計算機(jī)信息》.2008.(25).
[2]陳敏.湯曉安.虛擬儀器軟件LabVIEW與數(shù)據(jù)采集[J].小型微型計算機(jī)系統(tǒng).2001.(04).
作者簡介
智耕(1990—),男,河北人,主要研究方向機(jī)電系統(tǒng)工程。
數(shù)字技術(shù)與應(yīng)用2012年2期