[1.43.03] release

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-fd96e6ae7743
This commit is contained in:
jonsd
2010-03-13 21:45:17 +00:00
parent 9ffdc46fa0
commit 805c5dfdee
27 changed files with 180 additions and 97 deletions
+9 -1
View File
@@ -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
+67 -31
View File
@@ -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
+7 -4
View File
@@ -23,7 +23,7 @@
// 2006-11-18 Gilles Casse <gcasse@oralux.org>
//
// Updated: 2010-03-05 Michel Such <michel.such@free.fr>
// Updated: 2010-03-08 Michel Such <michel.such@free.fr>
//
// 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
+3
View File
@@ -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
+18 -17
View File
@@ -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
+5 -5
View File
@@ -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
+19 -18
View File
@@ -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
+25 -10
View File
@@ -1,7 +1,7 @@
//====================================================
// French
//====================================================
// Updated 2010-02-25 Michel Such <michel.such@free.fr>
// Updated 2010-03-12 Michel Such <michel.such@free.fr>
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
+1
View File
@@ -261,6 +261,7 @@ phoneme O
IF thisPh(isMaxStress) THEN
ChangePhoneme(o)
ENDIF
FMT(vwl_ru/oo)
endphoneme
+3 -3
View File
@@ -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
Binary file not shown.
Binary file not shown.
BIN
View File
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.
+5 -2
View File
@@ -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)
{
+1 -1
View File
@@ -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;
+10 -2
View File
@@ -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
+7 -3
View File
@@ -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