原文地址::https://blog.csdn.net/moyebaobei1/article/details/82801522

相关文章

1、Microsoft Speech SDK开发包 使用----https://blog.csdn.net/weixin_33937499/article/details/86278026?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.control&dist_request_id=&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.control

2、QT使用microsoft speech sdk进行语音识别----https://blog.csdn.net/yangshuanzhu/article/details/102960882?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-3.control&dist_request_id=&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-3.control

3、windows下使用Microsoft Speech SDK开发包做语音识别----https://blog.csdn.net/marleylee/article/details/77116609?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_title-2&spm=1001.2101.3001.4242

4、MicroSoft Speech SDK V11 TTS 中文报错 Speak error '80004005'----https://blog.csdn.net/z971130192/article/details/99878595?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.control&dist_request_id=1328592.11250.16147555698811405&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.control

5、Microsoft Speech SDK 5.1的安装与使用----https://download.csdn.net/download/u010515294/5728499?utm_medium=distribute.pc_relevant.none-task-download-BlogCommendFromMachineLearnPai2-2.control&dist_request_id=1328592.11250.16147555698811405&depth_1-utm_source=distribute.pc_relevant.none-task-download-BlogCommendFromMachineLearnPai2-2.control

6、delphi调用Microsoft Speech SDK语音的例子----https://download.csdn.net/download/panwujun/5142224?utm_medium=distribute.pc_relevant_t0.none-task-download-BlogCommendFromMachineLearnPai2-1.control&dist_request_id=1328592.11250.16147555698811405&depth_1-utm_source=distribute.pc_relevant_t0.none-task-download-BlogCommendFromMachineLearnPai2-1.control

7、Qt下使用微软的TTS----https://www.pianshen.com/article/47981473113/

由于工作需要,需要文字转语音功能的支持。由于各种原因限制,所以选择了使用Windows平台自带的语音引擎。

首先使用场景是局域网,无法访问互联网。所以通过网络接口提供的服务就被排除了,比如百度的tts服务。

由于应用范围也很有限,规模小,所以付费的语音引擎也不考虑了。比如科大讯飞的语音引擎。

再者个人经验\阅历有限,目前不知道其他开源的语音引擎,所以,只能选择平台自带的语音引擎(非windows正版用户功能有阉割),还好,找到了修复工具,解决了这个问题,修复工具见上一篇文章,附带好多语音库可以下载使用,还提供了demo工具可以测试。

下面说一下使用流程。

安装SpeechSDK5.1

这个直接到微软官网下载https://www.microsoft.com/en-us/download/confirmation.aspx?id=27226,可以下载汉语的语音包,不过是用英语的语调读汉语,比较别扭。下载安装后,需要下载补丁工具。

下载修复工具和测试工具

http://blog.sina.com.cn/s/blog_88bdc35c0102vd0e.html --------------------- 本文来自 moyebaobei1 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/moyebaobei1/article/details/82789362?utm_source=copy

这是个测试工具,可以用来测试服务是否可用,以及语音库是佛安装成功。http://www.cppfans.com/cbknowledge/skills/media/ttsdemo.asp --------------------- 本文来自 moyebaobei1 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/moyebaobei1/article/details/82789362?utm_source=copy

语音库可以看到我安装了哪些语音,语音库都是符合一定标准的就可以识别。然后输入朗读内容,单击【朗读】就可以按照这种语音库的规律朗读文字。如果朗读成功,则说明语音库安装成功了。

Windows平台,是基于COM和DCOM组织起来的,所以实现上就是需要创建出对应的组件,然后调用接口上的方法。哦通过SDK调用TTS服务,需要设置默认的语音库。

设置系统语音服务(默认语音库)

控制面板 - 语音(32位)- 文字转语音

封装调用

然后对SDK调用做一下简单的封装。

#pragma once
#include<iostream>
#include <sapi.h> //导入语音头文件
#include <string>
#pragma comment(lib,"sapi.lib") //导入语音头文件库
 
using namespace std;
 
void  MSSSpeak(LPCTSTR speakContent)// speakContent为LPCTSTR型的字符串,调用此函数即可将文字转为语音
{
    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(0); //设置速度,范围是 -10 - 10
        hr = pVoice->Speak(speakContent, 0, NULL);
        pVoice->Release();
        pVoice = NULL;
    }
 
    //释放com资源
    ::CoUninitialize();
}
 
//string转换车wstring  
std::wstring  StringToWString(const std::string& s)
{
    std::wstring wszStr;
    int nLength = MultiByteToWideChar(CP_ACP, 0, s.c_str(), -1, NULL, NULL);
    wszStr.resize(nLength);
    LPWSTR lpwszStr = new wchar_t[nLength];
    MultiByteToWideChar(CP_ACP, 0, s.c_str(), -1, lpwszStr, nLength);
    wszStr = lpwszStr;
    delete[] lpwszStr;
    return wszStr;
}
 
