@@ -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 | |||