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