Почему моя программа espeak-ng ничего не говорит?C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Почему моя программа espeak-ng ничего не говорит?

Сообщение Anonymous »

Я хочу передать строку в espeak-ng, и она прочитает мою строку по звуку!

Я искал и нашел эту программу и внес небольшую модификацию, чтобы изменить ее. на английский с итальянского(под закомментированными строками), но не получилось:

Код: Выделить всё

#include 
#include 
#include 

espeak_POSITION_TYPE position_type;
espeak_AUDIO_OUTPUT output;
char *path=NULL;
int Buflength = 500, Options=0;
void* user_data;
t_espeak_callback *SynthCallback;
espeak_PARAMETER Parm;

//char Voice[] = {"lt+klatt2"};
char Voice[] = {"English"};

char text[30] = {"this is a english test"};
unsigned int Size,position=0, end_position=0, flags=espeakCHARS_AUTO, *unique_identifier;

int main(int argc, char* argv[] )
{
output = AUDIO_OUTPUT_PLAYBACK;
int I, Run = 1, L;
espeak_Initialize(output, Buflength, path, Options );
espeak_SetVoiceByName(Voice);
//const char *langNativeString = "lt"; //Default to US English
const char *langNativeString = "en"; //Default to US English
espeak_VOICE voice;
memset(&voice, 0, sizeof(espeak_VOICE)); // Zero out the voice first
voice.languages = langNativeString;
//voice.name = "klatt";
voice.name = "US";
voice.variant = 2;
voice.gender = 1;
espeak_SetVoiceByProperties(&voice);
Size = strlen(text)+1;
printf("Saying  '%s'",text);
espeak_Synth( text, Size, position, position_type, end_position, flags,
unique_identifier, user_data );
espeak_Synchronize( );
printf("\n:Done\n");
return 0;
}
В чем проблема?

Компилируется без ошибок и говорит как исполняемый файл, но когда я пытаюсь ./speaks, результат:

Код: Выделить всё

Saying  'this is a english test'
:Done
Без голоса!

РЕДАКТИРОВАТЬ: я задал свой вопрос в gitub, и кто-то сказал:< /p>


Параметр пути espeak_Initialize должен указывать на каталог
espeak-ng-data или его родительский каталог. Альтернативно, вы
можете установить переменную среды ESPEAK_DATA_PATH так, чтобы она указывала на этот
каталог.


Поэтому я добавил эту строку ESPEAK_DATA_PATH=/usr/local/share/espeak-ng-data в файл /etc/environment, но ничего не произошло!

Также я попытался изменить переменную пути кода на эту (поскольку я знаю, что адрес верен) char *path="/usr/local/share/espeak -ng-data", но голоса снова нет!

Подробнее здесь: https://stackoverflow.com/questions/474 ... y-anything
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»