代码先锋网 代码片段及技术文章聚合

Visual studio 2019使用Microsoft Speech SDK 5.1语音识别

技术标签: c++

目录

下载安装Speech SDK

配置visual studio 2019项目环境

测试能否运行

解决运行报错

修改Speech SDK文件的保存问题


下载安装Speech SDK

由于官网相关包已经无法下载,大家可自己寻找TTS.rar和TTSlang.rar两个包的资源

安装好Speech SDK后,语音控制程序将被添加到 “控制面板”->“语音”选项中,

利用下图对话框可以设置语音识别和文字-语音转换的各项属性,包括语言、语调、语速和输入设备等。

配置visual studio 2019项目环境

  • 先建立一个空项目project1,下添加源文件test.cpp
  • 右键点击上图中“Project1”

  •  

    点击“属性”-VC++目录

     

     

    1

     

    1.在“包含目录”后地址框-点击下拉箭头-点击编辑,打开图片2所示“包含目录”-点击图2所圈“新行”图标-下方框中出现一行-点击行后“…”图标-选择\Microsoft Speech SDK 5.1\Include-添加完成

     

     

    2

    2.在“库目录”,同理操作……选择\Microsoft Speech SDK 5.1\Lib\i386-添加完成

  • 点击“应用”-“确定”

  • 配置完成

测试能否运行

使用测试代码

#include <sphelper.h>//语音头文件
#include <iostream>//C++头文件,用来提示错误信息


int main()
{
    ::CoInitialize(NULL);//初始化语音环境
    ISpVoice* pSpVoice = NULL;//初始化语音变量
    if (FAILED(CoCreateInstance(CLSID_SpVoice, NULL, CLSCTX_INPROC_SERVER, IID_ISpVoice, (void**)&pSpVoice)))

        //给语音变量创建环境,相当于创建语音变量,FAILED是个宏定义,就是来判断CoCreateInstance这个函数又没有成功创建语音变量,下面是不成功的提示信息。

    {
        std::cout << "Failed to create instance of ISpVoice!" << std::endl;
        return -1;
    }


    pSpVoice->Speak(L"Hello World!", SPF_DEFAULT, NULL);//执行语音变量的Speek函数,这个函数用来读文字。

    pSpVoice->Release(); //释放语音变量
    ::CoUninitialize();//释放语音环境


    return 0;
}

解决运行报错

由于使用Speech SDK安装包版本老,在Visual studio 2019上使用时会出现很多报错,这里记录我运行时解决的报错部分:

  • 部分sphelper.h编译错误

这里附上该部分报错解决方案链接(由于转载版本较多,该链接可能不是初始作者发表的博客)https://blog.csdn.net/wangyangtao/article/details/5933734

  • 其他部分sphelper.h编译错误解决,都是相似的解决方法,故只按类别提供示例

  1. SPDBG_FUNC函数报错:e.g.: SPDBG_FUNC("SpGetTokenFromId");  改为  SPDBG_FUNC(PCHAR("SpGetTokenFromId"));

  2. _tcscpy函数报错:修改为_tcscpy_s函数,在原函数的2个参数之间,增加1个参数:wcslen(第一个参数)

  3. wcscpy函数报错:e.g.: wcscpy(szLangCondition, L"Language="); 改为 wcscpy_s(szLangCondition,wcslen(szLangCondition), L"Language=");

  4. wcscat函数报错:e.g.: wcscat(szLangCondition, szLang);  改为 wcscat_s(szLangCondition, wcslen(szLangCondition), szLang);

  5. GetVersionExW:被声明为已否决:解决办法:项目 > 属性 > C/C++ > SDL 检查 > 关掉

  •  sapi.h中报错:wchar_t*转BSTR

例如:BSTR CategoryID = L"" > 修改为:BSTR CategoryID = ::SysAllocString(L"")

可参考博客:

https://blog.csdn.net/yangdong001/article/details/39077167?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522161250057516780264047343%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=161250057516780264047343&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_v1~rank_blog_v1-1-39077167.pc_v1_rank_blog_v1&utm_term=char&spm=1018.2226.3001.4450

  • 若还有其他报错,欢迎大家在评论区补充

修改Speech SDK文件的保存问题

