[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:
jonsd
2013-11-29 22:16:55 +00:00
parent eaba1458d3
commit e8b87dbf8c
45 changed files with 8281 additions and 1678 deletions
+24
View File
@@ -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)
{