Browse Source

add Tigrinya Language to espeak-ng (#1845)

master
Biniam G 1 year ago
parent
commit
0dfd1d77dd
No account linked to committer's email address
10 changed files with 2448 additions and 1 deletions
  1. 1
    0
      ChangeLog.md
  2. 4
    0
      Makefile.am
  3. 1
    1
      cmake/data.cmake
  4. 1824
    0
      dictsource/ti_emoji
  5. 40
    0
      dictsource/ti_list
  6. 429
    0
      dictsource/ti_rules
  7. 5
    0
      espeak-ng-data/lang/sem/ti
  8. 140
    0
      phsource/ph_tigrinya
  9. 3
    0
      phsource/phonemes
  10. 1
    0
      tests/language-phonemes.test

+ 1
- 0
ChangeLog.md View File

@@ -39,6 +39,7 @@ updated languages:
* uz (Uzbek) -- Andiv06

new languages:
* ti (Tigrinya) -- Biniam Gebremichael
* mto (Totontepec Mixe) -- Bill Dengler, Elizabeth Resendiz

### 1.51

+ 4
- 0
Makefile.am View File

@@ -545,6 +545,7 @@ dictionaries: \
espeak-ng-data/sw_dict \
espeak-ng-data/ta_dict \
espeak-ng-data/te_dict \
espeak-ng-data/ti_dict \
espeak-ng-data/th_dict \
espeak-ng-data/tk_dict \
espeak-ng-data/tn_dict \
@@ -890,6 +891,9 @@ espeak-ng-data/ta_dict: dictsource/ta_list dictsource/ta_rules dictsource/ta_ext
te: espeak-ng-data/te_dict
espeak-ng-data/te_dict: dictsource/te_list dictsource/te_rules dictsource/te_extra dictsource/te_emoji

ti: espeak-ng-data/ti_dict
espeak-ng-data/ti_dict: dictsource/ti_list dictsource/ti_rules dictsource/ti_extra dictsource/ti_emoji

th: espeak-ng-data/th
espeak-ng-data/th: dictsource/th dictsource/th dictsource/te_extra


+ 1
- 1
cmake/data.cmake View File

@@ -18,7 +18,7 @@ list(APPEND _dict_compile_list
qdb quc qu qya
ro ru
sd shn si sjn sk sl smj sq sr sv sw
ta te th tk tn tr tt
ta te ti th tk tn tr tt
ug uk ur uz
vi
yue

+ 1824
- 0
dictsource/ti_emoji
File diff suppressed because it is too large
View File


+ 40
- 0
dictsource/ti_list View File

@@ -0,0 +1,40 @@
// Spelling-to-phoneme rules for Amharic
// This file is UTF-8 encoded
// all words lower case

//numbers

_0 z'ero // b'ado ??
_1 X'ade
_2 kyl'yt@
_3 s@l@syt@
_4 ?aRba'Ate
_5 xamu'Syte
_6 Su'du'Syte
_7 S@wyAate
_8 So'momyte
_9 ty'SyAate
_10 Aa'seryte
_12 Aa'seryte'kylyt@
_1X ?a'seryte
_2X Ay'sera
_3X sal'asa
_4X ?arbAa
_5X Xamsa
_6X susa
_7X sebAa
_8X s@m'anja
_9X t@sAa
_0C mi'ti
_0M1 S'ix
_0M2 m'ilyon
_0M3 b'ilyon

_dpt _n'@t`yb

% p@rs'@nt
። ?aRba'Aten@T'ybi
፣ ne'@t`@las@r@z
፤ d'yryBys@r@z
፧ xto'mylykyt


+ 429
- 0
dictsource/ti_rules View File

@@ -0,0 +1,429 @@
// Spelling-to-phoneme rules for Amharic
// This file is UTF-8 encoded
// all words lower case

.group 0xe188 // characters U+1200 to U+123f
ሀ h@
ሁ hu
ሂ hi
ሃ ha
ሄ he
ህ hy
@) ህ (_ x
ሆ ho
ለ l@
ሉ lu
ሊ li
ላ la
ሌ le
ል ly
@) ል (_ l
ሎ lo
ሏ lua

ሐ \X@
ሑ \Xu
ሒ \Xi
ሓ \Xa
ሔ \Xe
ሕ \Xy
@) ሕ (_ x
ሖ \Xo
ሗ \Xwa

መ m@
ሙ mu
ሚ mi
ማ ma
ሜ me
ም my
@) ም (_ m
ሞ mo
ሟ mwa

ሠ s@
ሡ su
ሢ si
ሣ sa
ሤ se
ሥ sy
@) ሥ (_ s
ሦ so
ሧ swa

ረ r@
ሩ ru
ሪ ri
ራ ra
ሬ re
ር ry
@) ር (_ r
ሮ ro
ሯ rwa

ሰ s@
ሱ su
ሲ si
ሳ sa
ሴ se
ስ sy
@) ስ (_ s
ሶ so
ሷ swa

ሸ S@
ሹ Su
ሺ Si
ሻ Sa
ሼ Se
ሽ Sy
@) ሽ (_ S
ሾ So
ሿ Swa




.group 0xe189 // U+1240 to U+127F
ቀ k`@ // U+1240
ቁ k`u
ቂ k`i
ቃ k`a
ቄ k`e
ቅ k`y
@) ቅ (_ k`
ቆ k`o

ቈ k`w@
ቊ k`wi
ቋ k`wa
ቌ k`we
ቍ k`wy
@) ቍ (_ k`w



ቐ q@
ቑ qu
ቒ qi
ቓ qa
ቔ qe
ቕ qy
@) ቕ (_ q
ቖ qo

ቘ qw@
ቚ qwi
ቛ qwa
ቜ qwe
ቝ qwy
@) ቝ (_ qw

በ b@
ቡ bu
ቢ bi
ባ ba
ቤ be
ብ by
@) ብ (_ b
ቦ bo
ቧ bwa

ቨ v@
ቩ vu
ቪ vi
ቫ va
ቬ ve
ቭ vy
@) ቭ (_ v
ቮ vo
ቯ vwa

ተ t@
ቱ tu
ቲ ti
ታ ta
ቴ te
ት ty
@) ት (_ t
ቶ to
ቷ twa

ቸ tS@
ቹ tSu
ቺ tSi
ቻ tSa
ቼ tSe
ች tSy
@) ች (_ tS
ቾ tSo
ቿ tSwa



.group 0xe18a // U+1280 to U+12B7
ኀ h@
ኁ hu
ኂ hi
ኃ ha
ኄ he
ኅ hy
@) ኅ (_ x
ኆ ho

ኈ hw@
ኊ hwi
ኋ hwa
ኌ hwe
ኍ hwy
@) ኍ (_ hw

ነ n@
ኑ nu
ኒ ni
ና na
ኔ ne
ን ny
@) ን (_ n
ኖ no
ኗ nwa

ኘ n^@
ኙ n^u
ኚ n^i
ኛ n^a
ኜ n^e
ኝ n^y
@) ኝ (_ n^
ኞ n^o
ኟ n^wa

አ ?@ // U+12A0
ኡ ?u
ኢ ?i
ኣ ?a
ኤ ?e
_) እ ?y
እ ?'y
ኦ ?o
ኧ ?@

ከ k@ // U+12A8
ኩ ku
ኪ ki
ካ ka
ኬ ke
ክ ky
@) ክ (_ k
ኮ ko
ኰ kw@
ኲ kwi
ኳ kwa
ኴ kwe
ኵ kwy
@) ኵ (_ kw
ኸ x@
ኹ xu
ኺ xi
ኻ xa
ኼ xe
ኽ xy
@) ኽ (_ x
ኾ xo


.group 0xe18b // U+12C0 to U+12FF

ዀ xw@
ዂ xwi
ዃ xwa
ዄ xwe
ዅ xwy
@) ዅ (_ xw

ወ w@
ዉ wu
ዊ wi
ዋ wa
ዌ we
ው wy
@) ው (_ w
ዎ wo

ዐ A@
ዑ Au
ዒ Ai
ዓ Aa
ዔ Ae
ዕ A'y
@) ዕ (_ A'
ዖ Ao

ዘ z@
ዙ zu
ዚ zi
ዛ za
ዜ ze
ዝ zy
@) ዝ (_ z
ዞ zo
ዟ zwa

ዠ Z@
ዡ Zu
ዢ Zi
ዣ Za
ዤ Ze
ዥ Zy
@) ዥ (_ Z
ዦ Zo
ዧ Zwa

የ j@
ዩ ju
ዪ ji
ያ ja
ዬ je
ይ jy
@) ይ (_ j
ዮ jo

ደ d@
ዱ du
ዲ di
ዳ da
ዴ de
ድ dy
@) ድ (_ d
ዶ do
ዷ dwa

ዸ dd@ // ??
ዹ ddu
ዺ ddi
ዻ dda
ዼ dde
ዽ ddy
@) ዽ (_ dd
ዾ ddo
ዿ ddwa


.group 0xe18c // U+1300 to U+133F
ጀ dZ@
ጁ dZu
ጂ dZi
ጃ dZa
ጄ dZe
ጅ dZy
@) ጅ (_ dZ
ጆ dZo
ጇ dZwa

ገ g@
ጉ gu
ጊ gi
ጋ ga
ጌ ge
ግ gy
@) ግ (_ g
ጎ go

ጐ go
ጒ gwi
ጓ gwa
ጔ gwe
ጕ gwy
@) ጕ (_ gw

ጘ N@
ጙ Nu
ጚ Ni
ጛ Na
ጜ Ne
ጝ Ny
@) ጝ (_ N
ጞ No

ጠ t`@
ጡ t`u
ጢ t`i
ጣ t`a
ጤ t`e
ጥ t`y
@) ጥ (_ t`
ጦ t`o
ጧ t`wa

ጨ tS`@
ጩ tS`u
ጪ tS`i
ጫ tS`a
ጬ tS`e
ጭ tS`y
@) ጭ (_ tS`
ጮ tS`o
ጯ tS`wa

ጰ p`@
ጱ p`u
ጲ p`i
ጳ p`a
ጴ p`e
ጵ p`y
@) ጵ (_ p`
ጶ p`o
ጷ p`wa

ጸ ts@
ጹ tsu
ጺ tsi
ጻ tsa
ጼ tse
ጽ tsy
@) ጽ (_ ts
ጾ tso
ጿ tswa


.group 0xe18d // U+1340 to U+137F
ፀ ts@
ፁ tsu
ፂ tsi
ፃ tsa
ፄ tse
ፅ tsy
@) ፅ (_ ts
ፆ tso

ፈ f@
ፉ fu
ፊ fi
ፋ fa
ፌ fe
ፍ fy
@) ፍ (_ f
ፎ fo
ፏ fwa

ፐ p@ // U+1350
ፑ pu
ፒ pi
ፓ pa
ፔ pe
ፕ py
@) ፕ (_ p
ፖ po
ፗ pwa

ፘ rj@
ፙ mj@
ፚ fj@


.group
$ dolar


+ 5
- 0
espeak-ng-data/lang/sem/ti View File

@@ -0,0 +1,5 @@
name Tigrinya
language ti

maintainer Biniam Gebremichael <[email protected]>
status testing

+ 140
- 0
phsource/ph_tigrinya View File

@@ -0,0 +1,140 @@

//====================================================
// Tigrinya (Eritrea and Ethiopia)
//====================================================


phoneme i
vwl starttype #i endtype #i
length 200
IfNextVowelAppend(;)
FMT(vowel/ii_5)
endphoneme

phoneme e
vwl starttype #e endtype #e
length 220
FMT(vowel/e_mid2)
endphoneme

phoneme y
vwl starttype #@ endtype #@
ipa ɨ
length 180

FMT(vowel/ii#_2)
endphoneme


phoneme a
vwl starttype #a endtype #a
length 220
IF nextPhW(isPalatal) THEN
FMT(vdiph/ai_5)
ENDIF
FMT(vowel/a_6)
endphoneme


phoneme @
vwl starttype #@ endtype #@
length 220
IF nextPhW(isPalatal) THEN
FMT(vdiph/@i_2)
ENDIF
FMT(vowel/@_3)
endphoneme


phoneme o
vwl starttype #o endtype #o
length 220
FMT(vowel/o-_4)
endphoneme


phoneme u
vwl starttype #u endtype #u
length 220
FMT(vowel/u_2)
endphoneme


phoneme r
import_phoneme base1/R2
endphoneme


phoneme p`
vls blb stp
lengthmod 2
voicingswitch b
Vowelin f1=0 f2=1000 -50 -100 f3=-200 80 gpaus
Vowelout f1=0 f2=1000 -500 -350 f3=-300 80 rms=30
WAV(ustop/p_unasp)
endphoneme


phoneme b
vcd blb stp
IF prevPhW(isVowel) AND nextPhW(isVowel) THEN
ChangePhoneme(B)
ENDIF
CALL base1/b
endphoneme


phoneme t`
vls alv stp
lengthmod 2
voicingswitch d
Vowelin f1=0 f2=1700 -300 300 f3=-100 80 gpaus
Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20
IF nextPh(isPause2) THEN
WAV(ustop/t_)
ENDIF
WAV(ustop/t_hi, 70)
endphoneme


phoneme tS`
vls pla afr sib
voicingswitch dZ
lengthmod 2
Vowelin f1=0 f2=1800 -200 200 f3=-100 80 gpaus

IF nextPh(isPause2) THEN
WAV(ustop/tsh_unasp, 80)
ENDIF
WAV(ustop/tsh_unasp, 80)
endphoneme


phoneme k`
vls vel stp
lengthmod 2
Vowelin f1=0 f2=1700 -250 250 f3= -200 80 gpaus f4
Vowelout f1=0 f2=2300 300 400 f3=-200 80 rms=20
WAV(ustop/k_ejc, 60)
endphoneme


phoneme x
vls vel frc
lengthmod 3
IF prevPhW(#i) THEN
ChangePhoneme(C)
ELSE
CALL base1/x
ENDIF
endphoneme

phoneme A // Tigrinya Aamet (year)
vcd frc
ipa ʕ
voicingswitch a
length 160
Vowelin f1=2 f2=2300 -400 500 f3=300 80
Vowelout f1=2 f2=2300 -300 450 f3=-100 10
FMT(r/xr,25) addWav(h/h_,30)
endphoneme

+ 3
- 0
phsource/phonemes View File

@@ -1805,6 +1805,9 @@ include ph_swedish
phonemetable sw base1
include ph_swahili

phonemetable ti base1
include ph_tigrinya

phonemetable tn base1
include ph_setswana


+ 1
- 0
tests/language-phonemes.test View File

@@ -133,6 +133,7 @@ test_phwav sv 520bab254d665ddf72f7e792cbc9591f911b90ed "m#a ma n#a na n^#a n^a N
test_phwav sw 2712335a0acb022988879b6cedba2ee9ef158659 "ma na Na pa ta ka ba da ga fa Ta sa Sa xa ha va Da za Za tSa dZa la ra ja wa t2a t#a d#a z#a r-a z/2a w#a m- n- N- _:_ mI mE ma m0 mV mU mi: mA: mO: mu: m3: mA@ mO@ mo@ mU@ mi@3 mIR mVR mi@ me@ mi m@ m3 me# mI# mI2 meI maI mOI moU maU maa mO2 maI@ maI3 maU@"
test_phwav ta 910d08d60dacd0a287437cd03f8e4510bc41ed8f "ma na n.a n^a Na pa p#a ba b#a ta t#a da d#a t.a t.#a d.a d.#a ka k#a ga g#a fa va sa S;a s.a ca c#a Ja J#a ha ja ra la l.a r-a _:_ ma ma: mi mi: mu mu: me me: mo mo: maI"
test_phwav te 214fbe8ac3508d7cd92c01bdcceee135b6bc47f3 "ma na n.a n^a Na pa p#a ba b#a ta t#a da d#a t.a t.#a d.a d.#a ka k#a ga g#a fa va sa S;a s.a ca c#a Ja J#a ha ja ra la l.a r-a _:_ ma ma: mi mi: mu mu: me me: mo mo: maI"
test_phwav ti 6fc09a43bb580d38b220fc9756ec6ea70789815d "ma na Na pa ta ka ?a ba da ga p\`a t\`a k\`a tSa dZa tS\`a Ba sa za Sa Za xa ha la ja wa ra _:_ mi me my ma m@ mo mu Xa Aa"
test_phwav th bd61d637711c32abcfee03b2d8d332f6442efcff "ma na Ja Na pa p_ha ba ta t_ha da ka k_ha ga ?a fa sa za Ta ha tS;a Ra ja wa la _:_ mi mI mW mu me m@ mo mE ma ma: mO miu meu mEu mau ma:u mWi mui m@i moi mai ma:i mOi maW _:_ ma1 ma2 ma3 ma4 ma5 ma6"
test_phwav tk f67686d7831f044796e917f0fd50e63d74757b34 "ma na pa ba ta da tSa dZa tsa dza ca Ja Ca ka ga fa va sa za Sa Za xa Qa ha la ja wa Ra *a _:_ mi me m& my mW mu mo ma m@"
test_phwav tn 206f0e832cc4a5fa19dc3917752e1d5b274047d4 "ma na Na pa ta ka ba da ga fa Ta sa Sa xa ha va Da za Za tSa dZa la ra ja wa t2a t#a d#a z#a r-a z/2a w#a m- n- N- _:_ mI mE ma m0 mV mU mi: mA: mO: mu: m3: mA@ mO@ mo@ mU@ mi@3 mIR mVR mi@ me@ mi m@ m3 me# mI# mI2 meI maI mOI moU maU maa mO2 maI@ maI3 maU@"

Loading…
Cancel
Save