讓CubieBoard說話

本文介紹flite(festival-lite)在Cubieboard上的應用。flite是一個由CMU開發的小型、快速、實時的語音合成引擎,很是適合用於嵌入式系統。爲了你們更快地瞭解和使用flite,咱們在Debian/Ubuntu Linux  for Cubieboard上構建一個簡單的語音報時系統。

首先,安裝軟件

  $ sudo apt-get install flite1-dev

而後編寫 flite 代碼,這段代碼能從命令行輸入的字符串實時合成語音php

/* flite_text.c */
bash

#include "flite/flite.h"
測試

extern cst_voice * register_cmu_us_kal();
ui

int main(int argc, char **argv)
spa

{
命令行

    cst_voice *v;
開發


    if (argc != 2)
字符串

    {
get

        fprintf(stderr,"usage: argv[0] <text string>\n");
string

        exit(-1);

    }

    flite_init();

    v = register_cmu_us_kal();

    flite_text_to_speech(argv[1],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更加人性化!


原文做者:soloforce

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

相關文章
相關標籤/搜索