极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7760|回复: 0

让CubieBoard说话

[复制链接]
发表于 2014-7-30 15:34:09 | 显示全部楼层 |阅读模式
本文介绍flite(festival-lite)在Cubieboard上的应用。flite是一个由CMU开发的小型、快速、实时的语音合成引擎,非常适合用于嵌入式系统。为了大家更快地了解和使用flite,我们在Debian/Ubuntu Linux  for 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[0] <text string>\n");
  •         exit(-1);
  •     }
  •     flite_init();
  •     v = register_cmu_us_kal();
  •     flite_text_to_speech(argv[1],v,"play");
  •     return 0;
  • }


[color=rgb(46, 166, 255) !important]复制代码

编译并测试之
  •   $ gcc -Wall -g -o flite_text flite_text.c -lflite_cmu_us_kal -lflite_usenglish -lflite_cmulex -lflite -lm
  •   $ ./flite_text "Hello world!"


[color=rgb(46, 166, 255) !important]复制代码

这时如果声音配置正确的话应该能听到音箱里发出怪怪的合成声。

编写时间程序 show_time.sh
  • #!/bin/bash
  • # show_time.sh
  • time=$(date | awk '{ print $4 }' | awk -F: '{print $1":"$2}')
  • echo $time


[color=rgb(46, 166, 255) !important]复制代码

现在再测试语音报时

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

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


原文作者:soloforce
原文链接:http://forum.cubietech.com/forum.php?mod=viewthread&tid=441&extra=page%3D2

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-4-19 16:34 , Processed in 0.040108 second(s), 17 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表