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 |