mirror of
https://github.com/rhasspy/espeak-ng.git
synced 2026-11-03 06:12:55 +00:00
[1.47.14]
Language changes: an, en, es, fa, gu, it, pt, ta, te. Voice files: added attribute 'dictdialect', eg: dictdialect en-us uses the US English voice to speak words or rules which are marked with _^_EN git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@366 d46cf337-b52f-0410-862d-fd96e6ae7743
This commit is contained in:
@@ -110,6 +110,7 @@ enum {
|
||||
V_SPEED,
|
||||
V_DICTMIN,
|
||||
V_ALPHABET2,
|
||||
V_DICTDIALECT,
|
||||
|
||||
// these need a phoneme table to have been specified
|
||||
V_REPLACE,
|
||||
@@ -162,6 +163,7 @@ static MNEM_TAB keyword_tab[] = {
|
||||
{"speed", V_SPEED},
|
||||
{"dict_min", V_DICTMIN},
|
||||
{"alphabet2", V_ALPHABET2},
|
||||
{"dictdialect", V_DICTDIALECT},
|
||||
|
||||
// these just set a value in langopts.param[]
|
||||
{"l_dieresis", 0x100+LOPT_DIERESES},
|
||||
@@ -175,6 +177,13 @@ static MNEM_TAB keyword_tab[] = {
|
||||
{NULL, 0}
|
||||
};
|
||||
|
||||
static MNEM_TAB dict_dialects[] = {
|
||||
{"en-us", DICTDIALECT_EN_US},
|
||||
{"es-la", DICTDIALECT_ES_LA},
|
||||
{NULL, 0}
|
||||
};
|
||||
|
||||
|
||||
#define N_VOICE_VARIANTS 12
|
||||
const char variants_either[N_VOICE_VARIANTS] = {1,2,12,3,13,4,14,5,11,0};
|
||||
const char variants_male[N_VOICE_VARIANTS] = {1,2,3,4,5,6,0};
|
||||
@@ -1028,6 +1037,21 @@ voice_t *LoadVoice(const char *vname, int control)
|
||||
}
|
||||
break;
|
||||
|
||||
case V_DICTDIALECT:
|
||||
// specify a dialect to use for foreign words, eg, en-us for _^_EN
|
||||
if(sscanf(p, "%s", name1) == 1)
|
||||
{
|
||||
if((ix = LookupMnem(dict_dialects, name1)) > 0)
|
||||
{
|
||||
langopts->dict_dialect |= (1 << ix);
|
||||
}
|
||||
else
|
||||
{
|
||||
fprintf(stderr, "dictdialect name '%s' not recognized\n", name1);
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
if((key & 0xff00) == 0x100)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user