Chinaunix首页 | 论坛 | 博客
  • 博客访问: 523089
  • 博文数量: 197
  • 博客积分: 2071
  • 博客等级: 上尉
  • 技术积分: 1307
  • 用 户 组: 普通用户
  • 注册时间: 2010-11-02 09:49
个人简介

prothes 专注嵌入式的ARM linux

文章分类

全部博文(197)

文章存档

2014年(3)

2013年(16)

2012年(108)

2011年(70)

分类: LINUX

2011-11-05 15:02:03

想要多了解QtSpeech,那么随着本文的文字往下走吧!QtSpeech是一个Qt封装的跨平台TTS(文本变成语音输出)API,在不同平台下利用系统自带的TTS引擎。在Windows下使用SAPI, 在Mac下使用SpeechSynthesis,而在Linux下使用 Festival.

QtSpeech的官方项目主页在:

源码git仓库地址则在:

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

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

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

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

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

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

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

  1. QtSpeech::VoiceNames vs = QtSpeech::voices(); 

//不过,目前从源代码来看只支持英语

在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 

目录下有可以测试的例子,记得把音箱打开

小结:QtSpeech就介绍到这里吧,注意了,头文件得自己手动添加,如果还出错的话,那就是你没装Qt开发包!!!不要饭低级错误哦。

原文来源:

阅读(1157) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~