@@ -670,6 +670,12 @@ dictsource/ko_extra: | |||
espeak-ng-data/ko_dict: src/espeak-ng phsource/phonemes.stamp dictsource/ko_list dictsource/ko_rules dictsource/ko_extra | |||
cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak-ng --compile=ko && cd .. | |||
kok: espeak-ng-data/kok_dict | |||
dictsource/kok_extra: | |||
touch dictsource/kok_extra | |||
espeak-ng-data/kok_dict: src/espeak-ng phsource/phonemes.stamp dictsource/kok_list dictsource/kok_rules dictsource/kok_extra | |||
cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak-ng --compile=kok && cd .. | |||
ku: espeak-ng-data/ku_dict | |||
dictsource/ku_extra: | |||
touch dictsource/ku_extra |
@@ -0,0 +1,206 @@ | |||
// This file is UTF8 encoded | |||
// This kok_list file is prepared by Him Prasad Gautam < [email protected] >. | |||
// Numbers | |||
// devanagari numbers are changed to latin characters before translation | |||
_0 S'u:nj@- | |||
_1 'e:k:1 | |||
_2 d'o:n | |||
_3 t'i:n | |||
_4 c'a:d | |||
_5 pa:n^,c:0 | |||
_6 s'@ | |||
_7 s'a:t | |||
_8 'a:,t.# | |||
_9 n'O::1 | |||
_10 d#'a: | |||
_11 'Ikr,a: | |||
_12 b'a:*a: | |||
_13 t'e:*a: | |||
_14 c'Vwd,a: | |||
_15 p'Vnd@*,a: | |||
_16 s'o:l.a: | |||
_17 s'Vtr,a: | |||
_18 'V,t.#,r@ | |||
_19 ,e:kUn.'i:s | |||
_20 w'i:s | |||
_21 ,e:kw'i:s | |||
_22 ba:w'i:s | |||
_23 te:w'i:s | |||
_24 co:w'i:s | |||
_25 p,@n^c@w'i:s | |||
_26 s@ww'i:s | |||
_27 s,@t:a:w'i:s | |||
_28 V,t.#:0t.#a:w'i::1 | |||
_29 ,e:kUn.t'i:s | |||
_30 t'i:s | |||
_31 ,e:kt'i:s | |||
_32 b@t:'i:s | |||
_33 t'e:t:is | |||
_34 c,@wt'i:s | |||
_35 p@st'i:s | |||
_36 c#@3t:'i:s | |||
_37 s'a:t:is | |||
_38 Vt.#t'i:s | |||
_39 ,e:kUn.ca:l.'i:s | |||
_40 ca:l.'i:s | |||
_41 ,e:ke:ca:l.'i:s | |||
_42 b,e:ca:l.'i:s | |||
_43 tr,e:ca:l.'i:s | |||
_44 c,@we:ca:l.'i:s | |||
_45 p,@n^ce:ca:l.'i:s | |||
_46 S,e:ca:l.'i:s | |||
_47 s,@t:e:ca:l.'i:s | |||
_48 V,t.#t.#e:ca:l.'i:s:0 | |||
_49 e:,kU:n.,pann'a: | |||
_50 p@nn'a: | |||
_51 e:k'a:w@n | |||
_52 b'a:w@n | |||
_53 tr'e:p:1@n | |||
_54 c'Vw@p,@n | |||
_55 p@n^c'a:w@n | |||
_56 c#V:0pp@:0n | |||
_57 s@t:'a:w@n | |||
_58 V,t.#t.#a:w@:0n | |||
_59 ,e:kUn.s'a:t.# | |||
_60 s'a:t.# | |||
_61 'e:k@s,@t.# | |||
_62 ba:s@t.# | |||
_63 tr'e:s@t.# | |||
_64 c'Vw@s,@t.# | |||
_65 pa:s@t.# | |||
_66 c#a:s@t.# | |||
_67 s'a:t@s,@t.# | |||
_68 V,t.#s@t.# | |||
_69 ,e:kUn.@s'Vt:@r | |||
_70 s'Vt:@r | |||
_71 e:k:j'a:t:@r | |||
_72 bj'a:t:@r | |||
_73 trj'a:t:@r | |||
_74 c,@wdj'a:t:@r | |||
_75 p@n^c:j'a:t:@r | |||
_76 S'a:t:@r | |||
_77 s@t:j'a:t:@r | |||
_78 V,t.#ja:t@r | |||
_79 e:kUn.a:S'i: | |||
_80 V,sS'i: | |||
_81 e:kja:nSi: | |||
_82 b'ja,j@,Si: | |||
_83 trjeja:Si: | |||
_84 cO,dja:Si: | |||
_85 p@n,ca:si: | |||
_86 S'a:j@3Si: | |||
_87 s@t,tja:Si: | |||
_88 V,t.#t.#ja:Si: | |||
_89 ,e:kUn.@n.'Vww:0@d | |||
_90 nOwV:0J | |||
_91 e:,kja:n.:0nO | |||
_92 bja:j@n.:0nO | |||
_93 trjeja:n.:0nO | |||
_94 caUdja:n.:0nO: | |||
_95 p@nca:n.:0nO | |||
_96 Sa:d.:0nO | |||
_97 sVtja:n.:0nO | |||
_98 V,t.#t.#ja:n.:0nO | |||
_99 nVbja:n.:0nO | |||
_1C0 S'Vm:1b@,r | |||
_1C e:k,SVj@ | |||
_2C d'o:n,SVj@ | |||
_3C t'i:n,SVj@ | |||
_4C c'a:r,SVj@ | |||
_5C p'a~n^c,SVj@ | |||
_6C s'@,SVj@ | |||
_7C s'a:t,SVj@ | |||
_8C 'a:,t.#,SVj@ | |||
_9C n.'Vw@-,SVj@ | |||
_0M1 H@J'a:r | |||
_0M2 l'a:k# | |||
_0M3 k'o:t.i; | |||
_0M4 'VbJ@ | |||
_dpt _d@s@ml'o:_ | |||
// Single consonants | |||
क k@ | |||
क़ q@ | |||
ख k#@ | |||
ख़ x@ | |||
ग g@ | |||
ग़ Q@ | |||
घ g#@ | |||
ङ N@ | |||
च c@ | |||
छ c#@ | |||
ज J@ | |||
ज़ z@ | |||
झ J#@ | |||
ञ n^@ | |||
ट t.@ | |||
ठ t.#@ | |||
ड d.@ | |||
ड़ r.@ | |||
ढ d.#@ | |||
ण n.@ // retroflex n.@ | |||
त t@ | |||
थ t#@ | |||
द d@ | |||
ध d#@ | |||
न n@ | |||
प p@ | |||
फ p#@ | |||
फ़ f@ | |||
ब b@ | |||
भ b#@ | |||
म m@ | |||
य j@ | |||
र r@ | |||
ऱ r@ | |||
ल l@ | |||
ळ l.@ | |||
व w@ | |||
श S@ | |||
ष s.@ // retroflex [S] | |||
स s@ | |||
ह H@ | |||
ज्ञ nj@ | |||
क़ q@ | |||
ख़ x@ | |||
ग़ Q@ | |||
ज़ z@ | |||
ड़ r-@ | |||
ढ़ hr@ | |||
फ़ f@ | |||
य़ j@ | |||
U+901 cVndrVbIndu | |||
U+902 VnUswa:r | |||
U+903 wIsVrg@ | |||
U+93c nUkta | |||
U+94d hVlVnt | |||
_?? Vks.@r | |||
// Alphabet names | |||
_ar 'Vrbi | |||
_cyr sIrIk'Ik | |||
_zh c'i@ni | |||
// Punctuation | |||
$ dOlVr | |||
% pVt'ISVt | |||
+ plVs | |||
= bVr'a:bVr | |||
* ta:r'a:NkVn | |||
/ sle:S | |||
_, 'Vlp@||wir,a:m | |||
। p'u:rn.@||wIr,a:m | |||
_; 'Vrd#@-||wIr,a:m | |||
_: brIHVd'a:ntr@- | |||
_? prVSVnv'a:cVk | |||
! wIsmVja:dIv'a:cVk | |||
_— nIrd'e:SVk | |||
_- j'o:JVk | |||
_" 'Udd#VrVn. | |||
@@ -0,0 +1,571 @@ | |||
// Kankani Language. | |||
// This kok_rules file is prepared by Him Prasad Gautam < [email protected] >. | |||
// This file is UTF-8 encoded. | |||
// letter groups: | |||
// A - Independent and Dependent Vowels: | |||
// 0x904 to 0x914, 0x93E to 0x94D, 0x950, 0x960 to 0x963, 0x972 | |||
// B - Dependent Vowels and Halanta: | |||
// 0x93E to 0x94C, 0x94d, 0x962, 0x963 | |||
// C - Consonants: | |||
// 0x915 to 0x939, 0x958 to 0x95F, 0x97B, 0x97c, 0x97E, 0x97F | |||
// Independent Vowels: | |||
// 0x904 to 0x914, 0x950,0x960, 0x961, 0x977 | |||
// Nepali Alphabets: 0x901 to 0x980 | |||
// Numbers: 0x966 to 096F | |||
// symbols: | |||
// 0x901 to 0x903, 0x93C, 0x93D, 0x951 to 0x954, 0x964, 0x965, 0x970, 0x971, 0x97D | |||
// conditional rules | |||
// ?2 use diphthong for "ai" | |||
// ?3 use diphthong for "au" | |||
.replace | |||
० 0 | |||
१ 1 | |||
२ 2 | |||
३ 3 | |||
४ 4 | |||
५ 5 | |||
६ 6 | |||
७ 7 | |||
८ 8 | |||
९ 9 | |||
ॱ० .0 | |||
ॱ१ .1 | |||
ॱ२ .2 | |||
ॱ३ .3 | |||
ॱ४ .4 | |||
ॱ५ .5 | |||
ॱ६ .6 | |||
ॱ७ .7 | |||
ॱ८ .8 | |||
ॱ९ .9 | |||
.group ॱ //Devanagari decimal | |||
ॱ d'VS'V,mal'Vw#@ | |||
// Vowels | |||
.group अ | |||
अ V | |||
अ (_ V:0 | |||
अं V~ | |||
अं (_ V~: | |||
.group आ | |||
आ a: | |||
आ (_ a::0 | |||
आं a~ | |||
आं (_ a~::0 | |||
.group इ | |||
इ I | |||
इ (_ I:0 | |||
इं i~ | |||
इं (_ i~:: | |||
.group ई | |||
ई i: | |||
ई (_ i::0 | |||
ईं i~ | |||
ईं (_ i~:: | |||
.group उ | |||
उ U | |||
उ (_ U:0 | |||
उं U~ | |||
उं (_ U~: | |||
.group ऊ | |||
ऊ u: | |||
ऊं u~ | |||
ऊं (_ u~: | |||
.group ऋ | |||
ऋ rI | |||
.group ॠ | |||
ॠ ri: | |||
.group ऌ | |||
ऌ lr-'i | |||
.group ऍ | |||
ऍ E // candra e | |||
.group ऎ | |||
ऎ e | |||
ऎं e~ | |||
ऎं (_ e~: | |||
.group ए | |||
ए e: | |||
एँ e~: | |||
एं e~: | |||
.group ऐ | |||
ऐ E: // ?? [aI] [E:] [&:] | |||
ऐं E~ | |||
ऐँ (_ E~: | |||
?2 ऐ aI // ?? [aI] [E:] [&:] | |||
.group ऑ | |||
ऑ O // candra O | |||
.group ऒ | |||
ऒ o | |||
ऒं o~ | |||
ऒं (_ o~: | |||
.group ओ | |||
ओ o: | |||
ओं o~ | |||
ओं (_ o~: // +candrabindu | |||
.group औ | |||
औ O: // ?? [aU] [O:] | |||
औं O~ // +anusvara | |||
औं (_ O~: | |||
?3 औ aU // ?? [aU] [O:] | |||
// Vowel Signs | |||
.group ा | |||
ा a:k'a:r | |||
C) ा a: | |||
C) ा (ँ a~ | |||
C) ाँ (_ a~:1 | |||
C) ा (ं a~ | |||
.group ि | |||
ि I,k'a:r | |||
C) ि I | |||
C) ि (_ I:0 | |||
C) ि (ं i~ | |||
C) ि (ं_ i~:1 | |||
.group ी | |||
ी i:,k'a:r | |||
C) ी i: | |||
C) ी (_ i::0 | |||
C) ी (ँ i~ | |||
C) ीँ (_ i~:1 | |||
C) ी (ं i~ | |||
.group ु | |||
ु U,k'a:r | |||
C) ु U | |||
C) ु (_ U:0 | |||
C) ु (ँ u~ | |||
C) ुं u~ | |||
C) ुँ (_ u~:1 | |||
.group ू | |||
ू u:k'a:r | |||
C) ू u: | |||
C) ू (_ u::0 | |||
C) ू (C u:1 | |||
C) ू (ँ u~ | |||
C) ूं u~ | |||
C) ूँ (_ u~:1 | |||
.group ृ | |||
ृ rI,k'a:r | |||
C) ृ rI | |||
C) ृ (_ rI:0 | |||
.group ॄ | |||
ॄ rI:,k'a:r | |||
C) ॄ rI: | |||
.group ॅ | |||
ॅ E,k'a:r | |||
C) ॅ E | |||
.group ॆ | |||
ॆ e,k'a:r | |||
C) ॆ e | |||
C) ॆ (_ e':0 | |||
C) ॆ (ँ e~ | |||
C) ॆ (ं e~ | |||
C) ॆँ (_ e~:1 | |||
.group े | |||
े e:,k'a:r | |||
C) े e: | |||
C) े (_ e:':0 | |||
C) े (ँ e~ | |||
C) े (ं e~:1 | |||
C) ेँ (_ e~:1 | |||
.group ै | |||
ै E:,k'a:r | |||
C) ै E: | |||
C) ै (_ E::0 | |||
C) ै (ं E~ | |||
C) ै (ँ E~ | |||
C) ैँ (_ E~:1 | |||
?2 C) ै aI | |||
.group ॉ | |||
ॉ O,k'a:r | |||
C) ॉ O | |||
C) ॉ (_ O':0 | |||
.group ॊ | |||
ॊ o,k'a:r | |||
C) ॊ o | |||
C) ॊ (_ o':0 | |||
C) ॊ (ँ o~ | |||
C) ॊं o~ | |||
C) ॊँ (_ o~:1 | |||
.group ो | |||
ो o:,k'a:r | |||
C) ो o: | |||
C) ो (_ o::0 | |||
C) ो (ँ o~ | |||
C) ों o~ | |||
C) ोँ (_ o~:1 | |||
.group ौ | |||
ौ O:,k'a:r | |||
C) ौ O: // [O:] or [aU] ?? | |||
C) ौ (_ O::0 | |||
C) ौ (ँ O~ // [O:] or [aU] ?? | |||
C) ौं O~ | |||
C) ौँ (_ O~:1 | |||
?3 C) ौ aU | |||
.group ॢ // vowel sign l | |||
ॢ l-,rik'a:r | |||
.group ॣ // vowel sign ll | |||
ॣ l-:rik'a:r | |||
.group ॐ | |||
ॐ o~m | |||
// Consonants | |||
.group क | |||
क kV | |||
क (B k | |||
क (्य k: | |||
क़ qV | |||
क़ (B q | |||
क्क k:V // kk -> k: | |||
क्क (B k: | |||
क्ष kSV | |||
क्ष (B kS | |||
.group ख | |||
ख k#V | |||
ख (B k# | |||
ख़ xV | |||
ख़ (B x | |||
.group ग | |||
ग gV | |||
ग (B g | |||
ग़ QV | |||
ग़ (B Q | |||
.group घ | |||
घ g#V | |||
घ (B g# | |||
.group ङ | |||
ङ NV | |||
ङ (B N | |||
्) ङ (_ N@ | |||
.group च | |||
च cV | |||
च (B c | |||
च (्य c: | |||
.group छ | |||
छ c#V | |||
छ (B c# | |||
.group ज | |||
ज JV | |||
ज (B J | |||
ज़ zV | |||
ज़ (B z | |||
ज्ञ n'jV | |||
ज्ञ (B nj | |||
.group झ | |||
झ J#V | |||
झ (B J# | |||
.group ञ | |||
ञ n^V | |||
ञ (B n^ | |||
्) ञ (_ n^@ | |||
.group ट | |||
ट t.V | |||
ट (B t. | |||
ट (्य t.: | |||
ट्ट t.:V // t.t. -> t.: | |||
ट्ट (B t.: | |||
ट्ठ t.#:V // t.t.# -> t.#: | |||
ट्ठ (B t.#: | |||
.group ठ | |||
ठ t.#V | |||
ठ (B t.# | |||
ठ्ठ t.#:V // t.#t.# -> t.#: | |||
ठ्ठ (B t.#: | |||
.group ड | |||
ड d.V | |||
ड (B d. | |||
ड़ r.V | |||
ड़ (B r. | |||
.group ढ | |||
ढ d.#V | |||
ढ (B d.# | |||
ढ़ r.hV | |||
ढ़ (B r.h // nukta | |||
.group ण | |||
ण n.V | |||
ण (B n. | |||
्) ण (_ n.@ | |||
.group त | |||
त tV | |||
त (B t | |||
त (्य t: | |||
त्र_ t@ | |||
त्त t:V // tt -> t: | |||
त्त (B t: | |||
.group थ | |||
थ t#V | |||
थ (B t# | |||
थ (_ t#@ | |||
.group द | |||
द dV | |||
द (B d | |||
.group ध | |||
ध d#V | |||
ध (B d# | |||
.group न | |||
न nV | |||
न (B n | |||
्) न (_ n@ | |||
र्) न (_ n // r +virama | |||
.group ऩ | |||
ऩ n: // should this be a long [n] ? | |||
.group प | |||
प pV | |||
प (B p | |||
प (्य p:1 | |||
प्प p:1V | |||
प्प (B p:1 | |||
.group फ | |||
फ p#V | |||
फ (B p# | |||
फ़ fV | |||
फ़ (B f | |||
.group ब | |||
ब bV | |||
ब (B b | |||
.group भ | |||
भ b#V | |||
भ (B b# | |||
.group म | |||
म mV | |||
म (B m | |||
्) म (_ m@ | |||
र्) म (_ m:0 | |||
न्) म (_ m:0 | |||
.group य | |||
य jV | |||
य (B j | |||
C) य (_ Ej | |||
य (_ j@ | |||
्) य (C j@ | |||
.group र | |||
र rV | |||
र (B r | |||
र (_ r | |||
्) र (_ r@ | |||
.group ऱ | |||
ऱ rV | |||
ऱ (B r | |||
्) ऱ (_ r@ | |||
.group ल | |||
ल lV | |||
ल (B l | |||
्) ल (_ l@ | |||
.group ळ | |||
ळ l.V | |||
ळ (B l. | |||
्) ळ (_ l.@ | |||
.group ऴ | |||
ऴ l.V // (temporary) same as [l.] | |||
ऴ (B l. | |||
्) ऴ (_ l.@ | |||
.group व | |||
व wV | |||
व (B w | |||
_) व wV | |||
_) व (B w | |||
_) व (् w | |||
व (_ w@ | |||
्) व w:0V | |||
्) व (_ w@ | |||
व (्य b | |||
.group श | |||
श SV | |||
श (B S | |||
.group ष | |||
ष s.V | |||
ष (B s. | |||
.group स | |||
स sV:0 | |||
स (B s | |||
.group ह | |||
ह HV | |||
ह (B H | |||
ह (व H'V:0 | |||
// Additional consonants | |||
.group क़ // qa | |||
क़ qV | |||
क़ (B q | |||
.group ख़ // khha | |||
ख़ xV | |||
ख़ (B x | |||
.group ग़ // ghha | |||
ग़ QV | |||
ग़ (B Q | |||
.group ज़ // za | |||
ज़ zV | |||
ज़ (B z | |||
.group ड़ | |||
ड़ r.V | |||
ड़ (B r. | |||
.group ढ़ | |||
ढ़ r.hV | |||
ढ़ (B r.h | |||
.group फ़ // fa | |||
फ़ fV | |||
फ़ (B f | |||
.group य़ | |||
य़ jV | |||
य़ (B j | |||
// Alphabetic symbols | |||
// nukta, modifies a consonant | |||
.group ऽ // avagraha, lengthens a vowel ?? | |||
ऽ V'k'a:r@ | |||
A) ऽ := | |||
C) ऽ := | |||
.group ँ | |||
ँ cVndr@2wi'n'du | |||
A) ँ n | |||
C) ँ n | |||
्) ँ cVndr@2wi'n'du | |||
.group ं | |||
ं shI'rV,w'in'd'u | |||
A) ं n | |||
C) ं n | |||
ं (प m | |||
ं (फ m | |||
ं (ब m | |||
ं (भ m | |||
ं (म m | |||
ं (ट n. | |||
ं (ठ n. | |||
ं (ड n. | |||
ं (ढ n. | |||
ं (ण n. | |||
ं (च n^ | |||
ं (छ n^ | |||
ं (ज n^ | |||
ं (ज्ञ N | |||
ं (झ n^ | |||
ं (ञ n^ | |||
ं (य n^ | |||
ं (क N | |||
ं (ख N | |||
ं (ग N | |||
ं (घ N | |||
ं (ङ N | |||
ं (ह N | |||
.group ः | |||
ः wi:s'Vr,g@ | |||
_) ः : //wi:s'Vr,g@ | |||
C) ः (_ H | |||
A) ः (_ H, | |||
C) ः (A H, | |||
A) ः (C H, | |||
A) ः (A H, | |||
C) ः (C H, | |||
.group ् | |||
् h'Vl@3n't@2 // Alphabet Name | |||
C) ् // Silent If followed to a Consonant. | |||
C) ् (C_ = | |||
.group ॰ | |||
॰ saNks.e:p@s'u:c@k@ | |||
A) ॰ ,:0 | |||
C) ॰ ,:0 | |||
// Special Symbols with special meanings | |||
.group | |||
। pur',n.@:w'ir'a:m // Fullstop in Devanagari | |||
॥ d'i:rg#@,w'ir'a:m // Double Fullstop - means Read sentence twice. | |||
$ dOlV | |||
% prVtish'vt | |||
// Rarely used Vedic symbols. Written after Indepedent Vowel or between a Consonants and Symbolic Vowels! | |||
़ n'u'k't'a: | |||
॑ Ud'Vtt,@ | |||
॓ Ud:d#@r,@n.@a:r'Vmb#@ | |||
॔ ,Ud:d#@r,@n.@'Vnt@ | |||
॒ a'n'ud'Vtt,@ | |||
ॽ k,@n.t.#@w'Ira:m |
@@ -0,0 +1,2 @@ | |||
name konkani | |||
language kok |
@@ -0,0 +1,593 @@ | |||
//==================================================== | |||
// kankani | |||
//==================================================== | |||
phoneme :0 | |||
virtual | |||
length 25 | |||
endphoneme | |||
phoneme :1 | |||
virtual | |||
length 50 | |||
endphoneme | |||
phoneme : // Lengthen the previous vowel by "length" | |||
virtual | |||
length 100 | |||
endphoneme | |||
phoneme @ | |||
vwl flag1 starttype #@ endtype #@ | |||
length 130 | |||
ChangeIfDiminished(@-) | |||
IF nextPh(H) OR prevPh(H) THEN | |||
FMT(vowel/@_low) | |||
ENDIF | |||
IF nextPh(j) THEN | |||
FMT(vowel/V_3) | |||
ENDIF | |||
FMT(vowel/@_bck) | |||
endphoneme | |||
phoneme V | |||
vwl flag1 starttype #@ endtype #@ | |||
length 140 | |||
IF thisPh(isWordStart) THEN | |||
FMT(vowel/V_3) | |||
RETURN | |||
ENDIF | |||
IF thisPh(isNotStressed) THEN | |||
length 130 | |||
IF thisPh(isWordEnd) AND NOT thisPh(isFirstVowel) THEN | |||
ChangePhoneme(NULL) | |||
ENDIF | |||
IF prevPh(H) THEN | |||
ChangePhoneme(@) | |||
ENDIF | |||
IF prev2PhW(isVowel) AND NOT nextVowel(isFlag1) THEN | |||
IF thisPh(isFinalVowel) AND nextPhW(isNotVowel) THEN | |||
// don't delete schwa before a word-final consonant | |||
ELSE | |||
ChangePhoneme(NULL) | |||
ENDIF | |||
ENDIF | |||
IF prevPh(isPalatal) AND NOT nextPh(H) THEN | |||
ChangePhoneme(@3) | |||
ELSEIF prevPh(r) THEN | |||
ChangePhoneme(@2) | |||
ELSE | |||
ChangePhoneme(@) | |||
ENDIF | |||
ENDIF | |||
IF nextPh(H) OR prevPh(H) THEN | |||
FMT(vowel/@_low) | |||
ENDIF | |||
IF prevPh(w) THEN | |||
FMT(vowel/V_4) | |||
ENDIF | |||
FMT(vowel/V_3) | |||
endphoneme | |||
phoneme @2 | |||
vwl flag1 starttype #@ endtype #@ | |||
length 130 | |||
FMT(vowel/@_low) | |||
endphoneme | |||
phoneme @3 | |||
vwl flag1 starttype #@ endtype #@ | |||
length 130 | |||
ChangeIfDiminished(@-) | |||
FMT(vowel/@_3) | |||
endphoneme | |||
phoneme i: | |||
vwl lng starttype #i endtype #i | |||
length 250 | |||
IF thisPh(isUnstressed) THEN | |||
ChangePhoneme(i) | |||
ENDIF | |||
IfNextVowelAppend(;) | |||
FMT(vowel/i_fnt) | |||
endphoneme | |||
phoneme i // as [i:] but not marked as 'long' | |||
vwl starttype #i endtype #i | |||
length 230 | |||
IfNextVowelAppend(;) | |||
FMT(vowel/ii_6) | |||
endphoneme | |||
phoneme I | |||
vwl starttype #i endtype #i | |||
length 150 | |||
IfNextVowelAppend(;) | |||
FMT(vowel/ii_3) | |||
endphoneme | |||
phoneme e: | |||
vwl lng starttype #e endtype #e | |||
length 240 | |||
FMT(vowel/e_2) | |||
endphoneme | |||
phoneme e | |||
vwl starttype #e endtype #e | |||
length 165 | |||
FMT(vowel/e_2) | |||
endphoneme | |||
phoneme E: | |||
vwl lng starttype #e endtype #e | |||
length 230 | |||
FMT(vdiph/ee-e) | |||
endphoneme | |||
phoneme E | |||
vwl starttype #e endtype #e | |||
length 175 | |||
FMT(vowel/e_mid) | |||
endphoneme | |||
phoneme &: | |||
vwl lng starttype #a endtype #a | |||
length 230 | |||
FMT(vowel/&) | |||
endphoneme | |||
phoneme a: | |||
vwl lng starttype #a endtype #a | |||
length 220 | |||
IF nextPhW(j) THEN | |||
FMT(vowel/a_5) | |||
ENDIF | |||
FMT(vowel/aa_9) | |||
endphoneme | |||
phoneme a | |||
vwl lng starttype #a endtype #a | |||
length 165 | |||
FMT(vowel/a#_3) | |||
endphoneme | |||
phoneme o: | |||
vwl lng starttype #o endtype #o | |||
length 240 | |||
FMT(vowel/o_2) | |||
endphoneme | |||
phoneme o | |||
vwl starttype #o endtype #o | |||
length 165 | |||
FMT(vowel/o) | |||
endphoneme | |||
phoneme O: | |||
vwl lng starttype #o endtype #o | |||
length 225 | |||
FMT(vowel/oo_4) | |||
endphoneme | |||
phoneme O | |||
vwl starttype #o endtype #o | |||
length 165 | |||
FMT(vowel/0) | |||
endphoneme | |||
phoneme U | |||
vwl starttype #u endtype #u | |||
length 165 | |||
FMT(vowel/uu_bck) | |||
endphoneme | |||
phoneme u: | |||
vwl lng starttype #u endtype #u | |||
length 250 | |||
FMT(vowel/u_bck) | |||
endphoneme | |||
// Nasal vowels | |||
//============= | |||
phoneme i~ | |||
vwl lng starttype #i endtype #i | |||
length 220 | |||
FMT(vnasal/i_n2) | |||
endphoneme | |||
phoneme I~ | |||
vwl lng starttype #i endtype #i | |||
length 170 | |||
FMT(vnasal/ii_n) | |||
endphoneme | |||
phoneme e~ | |||
vwl lng starttype #e endtype #e | |||
length 220 | |||
FMT(vnasal/e_n) | |||
endphoneme | |||
phoneme E~ | |||
vwl lng starttype #e endtype #e | |||
length 220 | |||
FMT(vnasal/ee_n2) | |||
endphoneme | |||
phoneme a~ | |||
vwl lng starttype #a endtype #a | |||
length 240 | |||
FMT(vnasal/a_n) | |||
endphoneme | |||
phoneme V~ | |||
vwl lng starttype #@ endtype #@ | |||
length 220 | |||
FMT(vnasal/V_n) | |||
endphoneme | |||
phoneme O~ | |||
vwl lng starttype #o endtype #o | |||
length 220 | |||
FMT(vnasal/oo_n2) | |||
endphoneme | |||
phoneme o~ | |||
vwl lng starttype #o endtype #o | |||
length 220 | |||
FMT(vnasal/o_n) | |||
endphoneme | |||
phoneme U~ | |||
vwl starttype #u endtype #u | |||
length 170 | |||
FMT(vnasal/u_n) | |||
endphoneme | |||
phoneme u~ | |||
vwl lng starttype #u endtype #u | |||
length 220 | |||
FMT(vnasal/u_n) | |||
endphoneme | |||
// Diphthongs | |||
//=========== | |||
phoneme aI | |||
vwl lng starttype #@ endtype #i | |||
length 240 | |||
lng | |||
FMT(vdiph/&i) | |||
endphoneme | |||
phoneme aU | |||
vwl lng starttype #a endtype #u | |||
length 240 | |||
lng | |||
FMT(vdiph/aau_3) | |||
endphoneme | |||
// CONSONANTS | |||
//=========== | |||
phoneme v // approximant, not fricative | |||
import_phoneme base1/v# | |||
voicingswitch f | |||
endphoneme | |||
phoneme w# | |||
liquid | |||
lengthmod 7 | |||
FMT(w/w2) | |||
endphoneme | |||
phoneme H // use for full "h" | |||
import_phoneme base1/h | |||
endphoneme | |||
// bilabial plosives | |||
//================== | |||
phoneme p | |||
import_phoneme consonants/p- | |||
endphoneme | |||
phoneme p# | |||
import_phoneme consonants/ph | |||
endphoneme | |||
phoneme b // this is [b] | |||
import_phoneme base1/b | |||
endphoneme | |||
phoneme b# | |||
vcd blb stp | |||
lengthmod 5 | |||
voicingswitch p# | |||
Vowelin f1=0 f2=1000 -50 -100 f3=-200 80 | |||
Vowelout f1=0 f2=1000 -500 -350 f3=-300 80 rms=30 | |||
IF PreVoicing THEN | |||
FMT(b/xb) | |||
ENDIF | |||
FMT( b/b@2) addWav(ustop/p_asp, 70) | |||
endphoneme | |||
// dental plosives | |||
//================== | |||
phoneme t // dental variant of /t/ | |||
import_phoneme base1/t[ | |||
voicingswitch d | |||
endphoneme | |||
phoneme t# // dental variant of /t/ | |||
vls dnt stp | |||
lengthmod 2 | |||
voicingswitch d | |||
Vowelin f1=0 f2=1500 -300 300 f3=-100 80 amp=16 | |||
Vowelout f1=0 f2=1500 -300 250 f3=-100 80 rms=20 | |||
IF nextPh(isPause2) THEN | |||
WAV(ustop/t_dnt, 35) | |||
ENDIF | |||
WAV(ustop/t_dnt, 50) | |||
endphoneme | |||
phoneme d // dental variant of /d/ | |||
import_phoneme base1/d[ | |||
voicingswitch t | |||
endphoneme | |||
phoneme d# | |||
vcd dnt stp | |||
lengthmod 5 | |||
voicingswitch t# | |||
Vowelin f1=0 f2=1500 -300 300 f3=-100 80 | |||
Vowelout f1=0 f2=1500 -300 250 f3=-100 80 rms=20 | |||
IF PreVoicing THEN | |||
FMT(d/xd) | |||
ENDIF | |||
FMT(d/xd3) addWav(ustop/t_dnt, 40) | |||
endphoneme | |||
// retroflex plosives | |||
//=================== | |||
phoneme t. | |||
vls rfx stp | |||
lengthmod 2 | |||
ipa ʈ | |||
voicingswitch d. | |||
Vowelin f1=0 f2=1800 -300 300 f3=-400 80 | |||
Vowelout f1=0 f2=1800 -300 250 f3=-400 80 rms=20 colr=2 | |||
WAV(ustop/t_short) | |||
endphoneme | |||
phoneme t.# | |||
vls rfx stp | |||
lengthmod 2 | |||
ipa ʈU+02B0 | |||
voicingswitch d.# | |||
Vowelin f1=0 f2=1800 -300 300 f3=-200 80 | |||
Vowelout f1=0 f2=1800 -300 250 f3=-400 80 rms=20 colr=2 | |||
IF nextPhW(t.#) THEN | |||
ChangePhoneme(t.) | |||
ENDIF | |||
WAV(ustop/th_rfx2, 80) | |||
endphoneme | |||
phoneme d. | |||
vcd rfx stp | |||
lengthmod 5 | |||
voicingswitch t. | |||
ipa ɖ | |||
Vowelin f1=1 f2=1800 -300 300 f3=-400 80 | |||
Vowelout f1=1 f2=1800 -300 300 f3=-400 80 colr=2 | |||
IF PreVoicing THEN | |||
FMT(d/xdr) | |||
ENDIF | |||
IF nextPh(isPause2) THEN | |||
FMT(d/d_) addWav(x/d_) | |||
ENDIF | |||
FMT(d/dr) addWav(x/d) | |||
endphoneme | |||
phoneme d.# | |||
vcd rfx stp | |||
lengthmod 5 | |||
ipa ɖU+02B0 | |||
voicingswitch t.# | |||
Vowelin f1=1 f2=1800 -300 300 f3=-400 80 | |||
Vowelout f1=1 f2=1800 -300 300 f3=-400 80 colr=2 | |||
IF PreVoicing THEN | |||
FMT(d/xdr) | |||
ENDIF | |||
FMT(d/dr) addWav(ustop/t) | |||
// FMT(d/dr) addWav(ustop/th_rfx) | |||
endphoneme | |||
// palatal plosives | |||
//================= | |||
// also try [tS] and [dZ] | |||
phoneme c | |||
vls pla afr sib | |||
voicingswitch dZ | |||
lengthmod 2 | |||
Vowelin f1=0 f2=2300 200 400 f3=-100 80 | |||
IF nextPh(isPause2) THEN | |||
WAV(ustop/tsh_) | |||
ENDIF | |||
WAV(ustop/tsh_unasp) | |||
endphoneme | |||
phoneme c# | |||
CALL base1/tS; | |||
ipa cU+02B0 | |||
endphoneme | |||
phoneme J | |||
import_phoneme base1/J | |||
endphoneme | |||
phoneme J# | |||
vcd pal afr sib | |||
lengthmod 5 | |||
voicingswitch c# | |||
Vowelin f1=0 f2=2700 400 600 f3=300 80 rate len=70 | |||
Vowelout f1=0 f2=2700 400 600 f3=300 80 colr=1 | |||
IF PreVoicing THEN | |||
FMT(dzh/xdz_pzd) | |||
ENDIF | |||
FMT(dzh/xdz_pzd) addWav(ustop/ts_pzd) | |||
endphoneme | |||
// velar plosives | |||
//================== | |||
phoneme k | |||
import_phoneme consonants/k- | |||
voicingswitch g | |||
endphoneme | |||
phoneme k# | |||
import_phoneme consonants/k# | |||
voicingswitch g# | |||
endphoneme | |||
phoneme g | |||
import_phoneme base1/g | |||
voicingswitch k | |||
endphoneme | |||
phoneme g# | |||
vcd dnt stp | |||
lengthmod 5 | |||
voicingswitch k# | |||
Vowelin f1=1 f2=2300 200 300 f3=-150 80 rms=20 | |||
Vowelout f1=0 f2=2300 300 400 f3=-150 80 rms=20 | |||
IF PreVoicing THEN | |||
FMT(g2/xg) | |||
ENDIF | |||
IF nextPh(isPause2) THEN | |||
FMT(g2/xg) addWav(ustop/k_asp, 35) | |||
ENDIF | |||
FMT(g2/xg) addWav(ustop/k_asp, 50) | |||
endphoneme | |||
//================ | |||
phoneme #X2 // click, use for indicating combining long vowels | |||
vls alv frc sib | |||
lengthmod 3 | |||
WAV(ustop/percus02, 60) | |||
endphoneme | |||
phoneme r | |||
liquid rhotic | |||
lengthmod 3 | |||
IF thisPh(isWordEnd) THEN | |||
CALL base1/r/ | |||
ELSE | |||
IF prevPhW(isVowel) THEN | |||
IF nextPhW(isNotVowel) THEN | |||
IF nextPhW(v) THEN | |||
ChangePhoneme(**) // test for lang=ta | |||
ENDIF | |||
IF nextPhW(isUStop) OR nextPhW(isVStop) THEN | |||
ChangePhoneme(*) | |||
ENDIF | |||
ENDIF | |||
IF nextPhW(V) THEN // [V] may be removed by ChangePhoneme(NULL) | |||
IF next2PhW(isUStop) OR next2PhW(isVStop) THEN | |||
ChangePhoneme(*) | |||
ENDIF | |||
ELSE | |||
IF nextPhW(isVowel) THEN | |||
ChangePhoneme(*) | |||
ENDIF | |||
ENDIF | |||
ENDIF | |||
CALL base1/r | |||
ENDIF | |||
ipa ɾ | |||
endphoneme | |||
@@ -881,6 +881,8 @@ include ph_gujarati | |||
phonemetable mr hi_base | |||
include ph_marathi | |||
phonemetable kok hi_base | |||
include ph_konkani | |||
phonemetable hu base1 | |||
@@ -1089,3 +1091,4 @@ include ph_guarani | |||
phonemetable ky base1 | |||
include ph_kyrgyz | |||