Browse Source

[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
master
jonsd 15 years ago
parent
commit
805c5dfdee

+ 9
- 1
dictsource/da_list View File

appeal _^_EN appeal _^_EN
apple _^_EN apple _^_EN
bbc _^_EN bbc _^_EN
beat _^_EN
beachbuggy _^_EN
beachvolley _^_EN
browser _^_EN browser _^_EN
byte _^_EN byte _^_EN
camcorder _^_EN camcorder _^_EN
austin _^_EN austin _^_EN
bailey _^_EN bailey _^_EN
bronx _^_EN bronx _^_EN
clarence _^_EN
cyrus _^_EN cyrus _^_EN
fox _^_EN fox _^_EN
jean _^_EN jean _^_EN
(union station) junj3n||steisj@n // PB (union station) junj3n||steisj@n // PB
chevrolet sjEvrol'e chevrolet sjEvrol'e
saigon sajg3-n // PB Saigon saigon sajg3-n // PB Saigon
managua m&n'&:gw&


// Abbreviations // Abbreviations
pga pOgR'O?n'a? $hasdot // PB short for 'på grund af' pga pOgR'O?n'a? $hasdot // PB short for 'på grund af'
(sig til) si||tel // PB sig til ham, at han skal ... (sig til) si||tel // PB sig til ham, at han skal ...
(gav sig til) g&||saj||tel // PB han gav sig til at ... (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 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
dictsource/da_rules View File


// This file is UTF8 encoded // This file is UTF8 encoded
// Spelling-to-phoneme rules for Danish // Spelling-to-phoneme rules for Danish


a (nt '& // PB stressed a in words with -ant - interessant a (nt '& // PB stressed a in words with -ant - interessant
Ah) a (nd '& // PB stressed a in words with -hand - behendling Ah) a (nd '& // PB stressed a in words with -hand - behendling
ok) a (l '& // PB stressed a in 'vokal, lokal, bifokal' ok) a (l '& // PB stressed a in 'vokal, lokal, bifokal'
v) a (nlig '& // PB usædvanlig - stressed a
bl) a a // PB blad bl) a a // PB blad
fr) a A // PB fra, fratage fr) a A // PB fra, fratage
gr) a A // PB gratis gr) a A // PB gratis
a (L03K &: // PB alle, anden a (L03K &: // PB alle, anden
h) a (CK & // PB han h) a (CK & // PB han
hvabeh) ar 'A // PB hvabehar
a (L03 &: // PB foran halvvokal a (L03 &: // PB foran halvvokal
a (v+ A // PB tavs a (v+ A // PB tavs
L08) a (v & // PB stav L08) a (v & // PB stav
ri) d (e D ri) d (e D
si) d (e D si) d (e D
ti) d (e D ti) d (e D
ur) d (e d
// ur) d (e d
vi) d (e D vi) d (e D
æl) d (e æl) d (e
Coe) d (e // PB boede without d Coe) d (e // PB boede without d
ral) d (e ral) d (e
sag) d (e sag) d (e
snu) d (e D snu) d (e D
A) de (N_ D@ // PB change to D?
A) de (_ D@ // PB change to D?
in) d (eks d in) d (eks d
mo) d (el 'd mo) d (el 'd
or) d (el d or) d (el d
afl) e 3 // PB aflevere afl) e 3 // PB aflevere
ov) e (r 3 // PB over ov) e (r 3 // PB over
l) e (r 3 // PB forhandlere l) e (r 3 // PB forhandlere
fl) e (r e // PB flere
e (lse @ // PB fornøjelse e (lse @ // PB fornøjelse
sk) e (t_ e // PB sket sk) e (t_ e // PB sket
r) eau o // PB bureaukratiske r) eau o // PB bureaukratiske
nt) e @ // PB tante, hente nt) e @ // PB tante, hente
nt) e (r V // PB tanter, henter nt) e (r V // PB tanter, henter
mont) e (r e // PB montere 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 _) e (r_++ er // PB er
h) e (r++ e // PB her, herhen h) e (r++ e // PB her, herhen
_sk) er (_ er // PB sker _sk) er (_ er // PB sker
fr) e (L03 a // PB fremme, frende, frelse fr) e (L03 a // PB fremme, frende, frelse
fr) e (d e // PB fred fredag fr) e (d e // PB fred fredag
l) e (t e // PB toilet l) e (t e // PB toilet
_l) e (r_ e // PB ler
_l) er (_++ er // PB ler
hv) e (r e // PB hver hv) e (r e // PB hver
el) e (r V // PB hellere el) e (r V // PB hellere
mm) e (l @ // PB gammel mm) e (l @ // PB gammel
s) e (_ @ // PB rose, skose s) e (_ @ // PB rose, skose
_s) e (_ e? // PB se _s) e (_ e? // PB se
L06) er (_ &r // PB per L06) er (_ &r // PB per
L06L06) (er V // PB klipper
L06L06) er V // PB klipper
L03L06) er (_ V // PB bomber
_) er (_ &r // PB er _) er (_ &r // PB er
_a) e (_ 3 // PB ae _a) e (_ 3 // PB ae
pl) e (men 3 // PB supplement pl) e (men 3 // PB supplement
e (gn a // PB tegne , hegn e (gn a // PB tegne , hegn
bl) e (m 3 // PB møblement bl) e (m 3 // PB møblement
probl) e (m 'e // PB stressed e 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 ni) e (n e
ani) e (l e ani) e (l e
lini) e @ // PB changed from [e] to [@] lini) e @ // PB changed from [e] to [@]
r) e (_N 3_: // PB mere 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 r) e (nd a // PB rend
n) e (r V // PM klovner n) e (r V // PM klovner
hvab) e (har_ 3 // PB hvabehar
_r) e e _r) e e
// r) e ( // r) e (
r) e (l e r) e (l e
gourm) e 'e // PB gourmet gourm) e 'e // PB gourmet
@) e (kt 'e: // PB stressed e in words with -ekt - konfekt @) e (kt 'e: // PB stressed e in words with -ekt - konfekt
L06) eg (e aj // PB p) changed to L06 to include b 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' jav) e (l 'e // PB stressed e in 'javel'
m) eg (a eg m) eg (a eg
eg (et a:j eg (et a:j
Ad) en (@ '@-n // udenlandsk, udenad Ad) en (@ '@-n // udenlandsk, udenad
&) ene (_ @-n@ &) ene (_ @-n@
&) ende (_ @-nn@ &) ende (_ @-nn@
&) ere (_T 'e:3 // PB can't get 'vurdere' to work with -ere words in list file
&) eren (_ 3r3n &) 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 &) 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 _sen) ere er3 // PB senere
&) eren (s_ 3r3n &) eren (s_ 3r3n
&) es (_ @s &) es (_ @s
ir) e (n 'e ir) e (n 'e
yr) e (n 'e yr) e (n 'e
ork) e (ster 'e // PB stressed e in 'orkester' ork) e (ster 'e // PB stressed e in 'orkester'
forur) e (ne 'e // PB stressed - forurene
st) e (ret // PB orkesteret st) e (ret // PB orkesteret
b) ea (t i: // PB beat, beatorkester
ompet) en (ce aN ompet) en (ce aN
ress) en (timent aN // PB ressentiment ress) en (timent aN // PB ressentiment
bl) e (g aj // PB bleg bl) e (g aj // PB bleg
g) g (e g) g (e
g (ent g g (ent g
g (entl j // PB egentlig g (entl j // PB egentlig
ami) g (o g // PB amigo
&) g (r g &) g (r g
g (ård g g (ård g
g (ment g g (ment g
ser) gent 'sjant // PB sergent ser) gent 'sjant // PB sergent
gjorde gjo:3 // PB gjorde gjorde gjo:3 // PB gjorde
ki) g k // PB kig, udkig ki) g k // PB kig, udkig
a) g (C ?w
// a) g (C ?w
a) g (e a) g (e
a) g (en g a) g (en g
a) g (i g a) g (i g
a) g (urk 'g a) g (urk 'g
g) g g) g
//e) g (e //e) g (e
ste) g j // PB steg, stegefedt
e) g (o g e) g (o g
i) g (t g i) g (t g
i) g (t_ i) g (t_
bor) g u bor) g u
bud) g (et S bud) g (et S
gti) g gti) g
gti) g (ere // PB vigtigere
hol) g (er g hol) g (er g
jer) g (A w jer) g (A w
jer) g (C w jer) g (C w
ige (_ i;@ ige (_ i;@
iew j'u iew j'u
i (nK i i (nK i
r) i (nK e // PB ring
am) i (go 'i // PB amigo
i (nn e i (nn e
i (mK e i (mK e
i (k e // PB ikke, pik i (k e // PB ikke, pik
l) i (k i // PB likvid
pr) i (+ i // PB privat pr) i (+ i // PB privat
i (kk+ e // PB skiderikker i (kk+ e // PB skiderikker
i (r+ i // PB Irland, irrationel 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 (dA+ i: // PB siden
// s) i (d_ e // PB sid
s) i (d_ e // PB sid
s) i (dd+ e: // PB sidde s) i (dd+ e: // PB sidde
s) i (gA+ i // PB siger s) i (gA+ i // PB siger
s) i (n e // PB tusind s) i (n e // PB tusind
t) i (d+ i // PB tiden 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 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 //L03) i (L03K i // PB mellem to halvvokaler midt, vil, til SHOULD BE e FIND A RULE FOR Camilla with
i i
L03) i (L03L03 e // PB middag L03) i (L03L03 e // PB middag
L03) i (L03 i //PB vide L03) i (L03 i //PB vide
L03) i (g+ i // PB ligne
L03) i (gt+ e // vigtig
L03) i (L03L02 e // PB spille L03) i (L03L02 e // PB spille
v) i (l+ e // PB vil v) i (l+ e // PB vil
) i (l e // PB til
t) i (l e // PB til
to) i (l // PB toilet to) i (l // PB toilet
ju) i (ce // juice - skip the i ju) i (ce // juice - skip the i
soft) i (ce aj // PB softice 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 s) i (kC e // PB sikker, sikre
p) is es // PB pis p) is es // PB pis
p) i (L08+ i // PB pisk, pistol p) i (L08+ i // PB pisk, pistol
perfid) i 'i // PB perfidi perfid) i 'i // PB perfidi
rapsod) i 'i // PB rapsodi rapsod) i 'i // PB rapsodi
ortopæd) i 'i // PB ortopædi 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 l) i (e j
n) i (e i n) i (e i
r) i (g i r) i (g i
r) i (gt e // PB rigtigt
s) i (e j s) i (e j
t) i (e j t) i (e j
t) i (on // i ommitted because of sj t) i (on // i ommitted because of sj


k k k k
kk k kk k
k) (oordinat oVdi'nat
k (oordinat oVdi'nat
s) k g s) k g
pun) k (t N pun) k (t N
run) k (en N run) k (en N


n n n n
// nn 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 ka) n_ // no n - kan
nd (K n nd (K n
nd (ow nd nd (ow nd
o (sse V // PB tosse, nosse o (sse V // PB tosse, nosse
j) o (b V // PB job j) o (b V // PB job
o (vA+ Vu // PB over, oven 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 h) o (v+ o // hov, sove
telef) o (n 'o // PB telefon telef) o (n 'o // PB telefon
L08j) o (l V // PB skjold L08j) o (l V // PB skjold
tr) o o // PB tro tr) o o // PB tro
bistr) o 'o // PB stressed o in 'bistro' 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, _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 o (L03A o // PB - romantisk, hoved
// L02) o (L03_ V // PB consonant + o + semivowel + end of word - kom, som // L02) o (L03_ V // PB consonant + o + semivowel + end of word - kom, som
_C) o (_ o // PB jo, ko, lo, so _C) o (_ o // PB jo, ko, lo, so
o (f V // PB ofte o (f V // PB ofte
l) o (f V l) o (f V
r) o (f o // PB profil r) o (f o // PB profil
r) o (tt V // PB rotte
spr) o (g o // PB sprog spr) o (g o // PB sprog
k) ors V:s // PB kors, korsage k) ors V:s // PB kors, korsage
c) o (rs V // PB corsage c) o (rs V // PB corsage
ou 'u // PB poussin, toupe ou 'u // PB poussin, toupe
ough Vf // PB tough, rough - only 2 words ough Vf // PB tough, rough - only 2 words
oun aVn // PB discount oun aVn // PB discount
nark) o (tik 'o // PB narkotika, narkotisk
ul) o (v 'V // PB stressed o - ulovlig


.group or .group or


_f) or (kammer 'V // PB forkammer _f) or (kammer 'V // PB forkammer
_f) or (kant 'o // PB forkant _f) or (kant 'o // PB forkant
_f) or (karl 'o // PB forkarl _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 (klog 'o // PB forklog, forklogskab
_f) or (kontor 'o // PB forkontor _f) or (kontor 'o // PB forkontor
_f) or (krop 'o // PB forkrop _f) or (krop 'o // PB forkrop
suppo) r //PB support [s@p'@t] suppo) r //PB support [s@p'@t]
r (K r // not followed by a vowel r (K r // not followed by a vowel
e) r (_ // PB end of word: no r - lager [l&:V] 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 _se) r (_ r // PB ser
he) r (_ r // PB her he) r (_ r // PB her
e) r (es 3 // PB jeres, deres e) r (es 3 // PB jeres, deres
bu) rd (eK rd bu) rd (eK rd
// &) rd (eKK r
&) rd (eNKK r
ve) rd (eKK rd ve) rd (eKK rd
&) rd (e_ r &) rd (e_ r
o) rd (el++ rd o) rd (el++ rd
o) rd (en++ d // PB exception - pronounce d in 'orden, ordentlig' o) rd (en++ d // PB exception - pronounce d in 'orden, ordentlig'
o) rd (rin d 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 transpo) r (t //PB transport




s (C s s (C s
s (A s s (A s
s (ie s s (ie s
s (ion S
s (ion S' // PB stress added
s (j s s (j s
sch S // PB changed from [s(ch] - casch sch S // PB changed from [s(ch] - casch
al) s (ace 's // PB Alsace (French region) al) s (ace 's // PB Alsace (French region)
p) t t // PB toptitel p) t t // PB toptitel
s) t d // PB stor s) t d // PB stor
A) t (er d // PB Peter, efter, alter A) t (er d // PB Peter, efter, alter
A) t (ere t // PB invitere
teress tr@s // PB interessant teress tr@s // PB interessant
L03) t t // PB garanteret L03) t t // PB garanteret
r) t d // PB kuffert r) t d // PB kuffert
t (ie t t (ie t
t (ion+ sj' t (ion+ sj'
t (iøs+ sj' t (iøs+ sj'
&) tt t
// &) tt t


.group u .group u
u u: // PB u => u: - u couldn't be heard in 'umuligt' u u: // PB u => u: - u couldn't be heard in 'umuligt'
le) v (et // PB blevet, levet le) v (et // PB blevet, levet
la) v (A // PB no v - laver la) v (A // PB no v - laver
la) v (ement @ // PB lavement la) v (ement @ // PB lavement
ve (lse @ // PB øvelse
ve (lse v3 // PB øvelse
&A) v v &A) v v
&r) v v &r) v v
al) v (A v al) v (A v
y (nK W // PB changed from Y to W - synge, ynde y (nK W // PB changed from Y to W - synge, ynde
l) y (n y // PB lyn l) y (n y // PB lyn
whisk) y i // PB whisky 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 y (mK Y
d) y (_ i d) y (_ i
b) y (A y b) y (A y


.group æ .group æ
æ E æ E
æ (CK E
æ (CK E:
æ (bK E // PB dræb, slæb æ (bK E // PB dræb, slæb
æ (bt ae? // PB dræbt - FIND A BETTER VOWEL æ (bt ae? // PB dræbt - FIND A BETTER VOWEL
f) æ (re 'E: // PB affære, atmosfære, sfære f) æ (re 'E: // PB affære, atmosfære, sfære
g) ø (r @: g) ø (r @:
h) ø (j V h) ø (j V
ø (je V3 // PB øje ø (je V3 // PB øje
ø (jn V3 // PB øjne
h) ø (r W: h) ø (r W:
//k) ø (r W: //k) ø (r W:
l) øg (n 'Vj l) øg (n 'Vj

+ 7
- 4
dictsource/fr_rules View File



// 2006-11-18 Gilles Casse <[email protected]> // 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: // Letter classes:
a (ils_ a a (ils_ a
a (il_ a a (il_ a
aie (me E2 // paiement aie (me E2 // paiement
ai E2 // aile
ai E // aile
ai (L06 E // aile ai (L06 E // aile
ai (CAX E // aile ai (CAX E // aile
am (b A~ // jambon am (b A~ // jambon
vin) gt (_neuvi t vin) gt (_neuvi t


gt (_ // vingt doigts gt (_ // vingt doigts
gt t // vingtaine doigté
vin) gt (A t // vingtaine doigté


gu (i g // anguille gu (i g // anguille
ai) gui (l gw^i // aiguillage ai) gui (l gw^i // aiguillage
C) ill ij // famille C) ill ij // famille
a) il (_ j // bail a) il (_ j // bail
e) il (_ j e) il (_ j
gt) i (m aj
u) il (_ j // deuil u) il (_ j // deuil
L01_f) ils (_ is // fils (enfant) L01_f) ils (_ is // fils (enfant)


in (C E~ // vingt in (C E~ // vingt
in (_ W~ // vin in (_ W~ // vin
ing (_ iN ing (_ iN
_) infra (_P5 E~fra
_) infra (sP5 E~fra
_) inter (@@P5 E~tEr _) inter (@@P5 E~tEr
_) interr (A E~tEr _) interr (A E~tEr
_) inter (_ E~t'Er _) inter (_ E~t'Er
oû u // coûter oû u // coûter
oyes (_ ua // troyes oyes (_ ua // troyes
oy (A uaj // noyer voyelles oy (A uaj // noyer voyelles
_b) oy (co oi- // boycott
_c) oy (o oi // coyote
_y) o (y o _y) o (y o
oy ua // roy oy ua // roy
o (_ o // zorro allégro o (_ o // zorro allégro

+ 3
- 0
dictsource/hu_list View File

_#-étől e:tY:l $alt2 _#-étől e:tY:l $alt2
_#-ét e:t $alt2 _#-ét e:t $alt2
_#-át a:t $alt2 _#-át a:t $alt2
_#-ének e:nEk
_#-ának a:nAk


(1-e) elseje $text $alt2 (1-e) elseje $text $alt2
(1-én) elsején $text $alt2 (1-én) elsején $text $alt2
(1-jére) elsejére $text $alt2 (1-jére) elsejére $text $alt2
(1-jétől) elsejétől $text $alt2 (1-jétől) elsejétől $text $alt2
(1-jéig) elsejéig $text $alt2 (1-jéig) elsejéig $text $alt2
(1-ének) elsejének $text $alt2
(2-i) másodikai $text $alt2 (2-i) másodikai $text $alt2
(2-ig) másodikáig $text $alt2 (2-ig) másodikáig $text $alt2
(3-i) hAR2_mAdikAi $alt2 (3-i) hAR2_mAdikAi $alt2

+ 18
- 17
dictsource/hu_rules View File

kavi) cs (zátony tS kavi) cs (zátony tS
har) c (cselek ts har) c (cselek ts
külön) c (sé ts külön) c (sé ts
mala) c (sül ts
mala) c (sül ts




.group ch .group ch
ötö) dsz (ör ts: ötö) dsz (ör ts:
ezre) d (szin d ezre) d (szin d
ha) 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 .group dz
é) gh (ajla kh é) gh (ajla kh
se) gg (fe g se) gg (fe g
se) gg (be g se) gg (be g
pro) g (gyak g
pro) g (gyak g


.group gy .group gy
gy J gy J
e) gy (aránt J: e) gy (aránt J:
e) gy (enrang J: e) gy (enrang J:
e) gy (előre 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 .group h
kossutht koSu:t: kossutht koSu:t:
készségg ke:SSe:g: készségg ke:SSe:g:
_a) kk (reditál k _a) kk (reditál k
_) köztük kYstyk
_) köztük kYstyk


.group l .group l
l l l l
me) ll (kas l me) ll (kas l
inte) ll (ige l inte) ll (ige l
e) ll (ipsz l e) ll (ipsz l
_) e) lj (ár lj
_) e) lj (ár lj






egye) n (jogú n egye) n (jogú n
beto) n (járda n beto) n (járda n
verse) ny (jog n^ verse) ny (jog n^
irá) ny (jel n^


.group o .group o
o o o o
rádió) ssz (ob Ss rádió) ssz (ob Ss
jelzé) ssz (erű Ss jelzé) ssz (erű Ss
kitöré) ssz (erű Ss kitöré) ssz (erű Ss
hatá) ssz (üne Ss
hatá) ssz (üne Ss


.group sz .group sz
sz s sz s
néme) t (juhá t néme) t (juhá t
pó) t (je t pó) t (je t
halo) tt (ba t halo) tt (ba t
éle) t (jel t
éle) t (jel t


.group ts .group ts
ts (_S2 tS //general rule with word end of ts letters ts (_S2 tS //general rule with word end of ts letters
zsz z|s //general exception. Need difference first z and second sz phoneme. For example, rajzszög, rajzszeg, mézszín words. 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 pén) z (t s
rende) z (ked s rende) z (ked s
kocká) z (ta s
kocká) z (ta s
hibá) z (tat s hibá) z (tat s
különbö) z (tet s különbö) z (tet s
válto) z (tat s válto) z (tat s
búcsú) z (ko s búcsú) z (ko s
nyújtó) z (ko s nyújtó) z (ko s
ő) z (sörét z ő) 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 .group

+ 5
- 5
dictsource/ru_list View File

_11 Od;'innVttsVt; _11 Od;'innVttsVt;
_12 dv;In'AttsVt; _12 dv;In'AttsVt;
_13 tR;In'AttsVt; _13 tR;In'AttsVt;
_14 ts;It'y@-*nVttsVt;
_14 tS;It'y@-*nVttsVt;
_15 p;Itn'AttsVt; _15 p;Itn'AttsVt;
_16 SE#stn'AttsVt; _16 SE#stn'AttsVt;
_17 s;Imn'AttsVt; _17 s;Imn'AttsVt;
_0C st'o _0C st'o
_2C dv;'es;t;I _2C dv;'es;t;I
_3C tr;'ista _3C tr;'ista
_4C ts;It'yr;E2sta
_4C tS;It'yr;E2sta
_5C p;,It;s'ot _5C p;,It;s'ot
_6C S,E#s;t;s'ot _6C S,E#s;t;s'ot
_7C s;,Ims'ot _7C s;,Ims'ot
_8C vOs;Ims'ot _8C vOs;Ims'ot
_9C dev;Vn'ostO _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 _1MA2 m;,IlI;'on
_0MA2 m;,IlI;'ona _0MA2 m;,IlI;'ona
_0M2 m;,IlI;'onof _0M2 m;,IlI;'onof

+ 19
- 18
phsource/compile_report View File

[W] fr [W] fr
[Y] fr [Y] fr
[l/] fr [l/] fr
l/l@ [L] base
[¼ÈÔ] base
l/l@ [] base
[L] base
[W] fr [W] fr
[Y] fr [Y] fr
[l] fr [l] fr
l/L2_uL [l/2] base l/L2_uL [l/2] base
l/l_3 [l/] de l/l_3 [l/] de
l/l_4 [ll] sq l/l_4 [ll] sq
l/la [L] base
[¼ÈÔ] base
l/la [] base
[L] base
[a] fr [a] fr
[l] fr [l] fr
l/l_a [l/3] base l/l_a [l/3] base
[l/] fr [l/] fr
l/le [L] base
[¼ÈÔ] base
l/le [] base
[L] base
[l] fr [l] fr
l/l_e [l/3] base l/l_e [l/3] base
[l/] fr [l/] fr
[&:] af [&:] af
l/l_front [L] sq l/l_front [L] sq
l/l_front_ [l/4] sq l/l_front_ [l/4] sq
l/li [L] base
[¼ÈÔ] base
l/li [] base
[L] base
[l] fr [l] fr
[l] zh [l] zh
l/l_i [l/3] base l/l_i [l/3] base
[i] sq [i] sq
l/l_long [l] base l/l_long [l] base
[l] fr [l] fr
l/lo [L] base
[¼ÈÔ] base
l/lo [] base
[L] base
[l] fr [l] fr
l/l_o [l/3] base l/l_o [l/3] base
[l/] fr [l/] fr
[o2] fr [o2] fr
l^/l_rfx [l.] base l^/l_rfx [l.] base
l/lu [L] base
[¼ÈÔ] base
l/lu [] base
[L] base
[l] fr [l] fr
[w^i] fr [w^i] fr
l/l_u [l/3] base l/l_u [l/3] base
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_@ [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/@R [x] pt_pt
vwl_fr/_r2 [r] fr vwl_fr/_r2 [r] fr
vwl_fr/@R2 [R] fr_ca 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/r_a [r/2] fr
vwl_fr/raa [A~] fr vwl_fr/raa [A~] fr
vwl_fr/r_an [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/r_e [r/2] fr
vwl_fr/ri [g] fr
vwl_fr/ri [Ég] fr
vwl_fr/r_i [r/2] fr vwl_fr/r_i [r/2] fr
vwl_fr/ro [g] fr
vwl_fr/ro [Ég] fr
vwl_fr/r_o [o] fr vwl_fr/r_o [o] fr
[o2] fr [o2] fr
[r/2] fr [r/2] fr
vwl_fr/ru [g] fr
vwl_fr/ru [Ég] fr
vwl_fr/r_u [r/2] fr vwl_fr/r_u [r/2] fr
vwl_fr/ry [y] fr vwl_fr/ry [y] fr
[w^i] fr [w^i] fr
vwl_ru/ja [ja] ru vwl_ru/ja [ja] ru
vwl_ru/ju [ju] ru vwl_ru/ju [ju] ru
vwl_ru/o [o] 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#] ru vwl_ru/u# [u#] ru
vwl_ru/u#u [u"] ru vwl_ru/u#u [u"] ru

+ 25
- 10
phsource/ph_french View File

//==================================================== //====================================================
// French // French
//==================================================== //====================================================
// Updated 2010-02-25 Michel Such <[email protected]>
// Updated 2010-03-12 Michel Such <[email protected]>


phoneme #l virtual phoneme #l virtual
// Used for l and l/ // Used for l and l/
ENDIF ENDIF


IF nextPh(isStressed) THEN IF nextPh(isStressed) THEN
length 45
length 40
ENDIF ENDIF


VowelEnding(vwl_fr/xr) VowelEnding(vwl_fr/xr)
IF prevPh(isPause) OR prevPhW(r/2) THEN IF prevPh(isPause) OR prevPhW(r/2) THEN
FMT(vwl_fr/_r) FMT(vwl_fr/_r)
ELIF prevPhW(p) OR prevPhW(k) THEN ELIF prevPhW(p) OR prevPhW(k) THEN
length 50
IF nextPh(isNotStressed) THEN
length 50
ENDIF
FMT(vwl_fr/tr) FMT(vwl_fr/tr)
ELIF prevPhW(t) THEN ELIF prevPhW(t) THEN
length 45
IF nextPh(isNotStressed) THEN
length 60
ENDIF
FMT(vwl_fr/tr) addWav(r3/rx,30) 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 length 40
ELIF prevPhW(g) OR prevPh(b) THEN
IF nextPh(isNotStressed) THEN
length 60
ENDIF
ENDIF ENDIF


IF thisPh(isWordStart) THEN IF thisPh(isWordStart) THEN
VowelEnding(vwl_fr/r_u) VowelEnding(vwl_fr/r_u)
EndSwitch 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) FMT(vwl_fr/trr)
ENDIF ENDIF


IF thisPh(isWordEnd) THEN 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 ENDIF


IF prevPh(isVowel) THEN IF prevPh(isVowel) THEN
IF nextPh(isPause2) OR nextPh(isPause) THEN IF nextPh(isPause2) OR nextPh(isPause) THEN
FMT(d/d_) addWav(x/d_, 50) FMT(d/d_) addWav(x/d_, 50)
// ELIF nextPh(#r) THEN // ELIF nextPh(#r) THEN
// FMT(d/dr) addWav(x/d, 50)
// FMT(d/dr) addWav(x/d, 30)
ELIF prevPh(isPause) THEN ELIF prevPh(isPause) THEN
FMT(d/d) addWav(x/d, 50) FMT(d/d) addWav(x/d, 50)
ENDIF ENDIF
ELIF nextPh(#l) THEN ELIF nextPh(#l) THEN
WAV(ustop/pl, 30) WAV(ustop/pl, 30)
ELIF nextPh(#r) THEN ELIF nextPh(#r) THEN
length 50
WAV(ustop/pr, 30)
WAV(ustop/pr, 25)
ENDIF ENDIF
WAV(ustop/p_unasp_, 90) WAV(ustop/p_unasp_, 90)
endphoneme endphoneme
vcd lbd frc vcd lbd frc
voicingswitch f voicingswitch f
lengthmod 6 lengthmod 6
length 90
Vowelin f1=0 f2=1000 -300 -200 f3=-300 100 Vowelin f1=0 f2=1000 -300 -200 f3=-300 100
Vowelout f1=0 f2=1000 -500 -300 f3=-300 60 len=50 Vowelout f1=0 f2=1000 -500 -300 f3=-300 60 len=50



+ 1
- 0
phsource/ph_russian View File

IF thisPh(isMaxStress) THEN IF thisPh(isMaxStress) THEN
ChangePhoneme(o) ChangePhoneme(o)
ENDIF ENDIF
FMT(vwl_ru/oo)
endphoneme endphoneme





+ 3
- 3
phsource/ph_zh_yue View File

vls vel stop vls vel stop
lengthmod 2 lengthmod 2
Vowelin f1=0 f2=2300 200 300 f3=-200 80 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 IF nextPh(isPause2) THEN
WAV(NULL) WAV(NULL)
vls blb stop vls blb stop
lengthmod 2 lengthmod 2
Vowelin f1=0 f2=1000 -50 -100 f3=-200 80 rms=30 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 IF nextPh(isPause2) THEN
WAV(NULL) WAV(NULL)
ENDIF ENDIF
vls alv stop vls alv stop
lengthmod 2 lengthmod 2
Vowelin f1=0 f2=1700 -300 300 f3=100 80 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 IF nextPh(isPause2) THEN
WAV(NULL) WAV(NULL)
ENDIF ENDIF

BIN
phsource/vwl_fr/_r View File


BIN
phsource/vwl_fr/_r2 View File


BIN
phsource/vwl_fr/r View File


BIN
phsource/vwl_fr/r@ View File


BIN
phsource/vwl_fr/ra View File


BIN
phsource/vwl_fr/raa View File


BIN
phsource/vwl_fr/re View File


BIN
phsource/vwl_fr/ri View File


BIN
phsource/vwl_fr/ro View File


BIN
phsource/vwl_fr/ru View File


BIN
phsource/vwl_fr/ry View File


BIN
phsource/vwl_fr/tr View File


BIN
phsource/vwl_fr/xr View File


+ 5
- 2
src/readclause.cpp View File

c1 = 0x2026; c1 = 0x2026;
c2 = ' '; c2 = ' ';
} }
UngetC(c_next);
if(c1 == 0x2026)
c2 = c_next;
else
UngetC(c_next);
} }
punct_data = 0; punct_data = 0;
if((punct = lookupwchar(punct_chars,c1)) != 0) if((punct = lookupwchar(punct_chars,c1)) != 0)
{ {

+ 1
- 1
src/synthdata.cpp View File

#include "translate.h" #include "translate.h"
#include "wave.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; const int version_phdata = 0x014300;


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

+ 10
- 2
src/synthesize.cpp View File

amp2 = (amp2 * 32)/100; 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; last_frame = NULL;
return(len); return(len);
} // end of DoSample3 } // end of DoSample3

+ 7
- 3
src/translate.cpp View File



length=0; length=0;
while(wordx[length] != ' ') length++; while(wordx[length] != ' ') length++;
if(length > 0)
wordx[-1] = ' '; // prevent this affecting the pronunciation of the pronuncable part
} }
SetSpellingStress(tr,unpron_phonemes,0,posn); SetSpellingStress(tr,unpron_phonemes,0,posn);


// anything left ? // anything left ?
if(*wordx != ' ') 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 // Translate the stem
end_type = TranslateRules(tr, wordx, phonemes, N_WORD_PHONEMES, end_phonemes, wflags, dictionary_flags); end_type = TranslateRules(tr, wordx, phonemes, N_WORD_PHONEMES, end_phonemes, wflags, dictionary_flags);




for(j=1; j<=nw; j++) 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 // include the next few characters, in case there are an ordinal indicator or other suffix

Loading…
Cancel
Save