| "-x\t Write phoneme mnemonics to stdout\n" | "-x\t Write phoneme mnemonics to stdout\n" | ||||
| "-X\t Write phonemes mnemonics and translation trace to stdout\n" | "-X\t Write phonemes mnemonics and translation trace to stdout\n" | ||||
| "-z\t No final sentence pause at the end of the text\n" | "-z\t No final sentence pause at the end of the text\n" | ||||
| "-D\t Enable deterministic random mode\n" | |||||
| "--compile=<voice name>\n" | "--compile=<voice name>\n" | ||||
| "\t Compile pronunciation rules and dictionary from the current\n" | "\t Compile pronunciation rules and dictionary from the current\n" | ||||
| "\t directory. <voice name> specifies the language\n" | "\t directory. <voice name> specifies the language\n" | ||||
| int phoneme_options = 0; | int phoneme_options = 0; | ||||
| int option_linelength = 0; | int option_linelength = 0; | ||||
| int option_waveout = 0; | int option_waveout = 0; | ||||
| bool deterministic = 0; | |||||
| espeak_VOICE voice_select; | espeak_VOICE voice_select; | ||||
| char filename[200]; | char filename[200]; | ||||
| option_punctlist[0] = 0; | option_punctlist[0] = 0; | ||||
| while (true) { | while (true) { | ||||
| c = getopt_long(argc, argv, "a:b:d:f:g:hk:l:mp:qs:v:w:xXz", | |||||
| c = getopt_long(argc, argv, "a:b:Dd:f:g:hk:l:mp:qs:v:w:xXz", | |||||
| long_options, &option_index); | long_options, &option_index); | ||||
| // Detect the end of the options. | // Detect the end of the options. | ||||
| case 'd': | case 'd': | ||||
| strncpy0(devicename, optarg2, sizeof(devicename)); | strncpy0(devicename, optarg2, sizeof(devicename)); | ||||
| break; | break; | ||||
| case 'D': | |||||
| deterministic = 1; | |||||
| break; | |||||
| case 'h': | case 'h': | ||||
| printf("\n"); | printf("\n"); | ||||
| PrintVersion(); | PrintVersion(); | ||||
| exit(1); | exit(1); | ||||
| } | } | ||||
| if (deterministic) { | |||||
| // Set random generator state to well-known | |||||
| espeak_ng_SetRandSeed(1); | |||||
| } | |||||
| if (option_waveout || quiet) { | if (option_waveout || quiet) { | ||||
| // writing to a file (or no output), we can use synchronous mode | // writing to a file (or no output), we can use synchronous mode | ||||
| result = espeak_ng_InitializeOutput(ENOUTPUT_MODE_SYNCHRONOUS, 0, devicename[0] ? devicename : NULL); | result = espeak_ng_InitializeOutput(ENOUTPUT_MODE_SYNCHRONOUS, 0, devicename[0] ? devicename : NULL); |