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