[1.43.57]

Indicate language changes in IPA phoneme output.

Phoneme definitions FMT(), second parameter is amplitude percentage.

Phoneme definitions CALL(),  If phoneme type is not defined, copy the static attributes from the called phoneme.

Unpronouncable word check: stop when an apostrophe is reached.


git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@250 d46cf337-b52f-0410-862d-fd96e6ae7743
This commit is contained in:
jonsd
2010-07-18 22:43:04 +00:00
parent 3bf61040b9
commit ebf0535e6d
85 changed files with 2294 additions and 1945 deletions
+42 -47
View File
@@ -17,8 +17,8 @@ consonants 9 115
jbo 2 114
nci 3 123
fi 40 133
fr 56 138
fr-ca 11 138
fr 55 137
fr-ca 11 137
hi 58 149
ta 20 151
hu 24 121
@@ -32,7 +32,7 @@ consonants 9 115
sr 14 138
it 18 126
la 21 124
es 8 123
es 10 123
es-la 1 123
ca 11 125
pt 29 138
@@ -59,11 +59,11 @@ consonants 9 115
ne 18 156
pa 14 150
prs 8 111
sl 6 133
sl 7 133
gd 6 107
bg 10 119
nso 8 107
ht 11 138
ht 11 137
Data file Used by
b/b [b] base
@@ -341,8 +341,8 @@ l/l_ [l/] base
[l/] fr
l/l_@ [l/3] base
[l/] fr
l/l@ [á3m] base
[l#] base
l/l@ [l#] base
[€¦] base
[l] fr
[l/2] fr
l/L1_aL [l/] base
@@ -367,14 +367,14 @@ l/L2_oL [l/2] base
l/L2_uL [l/2] base
l/l_3 [l/] de
l/l_4 [ll] sq
l/la [á3m] base
[l#] base
l/la [l#] base
[€¦] base
[l] fr
[l/2] fr
l/l_a [l/3] base
[l/] fr
l/le [á3m] base
[l#] base
l/le [l#] base
[€¦] base
[l] fr
[l/2] fr
l/l_e [l/3] base
@@ -383,8 +383,8 @@ l/L_eL_af [&] af
[&:] af
l/l_front [L] sq
l/l_front_ [l/4] sq
l/li [á3m] base
[l#] base
l/li [l#] base
[€¦] base
[l] fr
[l/2] fr
[l] zh
@@ -395,15 +395,15 @@ ll/ll [L] bg
ll/_ll [L] bg
l/l_long [l] base
[l] fr
l/lo [á3m] base
[l#] base
l/lo [l#] base
[€¦] base
[l] fr
[l/2] fr
l/l_o [l/3] base
[l/] fr
l^/l_rfx [l.] base
l/lu [á3m] base
[l#] base
l/lu [l#] base
[€¦] base
[l] fr
[l/2] fr
l/l_u [l/3] base
@@ -1640,7 +1640,6 @@ vowel/o [o] base2
[oU] en-wi
[o:] de
[o] fr
[o2] fr
[o] hi
[o] ta
[o:] ta
@@ -1676,7 +1675,6 @@ vowel/o_5 [O] nl
vowel/o_6 [O:] nl
vowel/o_7 [o] ku
vowel/o_8 [o] fr
[o2] fr
[o] ht
vowel/oe [W] af
[W] de
@@ -1690,7 +1688,6 @@ vowel/o_mid [U@] en-rp
[o] ne
[o] bg
vowel/o_mid2 [O] fr
[o] fr
[O] ht
vowel/oo [o] base
[O:] en-sc
@@ -1825,8 +1822,6 @@ vowel/u_bck [u] base2
[u] bg
vowel/u_bck2 [u] fr
[u:] fr
[u] ta
[u:] ta
[u:] la
[u] ht
vowel/uu [U] en
@@ -1952,51 +1947,51 @@ vwl_en_us/oor [O:] en-us
vwl_en_us/or [o@] en-us
[O:] en-sc
vwl_en_us/ur [U@] en-us
vwl_fr/@2r [�æ] fr
vwl_fr/a2r [�æ] fr
vwl_fr/aa2r [�æ] fr
vwl_fr/@2r [] fr
vwl_fr/a2r [] fr
vwl_fr/aa2r [] fr
vwl_fr/br [r/2] fr
vwl_fr/e2r [�æ] fr
vwl_fr/e_2r [�æ] fr
vwl_fr/ee2r [�æ] fr
vwl_fr/i2r [�æ] fr
vwl_fr/e2r [] fr
vwl_fr/e_2r [] fr
vwl_fr/ee2r [] fr
vwl_fr/i2r [] fr
vwl_fr/j [j/] fr
vwl_fr/o2r [�æ] fr
vwl_fr/oo2r [�æ] fr
vwl_fr/o2r [] fr
vwl_fr/oo2r [] fr
vwl_fr/r [r] fr
[r/2] fr
vwl_fr/r_ [r/] fr
vwl_fr/r_@ [r/] fr
vwl_fr/r@ [�æ] fr
vwl_fr/r@ [] fr
vwl_fr/@R [x] pt-pt
vwl_fr/r@2 [�æ] fr
vwl_fr/r@2 [] fr
vwl_fr/@R2 [R] fr-ca
vwl_fr/ra [�æ] fr
vwl_fr/ra [] fr
vwl_fr/r_a [r/] fr
vwl_fr/raa [�æ] fr
vwl_fr/re [�æ] fr
vwl_fr/raa [] fr
vwl_fr/re [] fr
vwl_fr/r_e [r/] fr
vwl_fr/re2 [�æ] fr
vwl_fr/ree [�æ] fr
vwl_fr/ri [�æ] fr
vwl_fr/re2 [] fr
vwl_fr/ree [] fr
vwl_fr/ri [] fr
vwl_fr/r_i [r/] fr
vwl_fr/rj [�æ] fr
vwl_fr/rj [] fr
vwl_fr/r_n [r/] fr
vwl_fr/ro [�æ] fr
vwl_fr/ro [] fr
vwl_fr/r_o [r/] fr
vwl_fr/roo [�æ] fr
vwl_fr/roo [] fr
vwl_fr/rr [r/] fr
vwl_fr/ru [�æ] fr
vwl_fr/ru [] fr
vwl_fr/r_u [r/] fr
vwl_fr/rw [�æ] fr
vwl_fr/ry [�æ] fr
vwl_fr/rw [] fr
vwl_fr/ry [] fr
vwl_fr/r_y [r/] fr
vwl_fr/tr [r/2] fr
vwl_fr/trr [r/] fr
vwl_fr/u2r [�æ] fr
vwl_fr/u2r [] fr
vwl_fr/wa [w] fr
[w/] fr
vwl_fr/y2r [�æ] fr
vwl_fr/y2r [] fr
vwl_hi/l-voc [l-] base
[l-] sk
[l:] sk
+4 -2
View File
@@ -16,7 +16,8 @@ phoneme @ // Schwa, but always unstressed
unstressed
length 140
IF nextPh(r/) THEN
FMT(vwl_af/r@, 50)
Length 190
FMT(vwl_af/r@)
ENDIF
FMT(vwl_af/@)
endphoneme
@@ -39,7 +40,8 @@ phoneme I // short I, Schwa
vowel starttype #@ endtype #@
length 140
IF nextPh(r/) THEN
FMT(vwl_af/r@, 50)
Length 190
FMT(vwl_af/r@)
ENDIF
FMT(vwl_af/I)
endphoneme
+1
View File
@@ -282,6 +282,7 @@ endphoneme
phoneme dZ;
vcd pla afr sibilant palatal
voicingswitch tS;
ipa dʑ
lengthmod 5
Vowelin f1=2 f2=2700 400 600 f3=300 80 rate len=70
+2
View File
@@ -25,6 +25,7 @@ endphoneme
phoneme tS; // this is letter ć
vls pal afr sibilant palatal
ipa tɕ
lengthmod 2
voicingswitch dZ;
Vowelin f1=0 f2=2500 300 500 f3=300 80 rate len=70
@@ -69,6 +70,7 @@ endphoneme
phoneme dZ; // letter đ
vcd pla afr sibilant palatal
lengthmod 5
ipa dʑ
voicingswitch tS;
Vowelin f1=2 f2=2500 300 500 f3=300 80 rate len=70
+1 -4
View File
@@ -113,11 +113,8 @@ endphoneme
phoneme 3 // Schwa, used for rhotic schwa in American
vowel starttype #@ endtype #@
unstressed
length 140
ipa ə
CALL @
ipa ə
endphoneme
+1 -4
View File
@@ -17,11 +17,8 @@ endphoneme
phoneme 3 // Schwa, used for rhotic schwa in American
vowel starttype #@ endtype #@
unstressed
length 140
ipa ə
CALL @
ipa ə
endphoneme
+5 -2
View File
@@ -70,6 +70,7 @@ endphoneme
phoneme a#
vowel starttype #@ endtype #@
ipa ɐ
unstressed
length 140
IfNextVowelAppend(r-)
@@ -152,7 +153,8 @@ phoneme A:
ipa a:
IfNextVowelAppend(r-)
IF nextPh(r) THEN
FMT(vowelr/aa_r, 30)
Length 250
FMT(vowelr/aa_r)
ENDIF
FMT(vowel/a_3)
endphoneme
@@ -235,7 +237,8 @@ phoneme u:
Length 200
ENDIF
IF nextPh(isPause) THEN
FMT(vowel/u#_4, 40)
Length 200
FMT(vowel/u#_4)
ENDIF
FMT(vowel/u#)
endphoneme
+11 -68
View File
@@ -1,7 +1,7 @@
//====================================================
// French
//====================================================
// Updated 2010-06-22 Michel Such <michel.such@free.fr>
// Updated 2010-07-16 Michel Such <michel.such@free.fr>
phoneme #l virtual
// Used for l and l/
@@ -115,7 +115,6 @@ phoneme r/ // variant of [r] when not preceding a vowel
vcd uvl frc
rhotic
starttype #r endtype #r
Vowelout f1=1 f2=1200 -400 800 f3=200 100 len=30
lengthmod 7
ipa U+0281
@@ -282,13 +281,12 @@ phoneme a
length 170
ENDIF
FMT(vowel/a_7)
FMT(vowel/a_7, 85)
endphoneme
phoneme e
vowel starttype #e endtype #e
palatal
IF nextPh(l/) THEN
VowelEnding(l/xl, -20)
@@ -364,7 +362,7 @@ endphoneme
phoneme j/ // Short "i" between "r" and a vowel
vowel starttype #i endtype #i
length 100
unstressed
// unstressed
NextVowelStarts
VowelStart(j/j@)
@@ -386,47 +384,6 @@ phoneme o
length 170
ENDIF
IF thisPh(isFinalVowel) THEN
IF thisPh(isWordEnd) THEN
FMT(vowel/o_8)
ELIF nextPh(p2) OR nextPh(t2) OR nextPh(z2) THEN
FMT(vowel/o_8)
ELIF nextPh(z) THEN
FMT(vowel/o)
ELSE
FMT(vowel/o_mid2)
ENDIF
ELSE
IF nextPhW(#r) AND next2Ph(isNotVowel) THEN
ChangePhoneme(O)
ELIF nextPhW(isLiquid) AND next2Ph(isNotVowel) THEN
ChangePhoneme(O)
ELIF nextPhW(n) AND next2Ph(j) THEN
FMT(vowel/o)
ELIF nextPhW(isNasal) AND next2Ph(isLiquid) THEN
ChangePhoneme(O)
ELIF nextPhW(isNotVowel) AND next2Ph(isNasal) THEN
ChangePhoneme(O)
ELIF nextPhW(d) AND next2Ph(isNotVowel) THEN
ChangePhoneme(O)
ELIF nextPhW(t) AND next2Ph(isLiquid) AND nextVowel(isFinalVowel) THEN
ChangePhoneme(O)
ELSE
FMT(vowel/o)
ENDIF
FMT(vowel/o)
ENDIF
endphoneme
phoneme o2
vowel starttype #o endtype #o
IF nextPh(isVowel) THEN
length 220
ELSE
length 170
ENDIF
IF thisPh(isFinalVowel) THEN
FMT(vowel/o_8)
ELSE
@@ -437,10 +394,10 @@ endphoneme
phoneme O
vowel starttype #o endtype #o
IF nextPhW(#r) THEN
length 200
ELSE
length 170
length 170
IF nextPhW(z) OR nextPhW(z2) OR nextPhW(z3) THEN
ChangePhoneme(o)
ENDIF
FMT(vowel/o_mid2)
@@ -498,23 +455,7 @@ phoneme Y
vowel starttype #@ endtype #@
length 170
IF thisPh(isFinalVowel) THEN
IF thisPh(isWordEnd) THEN
FMT(vowel/y#)
ELIF nextPh(z2) OR nextPh(t2) THEN
FMT(vowel/y#)
ELSE
ChangePhoneme(W)
ENDIF
ELSE
IF nextPhW(isNotVowel) AND next2Ph(isLiquid) THEN
FMT(vowel/y#)
ELIF nextPhW(isNotVowel) AND next2Ph(isNotVowel) THEN
ChangePhoneme(W)
ELSE
FMT(vowel/y#)
ENDIF
ENDIF
FMT(vowel/y#)
endphoneme
@@ -934,7 +875,8 @@ endphoneme
phoneme z2 // silent unless followed by vowel
vcd alv frc sibilant
IF nextPh(isVowel) OR nextPh(w/) OR nextPh(j) THEN
FMT(voc/z, -20) addWav(ufric/s, 40)
Length 70
FMT(voc/z) addWav(ufric/s, 40)
ELSE
ChangePhoneme(NULL)
ENDIF
@@ -953,3 +895,4 @@ phoneme z3 // "six" and "dix". [s] before pause, [z] before vowel, else []
endphoneme
+2 -1
View File
@@ -414,7 +414,8 @@ endphoneme
phoneme ch
import_phoneme base/tS;
CALL base/tS;
ipa ch
endphoneme
+1
View File
@@ -12,6 +12,7 @@ endphoneme
phoneme dZ;
vcd pal afr sibilant palatal
lengthmod 5
ipa dʑ
voicingswitch tS;
Vowelin f1=2 f2=2700 400 600 f3=300 80 rate len=70
+1 -4
View File
@@ -153,11 +153,8 @@ endphoneme
phoneme s# // This is [s] for Brazil, [S] for Portugal
vls pla frc sibilant
lengthmod 3
ipa ʃ
CALL base/S
// import_phoneme base/S
ipa ʃ
endphoneme
+1 -3
View File
@@ -200,10 +200,8 @@ endphoneme
phoneme s# // This is [s] for Brazi;, [S] for Portugal
vls alv frc sibilant
lengthmod 3
ipa s
CALL base/s
ipa s
endphoneme
+2 -1
View File
@@ -15,7 +15,8 @@ phoneme I^ // "silent i", palatilizes the preceding consonant
ChangePhoneme(;)
ENDIF
IF prevPh(l;) THEN
FMT(vwl_ro/li, -10)
Length 60
FMT(vwl_ro/li)
ENDIF
IF prevPh(m;) THEN
FMT(vwl_ro/mi)
+2
View File
@@ -108,6 +108,7 @@ endphoneme
phoneme dZ;
vcd pla afr sibilant palatal
lengthmod 5
ipa dʑ
voicingswitch tS;
Vowelin f1=2 f2=2700 400 600 f3=300 80 rate len=70
@@ -131,6 +132,7 @@ endphoneme
phoneme tS;
vls pal afr sibilant palatal
lengthmod 2
ipa tɕ
voicingswitch dZ;
Vowelin f1=0 f2=2700 400 600 f3=300 80 rate len=70
WAV(ustop/ts_sr)
+34 -1
View File
@@ -31,6 +31,13 @@ phoneme g
Vowelin f1=2 f2=2300 200 300 f3=-300 80
Vowelout f1=2 f2=2300 250 300 f3=-300 80 brk
IF thisPh(isWordStart) AND nextPh(isVowel) THEN
IF prevPh(isPause) OR prevPh(isNasal) THEN
ELSE
ChangePhoneme(Q)
ENDIF
ENDIF
IF PreVoicing THEN
FMT(g/xg)
ENDIF
@@ -41,6 +48,32 @@ phoneme g
FMT(g/g) addWav(x/g2) // weaker [g]
endphoneme
phoneme d
vcd dnt stop
IF thisPh(isWordStart) AND nextPh(isVowel) THEN
IF prevPh(isPause) OR prevPh(isNasal) OR prevPh(l) THEN
ELSE
ChangePhoneme(D)
ENDIF
ENDIF
CALL base2/d
endphoneme
phoneme b
vcd blb stop
IF thisPh(isWordStart) AND nextPh(isVowel) THEN
IF prevPh(isPause) OR prevPh(isNasal) THEN
ELSE
ChangePhoneme(B)
ENDIF
ENDIF
CALL base/b
endphoneme
phoneme D
vcd dnt frc
@@ -71,7 +104,7 @@ endphoneme
phoneme v# // a shorter [v], a little towards [b]
vcd lbd frc
ipa v
ipa ʋ
lengthmod 6
voicingswitch f
Vowelin f1=1 f2=1000 -300 -200 f3=-300 100
+1 -8
View File
@@ -81,18 +81,13 @@ endphoneme
phoneme u
vowel starttype #u endtype #u
length 110
IF prevPhW(isVel) THEN
FMT(vowel/u_bck2)
ELSE
ChangeIfNotStressed(U)
ENDIF
ChangeIfNotStressed(U)
FMT(vowel/u_6)
endphoneme
phoneme U
vowel starttype #u endtype #u
length 110
ipa ʉ
FMT(vowel/u#_3)
endphoneme
@@ -100,7 +95,6 @@ phoneme u:
vowel starttype #u endtype #u
length 260
IF prevPhW(isVel) THEN
FMT(vowel/u_bck2)
ELSE
ChangeIfNotStressed(U:)
ENDIF
@@ -109,7 +103,6 @@ endphoneme
phoneme U:
vowel starttype #u endtype #u
ipa ʉː
length 240
FMT(vowel/u#_3)
endphoneme
+3
View File
@@ -199,6 +199,7 @@ endphoneme
phoneme tS;
vls pal afr sibilant palatal
ipa tɕ
lengthmod 2
Vowelin f1=0 f2=2700 400 600 f3=300 80
WAV(ustop/tsh_pzd_unasp)
@@ -206,6 +207,7 @@ endphoneme
phoneme tS;h
vls pal afr sibilant palatal
ipa tɕh
lengthmod 2
Vowelin f1=0 f2=2700 400 600 f3=300 80
WAV(ustop/tsh_pzd, 80)
@@ -214,6 +216,7 @@ endphoneme
phoneme S;
vls pla frc sibilant
lengthmod 2
ipa ɕ
Vowelin f1=0 f2=2700 400 600 f3=300 80
WAV(ufric/sh_pzd2, 20)
endphoneme
+5 -1
View File
@@ -858,7 +858,7 @@ endphoneme
//*******************************************************************
phoneme b
phoneme b
vcd blb stop
voicingswitch p
Vowelout f1=2 f2=1000 -500 -300 f3=-300 80 brk
@@ -961,6 +961,7 @@ endphoneme
phoneme dZ;
vcd pla afr sibilant palatal
voicingswitch tS;
ipa dʑ
lengthmod 5
Vowelin f1=2 f2=2700 400 600 f3=300 80 rate len=70
Vowelout f1=2 f2=2700 400 600 f3=300 80
@@ -1188,6 +1189,7 @@ endphoneme
phoneme Z;
vcd pal frc sibilant palatal
voicingswitch S;
ipa ʑ
lengthmod 6
Vowelin f1=2 f2=2700 400 600 f3=300 80 rate len=70
Vowelout f1=2 f2=2300 250 300 f3=-300 80 brk
@@ -1334,6 +1336,7 @@ endphoneme
phoneme tS;
vls pal afr sibilant palatal
voicingswitch dZ;
ipa tɕ
lengthmod 2
Vowelin f1=0 f2=2700 400 600 f3=300 80 rate len=70
@@ -1494,6 +1497,7 @@ endphoneme
phoneme S;
vls pal frc sibilant palatal
voicingswitch Z;
ipa ɕ
lengthmod 3
Vowelin f1=1 f2=2700 400 600 f3=200 70 rate len=70
Vowelout f1=1 f2=2700 400 600 f3=200 70 rate
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.