soloforce 发表于 2013-5-15 15:06:01

【原创】让CubieBoard说话

本帖最后由 soloforce 于 2013-5-15 15:09 编辑


本文介绍flite(festival-lite)在Cubieboard上的应用。flite是一个由CMU开发的小型、快速、实时的语音合成引擎,非常适合用于嵌入式系统。为了大家更快地了解和使用flite,我们在Debian/Ubuntu Linuxfor Cubieboard上构建一个简单的语音报时系统。

首先,安装软件

$ sudo apt-get install flite1-dev

然后编写 flite 代码,这段代码能从命令行输入的字符串实时合成语音
/* flite_text.c */
#include "flite/flite.h"
extern cst_voice * register_cmu_us_kal();

int main(int argc, char **argv)
{
    cst_voice *v;


    if (argc != 2)
    {
      fprintf(stderr,"usage: argv <text string>\n");
      exit(-1);
    }

    flite_init();

    v = register_cmu_us_kal();

    flite_text_to_speech(argv,v,"play");

    return 0;
}

编译并测试之
$ gcc -Wall -g -o flite_text flite_text.c -lflite_cmu_us_kal -lflite_usenglish -lflite_cmulex -lflite -lm
$ ./flite_text "Hello world!"
这时如果声音配置正确的话应该能听到音箱里发出怪怪的合成声。

编写时间程序 show_time.sh
#!/bin/bash
# show_time.sh

time=$(date | awk '{ print $4 }' | awk -F: '{print $1":"$2}')
echo $time
现在再测试语音报时

$ ./flite_text "$(show_time.sh)"

这仅仅是一个简单的示例程序,您可以发挥想象力,把flite应用在您需要的地方,让CubieBoard更加人性化!

fyp83 发表于 2013-5-15 15:11:11

好东西,占楼

hipboi 发表于 2013-5-15 18:24:23

有意思,支持中文不?做个播微博的。有相关python的库么?

soloforce 发表于 2013-5-15 19:15:37

貌似不支持中文,而且没有找到python的库

glg18598 发表于 2013-5-22 23:15:32

这是个好东西,有用,再来个语音识别就更好了,有是间了研究下

anhe 发表于 2013-6-5 10:59:29

能支持中文吗

zmy12006 发表于 2013-8-4 10:11:27

什么声音都听不到

cubieplayer 发表于 2013-8-4 12:28:06

好玩,呵呵,

tll 发表于 2013-8-4 16:51:38

好!!!

robby 发表于 2013-8-21 16:05:34

太牛了   {:soso_e183:}
页: [1] 2
查看完整版本: 【原创】让CubieBoard说话