1 / 8
文档名称:

语音识别程序设计.doc

格式:doc   大小:57KB   页数:8页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

语音识别程序设计.doc

上传人:mh900965 2017/12/16 文件大小:57 KB

下载得到文件列表

语音识别程序设计.doc

相关文档

文档介绍

文档介绍:语音类
1)在构造语音类之前,必须先设置好工程环境:
a、从微软官方网站下载windows speech sdk并安装,然后在Visual Studio ,在Project Setings选项的C++选项卡的“分类:预处理器”添加“,”(组件成功);
b、将预处理头文件选项选中“自动使用预补偿页眉”;
c、在常规选项卡中选择“实用MFC静态连接库”;
入图:(一)

2)封装语音类
由于采用面向对象的编程理念,借助UML(Unified Modeling Language统一建模语言)构造CSPEECH语音类如下

CSPEECH类

+ void InitSR(); //初始化语音
+void RecoEvent();//识别命令函数

+BOOL b_initSR;
+BOOL b_Cmd_Grammar;

//3个语音接口
+CComPtr m_cpRecocontxt;
+CComPtr m_cpRecoGrammar;
+CComPtr m_cpRecoEngine;

然后开始添加语音类,需要注意的是在定义语音类的头文件中,包含〈〉并且自定义语音识别消息和类型
#define GID_CMD_GR 333333
#define WM_RECOEVENT WM_USER+102
剩下来就是对cpp文件的函数initSR()和RecoEvent()补充函数体

3)具体见下面代码:
(1)void CSpeech::initSR()
{
HRESULT hr=S_OK;
hr=(CLSID_SpInprocRecognizer);//实例
if(EEDED(hr))
{
hr =m_cpRecoEngine->CreateRecoContext(&m_cpRecoCtxt );//创建识别上下文
}
else
MessageBox(hWnd,"error1","error",S_OK);
if(EEDED(hr))
{
hr = m_cpRecoCtxt->SetNotifyWindowMessage(hWnd, WM_RECOEVENT, 0, 0 );
}//消息机制设置,使计算机时刻监听语音消息
else
MessageBox(hWnd,"error2","error",S_OK);
if (EEDED(hr))
{
ULONGLONG ullMyEvents = SPFEI(SPEI_RECOGNITION) | SPFEI(SPEI_HYPOTHESIS);
hr = m_cpRecoCtxt->SetInterest(ullMyEvents, ullMyEvents);
}
else
MessageBox(hWnd,"error3","error",S_OK);
//设置默认的音频
CComPtr m_cpAudio;
hr=SpCreateDefa