mirror of
https://github.com/rhasspy/espeak-ng.git
synced 2026-11-14 09:37:47 +00:00
Merge pull request #1320
This commit is contained in:
@@ -919,8 +919,9 @@ static int GetVowelStress(Translator *tr, unsigned char *phonemes, signed char *
|
||||
} else if (phcode == phonSYLLABIC) {
|
||||
// previous consonant phoneme is syllablic
|
||||
vowel_stress[count] = (char)stress;
|
||||
if ((stress == 0) && (control & 1))
|
||||
vowel_stress[count++] = STRESS_IS_UNSTRESSED; // syllabic consonant, usually unstressed
|
||||
if ((stress < 0) && (control & 1))
|
||||
vowel_stress[count] = STRESS_IS_UNSTRESSED; // syllabic consonant, usually unstressed
|
||||
count++;
|
||||
}
|
||||
|
||||
*ph_out++ = phcode;
|
||||
@@ -1465,6 +1466,7 @@ void SetWordStress(Translator *tr, char *output, unsigned int *dictionary_flags,
|
||||
}
|
||||
|
||||
p = phonetic;
|
||||
/* Note: v progression has to strictly follow the vowel_stress production in GetVowelStress */
|
||||
while (((phcode = *p++) != 0) && (output < max_output)) {
|
||||
if ((ph = phoneme_tab[phcode]) == NULL)
|
||||
continue;
|
||||
@@ -1474,6 +1476,8 @@ void SetWordStress(Translator *tr, char *output, unsigned int *dictionary_flags,
|
||||
else if (((ph->type == phVOWEL) && !(ph->phflags & phNONSYLLABIC)) || (*p == phonSYLLABIC)) {
|
||||
// a vowel, or a consonant followed by a syllabic consonant marker
|
||||
|
||||
assert(v <= vowel_count);
|
||||
|
||||
v_stress = vowel_stress[v];
|
||||
tr->prev_last_stress = v_stress;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user