实验二语音交互设计-tts

实验二语音交互设计-tts

ID:9009468

大小:36.00 KB

页数:5页

时间:2018-04-14

实验二语音交互设计-tts_第1页
实验二语音交互设计-tts_第2页
实验二语音交互设计-tts_第3页
实验二语音交互设计-tts_第4页
实验二语音交互设计-tts_第5页
资源描述:

《实验二语音交互设计-tts》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、文本语音(Text-to-Speech,以下简称TTS),它的作用就是把通过TTS引擎把文本转化为语音输出。简单介绍如何运用MicrosoftSpeechSDK建立自己的文本语音转换应用程序。MicrosoftSpeechSDK是微软提供的软件开发包,提供的SpeechAPI(SAPI)主要包含两大方面:   1.APIforText-to-Speech:微软TTS引擎的接口,通过它我们可以很容易地建立功能强大的文本语音程序  ;   2.APIforSpeechRecognition:与TTS相对应的语音识别为了在VC中使用

2、这SDK,必需在工程中添加SDK的include和lib目录,为免每个工程都添加目录,最好的办法是在VC的Option->Directoris加上SDK的include和lib目录。   一、TTS—基于控制台这是一个基于控制台的语音程序示例。这个例子中,使用了最简单的COM框架,并让计算机“说”一句简单的话。同时介绍了如何使用XML标签来对语音进行修改。主要包括如下步骤:--Step1:建立工程项目--Step2:初始化COM接口--Step3:创建语音对象--Step4:开始说话--Step5:用XML标签修改语音1、St

3、ep1:建立工程      (1)利用VisualStudio的开发环境中的应用程序向导建立一个Win32控制台(console)程序。在创建过程中时,选择一个简单的“Helloworld”应用程序工程项目。(2)创建完成后,打开“stdafx.h”头文件,把以下的内容粘贴在“#include”与“#endif”之间。这样把SAPI所需的其它依赖信息包含进来。#define_ATL_APARTMENT_THREADED#include(3)在工程中增加两个文件sapi.h和sapi.li

4、b的路径。在菜单栏中选择“Project”

5、“Settings”

6、“C/C++”标签页,接着在“Category”下拉列表中选择“Preprocessor”,在“Additionalincludedirectories”编辑框中填入实际头文件路径,“F:ProgramFilesMicrosoftSpeechSDK5.1Include”。(1)再设置sapi.lib的路径。在同样的“Settints”对话框中,选择“Link”标签页;在“Category”下拉列表中选择“Input”;在“Additionallibrary

7、path”编辑框中填入sapi.lib的路径:“F:ProgramFilesMicrosoftSpeechSDK5.1Libi386;(2)在同样的“Link”标签页中的“Object/librarymodules”栏中增加“sapi.lib”,注意,这里的各个库名字之间用空格隔开。Step2:初始化COM接口      SAPI是基于COM框架的,所以使用SAPI相关函数之前和SAPI对象被激活时,程序必须初始化COM接口。下面的代码虽然除了初始化之外没有任何其它的功能,但是它确保COM能被正常启动。程序清单2:#i

8、nclude#includeintmain(intargc,char*argv[]){   if(FAILED(::CoInitialize(NULL)))       returnFALSE;   …… ::CoUninitialize();returnTRUE;}Step3:创建语音对象      COM运行环境建立起来之后,接下来创建语音对象。语音对象是一个简单的COM对象。另外,语音对象使用很多智能的默认配置,在自身初始化过程中,SAPI自动为其配置大多数的默认值,语音对象创建完成后

9、就可以立即被程序使用。这些默认的参数是从“控制面板”的“语言属性”中获得的,包括语言种类等。所有的默认参数,包括显见的和非显见的(比如说话速度,基音周期等),都可以用编程的方式改变,或从控制面板中的语言属性中修改。#include#includeintmain(intargc,char*argv[]){   ISpVoice*pVoice=NULL;//获取ISpVoice接口:    if(FAILED(::CoInitialize(NULL)))       returnFALSE;  

10、  HRESULThr=CoCreateInstance(CLSID_SpVoice,NULL,CLSCTX_ALL,IID_ISpVoice,(void**)&pVoice);   if(SUCCEEDED(hr))   {       pVoice->Release();

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。