[1.45.28]

Amplitude changes now apply also to mbrola voices.

"voicing" attribute is now used in mbrola voice files to set the voice loudness.

SSML commands such as <mark> and <prosody> were ignored if they were inside a multiword group (defined in *_list).  This is now fixed so that the command is processed at the end of the group.


git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@267 d46cf337-b52f-0410-862d-fd96e6ae7743
This commit is contained in:
jonsd
2011-05-24 13:06:41 +00:00
parent d892e39be5
commit 1284a5334c
67 changed files with 432 additions and 242 deletions
+16 -3
View File
@@ -536,6 +536,13 @@ static void WritePhMnemonic(char **buf, PHONEME_TAB *ph, PHONEME_LIST *plist)
phon_out = *buf;
if(ph->code == phonEND_WORD)
{
// ignore
phon_out[0] = 0;
return;
}
if(option_phonemes == 3)
{
// has an ipa name been defined for this phoneme ?
@@ -2920,6 +2927,7 @@ static const char *LookupDict2(Translator *tr, const char *word, const char *wor
const char *word_end;
const char *word1;
int wflags = 0;
int wflags2;
char word_buf[N_WORD_BYTES+1];
if(wtab != NULL)
@@ -3014,11 +3022,16 @@ static const char *LookupDict2(Translator *tr, const char *word, const char *wor
skipwords = flag - 80;
// don't use the contraction if any of the words are emphasized
for(ix=0; ix <= skipwords; ix++)
// or has an embedded command, such as MARK
if(wtab != NULL)
{
if(wflags & FLAG_EMPHASIZED2)
for(ix=0; ix <= skipwords; ix++)
{
condition_failed = 1;
if(wtab[ix].flags & FLAG_EMPHASIZED2)
// if(((wflags2 = wtab[ix].flags) & FLAG_EMPHASIZED2) || ((ix > 0) && (wflags2 & FLAG_EMBEDDED)))
{
condition_failed = 1;
}
}
}