espeak 1.44.05 release version

Fix error in big-endian data conversion program, producing bad data.

Make geminated voiced stops (eg. [bb] ) longer at fast speeds.

Provide conditional compilation of the mbrola interface, define macro INCLUDE_MBROLA in speech.h

Mbrola: also look for mbrola voices in /usr/share/mbrola/voices

Pad TUNES and frame_t structures to a multiple of 4 bytes.

lang=da, Don't weaken unvoiced stops before pause.
lang=el, Remove final unstressed [a] if the next word starts with [a].
lang=pt, Change final [U] to [w] if next word starts with a vowel.


espeak 1.44.03

Fixes:
Lang=el, mk.  Was speaking words as individual letters.
Lang=pl.  Fix prounciation of 'ć' and 'ci'.
Fix crash in big-endian data conversion program.
Fix problem where changing voices reduces the speaking rate, at fast rates.

speak_lib.h:  add macro definitions for minimum, maximum, and normal speaking rate values.


git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@253 d46cf337-b52f-0410-862d-fd96e6ae7743
This commit is contained in:
jonsd
2010-09-15 14:03:05 +00:00
parent eb7b132e9a
commit 14e212f3a1
47 changed files with 1469 additions and 369 deletions
+35 -17
View File
@@ -12,7 +12,7 @@ consonants 9 115
en-wi 30 148
af 39 136
cy 29 132
de 36 137
de 37 138
eo 13 114
jbo 2 114
nci 3 123
@@ -23,7 +23,7 @@ consonants 9 115
ta 21 153
hu 24 121
lv 29 125
nl 24 125
nl 25 126
pl 22 120
sk 28 135
cs 6 135
@@ -53,16 +53,16 @@ consonants 9 115
id 15 125
sq 33 126
hy 23 117
da 24 120
da 27 120
rw 15 130
ml 13 151
ne 18 157
pa 14 151
prs 8 111
sl 7 135
sl 10 135
gd 6 107
bg 10 121
nso 8 107
nso 12 111
ht 11 140
az 10 127
ak 8 109
@@ -343,10 +343,11 @@ l/l_ [l/] base
[l/] fr
l/l_@ [l/3] base
[l/] fr
l/l@ [h–z] base
l/l@ [hæy] base
[l#] base
[l] fr
[l/2] fr
[K] nso
l/L1_aL [l/] base
[l/] de
l/L1_eL [l/] base
@@ -369,27 +370,30 @@ l/L2_oL [l/2] base
l/L2_uL [l/2] base
l/l_3 [l/] de
l/l_4 [ll] sq
l/la [h–z] base
l/la [hæy] base
[l#] base
[l] fr
[l/2] fr
[K] nso
l/l_a [l/3] base
[l/] fr
l/le [h–z] base
l/le [hæy] base
[l#] base
[l] fr
[l/2] fr
[K] nso
l/l_e [l/3] base
[l/] fr
l/L_eL_af [&] af
[&:] af
l/l_front [L] sq
l/l_front_ [l/4] sq
l/li [h–z] base
l/li [hæy] base
[l#] base
[l] fr
[l/2] fr
[l] zh
[K] nso
l/l_i [l/3] base
[l/] fr
[i] sq
@@ -397,17 +401,19 @@ ll/ll [L] bg
ll/_ll [L] bg
l/l_long [l] base
[l] fr
l/lo [h–z] base
l/lo [hæy] base
[l#] base
[l] fr
[l/2] fr
[K] nso
l/l_o [l/3] base
[l/] fr
l^/l_rfx [l.] base
l/lu [h–z] base
l/lu [hæy] base
[l#] base
[l] fr
[l/2] fr
[K] nso
l/l_u [l/3] base
[l/] fr
l/l_vi [l] vi
@@ -423,6 +429,7 @@ l/xl [l] base
[l] fr
[l] hu
[ll] sq
[K] nso
m/_m [m] base
m/m_ [m] base
m/m@ [m] base
@@ -526,7 +533,6 @@ r3/r_trill [R2] base
[R] pl
[r*] sr
[x] pt
[r] el
r3/r_trill2 [R] base
[r] cy
r3/r_trill2.wav [R] base
@@ -540,7 +546,6 @@ r3/r_trill.wav [R2] base
[R] pl
[r*] sr
[x] pt
[r] el
r3/r_uvl [r"] base
[r] de
r3/r_uvl.wav [r"] base
@@ -629,6 +634,7 @@ ufric/s [s] base
[z2] fr
[s] es
[z] sq
[s] da
ufric/s_ [s] base
[z] base
[s2] consonants
@@ -640,6 +646,7 @@ ufric/s_ [s] base
ufric/s! [s] base
[s] fr
[s] es
[s] da
ufric/s_continue [s2] consonants
[s2] lv
ufric/sh [S] base
@@ -668,6 +675,7 @@ ufric/sx_sv [sx] sv
ufric/th [T] base
ufric/th_ [T] base
ufric/tl# [tl#] is
ufric/tlh [K] nso
ufric/x [x] base
[kh] vi
ufric/x2 [x2] af
@@ -725,6 +733,7 @@ ustop/null [?] base
ustop/p [p] base
[p2] fr
[p] zhy
[p] da
ustop/p_ [p] base
[ph] consonants
[p] fr
@@ -742,10 +751,12 @@ ustop/pl [p] base
[p] lv
[p] sk
[p] sq
[p] da
ustop/pr [p] base
[p-] consonants
[ph] consonants
[p] base2
[p] da
ustop/p_unasp [p] base
[p-] consonants
[p] base2
@@ -754,6 +765,7 @@ ustop/p_unasp [p] base
[p] sk
[p] zh
[p] sq
[p] da
ustop/p_unasp_ [p-] consonants
[p] base2
[p] fr
@@ -766,12 +778,12 @@ ustop/t [t] base
[dh.] hi
[th.] hi
[t] zhy
[t] da
ustop/t_ [t] base
[t] en-us
[t] fr
[t] lv
[t] sk
[t] el
[th] zh
ustop/t_dnt [t] base
[t[] base
@@ -788,6 +800,7 @@ ustop/t_pzd [c] base
[t;] pl
ustop/tr [t] base
[t] en-us
[t] da
ustop/ts [ts] consonants
[dz] consonants
[ts] hu
@@ -809,7 +822,6 @@ ustop/t_short [t] fr
[t.] hi
[t] lv
[t] sk
[t] el
ustop/t_short_ [t] fr
ustop/tsh_pzd [tS;] zh
ustop/tsh_pzd_unasp [tS;] zh
@@ -829,7 +841,8 @@ ustop/ts_rfx_unasp [ts.] zh
ustop/ts_sr [tS;] sr
[dZ;] sr
ustop/ts_unasp [ts] zh
ustop/t_unasp2 [t] zh
ustop/t_unasp2 [t] el
[t] zh
vdiph/0i [OI] pt
[OI] grc
[OI] vi
@@ -1109,6 +1122,7 @@ vnasal/o_n2 [o~] af
[O~] fr
vnasal/oo_n2 [O~] en
[O~] hi
[O~] nl
[o] zh
vnasal/oo_n3 [O~] pl
vnasal/u_n [U~] hi
@@ -1269,6 +1283,7 @@ vowel/a [a] base
[a] it
[a] zh
[a] id
[a] sl
[a] bg
vowel/a# [a] base2
[a/] base2
@@ -1286,6 +1301,7 @@ vowel/a_2 [a] base2
[A] pt
[a] pt-pt
[a] ro
[a] el
[a] da
[a] rw
vowel/a#_2 [A] nl
@@ -1326,7 +1342,7 @@ vowel/a#_3 [a#] en
[a/] sq
[3] da
[a] ml
vowel/a_4 [a/] el
vowel/a_4 [a] el
[a] vi
vowel/a#_4 [a:] nl
[a] tr
@@ -1607,6 +1623,7 @@ vowel/ii_3 [I] cy
[I] no
[I] tr
[I] pa
[i] sl
vowel/ii#_3 [I2] en-us
vowel/ii_4 [I2] en
[I] en-us
@@ -1789,6 +1806,7 @@ vowel/u_2 [u1] fi
[u] ro
[u] is
[u] tr
[u] sl
[u] bg
vowel/u#_2 [u-] sv
vowel/u#_3 [U] ta
+53
View File
@@ -154,3 +154,56 @@ phoneme R
endphoneme
// don't weaken consonants at end of word or before a stop
phoneme s
vls alv frc sibilant
voicingswitch z
lengthmod 3
Vowelin f1=0 f2=1700 -300 300 f3=-100 80
Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20
IF nextPh(p) OR nextPh(t) OR nextPh(k) THEN
WAV(ufric/s!)
ENDIF
WAV(ufric/s)
endphoneme
phoneme p
vls blb stop
voicingswitch b
lengthmod 2
Vowelin f1=0 f2=1000 -50 -100 f3=-200 80 amp=11
Vowelout f1=0 f2=1000 -500 -350 f3=-300 80 rms=22
IF nextPh(isPause2) THEN
WAV(ustop/p_unasp)
ELIF nextPh(r) THEN
WAV(ustop/pr, 70)
ELIF nextPh(R) OR nextPh(R2) THEN
WAV(ustop/pr)
ELIF nextPh(@-) THEN
WAV(ustop/p_unasp)
ELIF nextPh(l) THEN
WAV(ustop/pl)
ENDIF
WAV(ustop/p)
endphoneme
phoneme t
vls alv stop
voicingswitch d
lengthmod 2
Vowelin f1=0 f2=1700 -300 300 f3=-100 80
Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20
IF nextPh(r) OR nextPh(R) OR nextPh(R2) THEN
WAV(ustop/tr)
ENDIF
WAV(ustop/t, 90)
endphoneme
+6
View File
@@ -96,6 +96,12 @@ phoneme A~
import_phoneme fr/A~
endphoneme
phoneme O~
vowel starttype #o endtype #o
length 190
FMT(vnasal/oo_n2)
endphoneme
// Diphthongs
//===========
+5 -3
View File
@@ -361,7 +361,9 @@ endphoneme
// TESTING
phoneme oU // for English words
import_phoneme en-us/oU
endphoneme
@@ -388,7 +390,7 @@ A~ O n
E E
e: e:
e@ E: r
eI e:
eI e j
i I
I I
I2 I
@@ -401,7 +403,7 @@ o: o:
O@ O : r
o@ O : r
OI OY
oU o:
oU oU
O~ O n
U U
u: u:
+17 -13
View File
@@ -4,12 +4,21 @@
//====================================================
phoneme a/
vowel starttype #@ endtype #@
phoneme a
vowel starttype #a endtype #a
length 180
FMT(vowel/a_4)
IF thisPh(isWordEnd) AND thisPh(isNotStressed) AND nextPh(a) THEN
ChangePhoneme(NULL)
ENDIF
IF thisPh(isDiminished) THEN
FMT(vowel/a_4)
ENDIF
FMT(vowel/a_2)
endphoneme
phoneme e
vowel starttype #e endtype #e
length 180
@@ -40,9 +49,9 @@ phoneme t // revert to alveolar /t/
Vowelin f1=1 f2=1600 -300 300 f3=-100 80 amp=11
Vowelout f1=0 f2=1600 -300 250 f3=-100 80 rms=20
IF nextPh(isPause2) THEN
WAV(ustop/t_)
WAV(ustop/t_unasp2)
ENDIF
WAV(ustop/t_short, 80)
WAV(ustop/t_unasp2)
endphoneme
@@ -70,12 +79,7 @@ phoneme k
endphoneme
phoneme r // this is [R] from Slovak/Czech
liquid
trill
lengthmod 6
ipa r
Vowelin f1=0 f2=1700 -300 300 f3=-300 80
Vowelout f1=2 f2=1700 -300 300 f3=-300 80 brk
FMT(r3/r_trill) addWav(r3/r_trill.wav, 50)
phoneme r
import_phoneme base/R2
endphoneme
+3
View File
@@ -132,6 +132,9 @@ endphoneme
phoneme U
vowel starttype #u endtype #u
length 140
IF thisPh(isWordEnd) AND nextPh(isVowel) THEN
ChangePhoneme(w)
ENDIF
FMT(vowel/uu_bck)
endphoneme
+2 -2
View File
@@ -1127,9 +1127,9 @@ phoneme z
ENDIF
IF nextPh(isPause2) THEN
FMT(voc/z_) addWav(ufric/s_, 85)
FMT(voc/z_) addWav(ufric/s_, 70)
ENDIF
FMT(voc/z) addWav(ufric/s_)
FMT(voc/z) addWav(ufric/s_, 85)
endphoneme