diff --git a/CHANGELOG.md b/CHANGELOG.md index c2df7719..3a1ff18c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -29,6 +29,7 @@ new languages: * ltg (Latgalian) -- Valdis Vitolins * uk (Ukrainian) -- Valdis Vitolins * qu (Quechua) -- Valdis Vitolins +* tk (Turkmen) -- boracasli98, Valdis Vitolins ### 1.50 - 2019-11-29 diff --git a/Makefile.am b/Makefile.am index 8c7027fc..fd5a8396 100644 --- a/Makefile.am +++ b/Makefile.am @@ -393,6 +393,7 @@ phsource/phonemes.stamp: \ phsource/ph_telugu \ phsource/ph_tibetan \ phsource/ph_turkish \ + phsource/ph_turkmen \ phsource/ph_urdu \ phsource/ph_uzbek \ phsource/ph_vietnam \ @@ -844,6 +845,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 +tk: espeak-ng-data/tk_dict +espeak-ng-data/tk_dict: dictsource/tk_list dictsource/tk_listx dictsource/tk_rules dictsource/tk_extra + tn: espeak-ng-data/tn_dict espeak-ng-data/tn_dict: dictsource/tn_list dictsource/tn_rules dictsource/tn_extra diff --git a/dictsource/tk_list b/dictsource/tk_list new file mode 100644 index 00000000..91019565 --- /dev/null +++ b/dictsource/tk_list @@ -0,0 +1,31 @@ +// Letters +_a A +_ä & +b b'E +ç tS'E +d d'E +_e E +f f,'E +g g'E +h h'E +_i I +j dZ'E +k k'A +l 'El +m 'Em +n 'En +ň 'EN +_o o +_ö W +p p'E +r E'R +s T'E +ş S'E +t t'E +_u U +_ü Y +w B'E +_y @ +ý j'E +z D'E +ž Z'E diff --git a/dictsource/tk_rules b/dictsource/tk_rules new file mode 100644 index 00000000..5cd47805 --- /dev/null +++ b/dictsource/tk_rules @@ -0,0 +1,119 @@ +// This file is UTF8 encoded +// Spelling to phoneme rules for Turkmen language + +// Letter groups +.L01 a o u y +.L02 ä e i ö ü + +.replace +// Replace non-standard letters + ñ ň + ÿ ý + +.group a + a A + +.group ä + ä & + +.group b + b b + +.group ç + ç tS + +.group d + d d + +.group e + e e + +.group f + f f, + +.group g + g g + g (L01 Q" + g (L02 g + L01) g Q" + L02) g g + +.group h + h h + h (L01 x + h (L02 h + L01) h x + L02) h h + +.group i + i i + +.group j + j dZ + +.group k + k k + k (L01 q + k (L02 k + L01) k q + L02) k k + +.group l + l l + l (L01 L + l (L02 l + L01) l L + L02) l l + +.group m + m m + +.group n + n n + +.group ň + ň N + +.group o + o o + +.group ö + ö W + +.group p + p p + +.group r + r R + +.group s + s T + +.group ş + ş S + +.group t + t t + ts ts + +.group u + u U + +.group ü + ü Y + üý Y: + +.group w + w B + +.group y + y @ + +.group ý + ý j + +.group z + z D + +.group ž + ž Z diff --git a/docs/languages.md b/docs/languages.md index 0c05d4a7..49b2a043 100644 --- a/docs/languages.md +++ b/docs/languages.md @@ -8,7 +8,7 @@ and dialects, [private-use extensions](https://raw.githubusercontent.com/espeak-ng/bcp47-data/master/bcp47-extensions) have been used. -The 115 supported languages and accents are: +The 116 supported languages and accents are: | Family Code | Identifier | Language Family | Language | Accent/Dialect | |-------------|-------------------|-----------------------|-----------------------------|------------------------| @@ -118,6 +118,7 @@ The 115 supported languages and accents are: | `bnt` | `sw` | Bantu | Swahili | | | `gmq` | `sv` | North Germanic | Swedish | | | `dra` | `ta` | Dravidian | Tamil | | +| `trk` | `tk` | Turkic | Turkmen\[5\] | | | `trk` | `tt` | Turkic | Tatar | | | `dra` | `te` | Dravidian | Telugu | | | `trk` | `tr` | Turkic | Turkish | | @@ -135,3 +136,7 @@ The 115 supported languages and accents are: \[3\] Currently, only Hiragana and Katakana are supported. \[4\] Only Cherokee-English Dictionary fully annotated UTF-8 pronunciations are supported. Syllabary is not supported. + +\[5\] With Latin alphabet. + + diff --git a/espeak-ng-data/lang/trk/tk b/espeak-ng-data/lang/trk/tk new file mode 100644 index 00000000..795413a3 --- /dev/null +++ b/espeak-ng-data/lang/trk/tk @@ -0,0 +1,2 @@ +name Turkmen +language tk diff --git a/phsource/ph_turkmen b/phsource/ph_turkmen new file mode 100644 index 00000000..574feb87 --- /dev/null +++ b/phsource/ph_turkmen @@ -0,0 +1,12 @@ +phoneme A + vwl starttype #a endtype #a + length 200 + FMT(vowel/aa_9) +endphoneme + +phoneme & + vwl starttype #a endtype #a + flag1 + length 200 + FMT(vowel/ee_2) +endphoneme diff --git a/phsource/phonemes b/phsource/phonemes index a7cb09af..2952043a 100644 --- a/phsource/phonemes +++ b/phsource/phonemes @@ -2013,6 +2013,9 @@ phonemetable uk ru phonemetable az tr include ph_azerbaijani +phonemetable tk tr +include ph_turkmen + phonemetable pt-pt pt include ph_portugal @@ -2026,4 +2029,4 @@ phonemetable sd ur include ph_sindhi phonemetable uz kk -include ph_uzbek \ No newline at end of file +include ph_uzbek diff --git a/tests/language-pronunciation.test b/tests/language-pronunciation.test index 0a920262..9ae4ffe0 100755 --- a/tests/language-pronunciation.test +++ b/tests/language-pronunciation.test @@ -232,6 +232,8 @@ test_phonemes te "Telu" "n'e:nu g'a:Ju t'inag,alanu m'ariju 'ala: c'e:sina: n'a: test_phonemes tn "Latn" "B'aTU B'oKl B'a ts'i:tswl B'a g,olUl,os-'igill_:_: ll g'o l,ekallk'ana k'a s-'iRiti_:_: ll d,itSwan'elU B'a_| aB'etswl g'o_| ak'an^a_:_: ll _|m,aik'ul#U ,m-ml B'a tSwan'ets-i g'o d,iRll'ana k'a _|m'owa_! wa B,okaul'eNgwl" "Batho botlhe ba tsetswe ba gololosegile le go lekalekana ka seriti le ditshwanelo. Ba abetswe go akanya le maikutlo, mme ba tshwanetse go direlana ka mowa wa bokaulengwe." +test_phonemes tk "Latn" "tYRkm'&ntSE +t'YRkm&n d'ilI" "Türkmençe, Türkmen dili" test_phonemes tr "Latn" "piZ'amaL@ hast'a j'a:@z SofW*'E tSabudZ'ak Jyv&nd'I SISlid'E byj'Yk tS'Wp j@:@nLa*'@" "Pijamalı hasta yağız şoföre çabucak güvendi. Şişli’de büyük çöp yığınları." test_phonemes tt "Cyrl" "b0rL'Vq keSel'&r d'& 0z'0t h'&m 'yz 0brujLAr'V h'&m xoquqLAr'V jAGVnn'An t'iN bup'Vp tuAp'Ar