详解QtSpeech Qt文本语音输出TTS API
创始人
2024-07-21 20:51:26
0

QtSpeech是一个Qt封装的跨平台TTS(文本变成语音输出)API,在不同平台下利用系统自带的TTS引擎。在Windows下使用SAPI, 在Mac下使用SpeechSynthesis,而在Linux下使用 Festival.

QtSpeech的官方项目主页在:http://lynxline.com/projects/qtspeech

源码git仓库地址则在:http://gitorious.org/qt-speech

QtSpeech的“Hello World”

API的使用非常简单,如果你是同步调用,发音结束后返回,可以使用QtSpeech::say

  1. #include  
  2. …  
  3. QtSpeech voice;  
  4. voice.say(“Hello World!”);  
  5.  

如果是异步调用(发音不会阻塞程序运行),则可以使用QtSpeech::tell

  1. #include  
  2. …  
  3. QtSpeech * voice = new QtSpeech(this);  
  4. voice->tell(“Hello asynchronous world!”);  
  5.  

如果使用QtSpeech::tell,还可以加入slot函数,在发音结束时回调该slot

  1. voice->tell(“Hello!”, this, SLOT(onSpeechFinished()));  
  2.  

VoiceName可以用于设定发音类型的,比如英语或者法语,意大利语等

  1. QtSpeech::VoiceNames vs = QtSpeech::voices();  
  2. //不过,目前从源代码来看只支持英语  
  3.  

在ubuntu下编译

  1. $ #qtspeech 依赖的tts是festival,所以需要先安装  
  2. $ sudo apt-get install festival festival-dev  
  3. $ sudo apt-get install libasound2-dev  
  4. $ git clone git://gitorious.org/qt-speech/qt-speech.git  
  5. $ cd qt-speech/  
  6. $ qmake QtSpeech.pro  
  7. $ make  
  8. $ #test目录下有可以测试的例子  
  9.  

【编辑推荐】

  1. Windows Phone 7 免费线下培训火热报名中
  2. 特别推荐 大话移动开发之QT-Quick
  3. 利用Necessitas 在Qt上实现Android应用开发

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...