Fix crash when embedded control codes are followed by numbers of 5 or more digits. Fix lang=hu, First character of an abbreviation is missed after an ordinal number (eg."2. cd") Fix XML tag not recognized after "..." when announce punctuation is enabled. Fix lang=zh-yue, 'p' 't' 'k' after a vowel give a long pause. Fix lang=ru, "o" missing in unstressed syllables. git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@241 d46cf337-b52f-0410-862d-fd96e6ae7743master
@@ -261,7 +261,8 @@ square _^_EN | |||
appeal _^_EN | |||
apple _^_EN | |||
bbc _^_EN | |||
beat _^_EN | |||
beachbuggy _^_EN | |||
beachvolley _^_EN | |||
browser _^_EN | |||
byte _^_EN | |||
camcorder _^_EN | |||
@@ -361,6 +362,7 @@ warrior _^_EN | |||
austin _^_EN | |||
bailey _^_EN | |||
bronx _^_EN | |||
clarence _^_EN | |||
cyrus _^_EN | |||
fox _^_EN | |||
jean _^_EN | |||
@@ -2299,6 +2301,7 @@ billie bile // PB the name Billie | |||
(union station) junj3n||steisj@n // PB | |||
chevrolet sjEvrol'e | |||
saigon sajg3-n // PB Saigon | |||
managua m&n'&:gw& | |||
// Abbreviations | |||
pga pOgR'O?n'a? $hasdot // PB short for 'på grund af' | |||
@@ -2333,3 +2336,8 @@ phil fil/3 $hasdot // PB fx cand. phil. | |||
(sig til) si||tel // PB sig til ham, at han skal ... | |||
(gav sig til) g&||saj||tel // PB han gav sig til at ... | |||
sig si $capital PB Sig = si with capital S - Sig det med blomster | |||
// avoid [staj] as in "flæskesteg" | |||
(han steg) h&n||st'e | |||
(hun steg) hOn||st'e | |||
(vi steg) vi||st'e | |||
(de steg) di||st'e |
@@ -1,4 +1,4 @@ | |||
| |||
// This file is UTF8 encoded | |||
// Spelling-to-phoneme rules for Danish | |||
@@ -40,11 +40,13 @@ agglomer) a (t 'A // PB stressed a in 'agglomerat' | |||
a (nt '& // PB stressed a in words with -ant - interessant | |||
Ah) a (nd '& // PB stressed a in words with -hand - behendling | |||
ok) a (l '& // PB stressed a in 'vokal, lokal, bifokal' | |||
v) a (nlig '& // PB usædvanlig - stressed a | |||
bl) a a // PB blad | |||
fr) a A // PB fra, fratage | |||
gr) a A // PB gratis | |||
a (L03K &: // PB alle, anden | |||
h) a (CK & // PB han | |||
hvabeh) ar 'A // PB hvabehar | |||
a (L03 &: // PB foran halvvokal | |||
a (v+ A // PB tavs | |||
L08) a (v & // PB stav | |||
@@ -271,7 +273,7 @@ stikor) d // PB exception - no d in 'stikord' | |||
ri) d (e D | |||
si) d (e D | |||
ti) d (e D | |||
ur) d (e d | |||
// ur) d (e d | |||
vi) d (e D | |||
æl) d (e | |||
Coe) d (e // PB boede without d | |||
@@ -279,7 +281,7 @@ stikor) d // PB exception - no d in 'stikord' | |||
ral) d (e | |||
sag) d (e | |||
snu) d (e D | |||
A) de (N_ D@ // PB change to D? | |||
A) de (_ D@ // PB change to D? | |||
in) d (eks d | |||
mo) d (el 'd | |||
or) d (el d | |||
@@ -369,6 +371,7 @@ tilfre) d (s | |||
afl) e 3 // PB aflevere | |||
ov) e (r 3 // PB over | |||
l) e (r 3 // PB forhandlere | |||
fl) e (r e // PB flere | |||
e (lse @ // PB fornøjelse | |||
sk) e (t_ e // PB sket | |||
r) eau o // PB bureaukratiske | |||
@@ -382,7 +385,10 @@ tilfre) d (s | |||
nt) e @ // PB tante, hente | |||
nt) e (r V // PB tanter, henter | |||
mont) e (r e // PB montere | |||
e (r_++ V // PB changed from [e (rK] - 'vers' mispronounced | |||
v) e (r+ e // PB vers, verden | |||
e (rK+ V // PB efter | |||
k) e (r+ e // PB forkert | |||
er (ne V // PB kammeraterne | |||
_) e (r_++ er // PB er | |||
h) e (r++ e // PB her, herhen | |||
_sk) er (_ er // PB sker | |||
@@ -391,14 +397,15 @@ tilfre) d (s | |||
fr) e (L03 a // PB fremme, frende, frelse | |||
fr) e (d e // PB fred fredag | |||
l) e (t e // PB toilet | |||
_l) e (r_ e // PB ler | |||
_l) er (_++ er // PB ler | |||
hv) e (r e // PB hver | |||
el) e (r V // PB hellere | |||
mm) e (l @ // PB gammel | |||
s) e (_ @ // PB rose, skose | |||
_s) e (_ e? // PB se | |||
L06) er (_ &r // PB per | |||
L06L06) (er V // PB klipper | |||
L06L06) er V // PB klipper | |||
L03L06) er (_ V // PB bomber | |||
_) er (_ &r // PB er | |||
_a) e (_ 3 // PB ae | |||
pl) e (men 3 // PB supplement | |||
@@ -479,12 +486,16 @@ softic) e // PB softice | |||
e (gn a // PB tegne , hegn | |||
bl) e (m 3 // PB møblement | |||
probl) e (m 'e // PB stressed e | |||
C) e (ring 'e // PB stressed e in words with -ering (1.000) - likvidering | |||
e (ndig 'e // PB stressed e in words with -endig - elendig, nødvendig | |||
ni) e (n e | |||
ani) e (l e | |||
lini) e @ // PB changed from [e] to [@] | |||
r) e (_N 3_: // PB mere | |||
// r) e (_T e // PB for words in the list file with -ere | |||
r) e (nd a // PB rend | |||
n) e (r V // PM klovner | |||
hvab) e (har_ 3 // PB hvabehar | |||
_r) e e | |||
// r) e ( | |||
r) e (l e | |||
@@ -509,7 +520,8 @@ absorb) e (r 'e // PB absorber, absorberer, absorbere, absorberet | |||
gourm) e 'e // PB gourmet | |||
@) e (kt 'e: // PB stressed e in words with -ekt - konfekt | |||
L06) eg (e aj // PB p) changed to L06 to include b | |||
L08) eg aj // PB steg, spegepølse | |||
L08) eg aj // PB steg, spegepølse - problem with the verb stige/steg | |||
best) eg (_ 'e // PB besteg | |||
jav) e (l 'e // PB stressed e in 'javel' | |||
m) eg (a eg | |||
eg (et a:j | |||
@@ -552,11 +564,13 @@ absorb) e (r 'e // PB absorber, absorberer, absorbere, absorberet | |||
Ad) en (@ '@-n // udenlandsk, udenad | |||
&) ene (_ @-n@ | |||
&) ende (_ @-nn@ | |||
&) ere (_T 'e:3 // PB can't get 'vurdere' to work with -ere words in list file | |||
&) eren (_ 3r3n | |||
&) ere (_T 'er3 // PB stressed - manipulere, protestere - words in list file | |||
&) ere (NT_ 'e:3 // PB stressed - manipulere, protestere - words in list file | |||
&) erede (NS2_ =D3 // PB stressed - manipulerede, protesterede - words in list file | |||
&) eres (TNS1_ =s // PB stressed - manipuleres, protesteres - words in list file | |||
&) eret (TNS1_ =3D // PB stressed - manipuleret, protestet 1.810 words in list file | |||
&) eres (NS1_ =s // PB stressed - manipuleres, protesteres - words in list file | |||
&) erer (NS1_ =V // PB stressed - manipuleres, protesteres - words in list file | |||
&) eret (S1_ =3D // PB stressed - manipuleret, protestet 1.810 words in list file | |||
_sen) ere er3 // PB senere | |||
&) eren (s_ 3r3n | |||
&) es (_ @s | |||
@@ -568,7 +582,9 @@ absorb) e (r 'e // PB absorber, absorberer, absorbere, absorberet | |||
ir) e (n 'e | |||
yr) e (n 'e | |||
ork) e (ster 'e // PB stressed e in 'orkester' | |||
forur) e (ne 'e // PB stressed - forurene | |||
st) e (ret // PB orkesteret | |||
b) ea (t i: // PB beat, beatorkester | |||
ompet) en (ce aN | |||
ress) en (timent aN // PB ressentiment | |||
bl) e (g aj // PB bleg | |||
@@ -630,6 +646,7 @@ absorb) e (r 'e // PB absorber, absorberer, absorbere, absorberet | |||
g) g (e | |||
g (ent g | |||
g (entl j // PB egentlig | |||
ami) g (o g // PB amigo | |||
&) g (r g | |||
g (ård g | |||
g (ment g | |||
@@ -640,7 +657,7 @@ absorb) e (r 'e // PB absorber, absorberer, absorbere, absorberet | |||
ser) gent 'sjant // PB sergent | |||
gjorde gjo:3 // PB gjorde | |||
ki) g k // PB kig, udkig | |||
a) g (C ?w | |||
// a) g (C ?w | |||
a) g (e | |||
a) g (en g | |||
a) g (i g | |||
@@ -648,7 +665,6 @@ absorb) e (r 'e // PB absorber, absorberer, absorbere, absorberet | |||
a) g (urk 'g | |||
g) g | |||
//e) g (e | |||
ste) g j // PB steg, stegefedt | |||
e) g (o g | |||
i) g (t g | |||
i) g (t_ | |||
@@ -782,6 +798,7 @@ trikota) g (e =S // PB trikotage | |||
bor) g u | |||
bud) g (et S | |||
gti) g | |||
gti) g (ere // PB vigtigere | |||
hol) g (er g | |||
jer) g (A w | |||
jer) g (C w | |||
@@ -855,32 +872,39 @@ foreta) g (e | |||
ige (_ i;@ | |||
iew j'u | |||
i (nK i | |||
r) i (nK e // PB ring | |||
am) i (go 'i // PB amigo | |||
i (nn e | |||
i (mK e | |||
i (k e // PB ikke, pik | |||
l) i (k i // PB likvid | |||
pr) i (+ i // PB privat | |||
i (kk+ e // PB skiderikker | |||
i (r+ i // PB Irland, irrationel | |||
L02) i (L03 e // PB foran halvvokal - til | |||
// L02) i (L03 e // PB foran halvvokal - til | |||
t) i (me i: // PB time | |||
s) i (dA+ i: // PB siden | |||
// s) i (d_ e // PB sid | |||
s) i (d_ e // PB sid | |||
s) i (dd+ e: // PB sidde | |||
s) i (gA+ i // PB siger | |||
s) i (n e // PB tusind | |||
t) i (d+ i // PB tiden | |||
t) i (l e // PB til | |||
t) i (n e // PB tin, ting | |||
l) i (p e // PB slippe | |||
//L03) i (L03K i // PB mellem to halvvokaler midt, vil, til SHOULD BE e FIND A RULE FOR Camilla with | |||
i | |||
L03) i (L03L03 e // PB middag | |||
L03) i (L03 i //PB vide | |||
L03) i (g+ i // PB ligne | |||
L03) i (gt+ e // vigtig | |||
L03) i (L03L02 e // PB spille | |||
v) i (l+ e // PB vil | |||
) i (l e // PB til | |||
t) i (l e // PB til | |||
to) i (l // PB toilet | |||
ju) i (ce // juice - skip the i | |||
soft) i (ce aj // PB softice | |||
fr) i e // PB fri | |||
fr) i i // PB fri | |||
fr) i (L08 e // PB friste | |||
s) i (kC e // PB sikker, sikre | |||
p) is es // PB pis | |||
p) i (L08+ i // PB pisk, pistol | |||
@@ -914,10 +938,11 @@ prosod) i 'i // PB prosodi, prosodien | |||
perfid) i 'i // PB perfidi | |||
rapsod) i 'i // PB rapsodi | |||
ortopæd) i 'i // PB ortopædi | |||
v) i (sk e // PB viskelæder | |||
v) i (L08 e // PB viskelæder | |||
l) i (e j | |||
n) i (e i | |||
r) i (g i | |||
r) i (gt e // PB rigtigt | |||
s) i (e j | |||
t) i (e j | |||
t) i (on // i ommitted because of sj | |||
@@ -946,7 +971,7 @@ ortopæd) i 'i // PB ortopædi | |||
k k | |||
kk k | |||
k) (oordinat oVdi'nat | |||
k (oordinat oVdi'nat | |||
s) k g | |||
pun) k (t N | |||
run) k (en N | |||
@@ -1032,7 +1057,7 @@ bombarde) ment m'AN // PB bombardement | |||
n n | |||
// nn n | |||
band) (er n? // PB takes away the d in 'bander' = 'gangs' - n => n? | |||
ba) nd (er n? // PB takes away the d in 'bander' = 'gangs' - n => n? | |||
ka) n_ // no n - kan | |||
nd (K n | |||
nd (ow nd | |||
@@ -1105,14 +1130,16 @@ bombarde) ment m'AN // PB bombardement | |||
o (sse V // PB tosse, nosse | |||
j) o (b V // PB job | |||
o (vA+ Vu // PB over, oven | |||
o (v++ V // PB sjov, lov, skov | |||
o (v+ V // PB sjov, lov, skov | |||
l) o (ve+ Vu // PB love | |||
h) o (v+ o // hov, sove | |||
telef) o (n 'o // PB telefon | |||
L08j) o (l V // PB skjold | |||
tr) o o // PB tro | |||
bistr) o 'o // PB stressed o in 'bistro' | |||
pist) o (l 'o // PB stressed o - pistol | |||
_m) o (C o // PB m + o + 2 consonants: mor, mord, | |||
L08) o (L03 o: // PB exception from the rule above - skole, spole | |||
L08) o (l o: // PB skole, spole | |||
o (L03A o // PB - romantisk, hoved | |||
// L02) o (L03_ V // PB consonant + o + semivowel + end of word - kom, som | |||
_C) o (_ o // PB jo, ko, lo, so | |||
@@ -1125,6 +1152,7 @@ bombarde) ment m'AN // PB bombardement | |||
o (f V // PB ofte | |||
l) o (f V | |||
r) o (f o // PB profil | |||
r) o (tt V // PB rotte | |||
spr) o (g o // PB sprog | |||
k) ors V:s // PB kors, korsage | |||
c) o (rs V // PB corsage | |||
@@ -1178,6 +1206,8 @@ transp) o (rt 'V: // PB transport | |||
ou 'u // PB poussin, toupe | |||
ough Vf // PB tough, rough - only 2 words | |||
oun aVn // PB discount | |||
nark) o (tik 'o // PB narkotika, narkotisk | |||
ul) o (v 'V // PB stressed o - ulovlig | |||
.group or | |||
@@ -1267,7 +1297,7 @@ transp) o (rt 'V: // PB transport | |||
_f) or (kammer 'V // PB forkammer | |||
_f) or (kant 'o // PB forkant | |||
_f) or (karl 'o // PB forkarl | |||
_f) orka) (rl+ a // PB forkarl | |||
_f) orka (rl+ a // PB forkarl | |||
_f) or (klog 'o // PB forklog, forklogskab | |||
_f) or (kontor 'o // PB forkontor | |||
_f) or (krop 'o // PB forkrop | |||
@@ -1444,18 +1474,21 @@ transp) o (rt 'V: // PB transport | |||
suppo) r //PB support [s@p'@t] | |||
r (K r // not followed by a vowel | |||
e) r (_ // PB end of word: no r - lager [l&:V] | |||
ve) r (+ r // PB over, overrasket | |||
r (e_ // PB end of word before e: no r | |||
r (e_T+ r | |||
_se) r (_ r // PB ser | |||
he) r (_ r // PB her | |||
e) r (es 3 // PB jeres, deres | |||
bu) rd (eK rd | |||
// &) rd (eKK r | |||
&) rd (eNKK r | |||
ve) rd (eKK rd | |||
&) rd (e_ r | |||
o) rd (el++ rd | |||
o) rd (en++ d // PB exception - pronounce d in 'orden, ordentlig' | |||
o) rd (rin d | |||
A) r (eT // PB bære without r | |||
A) r (e_T // PB hellere | |||
// A) r (eN // PB bære without r | |||
A) r (eN_ // PB hellere | |||
transpo) r (t //PB transport | |||
@@ -1467,7 +1500,7 @@ transpo) r (t //PB transport | |||
s (C s | |||
s (A s | |||
s (ie s | |||
s (ion S | |||
s (ion S' // PB stress added | |||
s (j s | |||
sch S // PB changed from [s(ch] - casch | |||
al) s (ace 's // PB Alsace (French region) | |||
@@ -1481,6 +1514,7 @@ kompromi) s | |||
p) t t // PB toptitel | |||
s) t d // PB stor | |||
A) t (er d // PB Peter, efter, alter | |||
A) t (ere t // PB invitere | |||
teress tr@s // PB interessant | |||
L03) t t // PB garanteret | |||
r) t d // PB kuffert | |||
@@ -1506,7 +1540,7 @@ simpel) th (en th | |||
t (ie t | |||
t (ion+ sj' | |||
t (iøs+ sj' | |||
&) tt t | |||
// &) tt t | |||
.group u | |||
u u: // PB u => u: - u couldn't be heard in 'umuligt' | |||
@@ -1563,7 +1597,7 @@ proven) u y | |||
le) v (et // PB blevet, levet | |||
la) v (A // PB no v - laver | |||
la) v (ement @ // PB lavement | |||
ve (lse @ // PB øvelse | |||
ve (lse v3 // PB øvelse | |||
&A) v v | |||
&r) v v | |||
al) v (A v | |||
@@ -1616,7 +1650,8 @@ proven) u y | |||
y (nK W // PB changed from Y to W - synge, ynde | |||
l) y (n y // PB lyn | |||
whisk) y i // PB whisky | |||
y (nde 'W // PB begynde - stressed | |||
y (nd 'W // PB begynde - stressed | |||
best) y (r 'y // PB bestyre - stressed | |||
y (mK Y | |||
d) y (_ i | |||
b) y (A y | |||
@@ -1632,7 +1667,7 @@ proven) u y | |||
.group æ | |||
æ E | |||
æ (CK E | |||
æ (CK E: | |||
æ (bK E // PB dræb, slæb | |||
æ (bt ae? // PB dræbt - FIND A BETTER VOWEL | |||
f) æ (re 'E: // PB affære, atmosfære, sfære | |||
@@ -1665,6 +1700,7 @@ proven) u y | |||
g) ø (r @: | |||
h) ø (j V | |||
ø (je V3 // PB øje | |||
ø (jn V3 // PB øjne | |||
h) ø (r W: | |||
//k) ø (r W: | |||
l) øg (n 'Vj |
@@ -23,7 +23,7 @@ | |||
// 2006-11-18 Gilles Casse <[email protected]> | |||
// | |||
// Updated: 2010-03-05 Michel Such <[email protected]> | |||
// Updated: 2010-03-08 Michel Such <[email protected]> | |||
// | |||
// Letter classes: | |||
@@ -61,7 +61,7 @@ | |||
a (ils_ a | |||
a (il_ a | |||
aie (me E2 // paiement | |||
ai E2 // aile | |||
ai E // aile | |||
ai (L06 E // aile | |||
ai (CAX E // aile | |||
am (b A~ // jambon | |||
@@ -650,7 +650,7 @@ dia) g (no g | |||
vin) gt (_neuvi t | |||
gt (_ // vingt doigts | |||
gt t // vingtaine doigté | |||
vin) gt (A t // vingtaine doigté | |||
gu (i g // anguille | |||
ai) gui (l gw^i // aiguillage | |||
@@ -768,6 +768,7 @@ C) i (es_ i | |||
C) ill ij // famille | |||
a) il (_ j // bail | |||
e) il (_ j | |||
gt) i (m aj | |||
u) il (_ j // deuil | |||
L01_f) ils (_ is // fils (enfant) | |||
@@ -782,7 +783,7 @@ C) i (es_ i | |||
in (C E~ // vingt | |||
in (_ W~ // vin | |||
ing (_ iN | |||
_) infra (_P5 E~fra | |||
_) infra (sP5 E~fra | |||
_) inter (@@P5 E~tEr | |||
_) interr (A E~tEr | |||
_) inter (_ E~t'Er | |||
@@ -989,6 +990,8 @@ C) i (es_ i | |||
oû u // coûter | |||
oyes (_ ua // troyes | |||
oy (A uaj // noyer voyelles | |||
_b) oy (co oi- // boycott | |||
_c) oy (o oi // coyote | |||
_y) o (y o | |||
oy ua // roy | |||
o (_ o // zorro allégro |
@@ -141,6 +141,8 @@ _#-áig a:ig $alt2 | |||
_#-étől e:tY:l $alt2 | |||
_#-ét e:t $alt2 | |||
_#-át a:t $alt2 | |||
_#-ének e:nEk | |||
_#-ának a:nAk | |||
(1-e) elseje $text $alt2 | |||
(1-én) elsején $text $alt2 | |||
@@ -163,6 +165,7 @@ _#-át a:t $alt2 | |||
(1-jére) elsejére $text $alt2 | |||
(1-jétől) elsejétől $text $alt2 | |||
(1-jéig) elsejéig $text $alt2 | |||
(1-ének) elsejének $text $alt2 | |||
(2-i) másodikai $text $alt2 | |||
(2-ig) másodikáig $text $alt2 | |||
(3-i) hAR2_mAdikAi $alt2 |
@@ -70,7 +70,7 @@ | |||
kavi) cs (zátony tS | |||
har) c (cselek ts | |||
külön) c (sé ts | |||
mala) c (sül ts | |||
mala) c (sül ts | |||
.group ch | |||
@@ -165,10 +165,10 @@ menetren) dsz (erű d|s | |||
ötö) dsz (ör ts: | |||
ezre) d (szin d | |||
ha) d (szin d | |||
hor) d (szí d | |||
ezre) d (szá d | |||
kó) d (sor d | |||
máso) d (szin d | |||
hor) d (szí d | |||
ezre) d (szá d | |||
kó) d (sor d | |||
máso) d (szin d | |||
.group dz | |||
@@ -270,7 +270,7 @@ ritkasá) g (gyűjt g | |||
é) gh (ajla kh | |||
se) gg (fe g | |||
se) gg (be g | |||
pro) g (gyak g | |||
pro) g (gyak g | |||
.group gy | |||
gy J | |||
@@ -336,8 +336,8 @@ tizene) gy (edik J: | |||
e) gy (aránt J: | |||
e) gy (enrang J: | |||
e) gy (előre J: | |||
e) gy (enként J: | |||
félmege) gy (ez J: | |||
e) gy (enként J: | |||
félmege) gy (ez J: | |||
.group h | |||
@@ -389,7 +389,7 @@ félmege) gy (ez J: | |||
kossutht koSu:t: | |||
készségg ke:SSe:g: | |||
_a) kk (reditál k | |||
_) köztük kYstyk | |||
_) köztük kYstyk | |||
.group l | |||
l l | |||
@@ -436,7 +436,7 @@ keresztü) l (j l | |||
me) ll (kas l | |||
inte) ll (ige l | |||
e) ll (ipsz l | |||
_) e) lj (ár lj | |||
_) e) lj (ár lj | |||
@@ -501,6 +501,7 @@ tulajdo) n (jog n | |||
egye) n (jogú n | |||
beto) n (járda n | |||
verse) ny (jog n^ | |||
irá) ny (jel n^ | |||
.group o | |||
o o | |||
@@ -740,7 +741,7 @@ gyalogo) ssz Ss | |||
rádió) ssz (ob Ss | |||
jelzé) ssz (erű Ss | |||
kitöré) ssz (erű Ss | |||
hatá) ssz (üne Ss | |||
hatá) ssz (üne Ss | |||
.group sz | |||
sz s | |||
@@ -941,7 +942,7 @@ terüle) t (cél t | |||
néme) t (juhá t | |||
pó) t (je t | |||
halo) tt (ba t | |||
éle) t (jel t | |||
éle) t (jel t | |||
.group ts | |||
ts (_S2 tS //general rule with word end of ts letters | |||
@@ -1138,7 +1139,7 @@ találko) z (t s | |||
zsz z|s //general exception. Need difference first z and second sz phoneme. For example, rajzszög, rajzszeg, mézszín words. | |||
pén) z (t s | |||
rende) z (ked s | |||
kocká) z (ta s | |||
kocká) z (ta s | |||
hibá) z (tat s | |||
különbö) z (tet s | |||
válto) z (tat s | |||
@@ -1156,10 +1157,10 @@ tájéko) z (tass s | |||
búcsú) z (ko s | |||
nyújtó) z (ko s | |||
ő) z (sörét z | |||
szedelő) z (kö s | |||
alkalma) z (ko s | |||
egye) z (ke s | |||
egye) z (te s | |||
szedelő) z (kö s | |||
alkalma) z (ko s | |||
egye) z (ke s | |||
egye) z (te s | |||
.group |
@@ -28,7 +28,7 @@ _10 d;'es;It; | |||
_11 Od;'innVttsVt; | |||
_12 dv;In'AttsVt; | |||
_13 tR;In'AttsVt; | |||
_14 ts;It'y@-*nVttsVt; | |||
_14 tS;It'y@-*nVttsVt; | |||
_15 p;Itn'AttsVt; | |||
_16 SE#stn'AttsVt; | |||
_17 s;Imn'AttsVt; | |||
@@ -45,15 +45,15 @@ _9X d;E2v;In'ostO | |||
_0C st'o | |||
_2C dv;'es;t;I | |||
_3C tr;'ista | |||
_4C ts;It'yr;E2sta | |||
_4C tS;It'yr;E2sta | |||
_5C p;,It;s'ot | |||
_6C S,E#s;t;s'ot | |||
_7C s;,Ims'ot | |||
_8C vOs;Ims'ot | |||
_9C dev;Vn'ostO | |||
_1MA1 t'ys;Its;V // no '1' before thousand | |||
_0MA1 t'ys;Its;i | |||
_0M1 t'ys;Vts; | |||
_1MA1 t'ys;ItS;V // no '1' before thousand | |||
_0MA1 t'ys;ItS;i | |||
_0M1 t'ys;VtS; | |||
_1MA2 m;,IlI;'on | |||
_0MA2 m;,IlI;'ona | |||
_0M2 m;,IlI;'onof |
@@ -320,8 +320,8 @@ l/l_@ [l/3] base | |||
[W] fr | |||
[Y] fr | |||
[l/] fr | |||
l/l@ [L] base | |||
[¼ÈÔ] base | |||
l/l@ [] base | |||
[L] base | |||
[W] fr | |||
[Y] fr | |||
[l] fr | |||
@@ -347,14 +347,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 [L] base | |||
[¼ÈÔ] base | |||
l/la [] base | |||
[L] base | |||
[a] fr | |||
[l] fr | |||
l/l_a [l/3] base | |||
[l/] fr | |||
l/le [L] base | |||
[¼ÈÔ] base | |||
l/le [] base | |||
[L] base | |||
[l] fr | |||
l/l_e [l/3] base | |||
[l/] fr | |||
@@ -362,8 +362,8 @@ l/L_eL_af [&] af | |||
[&:] af | |||
l/l_front [L] sq | |||
l/l_front_ [l/4] sq | |||
l/li [L] base | |||
[¼ÈÔ] base | |||
l/li [] base | |||
[L] base | |||
[l] fr | |||
[l] zh | |||
l/l_i [l/3] base | |||
@@ -371,15 +371,15 @@ l/l_i [l/3] base | |||
[i] sq | |||
l/l_long [l] base | |||
[l] fr | |||
l/lo [L] base | |||
[¼ÈÔ] base | |||
l/lo [] base | |||
[L] base | |||
[l] fr | |||
l/l_o [l/3] base | |||
[l/] fr | |||
[o2] fr | |||
l^/l_rfx [l.] base | |||
l/lu [L] base | |||
[¼ÈÔ] base | |||
l/lu [] base | |||
[L] base | |||
[l] fr | |||
[w^i] fr | |||
l/l_u [l/3] base | |||
@@ -1868,23 +1868,23 @@ vwl_fr/r [r] fr | |||
vwl_fr/_r [r] fr | |||
vwl_fr/r_ [r/2] fr | |||
vwl_fr/r_@ [r/2] fr | |||
vwl_fr/r@ [‰g] fr | |||
vwl_fr/r@ [Ég] fr | |||
vwl_fr/@R [x] pt_pt | |||
vwl_fr/_r2 [r] fr | |||
vwl_fr/@R2 [R] fr_ca | |||
vwl_fr/ra [‰g] fr | |||
vwl_fr/ra [Ég] fr | |||
vwl_fr/r_a [r/2] fr | |||
vwl_fr/raa [A~] fr | |||
vwl_fr/r_an [A~] fr | |||
vwl_fr/re [‰g] fr | |||
vwl_fr/re [Ég] fr | |||
vwl_fr/r_e [r/2] fr | |||
vwl_fr/ri [‰g] fr | |||
vwl_fr/ri [Ég] fr | |||
vwl_fr/r_i [r/2] fr | |||
vwl_fr/ro [‰g] fr | |||
vwl_fr/ro [Ég] fr | |||
vwl_fr/r_o [o] fr | |||
[o2] fr | |||
[r/2] fr | |||
vwl_fr/ru [‰g] fr | |||
vwl_fr/ru [Ég] fr | |||
vwl_fr/r_u [r/2] fr | |||
vwl_fr/ry [y] fr | |||
[w^i] fr | |||
@@ -1926,6 +1926,7 @@ vwl_ru/ii# [I#] ru | |||
vwl_ru/ja [ja] ru | |||
vwl_ru/ju [ju] ru | |||
vwl_ru/o [o] ru | |||
vwl_ru/oo [O] ru | |||
vwl_ru/u [u] ru | |||
vwl_ru/u# [u#] ru | |||
vwl_ru/u#u [u"] ru |
@@ -1,7 +1,7 @@ | |||
//==================================================== | |||
// French | |||
//==================================================== | |||
// Updated 2010-02-25 Michel Such <[email protected]> | |||
// Updated 2010-03-12 Michel Such <[email protected]> | |||
phoneme #l virtual | |||
// Used for l and l/ | |||
@@ -39,7 +39,7 @@ phoneme r | |||
ENDIF | |||
IF nextPh(isStressed) THEN | |||
length 45 | |||
length 40 | |||
ENDIF | |||
VowelEnding(vwl_fr/xr) | |||
@@ -48,13 +48,21 @@ phoneme r | |||
IF prevPh(isPause) OR prevPhW(r/2) THEN | |||
FMT(vwl_fr/_r) | |||
ELIF prevPhW(p) OR prevPhW(k) THEN | |||
length 50 | |||
IF nextPh(isNotStressed) THEN | |||
length 50 | |||
ENDIF | |||
FMT(vwl_fr/tr) | |||
ELIF prevPhW(t) THEN | |||
length 45 | |||
IF nextPh(isNotStressed) THEN | |||
length 60 | |||
ENDIF | |||
FMT(vwl_fr/tr) addWav(r3/rx,30) | |||
ELIF prevPhW(f) OR prevPhW(g) OR prevPhW(v) THEN | |||
ELIF prevPhW(f) OR prevPhW(v) THEN | |||
length 40 | |||
ELIF prevPhW(g) OR prevPh(b) THEN | |||
IF nextPh(isNotStressed) THEN | |||
length 60 | |||
ENDIF | |||
ENDIF | |||
IF thisPh(isWordStart) THEN | |||
@@ -101,12 +109,19 @@ phoneme r/2 // variant of [r] when not preceding a vowel | |||
VowelEnding(vwl_fr/r_u) | |||
EndSwitch | |||
IF prevPh(t) OR prevPh(p) OR prevPh(k) OR prevPh(d) THEN | |||
IF prevPh(t) OR prevPh(p) OR prevPh(k) THEN | |||
FMT(vwl_fr/trr) | |||
ENDIF | |||
IF thisPh(isWordEnd) THEN | |||
FMT(vwl_fr/r_) addWav(r3/rx, 20) | |||
IF prevPhW(v) THEN | |||
length 40 | |||
ELIF prevPhW(f) THEN | |||
length 60 | |||
ELIF prevPhW(d) THEN | |||
length 80 | |||
ENDIF | |||
FMT(vwl_fr/r_) addWav(r3/rx, 15) | |||
ENDIF | |||
IF prevPh(isVowel) THEN | |||
@@ -531,7 +546,7 @@ phoneme d | |||
IF nextPh(isPause2) OR nextPh(isPause) THEN | |||
FMT(d/d_) addWav(x/d_, 50) | |||
// ELIF nextPh(#r) THEN | |||
// FMT(d/dr) addWav(x/d, 50) | |||
// FMT(d/dr) addWav(x/d, 30) | |||
ELIF prevPh(isPause) THEN | |||
FMT(d/d) addWav(x/d, 50) | |||
ENDIF | |||
@@ -605,8 +620,7 @@ phoneme p | |||
ELIF nextPh(#l) THEN | |||
WAV(ustop/pl, 30) | |||
ELIF nextPh(#r) THEN | |||
length 50 | |||
WAV(ustop/pr, 30) | |||
WAV(ustop/pr, 25) | |||
ENDIF | |||
WAV(ustop/p_unasp_, 90) | |||
endphoneme | |||
@@ -705,6 +719,7 @@ phoneme v | |||
vcd lbd frc | |||
voicingswitch f | |||
lengthmod 6 | |||
length 90 | |||
Vowelin f1=0 f2=1000 -300 -200 f3=-300 100 | |||
Vowelout f1=0 f2=1000 -500 -300 f3=-300 60 len=50 | |||
@@ -261,6 +261,7 @@ phoneme O | |||
IF thisPh(isMaxStress) THEN | |||
ChangePhoneme(o) | |||
ENDIF | |||
FMT(vwl_ru/oo) | |||
endphoneme | |||
@@ -75,7 +75,7 @@ phoneme k | |||
vls vel stop | |||
lengthmod 2 | |||
Vowelin f1=0 f2=2300 200 300 f3=-200 80 | |||
Vowelout f1=0 f2=2300 300 400 f3=-200 80 rms=20 | |||
Vowelout f1=1 f2=2300 300 400 f3=-200 80 rms=20 | |||
IF nextPh(isPause2) THEN | |||
WAV(NULL) | |||
@@ -101,7 +101,7 @@ phoneme p | |||
vls blb stop | |||
lengthmod 2 | |||
Vowelin f1=0 f2=1000 -50 -100 f3=-200 80 rms=30 | |||
Vowelout f1=0 f2=1000 -500 -350 f3=-300 80 rms=22 | |||
Vowelout f1=1 f2=1000 -500 -350 f3=-300 80 rms=22 | |||
IF nextPh(isPause2) THEN | |||
WAV(NULL) | |||
ENDIF | |||
@@ -112,7 +112,7 @@ phoneme t | |||
vls alv stop | |||
lengthmod 2 | |||
Vowelin f1=0 f2=1700 -300 300 f3=100 80 | |||
Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20 | |||
Vowelout f1=1 f2=1700 -300 250 f3=-100 80 rms=20 | |||
IF nextPh(isPause2) THEN | |||
WAV(NULL) | |||
ENDIF |
@@ -2454,9 +2454,12 @@ if(option_ssml) parag=1; | |||
c1 = 0x2026; | |||
c2 = ' '; | |||
} | |||
UngetC(c_next); | |||
if(c1 == 0x2026) | |||
c2 = c_next; | |||
else | |||
UngetC(c_next); | |||
} | |||
punct_data = 0; | |||
if((punct = lookupwchar(punct_chars,c1)) != 0) | |||
{ |
@@ -35,7 +35,7 @@ | |||
#include "translate.h" | |||
#include "wave.h" | |||
const char *version_string = "1.43.10 12.Mar.10"; | |||
const char *version_string = "1.43.12 13.Mar.10"; | |||
const int version_phdata = 0x014300; | |||
int option_device_number = -1; |
@@ -411,8 +411,16 @@ int DoSample3(PHONEME_DATA *phdata, int length_mod, int amp) | |||
amp2 = (amp2 * 32)/100; | |||
} | |||
seq_len_adjust=0; | |||
len = DoSample2(phdata->sound_addr[pd_WAV], 2, phdata->pd_param[pd_LENGTHMOD]*2, phdata->pd_control, length_mod, amp2); | |||
seq_len_adjust=0; | |||
if(phdata->sound_addr[pd_WAV] == 0) | |||
{ | |||
len = 0; | |||
} | |||
else | |||
{ | |||
len = DoSample2(phdata->sound_addr[pd_WAV], 2, phdata->pd_param[pd_LENGTHMOD]*2, phdata->pd_control, length_mod, amp2); | |||
} | |||
last_frame = NULL; | |||
return(len); | |||
} // end of DoSample3 |
@@ -840,14 +840,18 @@ if((wmark > 0) && (wmark < 8)) | |||
length=0; | |||
while(wordx[length] != ' ') length++; | |||
if(length > 0) | |||
wordx[-1] = ' '; // prevent this affecting the pronunciation of the pronuncable part | |||
} | |||
SetSpellingStress(tr,unpron_phonemes,0,posn); | |||
// anything left ? | |||
if(*wordx != ' ') | |||
{ | |||
if(unpron_phonemes[0] != 0) | |||
{ | |||
// letters which have been spoken individually from affecting the pronunciation of the pronuncable part | |||
wordx[-1] = ' '; | |||
} | |||
// Translate the stem | |||
end_type = TranslateRules(tr, wordx, phonemes, N_WORD_PHONEMES, end_phonemes, wflags, dictionary_flags); | |||
@@ -2802,7 +2806,7 @@ if((c == '/') && (tr->langopts.testing & 2) && IsDigit09(next_in) && IsAlpha(pre | |||
for(j=1; j<=nw; j++) | |||
{ | |||
num_wtab[j].flags &= ~FLAG_MULTIPLE_SPACES; // don't use this flag for subsequent parts when splitting a number | |||
num_wtab[j].flags &= ~(FLAG_MULTIPLE_SPACES | FLAG_EMBEDDED); // don't use these flags for subsequent parts when splitting a number | |||
} | |||
// include the next few characters, in case there are an ordinal indicator or other suffix |