Browse Source

[1.25.11] Fix problem with temporary language change when using a voice-variant.

lang=hu  Merge "nem" with next word.
lang=ro  Many additions to ro_list.  Change phoneme [o].
lang=af  Update phoneme [R], which also appears as [R3] in general consonants.


git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@27 d46cf337-b52f-0410-862d-fd96e6ae7743
master
jonsd 18 years ago
parent
commit
aeca951879

+ 1
- 0
dictsource/de_list View File

(noch nicht) n'Ox||n,ICt $brk (noch nicht) n'Ox||n,ICt $brk
(nicht mehr) n'ICt||,me:* (nicht mehr) n'ICt||,me:*
(nicht mehr) n,ICt||m'e:* $atend (nicht mehr) n,ICt||m'e:* $atend
(nicht nur) nICt||nu:* $pause
(gar nicht) g,A:*n'ICt (gar nicht) g,A:*n'ICt


// should these be in the Rules because they can be a prefix in a // should these be in the Rules because they can be a prefix in a

+ 2
- 0
dictsource/de_rules View File

_) abzu 'abtsu: _) abzu 'abtsu:
_) an (@P2 'an _) an (@P2 'an
_) an (der an _) an (der an
_) anti (@P4 ,antI
_) an (tw an
_) auf (@P3 'aUf _) auf (@P3 'aUf
_) aus (@P3 'aUs _) aus (@P3 'aUs



+ 19
- 19
dictsource/dict_phonemes View File



Dictionary hr_dict Dictionary hr_dict


& 8 @ @- @2 a A a:
aI aU E e e: eI i I
i: iI l- o o: oI oU O~
r- u U u: uI
& @ @- @2 a A a: aI
aU E e e: eI i I i:
iI l- o o: oI oU O~ r-
u U u: uI


* b d dZ dZ; f g h * b d dZ dZ; f g h
j k l l^ m n N n^ j k l l^ m n N n^
z Z z Z




Dictionary ro_dict

@ @- @I @U a aI aU e
ea eI eo eU i i/ I^ iI
iU o Oa oI oU u uI y
Y yI yU

* *; b b; C d d; dZ
f f; g h j k l l;
m m; n N n; p p; r
s S s; S; t t; tS ts
ts; v v; w w2 z Z z;
Z;


Dictionary ru_dict Dictionary ru_dict


8 @- A a E e E# E2 8 @- A a E e E# E2
tS v w z tS v w z




Dictionary ro_dict

@ @- @I @U a aI aU e
ea eI eo eU i i/ I^ iI
iU o Oa oI oU u uI y
Y yI yU

* *; b b; c C d d;
dZ f f; g h j k l
l; m m; n N n; p p;
r s S s; S; t T t;
tS ts ts; v v; w w2 z
Z z; Z;


Dictionary is_dict Dictionary is_dict


& @- a aI aU e E eI & @- a aI aU e E eI

+ 4
- 3
dictsource/hr_list View File

n n@ n n@
nj n^@ nj n^@
p p@ p p@
q kv@ // new
r R@ // new
q kv@
r R@
_s s@ _s s@
š S@ š S@
t t@ t t@
v v@ v v@
w dv'ost@-*Uko||v@
w dvost@-*uko||v@
x iks x iks
y ipsilon y ipsilon
z z@ z z@
utf u||te||ef utf u||te||ef






+ 2
- 2
dictsource/hr_rules View File

o o o o
ou oU ou oU
oj (K oI oj (K oI
&) o (r_ 8


.group p .group p
p p p p
rr R rr R
r (_ R r (_ R


K) r (K r-
K) r (K 'r-




.group s .group s
ώ omeg&_||tonos ώ omeg&_||tonos
ό omi_k@-*on_||tonos ό omi_k@-*on_||tonos




+ 1
- 1
dictsource/hu_list View File





// Negative // Negative
nem $u+
nem $alt2 $strend
ne $u+ ne $u+





+ 4
- 0
dictsource/hu_rules View File

ny (k N ny (k N
ny (g N ny (g N


_) nem (- n,Em // has $alt2 attribute in hu_list, combine with the next word




.group o .group o
_ré) zs (ó zS _ré) zs (ó zS
_há) zs (or zS _há) zs (or zS
_vá) zs (or zS _vá) zs (or zS
_szára) zs (ág zS
_kö) zs (ég zS



.group .group
% sa:zAle:k % sa:zAle:k

+ 257
- 39
dictsource/ro_list View File




// This file in UTF8 encoded // This file in UTF8 encoded


// Letters // Letters
// articles // articles
un $u un $u
o $u o $u
nişte $u
unui $u
unei $u
unor $u
unele $u // some
nişte $u1
una $u1+
unul $u1+
unuia $u1+
uneia $u1+
unui $u1
unei $u1
unor $u1
unora $u1+
unele $u1 // some


ăsta $u1+ // this ăsta $u1+ // this
asta $u+ asta $u+
acest $u+ // this acest $u+ // this
aceşti $u
aceştia $u
acestora $u2+
aceasta $u+ aceasta $u+
această $u+ această $u+


acel $u+ // that acel $u+ // that
acea $u+ // that acea $u+ // that
acei $u+ // those acei $u+ // those
acele $u+ // those
acele $u1+ // those


cei $u+ // the, those cei $u+ // the, those
cel $u+ // that, he who cel $u+ // that, he who
cea $u+ // that, she who cea $u+ // that, she who
cele $u+ // those
cele $u1+ // those


// pronouns // pronouns
eu jeU $u+ eu jeU $u+
tu $u+ tu $u+
el jel $u+ el jel $u+
ea ja $u+ ea ja $u+
//noi $u+
noi $u+
voi $u+ voi $u+
ele jele $u+ ele jele $u+


mi $u mi $u
şi $u şi $u


însuşi $u1+
ânsăşi $u1+
însumi $u1+

care $u $brk // who that which what care $u $brk // who that which what
ceea $u $brk // that ceea $u $brk // that


meu $u+ meu $u+
mei $u+ mei $u+
mea $u+ mea $u+
//mele $u+
mele $u1+
tău $u+ tău $u+
tăi $u+ tăi $u+
ta $u+ ta $u+
tale $u+
tale $u1+
său $u+ său $u+
săi $u+ săi $u+
sa $u+ sa $u+
sale $u+
sale $u1+
lui $u+ lui $u+
ei jeI $u+ ei jeI $u+
//nostru $u+
noştri $u+
noastră $u+
//noastre $u+
nostru $u1+
noştri noSt*i $u1+
noastră $u1+
noastre $u1+
vostru $u+ vostru $u+
voştri $u+
voştri voSt*i $u1+
voastră $u+ voastră $u+
voastre $u+ voastre $u+
lor $u+ lor $u+


// some common adjectives and adverbs // some common adjectives and adverbs
aşa $2 $brk // so, thus aşa $2 $brk // so, thus
orice $u3+ // any
orice $u3+ // any
totuşi $1 $brk // never, though, nevertheless totuşi $1 $brk // never, though, nevertheless
totusi $1 $brk // (totuşi) totusi $1 $brk // (totuşi)
unde $brk // where unde $brk // where




// Final "i" is stressed // Final "i" is stressed
absolvi $3
ciocni $2
citi $2
dărui d@*w'i
deosebi $3
descoperi $4
deveni $3
întâlni $3
izbi $2
lovi $2
opri $2
pocni $2
răsuci $3
teori $2
absolvi $3
afurisi $4
agonisi $4
ameţi $3
blagoslovi $4
borbi $2
boţi $2
buşi $2
călăuzi $4
căptuşi $2
cârmi $2
catadicsi $4
cerşi $2
ciocni $2
citi $2
cloci $2
cuveni $3
dărui d@*w'i
deosebi $3
depăsi $3
descoperi $4
desluşi $2
deveni $3
dormi $2
feri $2
fugi $2
gândi $2
găsi $2
grăbi $4
greşi $2
hăcui $3
îmbâcsi $3
împărţi $3
încălzi $3
încreţi $3
înghiţi $3
îngriji $3
întâlni $3
înteţi $3
învârti $3
izbi $2
linguşi $3
lovi $2
mânji $2
mirosi $2
moleşi $3
necăji $3
opri $2
pândi $2
păşi $2
păzi $2
plăti $2
pocni $2
povesti $3
prăbuşi $3
prăji $2
primi $2
răci $2
râfni $2
răguşi $3
răscoli $3
răspândi $3
răsuci $3
risipi $3
rotunji $2
săvârşi $3
sclifosi $3
sfârşi $2
sfriji $2
slobozi $3
suci $2
ticsi $2
trezi $2
ursi $2
urzi $2
veşteji $3
vrăji $2


// final "a" or "ea" is stressed(verbs)
agonisea $2
agrea ag@-*e'a
ajuta $3
alerga $3
apăra $3
ataca $2
băga $2
călăuzea $4
călca $2
cânta $2
căsca $2
căuta $2
cerşea $2
continua kontinu'a
crea k@-*e'a
credea $3
creştea $2
dădea $2
depista $3
desfunda $2
distra $2
dorea $2
dormea $2
făcea $2
ferea $2
fugea $2
furişa $2
gândea $2
hăcuia $3
îmbâcsea $3
împărţea $3
încalzea $3
încărca $3
încerca $3
închega $2
încreţea $3
înfăşura $4
înfunda $2
întâmpla $3
interesa $4
înteţea $2
înteţea $3
intra $2
întreba $3
învârtea $3
învingea $2
invita $2
juca $2
lăsa $2
lingea $2
mânca $2
mângâia $3
memora $2
mergea $2
merita $3
negocia negotSi'a
paraliza $4
părea $2
pavea pave'a
păzea $2
pleca $2
povestea $2
prepara $3
răbda $2
răcea $2
rămânea $3
răscolea $3
răsucea $2
repara $3
repera $3
respira $3
reuşea $3
revenea $2
săpa $2
scotea $2
sfărâma $3
spăla $2
spera $2
stăpânea $2
stătea $2
strica $2
sucea $2
suda $2
supăra $3
trăgea $2
trezea $2
valora $3
vâna $2
vedea $2
vira $2
vorbea $2
zbura $2




// hyphenated contractions // hyphenated contractions
(să l) s@l $u (să l) s@l $u
(să i) s@I $u (să i) s@I $u
(să şi) s@S;I^ $u (să şi) s@S;I^ $u
(care l) carel $u
(să mi) s@m;I^ $u (să mi) s@m;I^ $u
(te am) team $u (te am) team $u
(te ai) teaj $u (te ai) teaj $u
(ne am) team $u
(ne am) neam $u
(n o) no $u
(n aS) naS $u
(n a) na $u
(c o) co $u
(l a) la $u (l a) la $u
(l au) laU $u (l au) laU $u
(l am) lam $u (l am) lam $u
aer aIer aer aIer
aici a'itSI^ aici a'itSI^
altceva $3 altceva $3
america $2
americii $2
americile $2
apoi $2 apoi $2
artefice $3 artefice $3
asemenea $2 asemenea $2
adu $1


biseric $2 biseric $2


capete $1
capitol $2 capitol $2
careva $3 careva $3
cândva $2 cândva $2
câteva $3 câteva $3
câtorva $3
cerbice $2 cerbice $2
ceva $2 ceva $2
cicatrice $3 // @- cicatrice $3 // @-
chimic $1 chimic $1
complice $2 complice $2
contrazice $3 contrazice $3
consideră $3
creier $1 // @- creier $1 // @-


deja $2 deja $2
dincolo $1 dincolo $1
director $2 director $2
dori $2 dori $2
doctor $1


edit $1 edit $1
egale $2 egale $2
fizic $1 fizic $1
fizicul $1 fizicul $1
folosi $3 folosi $3
fiind fi'ind


gastronomi $alt gastronomi $alt
gâgâlice $3 gâgâlice $3


imagin $2 imagin $2
înainte yna'inte înainte yna'inte
legături $3
legătură $3
legăturile $3
înjurătură $4
înjurături $4
înjurăturile $4
interzice $3 interzice $3


latice $2 latice $2
limit $1 limit $1

lipsi $2 lipsi $2
logic $1 logic $1


merit $1 merit $1
mia m'ia mia m'ia
mie m'ie mie m'ie
minum $1
minumum $1
minim $1
minimum $1
murdărie murd@*'ie murdărie murd@*'ie
muzik $1 muzik $1
mării $1
mişto $1
metri met*i


nimic $2 nimic $2
novice $2 novice $2
numai $1 // only numai $1 // only
număr $1
numărul $1


oareşice $4
oameni $1
oareşice oa*eSTSe $4
obişnuit obiSnw'it obişnuit obiSnw'it
ocol $2 ocol $2
ordin $1 ordin $1
orice $3
ovidiu ovidj'u
dezordine $2
orice o*I^tSe $2
oricare o*I^ka*e $3
oricând o*I^kynd $3
ovidiu ov'idju


pagin $1 pagin $1
parodi pa*od'i parodi pa*od'i
parodii $3 parodii $3
plânger $1 plânger $1
plăcere $2
plăceri $2
plăcerilor $2
polonic $3
polonicul $3
politic $2 politic $2
pricin $1 pricin $1
prieten $2 prieten $2
privi $3 privi $3
propice $2 propice $2
protocol $4 protocol $4
promitem $2


regul $1 regul $1
reguli $1 reguli $1
repede $1 repede $1
repezi $1 repezi $1
români romyn'i
români rom'ynI^
rotocol $3 rotocol $3


sadic $1 sadic $1
scrieri $1
scrierile $1
scrierilor $1
sâmbătă $1 sâmbătă $1
securice $3 securice $3
sergiu sergj'u
secol $1
secolul $1
secolele $1
secolului $1
secolelor $1
sergiu s'ergju
sigur $1 sigur $1
simbolic $2 simbolic $2
spaţiu spatsju spaţiu spatsju
spuneţi sp'unetsI^


tanti tanti tanti tanti
târcol $2 târcol $2
virgulă $1 virgulă $1
virus $1 virus $1


zarzări $1


+ 19
- 11
dictsource/ro_rules View File

eu (_ 'eU eu (_ 'eU
ea ea ea ea
&) ea (_S2q ea &) ea (_S2q ea
eai eaj
&) eSi eaj
eau eaw eau eaw
eoa 'eOa eoa 'eOa
eo eo eo eo
e (AAA e e (AAA e


&) e (_S1q e
@) eş (_S2t eS
// &) es (_S1q e
&C) e (re_ %e &C) e (re_ %e
_ac) ee (a eI _ac) ee (a eI


&) ic (_ =ik &) ic (_ =ik
&) ice (_ =itSe &) ice (_ =itSe
&) icile (_ =itSile // ??
&) icilor (_ =itSilor // ??
&) ing (_ %iNg // foreign words &) ing (_ %iNg // foreign words
i (t_ 'i i (t_ 'i


@ic) ii (_S2q ilor
@ic) ilor (_S4q ilor


.group î .group î
î y î y


m m m m
@) m (i_ m; @) m (i_ m;
_) m (-a m _) m (-a m
@-_) mi mI^ // ??




.group n .group n


&) sprezece (_S8t sp@-*ez,etSe &) sprezece (_S8t sp@-*ez,etSe


@) sem (_S3t sem
@) seră (_S4t se*@
@) serăm (_S5t se*@m
@) serăţi (_S6t se*@tsI^
@) seşi (_S4t seSI^



.group ş .group ş
ş S ş S
@) ş (i_ S; @) ş (i_ S;





.group t .group t
t t t t
tt (_ t tt (_ t


.group .group
ö Y ö Y
% prosent // ??
D_) % la_sut@
% protSent
$ dolar $ dolar
+ plus + plus
& perlwet
& ampersand
@ a*'ond @ a*'ond
/ sleS / sleS
€ 'eU*o € 'eU*o


, (D v'irgol@
, (D v'irgul@


. puntk
. punkt
. (. _: . (. _:
\.) . \.) .


*) * (* *) * (*
** **
**) * (_ _:: **) * (_ _::


+ 2
- 1
phsource/compile_report View File

2 vowel/o_3 en_sc 2 vowel/o_3 en_sc
1 vowel/o-_3 en_rp 1 vowel/o-_3 en_rp
1 vowel/o_4 en_n 1 vowel/o_4 en_n
1 vowel/o-_4 ro
1 vowel/o_6 nl 1 vowel/o_6 nl
4 vowel/oe en af de fr 4 vowel/oe en af de fr
1 vowel/oe_2 no 1 vowel/oe_2 no
1 vowel/oe_4 sv 1 vowel/oe_4 sv
3 vowel/o_mid fr hu ro
2 vowel/o_mid fr hu
8 vowel/oo en_sc de eo es el sv no zh_yue 8 vowel/oo en_sc de eo es el sv no zh_yue
11 vowel/oo_1 en_n en_rp en_wm af fi sk hr vi 11 vowel/oo_1 en_n en_rp en_wm af fi sk hr vi
3 vowel/oo_2 en_sc cy cs 3 vowel/oo_2 en_sc cy cs

+ 6
- 5
phsource/ph_af View File



phoneme R phoneme R
liquid liquid
vowelin f1=2 f2=70 -300 300 f3=-300 80 dnt
vowelout f1=2 f2=70 -300 300 f3=-300 80 brk
formants r3/r_trill+r3/r_trill3.wav%55
before _ r3/r_trill+r3/r_trill3.wav%50
trill
length 60
vowelin f1=2 f2=2700 -300 -200 f3=-1300 80
vowelout f1=2 f2=1700 -300 -200 f3=-1300 80
formants r3/r_trill+r3/r_trill3.wav%99
before _ r3/r_trill+r3/r_trill3.wav%99
trill
lengthmod 6 lengthmod 6
endphoneme endphoneme



+ 1
- 1
phsource/ph_romanian View File

phoneme o phoneme o
vowel starttype (o) endtype (o) vowel starttype (o) endtype (o)
length 170 length 170
formants vowel/o_mid
formants vowel/o-_4
endphoneme endphoneme


phoneme u phoneme u

+ 7
- 6
phsource/phonemes View File

lengthmod 6 lengthmod 6
endphoneme endphoneme


phoneme R3 // Afrikaans
phoneme R3 // Afrikaans
liquid liquid
vowelin f1=2 f2=70 -300 300 f3=-300 80 dnt
vowelout f1=2 f2=70 -300 300 f3=-300 80 brk
formants r3/r_trill+r3/r_trill3.wav%55
before _ r3/r_trill+r3/r_trill3.wav%50
trill
length 60
vowelin f1=2 f2=2700 -300 -200 f3=-1300 80
vowelout f1=2 f2=1700 -300 -200 f3=-1300 80
formants r3/r_trill+r3/r_trill3.wav%99
before _ r3/r_trill+r3/r_trill3.wav%99
trill
lengthmod 6 lengthmod 6
endphoneme endphoneme



BIN
phsource/vowel/8_2 View File


BIN
phsource/vowel/o-_2 View File


BIN
phsource/vowel/o-_3 View File


BIN
phsource/vowel/o-_4 View File


BIN
phsource/vowel/vowelchart.png View File


+ 11
- 1
src/dictionary.cpp View File

int mnem; int mnem;
int post_tonic; int post_tonic;
int opt_length; int opt_length;
int done;


unsigned char vowel_stress[N_WORD_PHONEMES/2]; unsigned char vowel_stress[N_WORD_PHONEMES/2];
char syllable_type[N_WORD_PHONEMES/2]; char syllable_type[N_WORD_PHONEMES/2];
} }
#endif #endif


done = 0;
for(v=1; v<vowel_count; v++) for(v=1; v<vowel_count; v++)
{ {
if(vowel_stress[v] == 0) if(vowel_stress[v] == 0)
// flag: don't give secondary stress to final vowel // flag: don't give secondary stress to final vowel
} }
else else
if((langopts.stress_flags & 0x8000) && (done == 0))
{
vowel_stress[v] = (char)stress;
done =1;
stress = 3; /* use secondary stress for remaining syllables */
}
else
if((vowel_stress[v-1] <= 1) && (vowel_stress[v+1] <= 1)) if((vowel_stress[v-1] <= 1) && (vowel_stress[v+1] <= 1))
{ {
/* trochaic: give stress to vowel surrounded by unstressed vowels */ /* trochaic: give stress to vowel surrounded by unstressed vowels */
// should start with secondary stress on the first syllable, or should it count back from // should start with secondary stress on the first syllable, or should it count back from
// the primary stress and put secondary stress on alternate syllables? // the primary stress and put secondary stress on alternate syllables?
vowel_stress[v] = (char)stress; vowel_stress[v] = (char)stress;
done =1;
stress = 3; /* use secondary stress for remaining syllables */ stress = 3; /* use secondary stress for remaining syllables */
} }
} }
break; break;


case '-': case '-':
if((letter == ' ') && (word_flags & FLAG_HYPHEN_AFTER))
if((letter == '-') || ((letter == ' ') && (word_flags & FLAG_HYPHEN_AFTER)))
{ {
match.points += (22-distance_right); // one point more than match against space match.points += (22-distance_right); // one point more than match against space
} }

+ 1
- 1
src/synthdata.cpp View File

#include "translate.h" #include "translate.h"
#include "wave.h" #include "wave.h"


const char *version_string = "1.25.10 27.May.07";
const char *version_string = "1.25.11 29.May.07";
const int version_phdata = 0x012501; const int version_phdata = 0x012501;


int option_device_number = -1; int option_device_number = -1;

+ 3
- 2
src/tr_languages.cpp View File



tr->langopts.vowel_pause = 0x20; tr->langopts.vowel_pause = 0x20;
tr->langopts.stress_rule = 0; tr->langopts.stress_rule = 0;
tr->langopts.stress_flags = 0x36;
tr->langopts.stress_flags = 0x8036;
tr->langopts.unstressed_wd1 = 2; tr->langopts.unstressed_wd1 = 2;
tr->langopts.param[LOPT_REGRESSIVE_VOICING] = 0x4; // don't propagate over word boundaries tr->langopts.param[LOPT_REGRESSIVE_VOICING] = 0x4; // don't propagate over word boundaries
tr->langopts.param[LOPT_IT_DOUBLING] = 1; tr->langopts.param[LOPT_IT_DOUBLING] = 1;
tr->langopts.param[LOPT_COMBINE_WORDS] = 99; // combine some prepositions with the following word
tr->langopts.long_stop = 130; tr->langopts.long_stop = 130;


tr->langopts.numbers = 0x1809; tr->langopts.numbers = 0x1809;


tr = new Translator(); tr = new Translator();
SetupTranslator(tr,stress_lengths_is,stress_amps_is); SetupTranslator(tr,stress_lengths_is,stress_amps_is);
tr->langopts.stress_rule = 1;
tr->langopts.stress_rule = 0;
tr->langopts.stress_flags = 0x10; tr->langopts.stress_flags = 0x10;
tr->langopts.param[LOPT_IT_LENGTHEN] = 0x11; // remove lengthen indicator from unstressed vowels tr->langopts.param[LOPT_IT_LENGTHEN] = 0x11; // remove lengthen indicator from unstressed vowels
tr->langopts.param[LOPT_KEEP_UNSTR_VOWEL] = 1; tr->langopts.param[LOPT_KEEP_UNSTR_VOWEL] = 1;

+ 1
- 0
src/translate.h View File

// bit9=stress last syllable if it doesn't end in vowel or "s" or "n" LANG=Spanish // bit9=stress last syllable if it doesn't end in vowel or "s" or "n" LANG=Spanish
// bit12= In a 2-syllable word, if one has primary stress then give the other secondary stress // bit12= In a 2-syllable word, if one has primary stress then give the other secondary stress
// bit13= If there is only one syllable before the primary stress, give it a secondary stress // bit13= If there is only one syllable before the primary stress, give it a secondary stress
// bit15= Give stress to the first unstressed syllable
// bit16= Don't diminish consecutive syllables within a word. // bit16= Don't diminish consecutive syllables within a word.


int stress_flags; int stress_flags;

+ 5
- 2
src/voices.cpp View File

strcpy(phonemes_name,language_type); strcpy(phonemes_name,language_type);




if((v = VoiceLookup(voicename)) != NULL)
voice = v;
if(!tone_only)
{
if((v = VoiceLookup(voicename)) != NULL)
voice = v;
}
VoiceReset(tone_only); VoiceReset(tone_only);


if(!tone_only) if(!tone_only)

Loading…
Cancel
Save