git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@372 d46cf337-b52f-0410-862d-fd96e6ae7743master
| @@ -0,0 +1,136 @@ | |||
| // 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) | |||
| @@ -0,0 +1,410 @@ | |||
| // 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 | |||
| @@ -0,0 +1,357 @@ | |||
| // 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 | |||