Функция register_cmu_us_kal () во флите - PullRequest
0 голосов
/ 14 декабря 2011

Я новичок как в юниксе, так и во флите.

#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, и ее функциональность.

Пожалуйста, помогите понять

1 Ответ

1 голос
/ 19 сентября 2012

файл, введенный в argv [1], будет читаться на английском языке.

cst_wave * flite_text_to_wave (const char * text, cst_voice * voice);=> для текста в волну

Эта функция возвращает cst_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 engine, что этот cst_voice будет использоваться вашей программой.Чтобы просмотреть список голосов, доступных на аппарате, можно дать команду

flite -lv

.Моя машина выводит

Доступные голоса: kal awb_time kal16 awb rms slt

Следовательно, я могу зарегистрировать все вышеупомянутые голоса для использования с функцией flite_text_to_speech.

...