QT文本转语音模块(TTS)QTextToSpeech
QTextToSpeech是QT5.8以上的文本转语音模块。
使用方法:
在.pro工程文件中添加“QT += texttospeech”。
添加头文件 #include <QTextToSpeech>
源文件:
- QTextToSpeech *tts = new QTextToSpeech(this);
 - if(tts->state()==QTextToSpeech::Ready)
 - {
 - tts->say("hello world");
 - }
 
在linux下,它是调用speech-dispatcher。在其它不同的平台上,调用各自平台的TTS引擎。所以在使用的时候,要确保本地的TTS引擎是可用的。
本地TTS引擎不可用可能会在声明QTextToSpeech变量的时候导致程序崩溃。
Win7下如果TTS引擎不可用,可能是使用的系统不是完整版的,可以使用软件进行修复。软件下载地址:
http://wwww.236.yhlg.com/uploadFile/2014/7-TTS.xdowns.zip
上述代码不一定能正确的朗读出内容,根据语言的不同,有可能还需要设置QTextToSpeech的语言、朗读人声等。有关的方法有setLocale和setVoice,还可以设置朗读速率、音调等。
测试中发现不能正确朗读的情况:设置了Voice为Chinese的时候,中文能正确朗读,英文只能朗读出字符而不能朗读出单词;设置了Voice为非Chinese的时候,英文可以正确朗读,中文全部跳过。
这里主要提了一些可能出现的问题。因为该类没有太多的成员和函数,调用不会很复杂,具体学习可以参考QT自带的例子。
QT文本转语音模块(TTS)QTextToSpeech的更多相关文章
- iOS 文本转语音(TTS)详解:Swift
		
上一篇博客讲解了iOS的speech FrameWork语音识别的功能:http://www.cnblogs.com/qian-gu-ling/p/6599670.html,对应的这篇博客就写一下文本 ...
 - Qt文本读写之一:输入输出设备和文件操作
		
一.输入输出设备 QIODevice类是Qt中所有I/O设备的基础接口类,为诸如QFile.QBuffer和 QTcpSocket等支持读/写数据块的设备提供了一个抽象接口.QIODevice类是抽象 ...
 - Python文本转化语音模块大比拼,看看青铜与王者的差别!
		
文本转语音 如果把Python比喻成游戏中的一个英雄,你觉得它是谁?对于Dota老玩家来说,我会想到钢琴手卡尔!感觉Python和卡尔一样,除了生孩子什么都可以做的角色.日常生活中,我们会涉及到很多语 ...
 - qt文本编辑器
		
示例代码: mainwindow.cpp #include "mainwindow.h" #include "ui_mainwindow.h" #include ...
 - DelphiXE10.2怎么安装文本转语音(TTS)语音转文本(SR)控件(XE10.2+WIN764)
		
关资料: http://edn.embarcadero.com/article/29583 http://blog.sina.com.cn/s/blog_53866d7501017r1o.html 问 ...
 - 问题-DelphiXE10.2怎么安装文本转语音(TTS)语音转文本(SR)控件(XE10.2+WIN764)
		
相关资料: http://edn.embarcadero.com/article/29583 http://blog.sina.com.cn/s/blog_53866d7501017r1o.html ...
 - QT 文本html显示格式的问题,如在QTextBrowser.setText用tr(),其中为html格式
		
QObject::tr("<h1><font color = green>%1</font>的人品指数:<font color = orange&g ...
 - Qt文本读写之二:目录操作
		
一.简介 QDir类用来访问目录结构及其内容,可以操作路径名.访问路径和文件相关信息以及操作底层的文件系统,还可以访问Qt的资源系统.Qt使用"/"作为通用的目录分隔符和URLs的 ...
 - 文本转语音TTS(文本阅读和视频配音制作)MP3
		
DL-TTS 通过AI驱动引擎可将文本转化为逼真的语音,它可以:(1)生成逼真的合成语音实现与人声的语调和情感匹配的流畅.发音自然的文本转语音.(2)细化的文本转语音控制支持多种语言,并可调整语速.语 ...
 
随机推荐
- 使用企业证书给iOS应用重签
			
来源:https://github.com/sailtsao/iReSign 这里有个开源的签名工具,已经修改为支持dylib frameworks等的签名了,使用这个签名不会出现任何问题 iReSi ...
 - yum源仓库的三种搭建方式
			
yum源的三种搭建方式 一. 本地yum仓库的搭建 1.1.获取软件包资源 将iso镜像挂载在本地目录中,此次挂载目录为/var/www/html/repo/,此目录本身不存在,需要创建.软件宝资源 ...
 - C++(三十九) — 主函数中增加调试信息
			
程序调试技术: (1)阅读程序,静态代码复查: (2)“cout大法” (3)使用开发工具,断点 int main() { TShape s(lu, lu); cout << __ ...
 - 2018 China Collegiate Programming Contest Final (CCPC-Final 2018)-K - Mr. Panda and Kakin-中国剩余定理+同余定理
			
2018 China Collegiate Programming Contest Final (CCPC-Final 2018)-K - Mr. Panda and Kakin-中国剩余定理+同余定 ...
 - 利用webhook实现发送通知到Slack
			
概要 最近办公交流应用 Slack在各团队里大行其道,非常火热. 今天我们就来说说怎么用他的incoming-webhook来做一些同步通知. 从kintone发送通知给Slack 我们先来看看这种i ...
 - java容器三:HashMap源码解析
			
前言:Map接口 map是一个存储键值对的集合,实现了Map接口的主要类有以下几种 TreeMap:用红黑树实现 HashMap:数组和链表实现 HashTable:与HashMap类似,但是线程安全 ...
 - springboot rabbitmq 死信队列应用场景和完整demo
			
何为死信队列? 死信队列实际上就是,当我们的业务队列处理失败(比如抛异常并且达到了retry的上限),就会将消息重新投递到另一个Exchange(Dead Letter Exchanges),该Exc ...
 - [2019/05/17]解决springboot测试List接口时JSON传参异常
			
报错信息,大致如下 c.c.c.c.a.BaseControllerExceptionHandler : 运行时异常: java.lang.IllegalStateException: No prim ...
 - Navicat连接MySQL数据库出现 ERROR 2059 (HY000): Authentication plugin 'caching_sha2_password' cannot be loaded
			
装了mysql 8之后因为mysql8采用了新的加密方式,很多软件还不支持, 解决方法如下: 1. 管理员权限运行命令提示符,登陆MySQL mysql -u root -p 2. 修改账户密码加密规 ...
 - RCNN,Fast RCNN,Faster RCNN 的前生今世:(3) SPP - Net
			
SPP-Net是出自2015年发表在IEEE上的论文-<Spatial Pyramid Pooling in Deep ConvolutionalNetworks for Visual Reco ...