0

我是 unix 和 flite 的初学者。

#include "flite.h"

cst_voice *register_cmu_us_kal();

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

    if (argc != 2)
    {
        fprintf(stderr,"usage: flite_test FILE\n");
        exit(-1);
    }

    flite_init();

    v = register_cmu_us_kal(NULL);

    flite_file_to_speech(argv[1],v,"play");

}

从上面的程序中,我了解到 register_cmu_us_kal() 将返回英语语音。并且在 argv[1] 中输入的文件将以英文读取。

cst_wave *flite_text_to_wave(const char *text,cst_voice *voice); => 让文本挥动

我正在开发一个应用程序代码已经存在的项目,我想将显示的文本转换为语音。register_cmu_us_kal() 我无法理解它的作用。如何查看 flite.h 库中可用的不同功能及其功能。

请帮忙理解

4

1 回答 1

1

在 argv[1] 中输入的文件将以英文读取。

cst_wave *flite_text_to_wave(const char *text,cst_voice *voice); => 让文本挥动

此函数将返回 acst_wave*并且不将其读取出来,读取给定文本的函数是

float flite_text_to_speech(const char *text, cst_voice *voice, const char *outtype);

应该称为flite_text_to_speech("Hello world!", v, "play");.

调用该函数cst_voice *register_cmu_us_kal(const char*);以向 flite 引擎注册此 cst_voice 将由您的程序使用。要查看机器上可用的声音列表,命令

flite -lv

可以给。我的机器输出

可用声音: kal awb_time kal16 awb rms slt

因此,我可以注册所有上述声音以用于该flite_text_to_speech功能。

于 2012-09-19T07:03:21.447 回答