最近在写纯车牌停车管理系统,需要用到语音合成功能.

目前最常用的Windows Speech SDK版本有三种:5.1、5.3和5.4。

       Windows Speech SDK 5.1版本支持xp系统和server 2003系统,需要下载安装。XP系统默认只带了个Microsoft Sam英文男声语音库,想要中文引擎就需要安装Windows Speech SDK 5.1。

       Windows Speech SDK 5.3版本支持Vista系统和Server 2008系统,已经集成到系统里。Vista和Server 2003默认带Microsoft lili中文女声语音库和Microsoft Anna英文女声语音库。

       Windows Speech SDK 5.4版本支持Windows7系统,也已经集成到系统里,不需要下载安装。Win7系统同样带了Microsoft lili中文女声语音库和Microsoft Anna英文女声语音库。Microsoft lili支持中英文混读。

二.SAPI SDK的下载和安装

       如果是在XP系统下进行开发则需要下载Microsoft Speech SDK 5.1,下载地址为:http://www.microsoft.com/download/en/details.aspx?id=10121

       根据微软下载说明,有几点需要注意:

       1.如果你想下载例子程序、文档、SAPI和用于开发的美国英文语音引擎,请下载SpeechSDK51.exe。
       2.如果你想使用日文和简体中文引擎用于开发,请下载SpeechSDK51.exe和SpeechSDK51LangPach.exe。
       3.如果你想将语音引擎集成到你的产品跟产品一起发布,就下载SpeechSDK51MSM.exe。
       4.如果你仅想获得XP系统下的Mike和Mary语音,就下载Sp5TTIntXP.exe。
       5.如果你只想要文档请下载sapi.chm。

       下载完成后可先安装引擎SpeechSDK51.exe,再安装中文语言补丁包SpeechSDK51LangPach.exe,这样就可以使用其中的中文男声语音库了。如果想要在Vista或Win7系统下使用Mike、Mary和Microsoft Simplified Chinese中文男声语音库也可以下载相应的文件安装。

参考: http://www.jizhuomi.com/software/135.html

因为VS2010比VC6.0检查严格,所以装好后并不能直接在VS2010里面使用

需要修改sphelper.h文件中如下内容:

Line 769

    修改前: const ulLenVendorPreferred = wcslen(pszVendorPreferred);
    修改后: const unsigned long ulLenVendorPreferred = wcslen(pszVendorPreferred);

Line 1418

    修改前: static CoMemCopyWFEX(const WAVEFORMATEX * pSrc, WAVEFORMATEX ** ppCoMemWFEX)

     修改后: static HRESULT CoMemCopyWFEX(const WAVEFORMATEX * pSrc, WAVEFORMATEX ** ppCoMemWFEX)

Line 2372

    修改前: for (const WCHAR * psz = (const WCHAR *)lParam; *psz; psz++) {}

     修改后: const WCHAR * psz; for (psz = (const WCHAR *)lParam; *psz; psz++) {}

Line 2559

    修改前: SPPHONEID* pphoneId = dsPhoneId;

     修改后: SPPHONEID* pphoneId = (SPPHONEID*)((WCHAR *)dsPhoneId);
Line 2633
     修改前: pphoneId += wcslen(pphoneId) + 1;
     修改后: pphoneId += wcslen((const wchar_t *)pphoneId) + 1;

可参考:http://blog.csdn.net/wzy198852/article/details/8717338

