Browse Source

Merge pull request #717

master
Valdis Vitolins 5 years ago
parent
commit
6fe3aba5a2

+ 7
- 0
src/espeak-ng.1.ronn View File

* `--voices[=<language code>]`: * `--voices[=<language code>]`:
Lists the available voices. If =&lt;language code&gt; is present then only Lists the available voices. If =&lt;language code&gt; is present then only
those voices which are suitable for that language are listed. those voices which are suitable for that language are listed.
If `xx-yy` language code is passed, then voices with `yy` of `xx` language variants
are shown with higher priority than just `xx`.
If `variant` is passed, then all voice variants are shown.
If `mb` or `mbrola` is passed, then all voices using the MBROLA voice synthesizer
are shown.
If `all` is passed, then all eSpeak NG voices, voice variants and MBROLA
voices are shown.


* `--voices=<directory>`: * `--voices=<directory>`:
Lists the voices in the specified subdirectory. Lists the voices in the specified subdirectory.

+ 5
- 1
src/libespeak-ng/mbrowrap.c View File

strncmp(buf_ptr, "Input Flush Signal", 18) == 0) strncmp(buf_ptr, "Input Flush Signal", 18) == 0)
continue; continue;
*lf = 0; *lf = 0;
fprintf(stderr, "mbrola: %s\n", buf_ptr);
if (strstr(buf_ptr, "mbrola: No such file or directory") != NULL)
fprintf(stderr,
"mbrola executable was not found. Please install MBROLA!\n");
else
fprintf(stderr, "mbrola: %s\n", buf_ptr);
// is this the last line? // is this the last line?
if (lf == &buf_ptr[result - 1]) { if (lf == &buf_ptr[result - 1]) {
snprintf(mbr_errorbuf, sizeof(mbr_errorbuf), snprintf(mbr_errorbuf, sizeof(mbr_errorbuf),

+ 13
- 0
src/libespeak-ng/synth_mbrola.c View File



if (GetFileLength(path) <= 0) if (GetFileLength(path) <= 0)
sprintf(path, "/usr/share/mbrola/voices/%s", mbrola_voice); sprintf(path, "/usr/share/mbrola/voices/%s", mbrola_voice);

// Show error message
if (GetFileLength(path) <= 0) {
fprintf(stderr, "Cannot find MBROLA voice file '%s' in neither of paths:\n"
" - /usr/share/mbrola/%s\n"
" - /usr/share/mbrola/%s/%s\n"
" - /usr/share/mbrola/voices/%s\n"
"Please install necessary MBROLA voice!\n",
mbrola_voice, mbrola_voice, mbrola_voice, mbrola_voice, mbrola_voice);
// Set path back to simple name, otherwise it shows misleading error only for
// last unsuccessfully searched path
sprintf(path, "%s", mbrola_voice);
}
} }
} }
close_MBR(); close_MBR();

+ 5
- 0
src/libespeak-ng/voices.c View File

if (((control & 1) == 0) && (memcmp(vp->identifier, "mb/", 3) == 0)) if (((control & 1) == 0) && (memcmp(vp->identifier, "mb/", 3) == 0))
continue; continue;


if (memcmp(voice_select->languages,"all", 3) == 0) {
voices[nv++] = vp;
continue;
}

if ((score = ScoreVoice(voice_select, language, n_parts, lang_len, voices_list[ix])) > 0) { if ((score = ScoreVoice(voice_select, language, n_parts, lang_len, voices_list[ix])) > 0) {
voices[nv++] = vp; voices[nv++] = vp;
vp->score = score; vp->score = score;

Loading…
Cancel
Save