微软语音引擎 TTS 最基本使用
TTS(TextToSpeak)
需求:需要借助程序实现 文字合成语音/语音识别。
TTS 介绍就不说了,这里介绍非常详细 >>> TTS详细介绍 + SAPI(微软的TTS语音合成和识别接口,可在程序中直接调用)
下面介绍一下,怎么来使用它
1. 下载安装TTS引擎
到微软的官方网站上去下载一下
下载地址>>>微软官方 TTS http://www.microsoft.com/download/en/details.aspx?id=10121
进入下载页面,可以先点击Details 看一下下详细信息,点击Download


下载完成后,安装 SDK51 和 SDK51LangPack 。
2. 可以在程序里用了(使用前先引入一下 sapi.lib 库)
头文件:
#include <sapi.h>
#include <sphelper.h>
#pragma comment(lib, "sapi.lib")//TTS引擎
函数:
//封装SAPI 功能:传入字符串,合成语音并读出。
void Speak(CString str)
{
ISpVoice * pVoice = NULL;
//获取ISpVoice接口:
HRESULT hr = CoCreateInstance(CLSID_SpVoice, NULL, CLSCTX_ALL, IID_ISpVoice, (void **)&pVoice);
if(SUCCEEDED(hr)) //如果创建成功
{
pVoice->SetVolume();//设置音量
pVoice->SetRate();//[-10, 10]
hr = pVoice->Speak(CStringToBSTR(str), , NULL); //读出 pVoice->Release(); //释放token
pVoice = NULL;
}
}
上面函数是在MFC 中使用 TTS 的实例。使用它可以做很多事,譬如语音播报、语音识别等,值得挖掘很深。
微软语音引擎 TTS 最基本使用的更多相关文章
- 【VC++技术杂谈004】使用微软TTS语音引擎实现文本朗读
本文主要介绍如何使用微软TTS语音引擎实现文本朗读,以及生成wav格式的声音文件. 1.语音引擎及语音库的安装 TTS(Text-To-Speech)是指文本语音的简称,即通过TTS引擎把文本转化为语 ...
- 微软TTS语音引擎编程入门
原文链接地址:http://www.jizhuomi.com/software/135.html 我们都使用过一些某某词霸的英语学习工具软件,它们大多都有朗读的功能,其实这就是利用的Windows ...
- Android文字转语音引擎(TTS)使用
百度网盘下载地址 密码:3si0资源来源:https://blog.csdn.net/Sqq_yj/article/details/82460580?utm_source=blogxgwz4 简单比较 ...
- Torque:轻应用背后的大蓄势 微软语音技术厚积薄发
Torque,为中国用户而来 此前,"微软车库"公开发布了一系列小而美的产品,它们全部由具有"极客创新"精神的微软员工在工作之外的时间构思和开发.Torque就 ...
- 让Java说话-用Java实现语音引擎
让Java说话-用Java实现语音引擎 2005-11-07 10:04:09 分类: Java技术 为应用程序加上语音能力有什么好处呢?粗略地讲,是为了趣味,它适合所有注重趣味的应用,比如游戏.当然 ...
- 160617、使用espeak将文字转语音(TTS)
http://www.eguidedog.net/cn/WebSpeech_cn.php 简单使用例子: <html> <head> <meta http-equiv=& ...
- 文本变语音引擎 ekho
https://github.com/donaldlee2008/ekho https://www.oschina.net/p/ekho
- python3调用微软js引擎ChakraCore
有关ChakraCore介绍请移步:https://github.com/Microsoft/ChakraCore 使用案例GitHub源码:https://github.com/pyAppman/C ...
- VC6.0 C++ 如何调用微软windows系统SDK 语音API
下载3个语音API安装包 http://www.microsoft.com/en-us/download/details.aspx?id=10121 需要安装微软语音API安装包:SpeechSDK5 ...
随机推荐
- java开发个人简历
求职意向 Java开发工程师 陈 楠 性 别:男 出生年月 :1995.07 民 族:汉族 联系方式 :159-3306-7520 学 历:本科 电子邮件 :15933067520@163.com 教 ...
- springboot Aop 统一处理Web请求日志
1.增加依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId> ...
- salesforce零基础学习(九十一)Facet
说Facet以前,我们先说一下浏览器加载解析以及渲染的过程.浏览器获取一个HTML的文件时,会按照自上向下的顺序进行解析,并在加载过程中进行渲染.对html解析成DOM树,对CSS 解析成CSS Ru ...
- shiro 获取请求头中的 sessionId
前言: 在前后端项目中, 前端有可能会要求, 后台返回一个 sessionId 给他, 然后他在请求后台接口时, 把这个sessionId 带给后台, 后台拿到这个sessionId , 就能识别, ...
- Linux文件系统及文件属性
一.Linux文件系统 1.穿件文件系统 Linux中当磁盘格式化创建文件系统时,会创建一定数量的节点索引Inode以及一定数量的块block,其中inode具有存储文件属性以及指向文件实体block ...
- 基于Consul的数据库高可用架构
几个月没有更新博客了,已经长草了,特意来除草.本次主要分享如何利用consul来实现redis以及mysql的高可用.以前的公司mysql是单机单实例,高可用MHA加vip就能搞定,新公司mysql是 ...
- 10分钟学会使用YOLO及Opencv实现目标检测(下)|附源码
将YOLO应用于视频流对象检测 首先打开 yolo_video.py文件并插入以下代码: # import the necessary packages import numpy as np impo ...
- Linux Namespace : User
User namespace 是 Linux 3.8 新增的一种 namespace,用于隔离安全相关的资源,包括 user IDs and group IDs,keys, 和 capabilitie ...
- ES6 使用数据类型Set求交集、并集、差集
前言 ES6新增了数据类型Set,它是一种类似数组的数据结构.但它和数组的不同之处在于它的成员都是唯一的,也就是说可以用来去除数组重复成员. Set本身是一个构造函数用来生成Set数据结构. cons ...
- 跨域 webpack + vue-cil 中 proxyTable 处理跨域
博客地址:https://ainyi.com/27 跨域 了解同源政策:所谓"同源"指的是"三个相同". 协议相同 域名相同 端口相同 解决跨域 jsonp 缺 ...