(实验二语音交互设计-TTS.docVIP

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
(实验二语音交互设计-TTS

文本语音(Text-to-Speech,以下简称TTS),它的作用就是把通过TTS引擎把文本转化为语音输出。简单介绍如何运用Microsoft Speech SDK 建立自己的文本语音转换应用程序。Microsoft Speech SDK是微软提供的软件开发包,提供的Speech API (SAPI)主要包含两大方面:??? 1. API for Text-to-Speech:微软TTS引擎的接口,通过它我们可以很容易地建立功能强大的文本语音程?? ; ??? 2. API for Speech Recognition:与TTS相对应的语音识别为了在VC中使用这SDK,必需在工程中添加SDK的include和lib目录,为免每个工程都添加目录,最好的办法是在VC的Option-Directoris加上SDK的include和lib目录。 ???这是一个基于控制台的语音程序示例。这个例子中,使用了最简单的COM框架,并让计算机“说”一句简单的话。同时介绍了如何使用XML标签来对语音进行修改。 --Step1:建立工程项目 --Step2:初始化COM接口 --Step3:创建语音对象 --Step4:开始说话 --Step5:用XML标签修改语音 Step1:建立工程 ?????? 利用Visual Studio的开发环境中的应用程序向导建立一个Win32控制台(console)程序。在创建过程中时,选择一个简单的“Hello world”应用程序工程项目。创建完成后,打开“stdafx.h”头文件,把以下的内容粘贴在“#include stdio.h”与“#end if”之间。这样把SAPI所需的其它依赖信息包含进来。#define _ATL_APARTMENT_THREADED #include atlbase.h 在工程中增加两个文件sapi.h和sapi.lib的路径。在菜单栏中选择“Project”|“Settings”|“C/C++”标签页,接着在“Category”下拉列表中选择“Preprocessor”,在“Additional include directories”编辑框中填入实际头文件路径,“F:\Program Files\Microsoft Speech SDK 5.1\Include”。设置sapi.lib的路径。在同样的“Settints”对话框中,选择“Link”标签页在“Category”下拉列表中选择“Input”在“Additional library path”编辑框中填入sapi.lib的路径“F:\Program Files\Microsoft Speech SDK 5.1\Lib\i386 ; 在同样的“Link”标签页中的“Object/library modules”栏中增加“sapi.lib”,注意,这里的各个库名字之间用空格隔开。Step2:初始化COM接口 ?????? SAPI 是基于COM框架的,所以使用SAPI相关函数之前和SAPI对象被激活时,程序必须初始化COM接口。下面的代码虽然除了初始化之外没有任何其它的功能,但是它确保COM能被正常启动。 程序清单2: #include stdafx.h#include sapi.h int main(int argc, char* argv[]) {??? if (FAILED(::CoInitialize(NULL))) ??????? return FALSE;??? …… ? ::CoUninitialize(); return TRUE; } Step3:创建语音对象 ?????? COM 运行环境建立起来之后,接下来创建语音对象。语音对象是一个简单的COM对象。另外,语音对象使用很多智能的默认配置,在自身初始化过程中,SAPI自动为其配置大多数的默认值,语音对象创建完成后就可以立即被程序使用。这些默认的参数是从“控制面板”的“语言属性”中获得的,包括语言种类等。所有的默认参数,包括显见的和非显见的(比如说话速度,基音周期等),都可以用编程的方式改变,或从控制面板中的语言属性中修改。 #include stdafx.h #include sapi.h int main(int argc, char* argv[]) {??? ISpVoice * pVoice = NULL; //获取ISpVoice接口:???? if (FAILED(::CoInitialize(NULL))) ??????? return FALSE; ???? HRESULT hr = CoCreateInstance(CLSID_SpVoice, NULL, CLSCTX_ALL, IID_ISpVoice, (vo

文档评论(0)

lisufan + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档