欢迎来到天天文库
浏览记录
ID:9009468
大小:36.00 KB
页数:5页
时间:2018-04-14
《实验二语音交互设计-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();
此文档下载收益归作者所有