mirror of
https://github.com/rhasspy/espeak-ng.git
synced 2026-11-09 07:52:27 +00:00
[1.45.47]
Fixed crash on re-initializing libespeak. lang=hu, experimental, if the last two words of a clause (before punctuation) both have capital letters, then make the last word unstressed. This is useful for people names, but may be wrong for other cases. lang=en-us, distinguish phonemes [aI@] and [aI3] (compare "diet", "tired"). lang=de, fix automatic devoicing of word-final 'b', 'd', 'g'. git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@276 d46cf337-b52f-0410-862d-fd96e6ae7743
This commit is contained in:
@@ -1436,6 +1436,18 @@ if(dictionary_flags2[0] & FLAG_ABBREV)
|
||||
dictionary_flags[0] &= ~FLAG_PAUSE1;
|
||||
}
|
||||
|
||||
if(tr->translator_name == L('h','u'))
|
||||
{
|
||||
// lang=Hungarian, If the last two words of a clause have capital letters (eg. a person name), unstress the last word.
|
||||
if((wflags & (FLAG_LAST_WORD | FLAG_FIRST_UPPER | FLAG_ALL_UPPER | FLAG_FIRST_WORD)) == (FLAG_LAST_WORD | FLAG_FIRST_UPPER))
|
||||
{
|
||||
if(((wtab[-1].flags & (FLAG_FIRST_UPPER | FLAG_ALL_UPPER)) == FLAG_FIRST_UPPER) && ((tr->clause_terminator != 0x90028) || (wflags & FLAG_HAS_DOT)))
|
||||
{
|
||||
ChangeWordStress(tr,word_phonemes,3);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if((wflags & FLAG_HYPHEN) && (tr->langopts.stress_flags & S_HYPEN_UNSTRESS))
|
||||
{
|
||||
ChangeWordStress(tr,word_phonemes,3);
|
||||
@@ -1461,6 +1473,7 @@ if(dictionary_flags2[0] & FLAG_ABBREV)
|
||||
ChangeWordStress(tr,word_phonemes,3);
|
||||
}
|
||||
|
||||
|
||||
// dictionary flags for this word give a clue about which alternative pronunciations of
|
||||
// following words to use.
|
||||
if(end_type & SUFX_F)
|
||||
|
||||
Reference in New Issue
Block a user