VS2010使用TTS的更多相关文章

  1. 搭建调用 WebService 的 ASP.NET 网站 (VS2010, C#)

    [系统环境]Windows 7 / 2008r2 [软件环境]Visual Studio 2010 [开发语言]C# [感谢]本文是在 <C#开发和调用Web Service> 一文的基础 ...

  2. TTS异步+同步

    微软TTS使用说明 一.SAPI SDK的介绍 SAPI,全称是The Microsoft Speech API.就是微软的语音API.由Windows Speech SDK提供. Windows S ...

  3. 微软TTS语音引擎编程入门

    原文链接地址:http://www.jizhuomi.com/software/135.html   我们都使用过一些某某词霸的英语学习工具软件,它们大多都有朗读的功能,其实这就是利用的Windows ...

  4. 使用讯飞tts+ffmpeg自动生成视频

    参考 FFmpeg 讯飞离线语音合成 起因 某日,看到一个营销号的视频说做视频日进斗金,大意是用软件识别文章小说,搭配一些图片转换成自己的视频.看完当时脑海里冒出一个念头,我也可以,于是有了这番尝试. ...

  5. VS2010中项目发布遇到的应用程序池问题(无法识别的属性“targetFramework”)

    1.错误情况 2.原因:VS2010中你的应用程序的目标框架与IIS中的应用程序池不同.VS2010中的是.Net Framework4.0,而本机IIS是.Net Framework2.0 3.解决 ...

  6. VS2010编写WebService与在IIS的发布<之简单讲解>

    工具VS2010,window环境win7 一:Webservice的创建与方法查看调用 1.新建空web应用程序项目 2.新建web服务 3.自动生成 4.直接跑起来,可以看到有2个方法 5.点击H ...

  7. C#语音朗读文本 — TTS的实现

    TTS, Text To Speech的缩写,是使用语音朗读文本的技术.目前,在国内应用较多的是排队叫号系统 Windows 平台的TTS,通常使用的是微软自带的 Speech API. Window ...

  8. VS2010 VS2012 VS2013 VS2015启动调试时老是提示正在下载公共符号

    VS2010 VS2012 VS2013 VS2015启动调试时老是提示正在下载公共符号,下载一些.dll文件,点取消后也能继续调试,但特别慢.解决方法:工具-选项,或者调试-选项和设置,将调试下的& ...

  9. VS2010中dumpbin工具的使用

    用VS2010生成的.obj文件..lib库..dll库..exe执行文件,如果想查看其中这些文件或库包含了哪些函数以及相关的信息(符号清单),可以通过VS2010自带的dumpbin工具来完成. d ...

随机推荐

  1. MongoDB用户权限基本操作

    查看当前数据库的全部用户 > show users{        "_id" : ObjectId("4dedeeae26e7516d69948e33" ...

  2. JAVA I/O系统

    一.流的分类 1.按照方向分为: (1)输入流:从数据源读取数据到程序中.只能从中读取数据,不能向其中写入数据.IO包中的输入流都继承自抽象类InputStream或Reader. (2)输出流:经数 ...

  3. open Session In View和过滤器配置

    Open Session In View模式的主要思想是:当Web Request(浏览器请求)开始时,自动打开Session,当Web Request结束时,自动关闭Session.也就是说,Ses ...

  4. css3效果

    1. 放大图片: /*galleryImage css*/ a.galleryImage{ display:block;} .galleryImage img{ transition:all .4s ...

  5. MAC地址与IP地址的区别

    介绍一下MAC地址的知识,MAC地址和IP地址的区别以及MAC地址在实际应用中所涉及到的安全问题. 一.基础知识 如今的网络是分层来实现的,就像是搭积木一样,先设计某个特定功能的模块,然后把模块拼起来 ...

  6. error CS0016: 未能写入输出文件

    win7 下解决办法: 1.打开C:\Windows ,找到 TEMP 文件夹 2. 进行权限设置,点击编辑,找到 IIS-User,勾选所有权限

  7. js 闭包的简单理解

    let a = function(){ var i=0; let b = function(){ i++; alert(i); } return b; } let c = a(); c(); 这段代码 ...

  8. Android课程---优化ListView列表视图

    activity_ui4.xml <?xml version="1.0" encoding="utf-8"?> <ListView xmlns ...

  9. mysql5.5手册读书日记(2)

    <?php /* * * MySQL_5.5中文参考手册 485开始 * * mysql> SELECT CASE 1 WHEN 1 THEN 'one' -> WHEN 2 THE ...

  10. 封装常用的js(Base.js)——【01】理解库,获取节点,连缀,

    封装常用的js(Base.js)——[01]理解库,获取节点,连缀,  youjobit07 2014-10-10 15:32:59 前言:       现如今有太多优秀的开源javascript库, ...