void read(string temp){
    wstring a = StringToWString(temp);
    LPCWSTR str = a.c_str();
    /*不知道为什么Cstr不行*/
    MSSSpeak(str);
    cout << "朗读结束\n";
}
 
————————————————
版权声明:本文为CSDN博主「老朱之三十而立」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/moyebaobei1/article/details/82801522

Windows Speech SDK5.1的安装和使用(xp/win7)相关推荐

  1. Windows下R语言环境安装

    Windows下R语言环境安装 R官网: https://www.r-project.org/ 按照如下步骤下载windows中的安装文件R-4.1.0-win.exe 文件已经下载完成:R-4.1. ...

  2. mysql windows 管道连接,科技常识:Windows Server 2016 MySQL数据库安装配置详细安装教程...

    今天小编跟大家讲解下有关Windows Server 2016 MySQL数据库安装配置详细安装教程 ,相信小伙伴们对这个话题应该也很关注吧,小编也收集到了有关Windows Server 2016 ...

  3. Windows Home Server 2011 RC 安装体验

    2011年2月,微软发布了家庭服务器操作系统 Windows Home Server 2011 的 RC 版本.与之前基于 Windows Server 2003 内核的 Windows Home S ...

  4. Windows上python开发--2安装django框架

    Windows上python开发--2安装django框架 分类: 服务器后台开发2014-05-17 21:22 2310人阅读 评论(2) 收藏 举报 python django 上一篇文章中讲了 ...

  5. Windows 10 Visual Studio 2017 安装配置 Apache Thrift (C++)

    最近需要使用Thrift,所以在网上看了很多资料,不过很多教程都不够详细完整,导致我花了不少时间安装配置.在这里我把我配置的过程写下来和大家分享. 1 介绍 Apache Thrift 是一个跨语言的 ...

  6. Windows开发环境搭建(安装 VS2010, VS2013, VS2015 Community, Windows Server 2008 R2)

    1. 安装VS2010 1.1 安装步骤 1. 注意安装的时候,选择自定义安装,将不需要的VB.net去掉. 2. 看一下C++下的x64选项是否选择了,如果没选,将其选上. 3. 一定要将 Micr ...

  7. OCS Inventory NG使用之在windows 2008 R2平台下安装服务器端(三)

    声明:鉴于本文篇幅比较长,为了不让广大博友产生阅读疲劳,所以进行了分割,如果要全篇阅读文章,请点击文章底部的链接,对此产生的不便,深表抱歉.   (图3.10) <?xml:namespace ...

  8. Windows中如何正确认识和安装驱动程序

    Windows中如何正确认识和安装驱动程序 第一部分如何正确的认识和安装驱动 前言,大家都知道每当装完系统后都要安装一些驱动,包括,主板,显卡,声卡,网卡,USB,MODE等驱动,当然如果你有打印机, ...

  9. Windows Server 2008 R2 SP1 安装NET FrameWork 4.0 受阻滞问题解决办法。

    Windows Server 2008 R2 SP1 安装NET FrameWork 4.0 受阻滞问题解决办法. 参考文章: (1)Windows Server 2008 R2 SP1 安装NET ...

最新文章

  1. java小程序查看器_JAVA的一个查看图片的小程序
  2. 使用juggle简化网络编程
  3. 关于mysql内存管理_MYSQL内存管理及优化
  4. 【C语言项目】贪吃蛇游戏(上)
  5. Jerry和您聊聊Chrome开发者工具
  6. [Swift]LeetCode281. 之字形迭代器 $ Zigzag Iterator
  7. Java学习前,需要掌握的一些基础知识
  8. Swagger工作笔记001---Swagger2的使用
  9. 《浪潮之巅》读书笔记3
  10. pci简单通知控制器_船用LED航行灯及其控制器设计要点
  11. oc基础 不可变字符串的创建和使用
  12. win10下rdlc报表在vs(visual studio)中中文显示小方块的批量处理解决方法
  13. 张孝祥《Java就业培训教程》读书笔记
  14. m7405d粉盒清零方法_打印机清零方法总览
  15. c语言函数 java,C语言函数
  16. 微信支付宝刷步数_一劳永逸版(在用)
  17. 嵌入式Linux小项目之图片编解码播放器(5)
  18. clickhouse 在货拉拉的应用实践,千亿级别数据实现秒级查询
  19. 阿里云视频服务之点播服务
  20. 神经网络实现---SSD

热门文章

  1. Input输入框如何禁止输入中文
  2. 【简单】反转双向链表-Java
  3. python堆栈溢出的原因_堆栈溢出一般是什么原因?
  4. [Java安全]—fastjson漏洞利用
  5. XDOJ综合题 数字分解排序
  6. 递归回溯--数字分解java代码
  7. 学习PHP 第七天 die() 函数,及Mysql的操作
  8. 数据库连接超时的处理
  9. Learning to Rank(LTR)(转)
  10. 各大搜索引擎蜘蛛名称