实验二 语音交互设计-TTS(汇编).docx 立即下载
2025-08-27
约1.8万字
约29页
0
28KB
举报 版权申诉
预览加载中,请您耐心等待几秒...

实验二 语音交互设计-TTS(汇编).docx

实验二语音交互设计-TTS(汇编).docx

预览

免费试读已结束,剩余 24 页请下载文档后查看

10 金币

下载文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

实验二语音交互设计-TTS(汇编)

第一篇:实验二语音交互设计-TTS文本语音(Text-to-Speech,以下简称TTS),它的作用就是把通过TTS引擎把文本转化为语音输出。简单介绍如何运用MicrosoftSpeechSDK建立自己的文本语音转换应用程序。MicrosoftSpeechSDK是微软提供的软件开发包,提供的SpeechAPI(SAPI)主要包含两大方面:1.APIforText-to-Speech:微软TTS引擎的接口,通过它我们可以很容易地建立功能强大的文本语音程序;2.APIforSpeechRecognition:与TTS相对应的语音识别为了在VC中使用这SDK,必需在工程中添加SDK的include和lib目录,为免每个工程都添加目录,最好的办法是在VC的Option->Directoris加上SDK的include和lib目录。一、TTS—基于控制台这是一个基于控制台的语音程序示例。这个例子中,使用了最简单的COM框架,并让计算机“说”一句简单的话。同时介绍了如何使用XML标签来对语音进行修改。主要包括如下步骤:--Step1:建立工程项目--Step2:初始化COM接口--Step3:创建语音对象--Step4:开始说话--Step5:用XML标签修改语音1、Step1:建立工程(1)利用VisualStudio的开发环境中的应用程序向导建立一个Win32控制台(console)程序。在创建过程中时,选择一个简单的“Helloworld”应用程序工程项目。(2)创建完成后,打开“stdafx.h”头文件,把以下的内容粘贴在“#include”与“#endif”之间。这样把SAPI所需的其它依赖信息包含进来。#define_ATL_APARTMENT_THREADED#include(3)在工程中增加两个文件sapi.h和sapi.lib的路径。在菜单栏中选择“Project”|“Settings”|“C/C++”标签页,接着在“Category”下拉列表中选择“Preprocessor”,在“Additionalincludedirectories”编辑框中填入实际头文件路径,“F:ProgramFilesMicrosoftSpeechSDK5.1Include”。(4)再设置sapi.lib的路径。在同样的“Settints”对话框中,选择“Link”标签页;在“Category”下拉列表中选择“Input”;在“Additionallibrarypath”编辑框中填入sapi.lib的路径:“F:ProgramFilesMicrosoftSpeechSDK5.1Libi386;(5)在同样的“Link”标签页中的“Object/librarymodules”栏中增加“sapi.lib”,注意,这里的各个库名字之间用空格隔开。Step2:初始化COM接口SAPI是基于COM框架的,所以使用SAPI相关函数之前和SAPI对象被激活时,程序必须初始化COM接口。下面的代码虽然除了初始化之外没有任何其它的功能,但是它确保COM能被正常启动。程序清单2:#include#includeintmain(intargc,char*argv[]){if(FAILED(::CoInitialize(NULL)))returnFALSE;„„::CoUninitialize();returnTRUE;}Step3:创建语音对象COM运行环境建立起来之后,接下来创建语音对象。语音对象是一个简单的COM对象。另外,语音对象使用很多智能的默认配置,在自身初始化过程中,SAPI自动为其配置大多数的默认值,语音对象创建完成后就可以立即被程序使用。这些默认的参数是从“控制面板”的“语言属性”中获得的,包括语言种类等。所有的默认参数,包括显见的和非显见的(比如说话速度,基音周期等),都可以用编程的方式改变,或从控制面板中的语言属性中修改。#include#includeintmain(intargc,char*argv[]){ISpVoice*pVoice=NULL;//获取ISpVoice接口:if(FAILED(::CoInitialize(NULL)))returnFALSE;HRESULThr=CoCreateInstance(CLSID_SpVoice,NULL,CLSCTX_ALL,IID_ISpVoice,(void**)&pVoice);if(SUCCEEDED(hr)){pVoice->Release();pVoice=NULL;//pVoice设置为NULL空值不是必须的,但这样做有助于检查错误,也可以作为一个提示,表示这个指针的空间已经分配了或者被释放了。}::CoUninitialize();ret
查看更多
单篇购买
VIP会员(1亿+VIP文档免费下)

扫码即表示接受《下载须知》

实验二 语音交互设计-TTS(汇编)

文档大小:28KB

限时特价:扫码查看

• 请登录后再进行扫码购买
• 使用微信/支付宝扫码注册及付费下载,详阅 用户协议 隐私政策
• 如已在其他页面进行付款,请刷新当前页面重试
• 付费购买成功后,此文档可永久免费下载
全场最划算
12个月
199.0
¥360.0
限时特惠
3个月
69.9
¥90.0
新人专享
1个月
19.9
¥30.0
24个月
398.0
¥720.0
6个月会员
139.9
¥180.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用