| @@ -45,6 +45,7 @@ emoji: | |||
| new languages: | |||
| * ba (Bashkir) -- tc-dl, Valdis Vitolins | |||
| * hak (Hakka Chinese) -- Chen Chien-ting | |||
| * ht (Haitian Creole) -- Valdis Vitolins | |||
| * kk (Kazakh) -- boracasli14, Valdis Vitolins | |||
| @@ -459,6 +459,7 @@ dictionaries: \ | |||
| espeak-ng-data/ar_dict \ | |||
| espeak-ng-data/as_dict \ | |||
| espeak-ng-data/az_dict \ | |||
| espeak-ng-data/ba_dict \ | |||
| espeak-ng-data/bg_dict \ | |||
| espeak-ng-data/bn_dict \ | |||
| espeak-ng-data/bpy_dict \ | |||
| @@ -564,6 +565,9 @@ espeak-ng-data/as_dict: dictsource/as_list dictsource/as_rules dictsource/as_ext | |||
| az: espeak-ng-data/az_dict | |||
| espeak-ng-data/az_dict: dictsource/az_list dictsource/az_rules dictsource/az_extra dictsource/az_emoji | |||
| ba: espeak-ng-data/ba_dict | |||
| espeak-ng-data/ba_dict: dictsource/ba_list dictsource/ba_rules | |||
| bg: espeak-ng-data/bg_dict | |||
| espeak-ng-data/bg_dict: dictsource/bg_list dictsource/bg_listx dictsource/bg_rules dictsource/bg_extra dictsource/bg_emoji | |||
| @@ -0,0 +1,82 @@ | |||
| // This file is UTF8 encoded | |||
| // Spelling-to-phoneme rules for Bashkir | |||
| // Letters | |||
| б be | |||
| в we | |||
| г ge | |||
| д de | |||
| е je | |||
| ё jo | |||
| ж Ze | |||
| җ Z;e | |||
| з ze | |||
| и i | |||
| й kVsk,A'i | |||
| к kA | |||
| л el | |||
| м em | |||
| н en | |||
| ң eN | |||
| о o: | |||
| ө W: | |||
| п pe | |||
| р er | |||
| с es | |||
| т te | |||
| у u | |||
| ү y | |||
| ф ef | |||
| х xA | |||
| һ he | |||
| ц tse | |||
| ч S;e | |||
| ш SA | |||
| щ SS;A | |||
| ъ kAlVnl,Vqbilges'e | |||
| ы V: | |||
| ь neS;k&l,ekbilges'e | |||
| э e|: | |||
| ю ju | |||
| я jA | |||
| // Numbers | |||
| _0 n'ul? | |||
| _1 b'er | |||
| _2 ik'e | |||
| _3 'WS; | |||
| _4 d'yrt | |||
| _5 b'iS | |||
| _6 Alt'V | |||
| _7 Z;id'e | |||
| _8 sig'ez | |||
| _9 tug'Vz | |||
| _10 'un | |||
| _11 unb'er | |||
| _12 unik'e | |||
| _13 un'WS; | |||
| _14 und'yrt | |||
| _15 unb'iS | |||
| _16 unAlt'V | |||
| _17 unZ;id'e | |||
| _18 unsig'ez | |||
| _19 untug'Vz | |||
| _2X egerm'e | |||
| _3X ut'Vz | |||
| _4X kVr'Vk | |||
| _5X ill'e | |||
| _6X Altm'VS | |||
| _7X Z;itm'eS | |||
| _8X siks'&n | |||
| _9X tuks'An | |||
| _0C j'Wz | |||
| _0M1 m'eN | |||
| _0M2 milli'on | |||
| _1M2 milli'on | |||
| _0M3 milli'Ard | |||
| _1M3 milli'Ard | |||
| _0M4 billi'on | |||
| _1M4 billi'on | |||
| _dpt _bWt,en | |||
| @@ -0,0 +1,133 @@ | |||
| // This file is UTF8 encoded | |||
| // Spelling-to-phoneme rules for Bashkir | |||
| .group а | |||
| а A | |||
| .group ә | |||
| ә & | |||
| әе e: // 'әнкәен' | |||
| .group б | |||
| б b | |||
| .group в | |||
| в w // [v] in Russian words | |||
| .group г | |||
| г g // changes to [Q] or [Q"] | |||
| .group д | |||
| д d | |||
| .group е | |||
| _) е je2 // changes to [je] or [jV] | |||
| е e | |||
| .group ё | |||
| ё jo | |||
| .group ж | |||
| ж Z | |||
| .group җ | |||
| җ Z; | |||
| .group з | |||
| з z | |||
| .group и | |||
| и i | |||
| A) и j | |||
| .group й | |||
| й j | |||
| K) й (K I // not next to a vowel | |||
| .group к | |||
| к k | |||
| .group л | |||
| л l | |||
| .group м | |||
| м m | |||
| .group н | |||
| н n | |||
| // н (к N | |||
| н (г N | |||
| н (х N | |||
| .group ң | |||
| ң N | |||
| .group о | |||
| о o | |||
| .group ө | |||
| ө W | |||
| .group п | |||
| п p | |||
| .group р | |||
| р r | |||
| .group с | |||
| с s | |||
| .group т | |||
| т t | |||
| .group у | |||
| у u // or w | |||
| A) у w | |||
| .group ү | |||
| ү y // or w | |||
| A) ү w | |||
| .group ф | |||
| ф f | |||
| .group х | |||
| х x | |||
| .group һ | |||
| һ h | |||
| .group ц | |||
| ц ts | |||
| .group ч | |||
| ч S; | |||
| .group ш | |||
| ш S | |||
| .group щ | |||
| щ SS; | |||
| .group ъ | |||
| ъ ? | |||
| .group ы | |||
| ы V | |||
| ый Vj // need a diphthong phoneme ?? | |||
| .group ь | |||
| ь ? | |||
| .group э | |||
| э e | |||
| .group ю | |||
| ю ju2 // changes to ju or jy | |||
| .group я | |||
| я ja // changes to jA or j& | |||
| .group | |||
| $ dolAR | |||
| @@ -0,0 +1,2 @@ | |||
| name Bashkir | |||
| language ba | |||
| @@ -0,0 +1,163 @@ | |||
| // use 'flag1' for front vowels, 'flag2' for back vowels | |||
| phoneme i | |||
| vwl flag1 starttype #i endtype #i | |||
| length 180 | |||
| FMT(vowel/i) | |||
| endphoneme | |||
| phoneme y | |||
| vwl flag1 starttype #u endtype #u | |||
| length 180 | |||
| FMT(vowel/y) | |||
| endphoneme | |||
| phoneme u | |||
| vwl flag2 starttype #u endtype #u | |||
| length 180 | |||
| FMT(vowel/u) | |||
| endphoneme | |||
| phoneme e | |||
| vwl flag1 starttype #@ endtype #@ | |||
| length 110 | |||
| FMT(vowel/ii#) | |||
| endphoneme | |||
| phoneme W | |||
| vwl flag1 starttype #@ endtype #@ | |||
| length 110 | |||
| FMT(vowel/oe) | |||
| endphoneme | |||
| phoneme o | |||
| vwl flag2 starttype #o endtype #o | |||
| length 110 | |||
| FMT(vowel/o_mid) | |||
| endphoneme | |||
| phoneme V | |||
| vwl flag2 starttype #@ endtype #@ | |||
| length 110 | |||
| ipa ɯ | |||
| FMT(vowel/@_2) | |||
| endphoneme | |||
| phoneme & | |||
| vwl flag1 starttype #e endtype #e | |||
| length 180 | |||
| FMT(vowel/ee) | |||
| endphoneme | |||
| phoneme A | |||
| vwl flag2 starttype #a endtype #a | |||
| length 180 | |||
| IF NOT nextPhW(w) AND NOT thisPh(isTranslationGiven) THEN | |||
| IF thisPh(isFirstVowel) THEN | |||
| ChangePhoneme(0) | |||
| ENDIF | |||
| IF prevVowel(0) AND thisPh(isSecondVowel) THEN | |||
| ChangePhoneme(0) | |||
| ENDIF | |||
| ENDIF | |||
| FMT(vowel/aa_8) | |||
| endphoneme | |||
| phoneme 0 | |||
| vwl flag2 starttype #o endtype #o | |||
| length 180 | |||
| FMT(vowel/0_3) | |||
| endphoneme | |||
| phoneme e: | |||
| vwl flag1 starttype #e endtype #e | |||
| length 240 | |||
| FMT(vowel/e_6) | |||
| endphoneme | |||
| phoneme I | |||
| vwl flag1 starttype #i endtype #i | |||
| length 110 | |||
| FMT(vowel/ii) | |||
| endphoneme | |||
| phoneme a // letter 'я' | |||
| vwl starttype #a endtype #a | |||
| length 180 | |||
| IF prevVowel(isFlag1) OR nextVowel(isFlag1) THEN // front vowels | |||
| ChangePhoneme(&) | |||
| ENDIF | |||
| ChangePhoneme(A) | |||
| endphoneme | |||
| phoneme u2 // letter 'ю' | |||
| vwl starttype #u endtype #u | |||
| length 180 | |||
| IF prevVowel(isFlag1) OR nextVowel(isFlag1) THEN | |||
| ChangePhoneme(y) | |||
| ELSE | |||
| ChangePhoneme(u) | |||
| ENDIF | |||
| endphoneme | |||
| phoneme e2 // 'e' at start of word | |||
| vwl starttype #@ endtype #@ | |||
| length 100 | |||
| IF nextVowel(isFlag2) THEN | |||
| ChangePhoneme(V) | |||
| ELSE | |||
| ChangePhoneme(e) | |||
| ENDIF | |||
| endphoneme | |||
| // Consonants | |||
| phoneme r | |||
| import_phoneme base1/R2 | |||
| endphoneme | |||
| phoneme t | |||
| import_phoneme base2/t | |||
| endphoneme | |||
| phoneme d | |||
| import_phoneme base1/d[ | |||
| endphoneme | |||
| phoneme k | |||
| vls vel stp | |||
| IF prevVowel(isFlag2) OR nextVowel(isFlag2) THEN // back vowels | |||
| ChangePhoneme(q) | |||
| ENDIF | |||
| CALL base1/k | |||
| endphoneme | |||
| phoneme G | |||
| import_phoneme base1/Q" | |||
| endphoneme | |||
| phoneme g | |||
| vcd vel frc | |||
| IF prevVowel(isFlag2) OR nextVowel(isFlag2) THEN | |||
| ChangePhoneme(G) | |||
| ELSE | |||
| ChangePhoneme(Q) | |||
| ENDIF | |||
| endphoneme | |||
| phoneme l | |||
| liquid | |||
| IF prevVowel(isFlag2) OR nextVowel(isFlag2) THEN | |||
| ChangePhoneme(L) | |||
| ENDIF | |||
| CALL base1/l | |||
| endphoneme | |||
| @@ -1686,6 +1686,9 @@ include ph_amhari | |||
| phonemetable ar base1 | |||
| include ph_arabic | |||
| phonemetable ba base1 | |||
| include ph_bashkir | |||
| phonemetable cy base1 | |||
| include ph_welsh | |||