diff --git a/dictsource/uk_list b/dictsource/uk_list index d81b9ac5..8e7a72b6 100644 --- a/dictsource/uk_list +++ b/dictsource/uk_list @@ -1,82 +1,225 @@ -// This file is UTF8 encoded -// Spelling-to-phoneme words for Ukrainian +// This file is UTF-8 encoded +/// pronunciation of signs, numbers and exceptional words +// Author: Andrij Mizyk , 2022 -// Letter names -а a -_б bE -б bE $atend -_в vE -в vE $atend -г gE -ґ gE -д dE -е e -є je -_ж ZE -ж ZE $atend -з zE -и i -і i -ї ji -й jot -к kA -л El -м Em -н En_ -о o -п pE -р Er -_с Es -с Es $atend -т tE -у u -ф Ef -х xA -ц tsE -ч tS;e -ш SA -щ S;ja -ь m;'jak;I#jzn'Ak -ю ju -я ja +// all words must be LOWER CASE (although the initial letter will be +// automatically converted if it's a 7bit ascii character) +// +// You can use the uk_extra file, rather than this one +// to add your own pronunciation definitions. +// +// if they are spoken as a single character in text precede by _ +// to distinguish from pronunciation as a language word -// Numbers -_0 nul;j -_1 od;'in -_2 dv'a -_3 tR;'i -_4 tS;otiR;i -_5 p;j'at; -_6 S'is;t; -_7 s;'im -_8 v'is;im -_9 d;'evjat; -_10 d;'esjat; -_11 od;'inadtsjat; -_12 dv;'anadtsjat; -_13 trin'adtsjat; -_14 tSot'irnadtsjat; -_15 pjatn'adtsjat; -_16 Sistn'adtsjat; -_17 simn'adtsjat; -_18 visimn'adtsjat; -_19 d;ev;jatn'adtsjat; -_2X dv'adtsjat; -_3X tr'idtsjat; -_4X s'orok -_5X pjatdesj'at; -_6X Sistdesj'at; -_7X s;imd;es;jat; -_8X vis;imdesj;at; -_9X d;ev;jan'osto -_0C st'o -_2C dv;'es;t;I -_3C tr;'ista -_4C tS;It'yr;esta -_5C p;,It;s'ot -_6C S,es;t;s'ot -_7C s;,Ims'ot -_8C vOs;Ims'ot -_9C d;ev;Vts'ot -_0M1 t'isjatSa -_dpt _:'i_: + +// CHARACTERS +//*********** + +! zn'ak||'okleku +" podv'i:jna||l'apka +# RES'i:tka +$ d'olaR +% vi:ds'otok +& ampeRs'and +//' odIn'aRna||l'apka +//( Bi:dkR'eta||d'uZka +//) zakR'eta||d'uZka +* z'i:RotSka ++ pl^'us +, k'oma +- m'i:nus +. kR'apka +/ kos'a||R'Iska +: dB'i:||kR'apkI +; kR'apka||z||k'omoju +< m'EnSE += R'i:vnE +> b'i:l^SE +//? zn'ak||pIt'an:ja // не читає +@ sob'atSka +[ Bi:dkR'eta||kBadR'atna||d'uZka +\ ob'ERnEna||kos'a||R'Iska +] zakR'eta||kBadR'atna||d'uZka +^ daS'ok +\\_ n'IZn^e||pi:dkR'EslEn:ja +` hRaf'i:s +{ B'i:dkReta||fi:h'uRna||d'uZka +| BERtIk'al^na||R'Iska +} zakR'eta||fi:h'uRna||d'uZka +~ t'Il^da +ʼ ap'ostRof +« B'i:dkRIti:||lapk'I +» z'akRIti:||lapk'I +… tR'e||kR'apkI + + +// NUMBERS +//******** + +_0 n'ul^ +_1 od'en +_2 dB'a +_3 tR'I +_4 tSot'eRe +_5 pj'at; +_6 S'i:st; +_7 s'i:m +_8 v'i:si:m +_9 d'Evjat; + +_10 d'Esjat; +_11 oden'adsjat; +_12 dvan'adsjat; +_13 tRen'adsjat; +_14 tSoteRn'adsjat; +_15 pjatn'adsjat; +_16 Si:stn'adsjat; +_17 si:mn'adsjat; +_18 vi:si:mn'adsjat; +_19 devjatn'adsjat; +_2X dv'adsjat; +_3X tR'edsjat; +_4X s'oRok +_5X pjatdesj'at; +_6X Si:stdesj'at; +_7X si:mdesj'at; +_8X vi:si:mdesj'at; +_9X devjan'osto +_1C st'o +_2C dv'i:sti: +_3C tR'esta +_4C tSot'eResta +_5C pjats'ot +_6C Si:sts'ot +_7C si:ms'ot +_8C vi:si:ms'ot +_9C devjats'ot + +// large numbers, short scale +_0C st'o +_0M1 t'esjatSa +_0M2 mi:l;j'on +_0M3 bi:l;j'on +_0M4 tRel;j'on +_0M5 kvadRal;j'on +_0M6 kvi:ntel;j'on +_0M7 sEkstel;j'on +_0M8 sEptel;j'on +_0M9 oktel;j'on +_0M10 nonel;j'on + + +// LETTERS +//******** + +_б bE +_в BE +г hE +ґ gE +д dE +_ж ZE +_з zE +_й jot +к ka +л El^ +м Em +н En +п pE +р ER +с Es +т tE +ф Ef +х xa +ц tsE +ч tSa +ш Sa +щ StSa +ь m|jak'Ij||zn'ak + + +// ABBREVIATIONS +//************** + +зсу $abbrev + + +// MAIN WORD DICTIONARY +//********************* + +// дні +вівторок $2 +середа $2 +четвер $2 +пʼятниця $1 + +// місяці +березень $1 +вересень $1 + +// свята +різдво $2 + +// міста +вінниця $1 +дніпро $2 +запоріжжя $3 +ужгород 'uZhoRod +херсон $2 +чернівці $3 + +// країни +україна $3 +австрія $1 +англія $1 +боснія $1 +герцеговина $4 +греція $1 +грузія $2 +данія $1 +латвія $1 +литва $2 +нідерланди $3 +сербія $1 +франція $1 +чехія $1 +швеція $1 + +//------------- + +або $2 +ага $2 +агов $2 +але $2 +були $2 +було $2 +вʼїзд v|j'i:zd +вона $2 +вони $2 +воно $2 +дякую $1 +їй ji:j +їм ji:m +їх ji:x +його $2 +коли $2 +лише $2 +отож $2 +проте $2 +себе $2 +таких $2 +тепер $2 +тому $2 +хоча $2 +чогось $2 +чому $2 +яка $2 +якби $2 +який $2 +якийсь $2 +яким $2 +яких $2 +які $2 +якось $2 +якщо $2 + +// diff --git a/dictsource/uk_rules b/dictsource/uk_rules index fcbd512d..68ab70cb 100644 --- a/dictsource/uk_rules +++ b/dictsource/uk_rules @@ -1,112 +1,118 @@ -// This file is UTF8 encoded -// Translation rules for Ukrainian - -// Special characters: -// A vowel: а е ё и о у ы э ю я ә ө ұ ү і -// B soft consonant: ь й ч щ -// C any consonant: б в г д ж з й к л м н п р с т ф х ц ч ш щ ъ ь қ ң һ -// F consonant, not hard: б в г д з й к л м н п р с т ф х ч щ ь -// G voiced: б в г д ж з -// H hard consonant: ъ ж ц ш -// Y iotated vowel, softsign: ь ю я ё +// This file is UTF-8 encoded +/// Spelling to phoneme words and exceptions for Ukrainian +// Author: Andrij Mizyk , 2022 .group а - а a + а a .group б - б b + б b .group в - в v + в B .group г - г h + г h // вимовляється як середнє між г та х .group ґ - ґ g + ґ g .group д - д d + д d + дж dZ .group е - е e + е E .group є - є e + є jE .group ж - ж Z + ж Z .group з - з z + з z .group и - и i + и I .group і - і i + і i: .group ї - ї i - + ї ji: .group й - й j + й j .group к - к k + к k .group л - л l + л l + л (і l^ + лє l^E + лю l^u + ля l^a + ль l^ .group м - м m + м m .group н - н n + н n + н (і n^ + нє n^E + ню n^u + ня n^a + нь n^ .group о - о o + о o .group п - п p + п p .group р - р r + р R .group с - с s + с s .group т - т t + т t[ + ть t; .group у - у u + у u .group ф - ф f + ф f .group х - х x + х x .group ц - ц ts + ц ts .group ч - ч tS; + ч tS .group ш - ш S + ш S + ш (в l# // швеція .group щ - щ S; + щ StS .group ь - ь ; + ь ; .group ю - ю ju + ю ju .group я - я ja + я ja +.group ʼ + ʼ | \ No newline at end of file diff --git a/espeak-ng-data/lang/zle/uk b/espeak-ng-data/lang/zle/uk index a9c53661..b318c235 100644 --- a/espeak-ng-data/lang/zle/uk +++ b/espeak-ng-data/lang/zle/uk @@ -1,3 +1,7 @@ name Ukrainian language uk + +maintainer Andrij Mizyk status testing + +speed 80 \ No newline at end of file diff --git a/phsource/ph_ukrainian b/phsource/ph_ukrainian new file mode 100644 index 00000000..2cb0593b --- /dev/null +++ b/phsource/ph_ukrainian @@ -0,0 +1,38 @@ +//==================================================== +// Ukrainian +//==================================================== + +phoneme E + vwl starttype #a endtype #a + length 150 + IF nextPhW(n) THEN + ChangeIfDiminished(@) + ELSE + ChangeIfDiminished(I2) + ENDIF + FMT(vowel/ee) +endphoneme + +phoneme I + vwl starttype #i endtype #i + length 130 + IfNextVowelAppend(;) + FMT(vowel/ii) +endphoneme + +phoneme I2 // **i**ntend. As \[I\], but also indicates an unstressed syllable. + vwl starttype #i endtype #i + unstressed + length 130 + + IF MbrolaSynth THEN + ChangePhoneme(I) + ENDIF + + IfNextVowelAppend(;) + + IF thisPh(isAfterStress) AND thisPh(isFinalVowel) THEN + FMT(vowel/ii#_3) + ENDIF + FMT(vowel/ii_4) +endphoneme diff --git a/phsource/phonemes b/phsource/phonemes index 0529aa28..bed549e4 100644 --- a/phsource/phonemes +++ b/phsource/phonemes @@ -1811,6 +1811,9 @@ include ph_setswana phonemetable tt base1 include ph_tatar +phonemetable uk base1 +include ph_ukrainian + phonemetable vi base1 include ph_vietnam @@ -2019,8 +2022,6 @@ include ph_serbian phonemetable ru-lv ru include ph_russian_lv -phonemetable uk ru - phonemetable az tr include ph_azerbaijani