C++语音播报和识别

C++语音识别接口快速入门(Microsoft Speech SDK)
最近毕业设计用到了微软的C++语音识别接口,查找了很多资料,也碰到了很多问题,走了很多弯路。现在把我自己的经验写下来,一是提升自己,二是回报社会。希望大家看了这篇blog之后,5min就学会C++语音识别接口的实现。(采用的平台为win8+VS2013)

目录
C语音识别接口快速入门Microsoft Speech SDK
目录
一安装SDK
二新建工程配置环境
三语音识别代码
1文字转语音
2语音转文字
源代码下载
参考网站
一、安装SDK
安装MicrosoftSpeechPlatformSDK.msi,默认路径安装即可。 
下载路径: 
http://download.csdn.net/detail/michaelliang12/9510691

二、新建工程,配置环境
设置: 
1,属性–配置属性–C/C++–常规–附加包含目录:C:\Program Files\Microsoft SDKs\Speech\v11.0\Include(具体路径与安装路径有关) 
2,属性–配置属性–链接器–输入–附加依赖项:sapi.lib;

三、语音识别代码
语音识别接口可分为文字转语音和语音转文字

1、文字转语音
需要添加的头文件:

#include  //导入语音头文件
#pragma comment(lib,"sapi.lib") //导入语音头文件库


 
函数:

// speakContent为LPCTSTR型的字符串,调用此函数即可将文字转为语音

void  CBodyBasics::MSSSpeak(LPCTSTR speakContent)
{
    ISpVoice *pVoice = NULL;

    //初始化COM接口

    if (FAILED(::CoInitialize(NULL)))
        MessageBox(NULL, (LPCWSTR)L"COM接口初始化失败!", (LPCWSTR)L"提示", MB_ICONWARNING | MB_CANCELTRYCONTINUE | MB_DEFBUTTON2);

    //获取SpVoice接口

    HRESULT hr = CoCreateInstance(CLSID_SpVoice, NULL, CLSCTX_ALL, IID_ISpVoice, (void**)&pVoice);


    if (SUCCEEDED(hr))
    {
        pVoice->SetVolume((USHORT)100); //设置音量,范围是 0 -100
        pVoice->SetRate(2); //设置速度,范围是 -10 - 10
        hr = pVoice->Speak(speakContent, 0, NULL);

        pVoice->Release();

        pVoice = NULL;
    }

    //释放com资源
    ::CoUninitialize();
}

 
2、语音转文字
这个稍微麻烦一点,因为需要实时监控麦克风,涉及到windows的消息机制。 
(1)首先设置工程属性: 
属性–配置属性–C/C++–预处理器–预处理器定义:_WIN32_DCOM;

(2&#x

你可能感兴趣的:(c++)