mirror of
https://github.com/rhasspy/espeak-ng.git
synced 2026-10-31 05:35:35 +00:00
ba: add initial support for Bashkir language
This commit is contained in:
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user