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 |