git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@372 d46cf337-b52f-0410-862d-fd96e6ae7743master
| // Letter names (temporary English names) | |||||
| _a eI | |||||
| b bi: $atend | |||||
| c si: | |||||
| d di: $atend | |||||
| _e i: | |||||
| f Ef | |||||
| g dZi: $atend | |||||
| h eItS $atend | |||||
| _i aI | |||||
| j dZeI | |||||
| k keI | |||||
| l El | |||||
| m Em $atend | |||||
| n En $atend | |||||
| _o o: | |||||
| p pi: | |||||
| q kju: | |||||
| r aR | |||||
| _s Es | |||||
| t ti: $atend | |||||
| _u ju: | |||||
| v vi: | |||||
| w d'O#b@lju: | |||||
| x Eks | |||||
| y waI | |||||
| z zEd | |||||
| _à $accent | |||||
| _á $accent | |||||
| _è $accent | |||||
| _é $accent | |||||
| _ì $accent | |||||
| _ò $accent | |||||
| _ó $accent | |||||
| _ù $accent | |||||
| _acu akj'u:t | |||||
| _grv 'aksEnt | |||||
| // Numbers | |||||
| _0 n'OnI | |||||
| _1 'u-:n | |||||
| _2 Q'a | |||||
| _3 t*;'i | |||||
| _4 k;'ehI*; | |||||
| _5 k'O:g; | |||||
| _6 S'i@ | |||||
| _7 S'Exg | |||||
| _8 'Oxg | |||||
| _9 n['u-I | |||||
| _10 d;'eC | |||||
| _11 'u-:nd;,iag | |||||
| _12 Q'aQ,iag | |||||
| _13 t*;'id;,iag | |||||
| _14 k;'ehI*;d;,iag | |||||
| _15 k'O:g;d;,iag | |||||
| _16 S'i@d;,iag | |||||
| _17 S'Exgd;,iag | |||||
| _18 'Oxgd;,iag | |||||
| _19 n['u-Id;,iag | |||||
| _20 f'iC@d | |||||
| _30 t*;'iC@d | |||||
| _40 k;'Eh*@d | |||||
| _50 k'O:g;@d | |||||
| _60 S'esg@d | |||||
| _70 S'Exg@d | |||||
| _80 'Oxg@d | |||||
| _90 n['u-:xg@d | |||||
| _2X f'iC@ds@h# | |||||
| _3X t*;'iC@ds@h# | |||||
| _4X k;'Eh*@ds@h# | |||||
| _5X k'O:g;@ds@h# | |||||
| _6X S'esg@ds@h# | |||||
| _7X S'Exg@ds@h# | |||||
| _8X 'Oxg@ds@h# | |||||
| _9X n['u-:xg@ds@h# | |||||
| _0C k;'iad | |||||
| _0M1 m'il@ | |||||
| _0M2 m'il^@n | |||||
| _dpt _st'adf'u-n^u-g; // ?? full-stop | |||||
| // Unstressed words | |||||
| // articles | |||||
| a $u+ | |||||
| an $u+ | |||||
| am $u+ | |||||
| na $u+ | |||||
| nan $u+ | |||||
| nam $u+ | |||||
| gun $u+ | |||||
| gu $u+ | |||||
| gum $u+ | |||||
| gur $u+ | |||||
| // personal pronouns | |||||
| mi $u+ | |||||
| thu $u+ | |||||
| tu $u+ | |||||
| e E: $u+ | |||||
| i i: $u+ | |||||
| sinn $u+ | |||||
| sibh $u+ | |||||
| iad $u+ | |||||
| // possessive adjectives | |||||
| mo m@ | |||||
| do d@ | |||||
| ar $u | |||||
| ur $u | |||||
| // prepositions | |||||
| á a2 $u+ | |||||
| ag $u+ | |||||
| gu $u+ | |||||
| sa $u+ | |||||
| san $u+ | |||||
| // verbs | |||||
| bu b@ | |||||
| // Pronunciation exceptions | |||||
| // $alt1 silent ending (-bh, -gh) |
| // Based on: | |||||
| // http://en.wikipedia.org/wiki/Scottish_Gaelic_orthography | |||||
| // front vowels | |||||
| .L01 e è é i ì | |||||
| // back vowels | |||||
| .L02 a à á o ò ó u ù | |||||
| // slender consonant followed by a back vowel | |||||
| .L03 eall eann earr earn eadh eahg eo eò ioll ionn iu iù | |||||
| .L04 b bh g gh m mh | |||||
| .L05 ll m nn | |||||
| .L06 l n r // cause epenthetic vowel | |||||
| .L07 l r s ch // epenthetic after 'm' | |||||
| // NOTES: | |||||
| // Use phoneme [#] for possible preaspiration | |||||
| // Use phoneme [&] for epenthetic vowel | |||||
| .group a | |||||
| a a | |||||
| a (dh_ o- | |||||
| a (dhA o- | |||||
| a (gh_ o- | |||||
| a (ghA o- | |||||
| a (L05K aU | |||||
| a (rrK a: | |||||
| a (rd a: | |||||
| a (rn a: | |||||
| a (g_ a2 // don't reduce to [@] | |||||
| ai (l_ a2 | |||||
| @) ai I | |||||
| ai a | |||||
| ai (L05K aI | |||||
| ai (mL07 E // ? aimsir | |||||
| ai (bhC aI | |||||
| ai (mhC aI | |||||
| ai (rrK a: | |||||
| ai (rd a: | |||||
| ai (rn a: | |||||
| ao u-: | |||||
| aoi u-I | |||||
| abh (C a_|u | |||||
| amh (C a_|u | |||||
| adh (C o-: | |||||
| agh (C o-: | |||||
| aidh (C a_|i | |||||
| aigh (C o-_|i | |||||
| .group à | |||||
| à a: | |||||
| ài a: // or E: ?? | |||||
| .group á | |||||
| á a: | |||||
| ái a: | |||||
| .group e | |||||
| e e | |||||
| @) ea (g_ a2 // unstressed | |||||
| @) ea @ | |||||
| ea E | |||||
| ea (dh_ o- | |||||
| ea (gh_ o- | |||||
| ea (d e | |||||
| ea (g e | |||||
| ea (s e | |||||
| ea (llK aU | |||||
| ea (nnK aU | |||||
| ea (rrK a: | |||||
| ea (rn a: | |||||
| _) ea (llA ja | |||||
| _) ea (nnA ja | |||||
| _) ea (rrA ja | |||||
| ea (llA a | |||||
| ea (nnA a | |||||
| ea (rrA a | |||||
| eagh (C o-: // ?? or O: | |||||
| eamh (C E_|u | |||||
| ei e | |||||
| @) ei I // unstressed | |||||
| ei (L05K eI | |||||
| eo O | |||||
| _) eò jO: | |||||
| _) eòi jO: | |||||
| eò O: | |||||
| eòi O: | |||||
| eu ia | |||||
| eu (m e: | |||||
| .group è | |||||
| è E: // or e: | |||||
| èi E: // or e: | |||||
| èa ia | |||||
| .group é | |||||
| é e: | |||||
| éi e: | |||||
| .group i | |||||
| i i | |||||
| i (L05K i: | |||||
| i (mL07 i | |||||
| i (mh i | |||||
| ia i@ // or ia | |||||
| io i | |||||
| _) io (llK ju | |||||
| _) io (nnK ju | |||||
| io (llK u: | |||||
| io (nnK u: | |||||
| iodh (C i_|@ | |||||
| iogh (C i_|@ | |||||
| _) iu ju | |||||
| iu u | |||||
| iu (rr u: | |||||
| iu (rs u: | |||||
| iù u: | |||||
| iùi u: | |||||
| .group ì | |||||
| ì i: | |||||
| ìo i@ | |||||
| .group o | |||||
| o O | |||||
| o (L04 o | |||||
| o (L05K OU | |||||
| o (mh o | |||||
| o (rrK O: | |||||
| o (rd O: | |||||
| o (rn O: | |||||
| ogh (C o: | |||||
| oibh (C o-_i | |||||
| oigh (C o-_i | |||||
| oimh (C O_i | |||||
| oi o- // or O | |||||
| oi (L04 o | |||||
| oi (mh o | |||||
| oi (L05K @I | |||||
| .group ò | |||||
| ò O: // or o: | |||||
| òi O: // or o: | |||||
| .group ó | |||||
| ó o: | |||||
| ói o: | |||||
| .group u | |||||
| u u | |||||
| u (L05K u: | |||||
| u (rn u: | |||||
| u (rr u: | |||||
| u (_ u: | |||||
| ua u@ // [ua] if followed by m or n ? | |||||
| uai u@ | |||||
| ui u | |||||
| ui (m u- | |||||
| ui (n u- | |||||
| ui (s u- | |||||
| ui (dh u-I | |||||
| ui (L05K u-I | |||||
| ui (L05 u- | |||||
| uimh (C u_|i | |||||
| .group ù | |||||
| ù u: | |||||
| ùi u: | |||||
| .group b | |||||
| b b | |||||
| b (L03 bj // try b; | |||||
| L06) b &b // insert epenthetic vowel | |||||
| L06) b (L03 &bj | |||||
| .group bh | |||||
| bh v | |||||
| bh (_ v | |||||
| bh (_+$w_alt1 // null | |||||
| bh (L03 vj | |||||
| // bh sometimes null between vowels or word-final | |||||
| L06) bh &v | |||||
| L06) bh (_ &v | |||||
| L06) bh (L03 &vj | |||||
| .group c | |||||
| c k | |||||
| A) c (L02 #k | |||||
| A) c (_ #g | |||||
| C) c (_ g | |||||
| c (L01 k; | |||||
| A) c (L01 #k; | |||||
| L01) c (_ #g; | |||||
| L01C) c (_ g; | |||||
| ch x | |||||
| L01) ch C | |||||
| ch (L01 C | |||||
| chd #g | |||||
| L06) ch &x | |||||
| L01L06) ch &C | |||||
| L06) ch (L01 &C | |||||
| cn kR | |||||
| .group d | |||||
| d d | |||||
| L01) d d; | |||||
| d (L01 d; | |||||
| dh Q | |||||
| A) dh (L02 Q // or null | |||||
| dh (L01 J^ | |||||
| L01) dh J^ | |||||
| A) dh (L01 | |||||
| ai) dh (_ | |||||
| éi) dh (_ | |||||
| .group f | |||||
| f f | |||||
| f (L03 fj | |||||
| fh | |||||
| .group g | |||||
| g g | |||||
| L01) g g; | |||||
| g (L01 g; | |||||
| L06) g &g | |||||
| L01L06) g &g; | |||||
| L06) g (L01 &g; | |||||
| gh Q | |||||
| gh (_+$w_alt1 // null | |||||
| A) gh (L02 Q // or null | |||||
| L01) gh J^ | |||||
| gh (L01 J^ | |||||
| A) gh (L01 | |||||
| L06) gh &Q | |||||
| L01L06) gh &J^ | |||||
| L06) gh (L01 &J^ | |||||
| gn gR | |||||
| .group h | |||||
| h h | |||||
| .group j | |||||
| j dZ | |||||
| .group k | |||||
| k k | |||||
| .group l | |||||
| l L | |||||
| L01) l l | |||||
| l (L01 l | |||||
| _) l (L01 l^ | |||||
| ll L | |||||
| L01) ll l^ | |||||
| ll (L01 l^ | |||||
| .group m | |||||
| m m | |||||
| m (L03 mj | |||||
| L06) m &m // epenthetic | |||||
| L06) m (L03 &mj | |||||
| m (L07 m& | |||||
| mh v | |||||
| mh (L03 vj | |||||
| // mh between vowels sometimes null | |||||
| L06) mh &v | |||||
| L06) mh (L03 &vj | |||||
| .group n | |||||
| n n | |||||
| _) n (L02 n[ | |||||
| L02L01) n n^ // slender after a back vowel | |||||
| L02L01C) n n^ | |||||
| L02L01CC) n n^ | |||||
| ng Ng | |||||
| L01) ng ng; | |||||
| ng (L01 ng; | |||||
| n (gh n | |||||
| nn n[ | |||||
| L01) nn (+ n^ | |||||
| nn (L01 n^ | |||||
| .group p | |||||
| p p | |||||
| A) p (A #p | |||||
| A) p (_ #b | |||||
| C) p (_ b | |||||
| p (L03 bj | |||||
| A) p (L03 #bj | |||||
| ph f | |||||
| ph (L03 fj | |||||
| .group q | |||||
| q kw | |||||
| .group r | |||||
| r * | |||||
| L01) r *; | |||||
| r (L01 *; | |||||
| _) r R | |||||
| rr R | |||||
| rt (_ *Sd | |||||
| rd (_ *Sd | |||||
| .group s | |||||
| s s | |||||
| L01) s S | |||||
| s (L01 S | |||||
| sh h | |||||
| sh (L03 hj | |||||
| .group t | |||||
| t t | |||||
| A) t (L02 #t | |||||
| A) t (_ #d | |||||
| C) t (_ d | |||||
| t (L01 t; | |||||
| A) t (L01 #t; | |||||
| L01) t (_ #d; | |||||
| L01C) t (_ d; | |||||
| L01CC) t (_ d; | |||||
| th h | |||||
| th (L03 hj | |||||
| th (_ // ? | |||||
| // th between vowels may be null | |||||
| .group v | |||||
| v v | |||||
| .group w | |||||
| w w | |||||
| .group x | |||||
| x ks | |||||
| _) x z | |||||
| .group y | |||||
| y i | |||||
| y (A j | |||||
| A) y j | |||||
| .group z | |||||
| z z | |||||
| // Phoneme table for Scottish Gaelic (lang=gd) | |||||
| // Vowels | |||||
| phoneme I | |||||
| vowel starttype #i endtype #i | |||||
| unstressed | |||||
| length 130 | |||||
| FMT(vowel/ii) | |||||
| endphoneme | |||||
| phoneme @ | |||||
| vowel starttype #@ endtype #@ | |||||
| unstressed | |||||
| length 130 | |||||
| FMT(vowel/@_6) | |||||
| endphoneme | |||||
| phoneme i: | |||||
| vowel starttype #i endtype #i long | |||||
| length 240 | |||||
| ChangeIfUnstressed(i) | |||||
| FMT(vowel/i) | |||||
| endphoneme | |||||
| phoneme i | |||||
| vowel starttype #i endtype #i | |||||
| length 130 | |||||
| ChangeIfUnstressed(I) | |||||
| FMT(vowel/i_6) | |||||
| endphoneme | |||||
| phoneme e: | |||||
| vowel starttype #e endtype #e long | |||||
| length 240 | |||||
| ChangeIfUnstressed(@) | |||||
| FMT(vowel/e) | |||||
| endphoneme | |||||
| phoneme e | |||||
| vowel starttype #e endtype #e | |||||
| length 130 | |||||
| ChangeIfUnstressed(@) | |||||
| FMT(vowel/e) | |||||
| endphoneme | |||||
| phoneme E: | |||||
| vowel starttype #e endtype #e long | |||||
| length 240 | |||||
| FMT(vowel/ee) | |||||
| endphoneme | |||||
| phoneme E | |||||
| vowel starttype #e endtype #e | |||||
| length 130 | |||||
| FMT(vowel/ee) | |||||
| endphoneme | |||||
| phoneme a: | |||||
| vowel starttype #a endtype #a long | |||||
| length 240 | |||||
| ChangeIfUnstressed(a) | |||||
| FMT(vowel/aa_8) | |||||
| endphoneme | |||||
| phoneme a | |||||
| vowel starttype #a endtype #a | |||||
| length 130 | |||||
| ChangeIfUnstressed(@) | |||||
| FMT(vowel/a) | |||||
| endphoneme | |||||
| phoneme a2 // doesn't reduce to [@] | |||||
| vowel starttype #a endtype #a | |||||
| length 130 | |||||
| FMT(vowel/a) | |||||
| endphoneme | |||||
| phoneme O: | |||||
| vowel starttype #o endtype #o long | |||||
| length 240 | |||||
| FMT(vowel/oo_2) | |||||
| endphoneme | |||||
| phoneme O | |||||
| vowel starttype #o endtype #o | |||||
| length 130 | |||||
| FMT(vowel/oo_2) | |||||
| endphoneme | |||||
| phoneme o: | |||||
| vowel starttype #o endtype #o long | |||||
| length 240 | |||||
| FMT(vowel/o) | |||||
| endphoneme | |||||
| phoneme o | |||||
| vowel starttype #o endtype #o | |||||
| length 130 | |||||
| FMT(vowel/o_2) | |||||
| endphoneme | |||||
| phoneme u: | |||||
| vowel starttype #u endtype #u long | |||||
| length 240 | |||||
| ChangeIfUnstressed(u) | |||||
| FMT(vowel/u_bck2) | |||||
| endphoneme | |||||
| phoneme u | |||||
| vowel starttype #u endtype #u | |||||
| length 130 | |||||
| FMT(vowel/u_bck2) | |||||
| endphoneme | |||||
| phoneme u- | |||||
| vowel starttype #@ endtype #@ | |||||
| ipa ɯ | |||||
| length 240 | |||||
| FMT(vowel/u_bck2) | |||||
| endphoneme | |||||
| phoneme u- | |||||
| vowel starttype #@ endtype #@ long | |||||
| ipa ɯ | |||||
| length 130 | |||||
| FMT(vowel/u_bck2) | |||||
| endphoneme | |||||
| phoneme o- | |||||
| vowel starttype #@ endtype #@ long | |||||
| ipa ɤ | |||||
| length 240 | |||||
| ChangeIfUnstressed(@) | |||||
| FMT(vowel/8_7) | |||||
| endphoneme | |||||
| phoneme o- | |||||
| vowel starttype #@ endtype #@ | |||||
| ipa ɤ | |||||
| length 130 | |||||
| ChangeIfUnstressed(@) | |||||
| FMT(vowel/8_7) | |||||
| endphoneme | |||||
| // Diphthongs | |||||
| phoneme i@ | |||||
| vowel starttype #i endtype #@ long | |||||
| length 240 | |||||
| ChangeIfNotStressed(@) | |||||
| FMT(vdiph2/i@) | |||||
| endphoneme | |||||
| phoneme ia | |||||
| vowel starttype #i endtype #@ long | |||||
| length 240 | |||||
| ChangeIfNotStressed(@) | |||||
| FMT(vdiph2/i@_3) | |||||
| endphoneme | |||||
| phoneme u@ | |||||
| vowel starttype #u endtype #@ long | |||||
| length 240 | |||||
| FMT(vdiph2/u@) | |||||
| endphoneme | |||||
| phoneme aI | |||||
| vowel starttype #a endtype #i long | |||||
| length 240 | |||||
| ChangeIfUnstressed(@) | |||||
| FMT(vdiph/ai) | |||||
| endphoneme | |||||
| phoneme eI | |||||
| vowel starttype #e endtype #i long | |||||
| length 240 | |||||
| FMT(vdiph/ei) | |||||
| endphoneme | |||||
| phoneme @I | |||||
| vowel starttype #@ endtype #i long | |||||
| length 240 | |||||
| FMT(vdiph/@i) | |||||
| endphoneme | |||||
| phoneme u-I | |||||
| vowel starttype #@ endtype #i long | |||||
| ipa ɯɪ | |||||
| length 240 | |||||
| FMT(vdiph/u-i) | |||||
| endphoneme | |||||
| phoneme aU | |||||
| vowel starttype #a endtype #u long | |||||
| length 240 | |||||
| ChangeIfUnstressed(@) | |||||
| FMT(vdiph/aau_4) | |||||
| endphoneme | |||||
| phoneme OU | |||||
| vowel starttype #@ endtype #u long | |||||
| length 240 | |||||
| FMT(vdiph/Vu) | |||||
| endphoneme | |||||
| // Consonants | |||||
| phoneme b | |||||
| import_phoneme is/b | |||||
| endphoneme | |||||
| phoneme d | |||||
| import_phoneme is/d | |||||
| endphoneme | |||||
| phoneme d; | |||||
| import_phoneme hi/c | |||||
| endphoneme | |||||
| phoneme g | |||||
| import_phoneme is/g | |||||
| endphoneme | |||||
| phoneme g; | |||||
| vls vel stop | |||||
| Vowelin f1=0 f2=2700 400 600 f3=300 80 rate len=70 | |||||
| Vowelout f1=1 f2=2700 400 600 f3=200 70 len=50 colr=1 | |||||
| WAV(ustop/ki_ejc, 130) | |||||
| endphoneme | |||||
| phoneme k; | |||||
| vls vel stop | |||||
| Vowelin f1=0 f2=2700 400 600 f3=300 80 rate len=70 | |||||
| Vowelout f1=1 f2=2700 400 600 f3=200 70 len=50 colr=1 | |||||
| WAV(ustop/ki) | |||||
| endphoneme | |||||
| phoneme t | |||||
| import_phoneme hi/t# | |||||
| endphoneme | |||||
| phoneme t; | |||||
| import_phoneme hi/c# | |||||
| endphoneme | |||||
| phoneme S | |||||
| vls pal frc sibilant palatal | |||||
| CALL base/S; | |||||
| ipa ʃ | |||||
| endphoneme | |||||
| phoneme n[ // temporary | |||||
| import_phoneme n | |||||
| endphoneme | |||||
| phoneme * // reduced [t] as in "city" | |||||
| vcd alv stop | |||||
| ipa ɾ | |||||
| lengthmod 5 | |||||
| Vowelin f1=1 f2=1700 -300 300 f3=-100 80 | |||||
| Vowelout f1=2 f2=1700 -300 300 f3=-100 80 | |||||
| IF KlattSynth THEN | |||||
| IF PreVoicing THEN | |||||
| FMT(klatt/x_tap) | |||||
| ENDIF | |||||
| FMT(klatt/tap2) addWav(x/d, 70) | |||||
| ENDIF | |||||
| IF PreVoicing THEN | |||||
| FMT(d/x_tap) | |||||
| ENDIF | |||||
| FMT(d/tap2) addWav(x/d, 25) | |||||
| endphoneme | |||||
| phoneme *; | |||||
| import_phoneme D | |||||
| endphoneme | |||||
| phoneme R | |||||
| import_phoneme R2 | |||||
| endphoneme | |||||
| phoneme & // the epenthetic vowel | |||||
| vowel starttype #@ endtype #@ | |||||
| unstressed | |||||
| length 130 | |||||
| IF prevVowel(a) THEN | |||||
| ChangePhoneme(a) | |||||
| ELSEIF prevVowel(E) THEN | |||||
| IF prevPh(*) THEN | |||||
| ChangePhoneme(a) | |||||
| ELSE | |||||
| ChangePhoneme(E) | |||||
| ENDIF | |||||
| ELSEIF prevVowel(O) THEN | |||||
| ChangePhoneme(O) | |||||
| ELSEIF prevVowel(i) THEN | |||||
| ChangePhoneme(i) | |||||
| ELSEIF prevVowel(e) THEN | |||||
| ChangePhoneme(e) | |||||
| ELSEIF prevVowel(u) THEN | |||||
| ChangePhoneme(u) | |||||
| ELSEIF prevVowel(u-) THEN | |||||
| ChangePhoneme(u-) | |||||
| ELSEIF prevVowel(o-) THEN | |||||
| ChangePhoneme(o-) | |||||
| ENDIF | |||||
| ChangePhoneme(NULL) | |||||
| endphoneme | |||||
| phoneme # // used for pre-aspiration | |||||
| vls glt apr | |||||
| IF NOT prevPhW(isVowel) OR thisPh(isNotStressed) OR prevVowel(isLong) THEN | |||||
| ChangePhoneme(NULL) | |||||
| ELSE | |||||
| IF nextPhW(g;) OR nextPhW(k;) THEN | |||||
| ChangePhoneme(C) | |||||
| ELSEIF nextPhW(g) OR nextPhW(k) THEN | |||||
| ChangePhoneme(x) | |||||
| ELSE | |||||
| ChangePhoneme(h) | |||||
| ENDIF | |||||
| ENDIF | |||||
| endphoneme | |||||
| // [h] only if followed by a vowel | |||||
| phoneme h# | |||||
| vls glt apr | |||||
| IF nextPh(isVowel) THEN | |||||
| ChangePhoneme(h) | |||||
| ELSE | |||||
| ChangePhoneme(NULL) | |||||
| ENDIF | |||||
| endphoneme |