[1.47.04a]

Fix: SSML <voice> </voice> lost the current voice.
Fix: French Mbrola voices.
Command-line, add  --ipa=3  separates phoneme names with underscores.
Language changes, an, hi, pt.


git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@338 d46cf337-b52f-0410-862d-fd96e6ae7743
This commit is contained in:
jonsd
2013-04-05 11:03:40 +00:00
parent e5cc887ce5
commit 33577a399f
21 changed files with 266 additions and 131 deletions
+17
View File
@@ -645,6 +645,7 @@ void GetTranslatedPhonemeString(char *phon_out, int n_phon_out, int use_ipa)
char *buf;
int count;
int flags;
int separate_phonemes = 0;
char phon_buf[30];
char phon_buf2[30];
PHONEME_LIST *plist;
@@ -652,6 +653,13 @@ void GetTranslatedPhonemeString(char *phon_out, int n_phon_out, int use_ipa)
static const char *stress_chars = "==,,''";
static const int char_tie[] = {0x0361, 0x200d}; // combining-double-inverted-breve, zero-width-joiner
if(use_ipa == 4)
{
// separate individual phonemes with underscores
use_ipa = 1;
separate_phonemes = '_';
}
if(phon_out != NULL)
{
for(ix=1; ix<(n_phoneme_list-2); ix++)
@@ -661,6 +669,13 @@ void GetTranslatedPhonemeString(char *phon_out, int n_phon_out, int use_ipa)
plist = &phoneme_list[ix];
if(plist->newword)
*buf++ = ' ';
else
{
if((separate_phonemes != 0) && (ix > 1))
{
*buf++ = separate_phonemes;
}
}
if(plist->synthflags & SFLAG_SYLLABLE)
{
@@ -683,6 +698,8 @@ void GetTranslatedPhonemeString(char *phon_out, int n_phon_out, int use_ipa)
if(c != 0)
{
buf += utf8_out(c, buf);
if(separate_phonemes)
*buf++ = separate_phonemes;
}
}
}