在修改sphelper.h和sapi.h文件后,我遇到了无法保存的问题,即visual studio没有修改该文件的权限,造成“对路径访问被拒绝”

解决方法:

修改include文件属性

右键include文件夹-点击属性-点击“安全”

原本“修改”和“写入”的“允许”权限是没有的,此处点击“编辑”按钮-选择“Users”-勾选“修改”和“写入”的允许权限-应用-确定-可以修改

预祝大家消灭所有报错,取得成功!

 

版权声明:本文为weixin_50789178原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_50789178/article/details/113687758

智能推荐

Pylon5 SDK搭配OpenCV使用入门(Visual studio 2015)

先到官网下载 Pylon 5.0.10 windows  下载链接: https://www.baslerweb.com/cn/support/downloads/software-downloads/pylon-5-0-10-windows/ 下载完成之后安装,选择开发人员模式。 选择这个模式才会安装关于pylon 5 SDK的开发包,安装完后可以在路径下找到。   然后是V...

openCV visual studio 2019配置

下载opencv,解压,配置环境变量,添加opencv安装路径\build\x64\vc15\bin (vc14 = Visual Studio 2015,vc15 = Visual Studio 2017及以上)。 新建项目 配置管理器选择x64 解决方案资源管理器,右键项目,属性, VC++目录—VC++目录—包含目录:   ...\opencv\b...

Visual Studio 2019 集成CefSharp

1.点击“引用”,右键"管理Nuget程序包",搜索框里输入"CefSharp",选择"CefSharp.WinForms",安装。 这样就会自动把CefSharp需要的拓展给安装齐全了,之后在解决方案的 packages 目录里会有4个文件夹 cef.redist.x64.版本号,cef.redist.x86.版...

Visual Studio 2019无法安装

Visual Studio 2019无法安装 前段时间由于要释放某个磁盘,需要卸载vs2019等软件,但是vs2019总是跳出卸载失败,楼主一怒之下直接把vs2019的安装文件夹给删除了。 最近,楼主突然又要用了,遂去官网下载,然后弹出安装失败了。。。 安装报错:无法安装Microsoft visualStudio.broading… 楼主估计是注册表没删干净 于是去注册表编辑器里找...

Visual Studio 2019 Compiler Hangs

Visual Studio 2019 Compiler Hangs (金庆的专栏 2021.7) Discovered by my colleague Shen Yichai: The simplified code: The default release configuration can build correctly. But if “Properties -> C/C+...

猜你喜欢

Visual Studio Community 2019 问题

严重性 代码 说明 项目 文件 行 禁止显示状态 错误 C4996 ‘scanf’: This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for...

【Microsoft Visual Studio】IDE0019 使用模式匹配

使用模式匹配以避免 "as" 后跟 "null" 检查 (IDE0019) PropertyProperty 值Value 规则 IDRule ID IDE0019IDE0019 标题Title 使用模式匹配以避免 as 后跟 null 检查Use pattern matching to avoid as followed by a null check 类...

Siri 语音识别 Speech

在 2016 年的 WWDC 上,Apple 介绍了一个十分有用的语音识别 API,那就是 Speech 框架。Speech 框架能够帮助你快速的集成语音输入的功能到APP。 2016 年的 WWDC Speech 框架视频 下面介绍一下简单的集成过程。 1 获取APP 授权信息 - 麦克风的使用 NSMicrophoneUsageDescription - 语音的识别 NSSpeechRecog...

Microsoft Visual Studio International Feature Pack 2.0

Microsoft Visual Studio International Feature Pack 2.0 Visual Studio International Feature Pack 2.0 包含一组控件和类库,设计用来帮助.NET开发人员创建国际化程序。   from: http://www.microsoft.com/downloads/details.aspx?Family...

PAT甲级题解1009 Product of Polynomials

1009 Product of Polynomials 思路 代码实现 原题链接 思路 (2.4x+3.2x0)∗(1.5x2+0.5x)=3.6x3+6.0x2+1.6x 和1002 A+B for Polynomials 思路差不多 系数都大为0,用下标存系数,值存指数 两个多项式都输入后,循环相乘 代码实现 原题链接 原题链接 中文链接...