mirror of
https://github.com/rhasspy/espeak-ng.git
synced 2026-11-15 10:02:42 +00:00
[1.31.13]
Error message if accented letters are not recognized as alphabetic. "speak" program. Don't finish when an empty sentence is found. Compile dictionary: compile *_listx after *_list, not before. git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@146 d46cf337-b52f-0410-862d-fd96e6ae7743
This commit is contained in:
@@ -129,10 +129,10 @@ e: E: E~ I i: O o: O:
|
||||
O~ r- U u: V
|
||||
|
||||
: b c ch d d. f g
|
||||
h H j J k kh l m
|
||||
n N n. n^ p ph Q q
|
||||
r s S s. t T t. t.h
|
||||
th v w x z
|
||||
h H j J k kh l l.
|
||||
m n N n. n^ p ph Q
|
||||
q r s S s. t T t.
|
||||
t.h th v w x z
|
||||
|
||||
|
||||
Dictionary hu_dict
|
||||
|
||||
+1
-1
@@ -2278,7 +2278,7 @@
|
||||
phab) et (_ Et
|
||||
ber) et (_ eI
|
||||
gr) et (+ Et
|
||||
f) et (a i:
|
||||
f) et (a i:t
|
||||
_m) et (e i:t
|
||||
_p) et (e i:t
|
||||
et (itor 'Et
|
||||
|
||||
+31
-18
@@ -5,7 +5,7 @@
|
||||
|
||||
// 2006-11-18 Gilles Casse <gcasse@oralux.org>
|
||||
//
|
||||
// Updated 2008-02-14 Michel Such <michel.such@free.fr>
|
||||
// Updated 2008-02-20 Michel Such <michel.such@free.fr>
|
||||
//
|
||||
// * Numbers, a few abbreviations and exceptions.
|
||||
//
|
||||
@@ -32,7 +32,7 @@ e @
|
||||
f Ef
|
||||
g Ze
|
||||
h aS
|
||||
i i
|
||||
// i i
|
||||
ï i:tRema
|
||||
j Zi
|
||||
k ka
|
||||
@@ -197,6 +197,8 @@ mbrola Em'bRola
|
||||
mlle mad@mwazEl
|
||||
mme madam
|
||||
mr m@sjY
|
||||
nsi $abbrev
|
||||
nsis $abbrev
|
||||
nti $abbrev
|
||||
nvda $abbrev
|
||||
ong $abbrev
|
||||
@@ -366,6 +368,7 @@ tout t'ut2 $u
|
||||
// Letters which can be words
|
||||
//===========================
|
||||
à a:aksA~gRav $atend
|
||||
i i $atend
|
||||
y i:gR'Ek $atend
|
||||
|
||||
|
||||
@@ -375,6 +378,7 @@ y i:gR'Ek $atend
|
||||
consent kO~s'A~t2
|
||||
scient si
|
||||
bénéficient benefisi $verb
|
||||
coing kwE~
|
||||
concurrent kO~kyR'A~
|
||||
content kO~t@-t2 $verb
|
||||
couvent k'uvt2 $verb
|
||||
@@ -386,9 +390,11 @@ divers divErz2
|
||||
évident evidt2 $verb
|
||||
ferment fErm'A~
|
||||
ferment f'Ermt2 $verb
|
||||
firent f'irt2
|
||||
parent paR'A~
|
||||
parent p'art2 $verb
|
||||
pastis pastis
|
||||
poing pwE~
|
||||
président pRezid'A~
|
||||
président pRezidt2 $verb
|
||||
résident Rezid'A~
|
||||
@@ -400,6 +406,7 @@ sergent sErZ'A~
|
||||
serment sErm'A~
|
||||
serpent sErp'A~
|
||||
torrent tOR'A~
|
||||
tunis tynis
|
||||
|
||||
|
||||
// MAIN WORD DICTIONARY
|
||||
@@ -436,6 +443,7 @@ fils fis
|
||||
imprudent E~pRydA~
|
||||
iris iris
|
||||
juin ZyE~
|
||||
laser lazEr
|
||||
malus malys
|
||||
mars maRs
|
||||
minus minys
|
||||
@@ -533,49 +541,44 @@ flirt fl@Rt
|
||||
// words from other languages
|
||||
about _^_en
|
||||
acer asEr
|
||||
again _^_en
|
||||
against _^_en
|
||||
alone _^_en
|
||||
also _^_en
|
||||
and _^_en
|
||||
amazon amaz'On
|
||||
any Eni
|
||||
apple _^_en
|
||||
april _^_en
|
||||
at _^_en
|
||||
(audible manager) odibl||manadZ@r
|
||||
be _^_en
|
||||
being _^_en
|
||||
bit _^_en
|
||||
bluetooth blut'us
|
||||
both _^_en
|
||||
browser _^_en
|
||||
can _^_en
|
||||
computer _^_en
|
||||
(cyber link) sibEr||link
|
||||
(cyber link) _^_en
|
||||
debian dEbjAn
|
||||
does _^_en
|
||||
doesn't _^_en
|
||||
don't _^_en
|
||||
driver _^_en
|
||||
edit edit
|
||||
emacs Emaks
|
||||
emacspeak Emakspi:k
|
||||
end _^_en
|
||||
enter 'Ent@r
|
||||
epson EpsOn
|
||||
espeak @spi:k
|
||||
ethernet etERnEt
|
||||
ever _^_en
|
||||
exit egzit
|
||||
eye _^_en
|
||||
eyes _^_en
|
||||
false _^_en
|
||||
(file zilla) fajl||zija
|
||||
fire _^_en
|
||||
firefox faj@RfOks
|
||||
for _^_en
|
||||
get _^_en
|
||||
google gu:g@l
|
||||
gnome gnom
|
||||
gnu gnu
|
||||
hamburger _!A~b@rg@r
|
||||
help _^_en
|
||||
hot _^_en
|
||||
in _^_en
|
||||
into _^_en
|
||||
inside _^_en
|
||||
@@ -585,20 +588,29 @@ internet E~tERnEt
|
||||
is _^_en
|
||||
it _^_en
|
||||
its _^_en
|
||||
june _^_en
|
||||
july _^_en
|
||||
klaxon klaksOn
|
||||
later _^_en
|
||||
latest _^_en
|
||||
layer _^_en
|
||||
let _^_en
|
||||
liszt list
|
||||
lite _^_en
|
||||
login _^_en
|
||||
logon _^_en
|
||||
(mac os x) makoEsiks
|
||||
made _^_en
|
||||
mail _^_en
|
||||
march _^_en
|
||||
media medja
|
||||
messenger _^_en
|
||||
my _^_en
|
||||
name _^_en
|
||||
never _^_en
|
||||
not _^_en
|
||||
null _^_en
|
||||
october _^_en
|
||||
of _^_en
|
||||
often _^_en
|
||||
ok oke
|
||||
@@ -606,13 +618,16 @@ open Op'@n
|
||||
outlook autluk
|
||||
outside _^_en
|
||||
outsider _^_en
|
||||
paint _^_en
|
||||
player _^_en
|
||||
redhat REdat
|
||||
same _^_en
|
||||
sametime _^_en
|
||||
she _^_en
|
||||
schubert SubER
|
||||
since _^_en
|
||||
sun _^_en
|
||||
sure _^_en
|
||||
(text aloud) tEkst||@lawd
|
||||
their _^_en
|
||||
there _^_en
|
||||
@@ -620,16 +635,14 @@ these _^_en
|
||||
those _^_en
|
||||
they _^_en
|
||||
thus _^_en
|
||||
thunderbird D'@ndYR||b@Rd
|
||||
time _^_en
|
||||
timer _^_en
|
||||
true _^_en
|
||||
ubuntu ubuntu
|
||||
up _^_en
|
||||
viking vikiN
|
||||
was _^_en
|
||||
won't _^_en
|
||||
yacht jot
|
||||
yes jEs $brk
|
||||
yes _^_en
|
||||
|
||||
|
||||
// tions (tjO~ instead of sjO~)
|
||||
|
||||
+127
-29
@@ -4,7 +4,7 @@
|
||||
|
||||
// 2006-11-18 Gilles Casse <gcasse@oralux.org>
|
||||
//
|
||||
// Updated: 2008-02-14 Michel Such <michel.such@free.fr>
|
||||
// Updated: 2008-02-20 Michel Such <michel.such@free.fr>
|
||||
//
|
||||
// * The rules are based on Cicero TTS.
|
||||
// Y
|
||||
@@ -15,6 +15,9 @@
|
||||
// Y front vowels: e i y é ê è î
|
||||
// K not a vowel (i.e. consonant, space, )
|
||||
|
||||
.L01 a b c d e f g h i l p q r t v
|
||||
.L02 a e i o u y
|
||||
|
||||
|
||||
.group a
|
||||
ae (_ e // reggae vitae
|
||||
@@ -51,11 +54,18 @@
|
||||
|
||||
// group a: English section
|
||||
_C) ad (_ _^_en // bad, had, sad
|
||||
_) again (X _^_en // again, against
|
||||
alk _^_en // talk, walk
|
||||
all (_ _^_en // football handball
|
||||
f) all (en_ _^_en // fallen
|
||||
sm) all _^_en // small, smaller
|
||||
ally (_ _^_en // really, naturally
|
||||
ank _^_en // tank, blank
|
||||
ark _^_en // dark, park
|
||||
ainl _^_en
|
||||
ainm _^_en
|
||||
_C) ast (_ _^_en
|
||||
_C) ast (eX _^_en
|
||||
ather (_ _^_en // rather
|
||||
aunc _^_en
|
||||
a (wC _^_en
|
||||
|
||||
|
||||
@@ -65,13 +75,16 @@
|
||||
b b // aube
|
||||
|
||||
// group b: English section
|
||||
back _^_en
|
||||
bbl _^_en
|
||||
bird _^_en // bird
|
||||
_) blue (X _^_en // probably
|
||||
bly (_ _^_en // probably
|
||||
board _^_en // board, keyboard
|
||||
box (_ _^_en // box, inbox, outbox
|
||||
bug (_ _^_en // bug, debug
|
||||
bug (g _^_en // debugger
|
||||
buil _^_en // build, built
|
||||
buil _^_en
|
||||
_) buy _^_en
|
||||
_) by _^_en // by, bye, bypass
|
||||
|
||||
@@ -119,7 +132,8 @@
|
||||
|
||||
// group c: English section
|
||||
cast (_ _^_en // broadcast
|
||||
calt (_ _^_en // difficult
|
||||
chme _^_en
|
||||
cult (_ _^_en // difficult
|
||||
cut (_ _^_en // cut, shortcut
|
||||
cy (_ _^_en // currency, frequency
|
||||
|
||||
@@ -149,8 +163,14 @@
|
||||
|
||||
// group d: English section
|
||||
') d (_ _^_en
|
||||
lor) d (_ _^_en
|
||||
day (_ _^_en
|
||||
_) dec _^_en
|
||||
dece _^_en
|
||||
_) def _^_en
|
||||
dele _^_en
|
||||
deter _^_en
|
||||
_) devic _^_en
|
||||
diffe _^_en
|
||||
dle (X _^_en // bundle, handle
|
||||
dly (_ _^_en
|
||||
dy (_ _^_en
|
||||
@@ -259,8 +279,11 @@
|
||||
_Ch) er (_ ER // cher
|
||||
_env) er (_ ER
|
||||
_hi) er (_ ER // hier
|
||||
_hyp) er (_ ER // hyper
|
||||
_hiv) er (_ ER // hiver
|
||||
_sup) er (_ ER // super
|
||||
_trav) er (_ ER
|
||||
_univ) er (_ ER
|
||||
_ti) er (_ ER
|
||||
|
||||
|
||||
@@ -378,8 +401,10 @@
|
||||
e @ // menue
|
||||
|
||||
// group e: English section
|
||||
eac _^_en
|
||||
C) ead _^_en // read, head
|
||||
eaf _^_en // leaf
|
||||
eag _^_en // eagle
|
||||
eak _^_en // break, speak
|
||||
Cr) eam _^_en // stream
|
||||
Cl) ean _^_en // clean
|
||||
@@ -388,21 +413,33 @@
|
||||
ear _^_en // ear, search
|
||||
eas _^_en // please
|
||||
eat _^_en // eat, seat
|
||||
ed (_ _^_en
|
||||
ee _^_en // meeting
|
||||
eave _^_en // leave
|
||||
ed (_ _^_en
|
||||
_) edit _^_en
|
||||
ee _^_en // meeting
|
||||
eft (_ _^_en // left
|
||||
ehen _^_en // comprehensive
|
||||
eing _^_en // being, goeing
|
||||
eive _^_en // receive
|
||||
eith _^_en // either neither
|
||||
ej _^_en
|
||||
_) el (AC _^_en // element, eliminate
|
||||
eld (_ _^_en // field
|
||||
elf (_ _^_en // shelf
|
||||
elves (_ _^_en // shelves
|
||||
ember (_ _^_en
|
||||
enter (_ _^_en // enter, center
|
||||
ely (_ _^_en // lately
|
||||
_) enhan _^_en
|
||||
ooC) er (_ _^_en // scooter
|
||||
_ov) er _^_en // over
|
||||
ern (_ _^_en // western
|
||||
_C) etter (_ _^_en // letter, better
|
||||
ack) et (_ _^_en // racket, packet
|
||||
ock) et (_ _^_en // rocket, pocket
|
||||
ery (_ _^_en // query
|
||||
qu) est (_ _^_en // request
|
||||
qu) este (X_ _^_en // requested, requester
|
||||
_) ev _^_en // even, ever, event
|
||||
oC) ever _^_en // forever, however
|
||||
|
||||
|
||||
.group ë
|
||||
@@ -420,11 +457,12 @@
|
||||
fail (_ _^_en // fail
|
||||
fail (A _^_en // failure
|
||||
faith _^_en // failure
|
||||
_) fire _^_en
|
||||
fly _^_en
|
||||
ford (_ _^_en
|
||||
_) frame _^_en
|
||||
_) freq _^_en
|
||||
friend _^_en // friend, friendly
|
||||
full (_ _^_en
|
||||
fully (_ _^_en
|
||||
fy (_ _^_en
|
||||
|
||||
|
||||
@@ -470,6 +508,8 @@
|
||||
g Z // congé george
|
||||
|
||||
// group g: English section
|
||||
_) game (X _^_en
|
||||
@@) gate (X _^_en
|
||||
gh _^_en // high, higher
|
||||
girl _^_en // girl
|
||||
gly (_ _^_en
|
||||
@@ -591,15 +631,29 @@ _) h (As_ _^_en // has, his
|
||||
ique (_ ik
|
||||
|
||||
// group i: English section
|
||||
A_) i (_ _^_en
|
||||
C_) i (_ _^_en
|
||||
_) i (_A _^_en
|
||||
_) i (_C _^_en
|
||||
L02C) ic (_ _^_en
|
||||
L02CC) ic (_ _^_en
|
||||
@C) id (_ _^_en
|
||||
idd _^_en
|
||||
iev _^_en
|
||||
ife (_ _^_en
|
||||
igg _^_en
|
||||
ike (X _^_en // bike, like
|
||||
ill (_ _^_en // ill, will, fill
|
||||
C) illy (_ _^_en // silly
|
||||
ild _^_en
|
||||
ilt _^_en
|
||||
ing (_ _^_en // parking
|
||||
ind (_ _^_en // find, mind
|
||||
ind (er_ _^_en // finder, reminder
|
||||
_C) ind (er_ _^_en // finder, reminder
|
||||
_AC) ind (er_ _^_en // finder, reminder
|
||||
ink _^_en // link, pink
|
||||
ip (_ _^_en // chip, ship
|
||||
ious (_ _^_en // various
|
||||
iously (_ _^_en // previously
|
||||
ist (_ _^_en // tourist
|
||||
ism (_ _^_en // tourism
|
||||
ize _^_en // realize
|
||||
|
||||
@@ -628,6 +682,7 @@ _) h (As_ _^_en // has, his
|
||||
|
||||
// group k: English section
|
||||
ke (X _^_en // basket, make, take
|
||||
key _^_en
|
||||
ky (_ _^_en
|
||||
|
||||
.group l
|
||||
@@ -642,7 +697,12 @@ _) h (As_ _^_en // has, his
|
||||
') ld (_ _^_en
|
||||
') ll (_ _^_en
|
||||
less (_ _^_en // noiseless
|
||||
_) live _^_en
|
||||
ll (_ _^_en
|
||||
lly (_ _^_en
|
||||
lk (_ _^_en
|
||||
lessly (_ _^_en // endlessly
|
||||
lord (_ _^_en
|
||||
|
||||
|
||||
.group m
|
||||
@@ -650,6 +710,7 @@ _) h (As_ _^_en // has, his
|
||||
mm m // pomme
|
||||
|
||||
// group m: English section
|
||||
') m (_ _^_en
|
||||
mail (A _^_en // mailer
|
||||
may _^_en
|
||||
mov (A _^_en // move, movy
|
||||
@@ -667,6 +728,7 @@ _) h (As_ _^_en // has, his
|
||||
|
||||
// group n: English section
|
||||
n't (_ _^_en
|
||||
nunc _^_en
|
||||
ny (_ _^_en
|
||||
|
||||
|
||||
@@ -684,10 +746,6 @@ _) h (As_ _^_en // has, his
|
||||
_) oi (gnon O // oignons
|
||||
oin (C wE~
|
||||
oin (_ wE~ // coin
|
||||
C) oing (_ o'iN // going
|
||||
c) oing (_ wE~ // coing
|
||||
p) oing (_ wE~ // poing
|
||||
oing (_ wE~ // poing, coing
|
||||
oi wa // poil
|
||||
oid (_ wa // froid
|
||||
oê (l wa // poêle
|
||||
@@ -719,7 +777,6 @@ p) oing (_ wE~ // poing
|
||||
z) oo o // zoo
|
||||
z) oo (C oo // zoologue
|
||||
z) oo (m u // zoom
|
||||
oo (X u // pool
|
||||
_gal) op (_ o // galop
|
||||
|
||||
_sir) op (_ o // sirop
|
||||
@@ -748,16 +805,26 @@ p) oing (_ wE~ // poing
|
||||
o O // sobre notions émotions
|
||||
|
||||
// group o: English section
|
||||
C) oad (_ _^_en // load, road
|
||||
C) oad (eX _^_en // loaded
|
||||
C) oat _^_en // boat
|
||||
oa (X _^_en // approach, load
|
||||
oa (CeX _^_en
|
||||
oach _^_en
|
||||
oes (_ _^_en
|
||||
old (er_ _^_en // folder, older
|
||||
C) oing (_ _^_en // going
|
||||
_aC) ong (_ _^_en // along, among
|
||||
oo (Ce _^_en // boomer
|
||||
oo (X _^_en // pool
|
||||
C) oot _^_en // bootable football
|
||||
_) one _^_en
|
||||
_) onl _^_en
|
||||
orm (_ _^_en
|
||||
_sC) ot _^_en
|
||||
othe _^_en // other, mother
|
||||
C) ou (ld_ _^_en // could, should
|
||||
oun (C _^_en // bounce, found
|
||||
_C) ouse _^_en // mouse, house
|
||||
C) outh _^_en // mouth, south
|
||||
_) over _^_en // over
|
||||
ow _^_en // cow, town, down
|
||||
oy (X _^_en // boy, toy
|
||||
|
||||
@@ -790,8 +857,12 @@ p) oing (_ wE~ // poing
|
||||
se) pt (iè t // septième
|
||||
|
||||
// group p: English section
|
||||
pad (_ _^_en
|
||||
plug _^_en // plug
|
||||
pmen _^_en
|
||||
ply (_ _^_en // simply
|
||||
_) pre (L01 _^_en
|
||||
press (_ _^_en
|
||||
print (_ _^_en // print
|
||||
printer (_ _^_en // printer
|
||||
_) prove (X _^_en // prove
|
||||
@@ -826,6 +897,10 @@ mou) rr RR // mourrai
|
||||
r r // rien
|
||||
|
||||
// group r: English section
|
||||
AC) ram (_ _^_en
|
||||
_) real _^_en
|
||||
rese _^_en
|
||||
rst (_ _^_en
|
||||
_) rule (X _^_en // rule
|
||||
ry (_ _^_en // theory
|
||||
|
||||
@@ -903,15 +978,18 @@ e) s (_h z2
|
||||
s (v z
|
||||
|
||||
// group s: English section
|
||||
') s (_ _^_en // possessive
|
||||
') s (_ _^_en
|
||||
sh (_ _^_en
|
||||
she (C_ _^_en
|
||||
ship _^_en // friendship
|
||||
shop _^_en // shop
|
||||
sh (At _^_en // shut, shot
|
||||
shout _^_en
|
||||
sky _^_en
|
||||
sk _^_en
|
||||
_) smil _^_en // smile, smiley
|
||||
spy _^_en
|
||||
A) ss (_ _^_en // boss, cross
|
||||
_) state _^_en // state, statement
|
||||
C) s (ton _^_en // winston
|
||||
stone (_ _^_en
|
||||
sy (_ _^_en
|
||||
@@ -979,11 +1057,19 @@ C) te (_ t@- // patte
|
||||
_ce) t (_ t
|
||||
|
||||
// group t: English section
|
||||
tch (_ _^_en
|
||||
_) th (AX _^_en // that, this, then, than
|
||||
C) th (_ _^_en // month
|
||||
_) time _^_en
|
||||
tle (_ _^_en
|
||||
too _^_en
|
||||
ttl _^_en
|
||||
try (_ _^_en // try, country
|
||||
sCar) t (_ _^_en // smart, start
|
||||
sCar) t (er_ _^_en // starter
|
||||
tme _^_en
|
||||
tne _^_en
|
||||
_) tun (AX _^_en
|
||||
ty (_ _^_en // party, buty
|
||||
|
||||
|
||||
@@ -1020,8 +1106,14 @@ C) te (_ t@- // patte
|
||||
// group u: English section
|
||||
C) u (ch_ _^_en // much such
|
||||
C) ui (ce _^_en // produice, juice
|
||||
up (C _^_en // upper, update
|
||||
umber (_ _^_en
|
||||
ump (_ _^_en
|
||||
unch _^_en
|
||||
_C) unct _^_en // function, punctuation
|
||||
under _^_en // under, understand, thunder
|
||||
_) up (C _^_en // upper, update
|
||||
upt (_ _^_en
|
||||
up (_ _^_en // setup
|
||||
C) ur (ch _^_en // church
|
||||
urn (X _^_en // burn, turn
|
||||
ust (_ _^_en // just, trust
|
||||
@@ -1033,7 +1125,8 @@ C) te (_ t@- // patte
|
||||
|
||||
// goup v: English section
|
||||
') ve (_ _^_en
|
||||
voice (_ _^_en
|
||||
vail (A _^_en
|
||||
voice (X _^_en
|
||||
void (_ _^_en
|
||||
vy (_ _^_en
|
||||
|
||||
@@ -1045,11 +1138,13 @@ C) te (_ t@- // patte
|
||||
// group w: English section
|
||||
A) w _^_en
|
||||
wa (Ce_ _^_en // hardware software wave
|
||||
_) wan _^_en
|
||||
wr _^_en // write
|
||||
w (ACh _^_en // wash, wish, with
|
||||
w (ACC _^_en // wash, wish, with
|
||||
way _^_en // way, away
|
||||
wh _^_en // what, which, who
|
||||
_) wi _^_en // winner, window, wire
|
||||
_) wi _^_en // wire
|
||||
win _^_en // winner, window
|
||||
wise _^_en
|
||||
_) wom _^_en // woman
|
||||
wor _^_en // word, world
|
||||
@@ -1082,6 +1177,9 @@ C) te (_ t@- // patte
|
||||
si) x (iè z // sixième
|
||||
deu) x (iè z // deuxième
|
||||
|
||||
// group x: English section
|
||||
xamp _^_en
|
||||
|
||||
|
||||
.group y
|
||||
y i // cryogénique myope
|
||||
|
||||
@@ -154,6 +154,7 @@ _dpt _d@s@ml'o:_ // ?? what is Hi for "." ?
|
||||
य j@
|
||||
र r@
|
||||
ऱ r@
|
||||
ळ l.@
|
||||
व v@
|
||||
श S@
|
||||
ष s.@ // should be retroflex [S]
|
||||
|
||||
+8
-8
@@ -343,16 +343,16 @@
|
||||
्) ल (_ lV
|
||||
|
||||
.group ळ
|
||||
ळ lV // (temporary) same as [l]
|
||||
ळ (B l
|
||||
?1 ल (_ l
|
||||
्) ल (_ lV
|
||||
ळ l.V
|
||||
ळ (B l.
|
||||
?1 ल (_ l.
|
||||
्) ल (_ l.V
|
||||
|
||||
.group ऴ
|
||||
ऴ lV // (temporary) same as [l]
|
||||
ऴ (B l
|
||||
?1 ल (_ l
|
||||
्) ल (_ lV
|
||||
ऴ l.V // (temporary) same as [l.]
|
||||
ऴ (B l.
|
||||
?1 ल (_ l.
|
||||
्) ल (_ l.V
|
||||
|
||||
.group व
|
||||
व vV
|
||||
|
||||
+7
-1
@@ -48,6 +48,8 @@ _7 jedi
|
||||
_8 sekiz
|
||||
_9 dokuz
|
||||
_10 on
|
||||
_11 'onbir
|
||||
_12 'oniki
|
||||
_1X on
|
||||
_2X jirmi
|
||||
_3X otuz
|
||||
@@ -58,10 +60,14 @@ _7X jetmiS
|
||||
_8X seksEn
|
||||
_9X doksan
|
||||
_0C jyz
|
||||
_2C 'ikijyz
|
||||
_0M1 bIn
|
||||
_1M1 bIn
|
||||
_0M2 miljon
|
||||
_1M2 miljon
|
||||
_0M3 miljar
|
||||
_dpt _virg,Yl
|
||||
_1M3 miljar
|
||||
_dpt _virg,Yl_|
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -6,6 +6,8 @@
|
||||
.group a
|
||||
a a
|
||||
|
||||
avru (pa avr'u
|
||||
|
||||
.group b
|
||||
b b
|
||||
|
||||
@@ -18,6 +20,8 @@
|
||||
.group d
|
||||
d d
|
||||
|
||||
_) d (eğil 'd
|
||||
|
||||
.group e
|
||||
e e
|
||||
|
||||
|
||||
@@ -263,3 +263,5 @@ language).
|
||||
4 51
|
||||
5 11
|
||||
|
||||
| _|
|
||||
|
||||
|
||||
@@ -17,8 +17,8 @@
|
||||
fi 40 130
|
||||
fr 44 125
|
||||
fr_ca 11 125
|
||||
hi 50 135
|
||||
ta 16 138
|
||||
hi 51 136
|
||||
ta 15 138
|
||||
hu 23 115
|
||||
nl 28 122
|
||||
pl 15 110
|
||||
@@ -47,7 +47,7 @@
|
||||
th 50 142
|
||||
id 14 120
|
||||
tr 14 123
|
||||
ku 12 120
|
||||
ku 13 120
|
||||
ja 7 104
|
||||
|
||||
Data file Used by
|
||||
@@ -361,7 +361,7 @@ l/l_long [l] base
|
||||
[l;] ro
|
||||
l/lo [(o)] base
|
||||
[l] fr
|
||||
l^/l_rfx [l.] ta
|
||||
l^/l_rfx [l.] hi
|
||||
l/lu [(u)] base
|
||||
[l] fr
|
||||
l/tl [l] base
|
||||
@@ -952,6 +952,7 @@ vdiph/eeu_2 [EU] la
|
||||
[EU] pt_pt
|
||||
vdiph/eeu_3 [aU] en_n
|
||||
[aU] en_wm
|
||||
[eU] ku
|
||||
vdiph/eey [ey] fi
|
||||
vdiph/ei [eI] base2
|
||||
[e:] nl
|
||||
|
||||
@@ -216,6 +216,13 @@ endphoneme
|
||||
// CONSONANTS
|
||||
//===========
|
||||
|
||||
phoneme l.
|
||||
liquid rfx
|
||||
lengthmod 7
|
||||
formants l^/l_rfx
|
||||
endphoneme
|
||||
|
||||
|
||||
|
||||
phoneme v // no fricative noise
|
||||
vcd lbd frc
|
||||
|
||||
@@ -96,13 +96,6 @@ phoneme u-
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme l.
|
||||
liquid rfx
|
||||
lengthmod 7
|
||||
formants l^/l_rfx
|
||||
endphoneme
|
||||
|
||||
|
||||
// ?? This is standard [v]. Should be it [v] without the fricative noise?
|
||||
phoneme v
|
||||
vcd lbd frc
|
||||
|
||||
+1
-1
@@ -1510,8 +1510,8 @@ int CompileDictionary(const char *dsource, const char *dict_name, FILE *log, cha
|
||||
|
||||
fprintf(f_log,"Using phonemetable: '%s'\n",PhonemeTabName());
|
||||
compile_dictlist_file(path,"roots");
|
||||
compile_dictlist_file(path,"listx");
|
||||
compile_dictlist_file(path,"list");
|
||||
compile_dictlist_file(path,"listx");
|
||||
compile_dictlist_file(path,"extra");
|
||||
|
||||
compile_dictlist_end(f_out);
|
||||
|
||||
+8
-5
@@ -233,7 +233,7 @@ typedef struct {
|
||||
|
||||
int *body_drops;
|
||||
unsigned char body_max_steps;
|
||||
unsigned char body_lower_u;
|
||||
char body_lower_u;
|
||||
|
||||
char n_overflow;
|
||||
short *overflow;
|
||||
@@ -270,8 +270,8 @@ static TONE_HEAD tone_head_table[N_TONE_HEAD_TABLE] = {
|
||||
{20, 25, 34, 22, drops_0, 3, 3, 5, oflow}, // 8 pitch raises at end of sentence
|
||||
{20, 25, 34, 20, drops_0, 3, 3, 5, oflow}, // 9 comma
|
||||
{20, 25, 34, 22, drops_0, 3, 3, 5, oflow}, // 10 question
|
||||
{20, 25, 24, 22, drops_0, 3, 3, 5, oflow_less}, // 11 test
|
||||
{19, 26, 36, 20, drops_0, 2, 4, 5, oflow_test2}, // 12 test
|
||||
{15, 18, 18, 14, drops_0, 3, 3, 5, oflow_less}, // 11 test
|
||||
{20, 25, 24, 22, drops_0, 3, 3, 5, oflow_less}, // 12 test
|
||||
};
|
||||
|
||||
static TONE_NUCLEUS tone_nucleus_table[N_TONE_NUCLEUS_TABLE] = {
|
||||
@@ -1069,6 +1069,10 @@ void Translator::CalcPitches(int clause_type)
|
||||
{
|
||||
p->env = PITCHrise;
|
||||
}
|
||||
else
|
||||
if(p->tone > 5)
|
||||
p->env = syl->env;
|
||||
|
||||
if(p->pitch1 > p->pitch2)
|
||||
{
|
||||
// swap so that pitch2 is the higher
|
||||
@@ -1076,8 +1080,7 @@ void Translator::CalcPitches(int clause_type)
|
||||
p->pitch1 = p->pitch2;
|
||||
p->pitch2 = x;
|
||||
}
|
||||
if(p->tone > 5)
|
||||
p->env = syl->env;
|
||||
|
||||
|
||||
if(syl->flags & SYL_EMPHASIS)
|
||||
{
|
||||
|
||||
+8
-4
@@ -37,8 +37,8 @@
|
||||
|
||||
|
||||
|
||||
void Translator::LookupLetter(int letter, int next_byte, char *ph_buf1)
|
||||
{//==================================================================
|
||||
void Translator::LookupLetter(unsigned int letter, int next_byte, char *ph_buf1)
|
||||
{//=============================================================================
|
||||
int len;
|
||||
unsigned char *p;
|
||||
static char single_letter[10] = {0,0};
|
||||
@@ -643,6 +643,7 @@ int Translator::TranslateNumber_1(char *word, char *ph_out, unsigned int *flags,
|
||||
int this_value;
|
||||
static int prev_value;
|
||||
int decimal_count;
|
||||
int max_decimal_count;
|
||||
char string[12]; // for looking up entries in de_list
|
||||
char buf1[100];
|
||||
char ph_append[50];
|
||||
@@ -783,8 +784,11 @@ int Translator::TranslateNumber_1(char *word, char *ph_out, unsigned int *flags,
|
||||
|
||||
if(decimal_count > 1)
|
||||
{
|
||||
switch(langopts.numbers & 0x6000)
|
||||
max_decimal_count = 2;
|
||||
switch(langopts.numbers & 0xe000)
|
||||
{
|
||||
case 0x8000:
|
||||
max_decimal_count = 5;
|
||||
case 0x4000:
|
||||
// French/Polish decimal fraction
|
||||
while(word[n_digits] == '0')
|
||||
@@ -794,7 +798,7 @@ int Translator::TranslateNumber_1(char *word, char *ph_out, unsigned int *flags,
|
||||
decimal_count--;
|
||||
n_digits++;
|
||||
}
|
||||
if(decimal_count < 6)
|
||||
if(decimal_count <= max_decimal_count)
|
||||
{
|
||||
LookupNum3(atoi(&word[n_digits]),buf1,0,0,0);
|
||||
strcat(ph_out,buf1);
|
||||
|
||||
+10
-3
@@ -59,7 +59,7 @@ int (* uri_callback)(int, const char *, const char *) = NULL;
|
||||
int (* phoneme_callback)(const char *) = NULL;
|
||||
|
||||
FILE *f_wave = NULL;
|
||||
int quiet = 0;
|
||||
int quiet = 0;
|
||||
unsigned int samples_total = 0;
|
||||
unsigned int samples_split = 0;
|
||||
unsigned int wavefile_count = 0;
|
||||
@@ -304,6 +304,9 @@ static int WavegenFile(void)
|
||||
|
||||
finished = WavegenFill(0);
|
||||
|
||||
if(quiet)
|
||||
return(finished);
|
||||
|
||||
if(f_wave == NULL)
|
||||
{
|
||||
sprintf(fname,"%s_%.2d%s",wavefile,++wavefile_count,filetype);
|
||||
@@ -794,15 +797,19 @@ int main (int argc, char **argv)
|
||||
InitText(0);
|
||||
SpeakNextClause(f_text,p_text,0);
|
||||
|
||||
ix = 1;
|
||||
for(;;)
|
||||
{
|
||||
if(WavegenFile() != 0)
|
||||
{
|
||||
break; // finished, wavegen command queue is empty
|
||||
if(ix == 0)
|
||||
break; // finished, wavegen command queue is empty
|
||||
}
|
||||
|
||||
if(Generate(phoneme_list,&n_phoneme_list,1)==0)
|
||||
SpeakNextClause(NULL,NULL,1);
|
||||
{
|
||||
ix = SpeakNextClause(NULL,NULL,1);
|
||||
}
|
||||
}
|
||||
|
||||
CloseWaveFile();
|
||||
|
||||
+1
-1
@@ -35,7 +35,7 @@
|
||||
#include "translate.h"
|
||||
#include "wave.h"
|
||||
|
||||
const char *version_string = "1.31.12 16.Feb.08";
|
||||
const char *version_string = "1.31.13 21.Feb.08";
|
||||
const int version_phdata = 0x013105;
|
||||
|
||||
int option_device_number = -1;
|
||||
|
||||
@@ -100,6 +100,12 @@ void SynthesizeInit()
|
||||
// next_pause.ph = phoneme_tab[phonPAUSE]; // this must be done after voice selection
|
||||
next_pause.type = phPAUSE;
|
||||
next_pause.newword = 0;
|
||||
|
||||
if(!iswalpha(0x010d))
|
||||
{
|
||||
// check that c-caron is recognized as an alphabetic character
|
||||
fprintf(stderr,"iswalpha() Accented letters are not recognized\n");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -277,7 +277,7 @@ Translator *SelectTranslator(const char *name)
|
||||
tr->langopts.stress_flags = 0x0024; // don't use secondary stress
|
||||
tr->langopts.param[LOPT_IT_LENGTHEN] = 1; // remove lengthen indicator from unstressed syllables
|
||||
|
||||
tr->langopts.numbers = 0x1509 + 0x4000 + NUM_NOPAUSE | NUM_ROMAN;
|
||||
tr->langopts.numbers = 0x1509 + 0x8000 + NUM_NOPAUSE | NUM_ROMAN;
|
||||
SetLetterVowel(tr,'y');
|
||||
}
|
||||
break;
|
||||
@@ -642,7 +642,7 @@ SetLengthMods(tr,3); // all equal
|
||||
}
|
||||
break;
|
||||
|
||||
case L('t','a'):
|
||||
case L('t','a'): // Tamil
|
||||
{
|
||||
static const short stress_lengths_ta[8] = {190, 190, 200, 200, 0, 0, 220, 220};
|
||||
static const unsigned char stress_amps_ta[8] = {18,18, 18,18, 20,20, 22,22 };
|
||||
@@ -693,7 +693,7 @@ SetLengthMods(tr,3); // all equal
|
||||
|
||||
tr->langopts.stress_rule = 7; // stress on the last syllable, before any explicitly unstressed syllable
|
||||
|
||||
tr->langopts.numbers = 0x1d09;
|
||||
tr->langopts.numbers = 0x1d09 + 0x4000;
|
||||
tr->langopts.max_initial_consonants = 2;
|
||||
}
|
||||
break;
|
||||
@@ -734,7 +734,7 @@ SetLengthMods(tr,3); // all equal
|
||||
case L('z','h'):
|
||||
case L_zhy:
|
||||
{
|
||||
static const short stress_lengths_zh[8] = {230,150, 230,230, 230,0, 240,290};
|
||||
static const short stress_lengths_zh[8] = {230,150, 230,230, 230,0, 240,250}; // 1=tone5. end-of-sentence, 6=tone 1&4, 7=tone 2&3
|
||||
static const unsigned char stress_amps_zh[] = {22,16, 22,22, 22,22, 22,22 };
|
||||
|
||||
tr = new Translator;
|
||||
|
||||
+2
-2
@@ -363,7 +363,7 @@ int IsAlpha(unsigned int c)
|
||||
return(1); // Devanagari vowel signs and other signs
|
||||
|
||||
if((c >= 0xb81) && (c <= 0xbe5))
|
||||
return(1); // Devanagari vowel signs and other signs
|
||||
return(1); // Tamil vowel signs and other signs
|
||||
|
||||
if((c >= 0x300) && (c <= 0x36f))
|
||||
return(1); // combining accents
|
||||
@@ -2049,7 +2049,7 @@ if((c == '/') && (langopts.testing & 2) && IsDigit09(next_in) && IsAlpha(prev_ou
|
||||
else
|
||||
if(IsAlpha(c))
|
||||
{
|
||||
if(!IsAlpha(prev_out) || (langopts.ideographs && ((c >= 0x3000) || (prev_out >= 0x3000))))
|
||||
if(!IsAlpha(prev_out) || (langopts.ideographs && ((c > 0x3040) || (prev_out > 0x3040))))
|
||||
{
|
||||
if(wcschr(punct_within_word,prev_out) == 0)
|
||||
letter_count = 0; // don't reset count for an apostrophy within a word
|
||||
|
||||
+1
-1
@@ -428,7 +428,7 @@ private:
|
||||
const char *LookupDict2(const char *word, const char *word2, char *phonetic, unsigned int *flags, int end_flags, WORD_TAB *wtab);
|
||||
const char *LookupSpecial(const char *string);
|
||||
const char *LookupCharName(int c);
|
||||
void LookupLetter(int letter, int next_byte, char *ph_buf);
|
||||
void LookupLetter(unsigned int letter, int next_byte, char *ph_buf);
|
||||
int LookupNum2(int value, int control, char *ph_out);
|
||||
int LookupNum3(int value, char *ph_out, int suppress_null, int thousandplex, int prev_thousands);
|
||||
int LookupThousands(int value, int thousandplex, char *ph_out);
|
||||
|
||||
Reference in New Issue
Block a user