SPCE061A單片機(jī)采集語音信號并傳送到PC機(jī)中解析方案
2.2 上位機(jī)控制和存儲模塊
目前,Mircosoft公司的VC++6.0是基于Windows程序設(shè)計的主流開發(fā)工具之一。VC++不僅秉承了C++簡便、靈活及面向?qū)ο蟮葍?yōu)點,而且提供了功能強(qiáng)大的MFC類庫,并能自動生成應(yīng)用程序框架,提供標(biāo)準(zhǔn)化的程序結(jié)構(gòu)和用戶接口。特別需要指出的是,為了今后調(diào)用低層的音頻處理API函數(shù),對由下位上傳的音頻數(shù)據(jù)進(jìn)一步進(jìn)行語音識別方面的處理,我們使用VC來編寫上位機(jī)的控制及存儲程序。
在實驗室和工業(yè)應(yīng)用中,RS232串口是常用的計算機(jī)與外部串行設(shè)備(單片機(jī))之間的數(shù)據(jù)傳輸通道,由于串行通信簡單易用,所以應(yīng)用廣泛。通常在VC++中有三種方法可以實現(xiàn)串行通信:
*使用VC++的標(biāo)準(zhǔn)通信函數(shù)_inp和_outp來實現(xiàn)串口通信;
*把串口看成是一個特殊的設(shè)備文件,使用有關(guān)文件處理的API函數(shù)來實現(xiàn)串口通信;
*使用ActiveX的串行通信控件MSComm來實現(xiàn)串口通信。
對于本實例來說,主要考慮的因素是實時語音數(shù)據(jù)存取,以及位機(jī)與下位機(jī)的配合。因此,采用了串行通信MSComm控件方法來實現(xiàn)串口通信。另外,可以采用二進(jìn)制流文件Cfile類來存儲聲音文件。具體步驟見網(wǎng)絡(luò)補(bǔ)充版。
結(jié)語
通過以上實例錄制的語音數(shù)據(jù),可以從PC機(jī)下載到SPCE061A中(或者作為資源文件放入工程中),使用SACM_A2000模塊的函數(shù)播放驗證,效果能夠滿足進(jìn)一步語音信號處理需要。
*硬件電路簡單,因SPCE061A是一款專門為語音信號處理設(shè)計的,麥克和喇叭可直接接入,用戶不必外接放大電路等;
*軟件編程容易,有相應(yīng)的API函數(shù),可直接調(diào)用。
*用ICE和圖形界面編譯軟件,調(diào)試方便。
評論