[1.28.04] Don't join [v][z] to a liquid [l][r][w][j] across a word boundary.

Changes voice variant file names in espeak_data/voices/!v  from !variant12 etc to !varnt12  for DOS 8 character filename limit.
Use a separate phoneme translation file for Swedish voice mbrola "sw2".
Updates languages dictionaries "af", "sv"


git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@73 d46cf337-b52f-0410-862d-fd96e6ae7743
This commit is contained in:
jonsd
2007-08-15 16:30:47 +00:00
parent eb7ff287d4
commit d4ff77a7d5
32 changed files with 602 additions and 309 deletions
+9 -4
View File
@@ -1087,6 +1087,7 @@ int Generate(PHONEME_LIST *phoneme_list, int *n_ph, int resume)
unsigned char *pitch_env=NULL;
unsigned char *amp_env;
PHONEME_TAB *ph;
PHONEME_TAB *prev_ph;
#ifdef TEST_MBROLA
if(mbrola_name[0] != 0)
@@ -1263,7 +1264,7 @@ int Generate(PHONEME_LIST *phoneme_list, int *n_ph, int resume)
}
}
if((next->type==phVOWEL) || (next->type==phLIQUID))
if((next->type==phVOWEL) || ((next->type==phLIQUID)) && (next->newword==0)) // ?? test 14.Aug.2007
{
StartSyllable();
if(p->synthflags & SFLAG_LENGTHEN)
@@ -1317,6 +1318,10 @@ int Generate(PHONEME_LIST *phoneme_list, int *n_ph, int resume)
if(p->ph->phflags & phTRILL)
modulation = 5;
prev_ph = prev->ph;
// if(p->newword)
// prev_ph = phoneme_tab[phonPAUSE]; // pronounce fully at the start of a word
if(!(p->synthflags & SFLAG_SEQCONTINUE))
{
DoAmplitude(p->amp,NULL);
@@ -1331,16 +1336,16 @@ int Generate(PHONEME_LIST *phoneme_list, int *n_ph, int resume)
if(next->type==phVOWEL)
{
StartSyllable();
DoSpect(p->ph,prev->ph,next->ph,1,p,modulation); // (,)r
DoSpect(p->ph,prev_ph,next->ph,1,p,modulation); // (,)r
}
else
if(prev->type==phVOWEL && (p->synthflags & SFLAG_SEQCONTINUE))
{
DoSpect(p->ph,prev->ph,next->ph,1,p,modulation);
DoSpect(p->ph,prev_ph,next->ph,1,p,modulation);
}
else
{
DoSpect(p->ph,prev->ph,next->ph,1,p,modulation);
DoSpect(p->ph,prev_ph,next->ph,1,p,modulation);
}
break;