2011-12-14 1 views
0

Я новичок как unix, так и flite.Функция register_cmu_us_kal() в 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 и ее функциях.

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

ответ

1

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

flite -lv

может быть дано. Мои машины выходы

Голоса доступные: Кал awb_time kal16 AWB среднеквадратичное SLT

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

Смежные вопросы