diff --git a/espeak-ng-data/lang/bat/ltg b/espeak-ng-data/lang/bat/ltg index 127234cb..021faa8a 100644 --- a/espeak-ng-data/lang/bat/ltg +++ b/espeak-ng-data/lang/bat/ltg @@ -2,7 +2,6 @@ name Latgalian language ltg maintainer Valdis Vitolins status testing -translator lv // Reuse pronunciation rules from Latvian phonemes lv dictionary lv dictrules 2 // Setting for Latgalian pronunciation diff --git a/espeak-ng-data/lang/poz/ms b/espeak-ng-data/lang/poz/ms index a90a18b1..27a2712a 100644 --- a/espeak-ng-data/lang/poz/ms +++ b/espeak-ng-data/lang/poz/ms @@ -3,8 +3,6 @@ name Malay language ms phonemes id -translator id - stressLength 160 200 180 180 0 0 220 240 stressAmp 16 18 18 18 0 0 22 21 intonation 3 // Less intonation, and comma does not raise the pitch. diff --git a/espeak-ng-data/lang/sit/cmn b/espeak-ng-data/lang/sit/cmn index 07a77a72..7b7cfa26 100644 --- a/espeak-ng-data/lang/sit/cmn +++ b/espeak-ng-data/lang/sit/cmn @@ -3,7 +3,6 @@ language cmn language zh-cmn language zh -translator zh phonemes zh dictionary zh words 1 diff --git a/espeak-ng-data/lang/sit/hak b/espeak-ng-data/lang/sit/hak index 369a2739..0c3bf14c 100644 --- a/espeak-ng-data/lang/sit/hak +++ b/espeak-ng-data/lang/sit/hak @@ -2,6 +2,5 @@ name Hakka Chinese language hak maintainer Chen Chien-ting status testing -translator hak phonemes hak dictionary hak diff --git a/espeak-ng-data/lang/sit/yue b/espeak-ng-data/lang/sit/yue index 462dcd6f..c4c0c58d 100644 --- a/espeak-ng-data/lang/sit/yue +++ b/espeak-ng-data/lang/sit/yue @@ -3,7 +3,6 @@ language yue language zh-yue language zh 8 -translator zhy phonemes zhy dictionary zhy diff --git a/espeak-ng-data/voices/mb/mb-ma1 b/espeak-ng-data/voices/mb/mb-ma1 index 59135395..fe62fbd4 100644 --- a/espeak-ng-data/voices/mb/mb-ma1 +++ b/espeak-ng-data/voices/mb/mb-ma1 @@ -3,6 +3,5 @@ language ms 1 gender female pitch 140 260 phonemes id -translator id mbrola ma1 ma1_phtrans diff --git a/src/libespeak-ng/intonation.c b/src/libespeak-ng/intonation.c index 8cbacad1..f295f876 100644 --- a/src/libespeak-ng/intonation.c +++ b/src/libespeak-ng/intonation.c @@ -847,7 +847,7 @@ static void CalcPitches_Tone(Translator *tr) } } // Mandarin - if (tr->translator_name == L('z', 'h')) { + if (tr->translator_name == L('z', 'h') || tr->translator_name == L3('c', 'm', 'n')) { if (tone_ph == 0) { if (pause || tone_promoted) { tone_ph = PhonemeCode2('5', '5'); // no previous vowel, use tone 1 diff --git a/src/libespeak-ng/tr_languages.c b/src/libespeak-ng/tr_languages.c index 6bda0293..72f8df8c 100644 --- a/src/libespeak-ng/tr_languages.c +++ b/src/libespeak-ng/tr_languages.c @@ -1169,6 +1169,7 @@ Translator *SelectTranslator(const char *name) } break; case L('l', 'v'): // latvian + case L3('l', 't', 'g'): // latgalian { static const unsigned char stress_amps_lv[8] = { 14, 10, 10, 8, 0, 0, 20, 15 }; static const short stress_lengths_lv[8] = { 180, 180, 180, 160, 0, 0, 230, 180 }; @@ -1552,7 +1553,7 @@ Translator *SelectTranslator(const char *name) tr->langopts.break_numbers = BREAK_INDIVIDUAL; break; case L3('c', 'm', 'n'): // no break, just go to 'zh' case - case L3('z', 'h', 'y'): // just go to 'zh' case + case L3('y', 'u', 'e'): case L('z','h'): { static const short stress_lengths_zh[8] = { 230, 150, 230, 230, 230, 0, 240, 250 }; // 1=tone5. end-of-sentence, 6=tone 1&4, 7=tone 2&3 @@ -1569,7 +1570,7 @@ Translator *SelectTranslator(const char *name) tr->langopts.ideographs = 1; tr->langopts.our_alphabet = 0x3100; tr->langopts.word_gap = 0x21; // length of a final vowel is less dependent on the next consonant, don't merge consonant with next word - if (name2 == L3('z', 'h', 'y')) { + if (name2 == L3('y', 'u', 'e')) { tr->langopts.textmode = true; tr->langopts.listx = 1; // compile zh_listx after zh_list tr->langopts.numbers = NUM_DEFAULT; diff --git a/src/libespeak-ng/voices.c b/src/libespeak-ng/voices.c index 3d64a18c..095240a4 100644 --- a/src/libespeak-ng/voices.c +++ b/src/libespeak-ng/voices.c @@ -72,7 +72,6 @@ enum { V_NAME = 1, V_LANGUAGE, V_GENDER, - V_TRANSLATOR, V_PHONEMES, V_DICTIONARY, V_VARIANTS, @@ -127,7 +126,6 @@ static MNEM_TAB keyword_tab[] = { { "formant", V_FORMANT }, { "pitch", V_PITCH }, { "phonemes", V_PHONEMES }, - { "translator", V_TRANSLATOR }, { "dictionary", V_DICTIONARY }, { "stressLength", V_STRESSLENGTH }, { "stressAmp", V_STRESSAMP }, @@ -649,17 +647,6 @@ voice_t *LoadVoice(const char *vname, int control) current_voice_selected.age = age; } break; - case V_TRANSLATOR: - if (tone_only) break; - - sscanf(p, "%s", translator_name); - - if (new_translator != NULL) - DeleteTranslator(new_translator); - - new_translator = SelectTranslator(translator_name); - langopts = &new_translator->langopts; - break; case V_DICTIONARY: // dictionary sscanf(p, "%s", new_dictionary); break;