基于凌阳单片机的语音信号实时采集
2.2 上位机控制和存储模块
目前,Mircosoft公司的VC++6.0是基于Windows程序设计的主流开发工具之一。VC++不仅秉承了C++简便、灵活及面向对象等优点,而且提供了功能强大的MFC类库,并能自动生成应用程序框架,提供标准化的程序结构和用户接口。特别需要指出的是,为了今后调用低层的音频处理API函数,对由下位上传的音频数据进一步进行语音识别方面的处理,我们使用VC来编写上位机的控制及存储程序。
在实验室和工业应用中,RS232串口是常用的计算机与外部串行设备(单片机)之间的数据传输通道,由于串行通信简单易用,所以应用广泛。通常在VC++中有三种方法可以实现串行通信:
*使用VC++的标准通信函数_inp和_outp来实现串口通信;
*把串口看成是一个特殊的设备文件,使用有关文件处理的API函数来实现串口通信;
*使用ActiveX的串行通信控件MSComm来实现串口通信。
对于本实例来说,主要考虑的因素是实时语音数据存取,以及位机与下位机的配合。因此,采用了串行通信MSComm控件方法来实现串口通信。另外,可以采用二进制流文件Cfile类来存储声音文件。具体步骤见网络补充版。
结语
通过以上实例录制的语音数据,可以从PC机下载到SPCE061A中(或者作为资源文件放入工程中),使用SACM_A2000模块的函数播放验证,效果能够满足进一步语音信号处理需要。
用凌阳SPCE061A处理语音信号有如下独特之处:
*硬件电路简单,因SPCE061A是一款专门为语音信号处理设计的,麦克和喇叭可直接接入,用户不必外接放大电路等;
*软件编程容易,有相应的API函数,可直接调用。
*用ICE和图形界面编译软件,调试方便。
《基于凌阳单片机的语音信号实时采集(第3页)》