[1.27] Only keep one primary stress when adding prefixes.

Add stress_rule=4, altepenultimate stress.
Change license to GPL version 3.


git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@56 d46cf337-b52f-0410-862d-fd96e6ae7743
This commit is contained in:
jonsd
2007-06-30 12:31:21 +00:00
parent 8ad5946b29
commit 05aeea7858
100 changed files with 2330 additions and 1680 deletions
+34 -13
View File
@@ -75,7 +75,7 @@ _8X 'tax2tIx2
_9X 'ne@x2@ntIx2
_0C 'hOn@rt
_0M1 'd'Yys@nt
_0M2 'mIljun
_0M2 mIlj'un
_0M3 mIlj'art
_0and _!En
_dpt 'pWnt
@@ -91,6 +91,7 @@ brittanje $2
ceylon s@lOn
china S'ina
engeland 'EN@lant
jerusalem j@r'ysalEm
kanada kanad%a
kongo kONgu
mesopotamië mEsuput'A:mi@
@@ -107,6 +108,7 @@ worcester v'ust@r
// People names
Abiméleg abin'e@lEx2
allah %alA:
André 'andreI
annette an'Et
aucamp @Ukamp
@@ -117,6 +119,7 @@ bothma bOtma
breytenbach breIt@nbax2
carl kA:r@L
charles _^_EN
charlie tSA:li
chopin S%OpA~
chris krIs
christo krIstu
@@ -131,6 +134,7 @@ esegiël is'e@x2i_@l
estelle %ist&l
eugene judZ'i:n
eugène yZ'En
farao fA:ro@
ferreira f@r&:r@
fourie fur'i
francois franSwa
@@ -148,6 +152,9 @@ jean ZA~n
jesus ji:sWs
joey dZ@Ui
john _^_EN
jordaan $2
josef jo@s@f
langenhoven laN@nho@f@n
lategan lA:t@x2an
le l@
leandra li'andra
@@ -159,9 +166,11 @@ louise luw'i:z
louw l'@U
maria mar'ia
martin m'A:rt@n
michelle miS'&l
michiel $2
mostert m'Ost@rt
mozart mo@tsart
naomi na_'o@mi
natasha n%at'aSa
paul p@Ul
paulus p@UlWs
@@ -170,6 +179,7 @@ pierre p'e@r
petrus pe@trWs
phoebe fi:bi
preez pr'e@
rachmaninoff rax2m'aninOf
rebekka r@bEka
ronel run'&l
rousseau r@s@U
@@ -212,10 +222,9 @@ sal $u
sou $u
kan $u $strend
kon $u $strend
wil $u $strend
wil $u $strend $only
word $u
gaan $u $only
kry $u
// conjunctions and questions
@@ -238,6 +247,7 @@ desondanks dEs?OndaNks $pause
ondanks 'OndaNks $pause
verder f'&rd@r $pause
nogtans $pause
inteendeel $2 $pause
intussen $pause
omdat $pause
sodat $pause
@@ -342,15 +352,17 @@ bv beIf'o@rbe@lt
aanbid $2
aanstaande $2
agenda ax2'Enda
adagio ad'A:dZi;%@U
algaande $2
algehele alx2@h,e@l@
alles al@s
alreeds $2
alternatiewe $4
amen A:mEn
anatomie $4
asof asOf
asook aso@k
asook %as_o@k
aspris $2
asseblief as@bl'if
babelaas bab@lA:s
bedjie bE:ici
@@ -361,7 +373,6 @@ bene be@n@
beswil bEsv@l
bêre b&:r@
beskryf b@skr'eIf
beste bEst@
bestes bEst@s
betekenis b@te@k@n@s
bewe be@v@
@@ -369,6 +380,8 @@ bewend be@v@nt
bewering b@ve@rIN
bostaande b'o@stA:nd@
cabernet kab@rn'eI
camembert kam@mb'&:r
dadelik dA:d@lIk
darem dar@m
derde d&:rd@
@@ -395,8 +408,11 @@ exodus Eks'o@dWs
figuur f@x2yr
finalis $3
finaliste $3
frontaal $2
frontale $2
garages g@rA:dZ@s
gawes x2A:v@s
gee x2e@
geen x2e@n
gegewens x2@x2e@v@ns
@@ -406,6 +422,7 @@ genesis x2e@n@s@s
//gesamentlik x2@sA:m@ntl@k
gooi x2OI
gomorra x2@mOra
graffiti graf'iti
hallo h'Il,@U
hanteer $2
@@ -416,9 +433,10 @@ hek h&k
hekke h&k@
helaas he@l'A:s
here he@r@
hiernamaals hi:rn'A:mA:ls
hoewel huv'&l
hokaai hOkAI
hoofsaaklik $2
hotel hut'&l
idee $2
ietwat itvat
@@ -429,17 +447,15 @@ inkluis $2
intens @nt'Ens
intensiteit $4
joernalis $3
jawoord jA:vo@rt
kafee kaf'e@
kantoor $2
kapitaal kapit'A:l
komaan kOmA:n
komberse kOmb'&rs@
kombers kOmb'&rs
kopiereg kup'ir&x2
krediet kr@dit
kritiek krIt'ik
kultuur $2
kunsmatige kWnsm'A:t@x2@
@@ -450,9 +466,11 @@ lekker l&k@r
lekkerder l&k@rd@r
lekkerste l&k@rst@
macaroni makar'o@ni
madame mad'A:m
makabere m%ak'A:b@r@
matige mA:t@x2@
meegee me@x2e@
merlot m&rl'o@
militêre mIl@t'&:r@
minister m@nIst@r
minute m@nyt@
@@ -465,6 +483,7 @@ motor mo@t@r
motortjie mo@t@rki
nadele nA:de@l@
namens nA:m@ns
nature nat'yr@
nalatigheid nA:l'A:t@x2eIt
namate $2
@@ -474,11 +493,11 @@ netjiese nEicis@
netsowel nEtso@v&l
nietemin n'it@m@n
nobelprys $2
nogal nOx2al
normale nOrm'A:l@
november $2
numeri nWm@ri
oeuvre W:vr@
omtrent Omtr'Ent
onbegrip $1
onderweg $3
@@ -493,7 +512,6 @@ ongewens $1
ongewensde $3
ongewoons $1
onkunde $1
onlangs $1
onmag $1
onmin $1
onraad $1
@@ -509,6 +527,7 @@ patriotisme patri|ut'Ism@
penorent pEno@rEnt
per pIr
persent p@rsEnt
prakseer $2
program prux2r'am
reeds re@ts
@@ -583,6 +602,8 @@ vrek fr&k
waarskynlik $2
waarskynlike $2
wangedrag vanx2@drax2
weergalm $2
weerklink $2
weg v&x2
weggewens v&x2@v'E:ns
+746 -480
View File
File diff suppressed because it is too large Load Diff
+18 -6
View File
@@ -168,9 +168,9 @@ gegen ge:g@n $u+ $pause
gegend ge:g@nt
hin hIn
in In $u+ $brk
(in die) %Ind%i:
(in den) %Ind%e:n
(in der) %Ind%E*
//(in die) %Ind%i:
//(in den) %Ind%e:n
//(in der) %Ind%E*
im Im $u+ $brk
ins Ins $u+ $brk
mit mIt $u+ $pause
@@ -178,7 +178,7 @@ nach nax $u+ $brk
ob ,Ob $pause $strend $only
pro ,p@-*o: $pause
von fOn $u+ $brk
(von dem) %fOn%de:m $brk
//(von dem) %fOn%de:m $brk
vom fOm $u+ $brk
vor ,fO* $strend
zu tsu: $u+ $brk
@@ -187,8 +187,8 @@ zur tsu:* $u+ $pause
über ,yb3 $pause $strend
unter ,Unt3 $pause $strend
um Um $u+ $brk
(um die) %Umd%i: $brk
(um den) %Umd%e:m $brk
//(um die) %Umd%i: $brk
//(um den) %Umd%e:m $brk
während $pause
// misc
@@ -514,6 +514,7 @@ furie $alt
geben ge:b@n
gebt ge:bt
gegenüber ge:g@n'y:b3
geglichen g@glIC@n
gemein g@maIn
genial ge:nI'al
geranie ge:*'A:nI@
@@ -525,6 +526,8 @@ glorie $alt
grazie $alt
handy handI
häuschen hOYsC@n
hausier haUz'i:*
heimat haImat
herberg hE*bE*g
historie $alt
@@ -547,6 +550,7 @@ inkaisch INkA:IS
inkonstant $1
insbesondere $3
interess Int@*'Es
intern Int'E*n
januar janu:A:*
@@ -609,6 +613,8 @@ rupie $alt
sabbat zabat
sagt zA:gt
salopp $2
schult Su:lt
selbst zElpst
serie se:*I;@
service sE*vIs
@@ -622,14 +628,20 @@ stalagmit stalagm'It
system z%IstEm
tag tA:g
telegen te:le:g'e:n
the D@ // English
theater te:'A:t3
train t@-*e:n
turin $2
tuerei tu:*aI
umweg $1
unten Unt@n
wasserung vas@*UN // because -ung isn't marked as a suffix
weiterung vaIt@*UN
weither vaIth'E*
weitum vaIt_|'Um
woher vo:h'e:r
verein fE*'aIn
+60 -15
View File
@@ -1,3 +1,24 @@
// ***************************************************************************
// * Copyright (C) 2006 to 2007 by Jonathan Duddington *
// * email: jonsd@users.sourceforge.net *
// * *
// * This program is free software; you can redistribute it and/or modify *
// * it under the terms of the GNU General Public License as published by *
// * the Free Software Foundation; either version 3 of the License, or *
// * (at your option) any later version. *
// * *
// * This program is distributed in the hope that it will be useful, *
// * but WITHOUT ANY WARRANTY; without even the implied warranty of *
// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
// * GNU General Public License for more details. *
// * *
// * You should have received a copy of the GNU General Public License *
// * along with this program; if not, write see: *
// * <http://www.gnu.org/licenses/>. *
// ***************************************************************************/
// This file is UTF-8 encoded
.group a
@@ -74,6 +95,7 @@
a (isier a
_) achs (@P4 'aks
_) achs (el 'aks
j) ag (d A:k
_) air _^_EN
ai (sch A:I
tr) ain En
@@ -307,10 +329,7 @@
&) erin (_ @*In
&) erisch (_ @*IS
@) es (_S2 @s
&) et (_ @t
ig) et (_S2 @t
&t) et (_S2 @t
ier) et (_S2 @t
&) et (_S2 @t
&) est (_S3 @st
&) este (_S4 @st@
&) estem (_S5 @st@m
@@ -328,12 +347,14 @@
&) erung (_ =@*UN
_) e (ff %E
l) e (g_ 'e:
_) eil (aP3 'aIl
_) eil (fP3 'aIl
_) ein (@P3 _!'aIn
ein (and _|%aIn
_) eine (r@ aIn@
_) einig aInIg
_) eisen (@P5 'aIz@n
_) e (lek %e:
_) elektro (@P7 e:l'Ekt@-*o:
_) elen e:lEn
@@ -370,6 +391,7 @@
_) entert _^_EN
er (dig e:*
_) erob (er %E*o:b
@) esen (_ e:z@n
@) ett (_ 'Et
@) eur (_ 'Y:*
euse (_ 'Y:z@
@@ -470,8 +492,10 @@
_) hinter (@P6 h,Int3
_) haupt (@@P5 h'aUpt
_) haus (@P4 h'aUs
// @) heit (_S4 haIt
_) hero h%e:*o:
_) herz (er@P4 h'E*ts
_) high _^_EN
_) hinter (@ h,Int3
_) hoch (@P4 h'o:x
@@ -563,6 +587,7 @@
&) ie (r_ 'i:
u) ie (r_ _|'i:
&) ie (rlich 'i:
d) ienst i:nst
r) ien (@ IEn
&) ien (_ =I@n
&b) ien (_ =i:@n
@@ -787,7 +812,8 @@
_) s (_ Es
s s
s (A z
s (_$1 s
s (_NS1 s
s (_ z // suffix has been removed
A) s (_N s
A) s (_ z
ss s
@@ -821,6 +847,9 @@
_) safe _^_EN
&) schaft (_S6 Saft
schein (lich S'aIn
_) schul (@P5 S'u:l
_) schul (d S'Ul
schwer Sve:*
_) sechs (P5 z'Eks
_) selbst (@@P6 z'Elpst
@@ -872,15 +901,19 @@
ier) testes (_S6 t@st@s
tch tS
t (chen_ t
_) teen _^_EN
_) tele (@ t,e:le:
thrill _^_EN
_pa) th t
the (era te:
_) tief (@P4 t'i:f
@) tient (_ tsI'Ent
@) tion tsI,o:n
@) tion (_ tsI'o:n
_) trail _^_EN
_) tranqu _^_EN
traver t@-*%avE*
_) tw _^_EN
.group u
@@ -900,21 +933,26 @@
ub (t_ u:p
ug (t_ u:k
_) um (@P2 Um
_) umbe (@P4 'Umb@
_) umge (@P4 'Umg@
_) um (orgP2 'Um
_) um (stAP2 'Um
@) u (m_ U
rt) u (m_ u:
_) un Un
_) un (@P2 _|'Un
_) unab (@P4 _|,Un_|'ap
_) unan (@P4 _|,Un_|'an
_) unauf (@P5 _|,Un_|'aUf
_) unaus (@P5 _|,Un_|'aUs
_) unab (@P4 _|'Un_|ap
_) unan (@P4 _|'Un_|an
_) unauf (@P5 _|'Un_|aUf
_) unaus (@P5 _|'Un_|aUs
_) unbe (@P4 _|'Unb@
_) unein (@P5 _|,Un_|'aIn
_) unein (@P5 _|'Un_|aIn
_) unge (@P4 _|'Ung@
_) unver (@P5 _|'UnfE*
_) un (i u:n
_) un (in@P2 _|'Un
_) unum (@P4 _|,Un_|'Um
_) unum (@P4 _|'Un_|Um
_) under _^_EN
_) unter (@P5 _|,Unt3
@@ -933,7 +971,7 @@
us (_ Us
_d) u (sch u:
_) user _^_EN
ol) u (t_ u:
Al) u (t_ u:
_) ueber (@P5 _|,y:b3
@@ -944,7 +982,6 @@
v) v
v (_N f
_) v f
_) vie fi:
_) vi (CC vI
_) vi vi:
@@ -954,13 +991,15 @@
_) v (ie f
_) v (iet v
_) v (iz f
_) v (oll f
_) v (olk f
v (oll f
v (olk f
v (ölC f
_) v (on f
_) vehe ve:he:
_) ver (@P3 f%E*
_) ver (bal v%E*
_) ver (tik vE*
@) versich fE*z,IC
@) vergess fE*g,Es
_) viel (@P4 f'i:l
@@ -990,6 +1029,10 @@
_) wh _^_EN
&) ware (_ _^_EN
_) wasch (@P5 v'aS
_) wasser (@P6 v'as@*
_) weg (C@P3 v'e:k
_) weit (C@P4 v'aIt
_) weiter (@P6 v'aIt@*
_) wo (hin v%o:
_) wohl (@P4 v'o:l
work _^_EN
@@ -1069,6 +1112,8 @@
üg (t_ y:k
_) über (@P4 _|,y:b3
_) über (be@P4 _!'y:b3
_) über (gangs y:b3
.group ß
_) ß (_ EstsEt
+14 -14
View File
@@ -11,8 +11,8 @@ Yy
- : ; b c d dZ f
g h j k l m n N
p r s S t tS v w
x x2 z Z
p r r- s S t tS v
w x2 z Z
Dictionary cs_dict
@@ -117,12 +117,12 @@ Dictionary fr_dict
@ @- a A A~ e E E~
i o O O~ u W w^i W~
y Y y"
y Y
(i) : ; b c d dZ f
g h j k l L l/ m
n N n^ p r R s S
t t2 tS v w z Z z2
: ; b c d dZ f g
h j k l L m n N
n^ p R s S t t2 tS
v w z Z z2
Dictionary hi_dict
@@ -168,10 +168,10 @@ Dictionary it_dict
@- a a/ aI aU e E i
o O oI u
* : b d dZ f g j
k l l^ m n N n^ p
r R s S t tS ts v
w w2 z
* : b d dZ f g h
j k l l^ m n N n^
p r R s S t tS ts
v w w2 z
Dictionary nl_dict
@@ -330,9 +330,9 @@ Dictionary la_dict
I i: O o: OI U u: y
y:
* : <h> b d f g h
j k l m n N p r
R s t w z
* : ; <h> b d f g
h j k l m n N p
r R s t w z
Dictionary sr_dict
+1
View File
@@ -183,6 +183,7 @@ ui $abbrev
uk $abbrev
url $abbrev
usa $abbrev
utc $abbrev
u.s ju:'Es
wwii dVb@Lju:dVb@Lju:t'u:
xy $abbrev
+5 -6
View File
@@ -1,11 +1,11 @@
// ***************************************************************************
// * Copyright (C) 2005,2006 by Jonathan Duddington *
// * jonsd@users.sourceforge.net *
// * Copyright (C) 2005 to 2007 by Jonathan Duddington *
// * email: jonsd@users.sourceforge.net *
// * *
// * This program is free software; you can redistribute it and/or modify *
// * it under the terms of the GNU General Public License as published by *
// * the Free Software Foundation; either version 2 of the License, or *
// * the Free Software Foundation; either version 3 of the License, or *
// * (at your option) any later version. *
// * *
// * This program is distributed in the hope that it will be useful, *
@@ -14,9 +14,8 @@
// * GNU General Public License for more details. *
// * *
// * You should have received a copy of the GNU General Public License *
// * along with this program; if not, write to the *
// * Free Software Foundation, Inc., *
// * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
// * along with this program; if not, write see: *
// * <http://www.gnu.org/licenses/>. *
// ***************************************************************************/
// This file is UTF-8 encoded
+39 -33
View File
@@ -33,22 +33,38 @@ _y i:gR'Ek
// character names
! Eksklamassj'O~
$ dOlaR
@ aRobas
% puRsA~
& _e
+ plys
~ tild'e
€ @R'o
¢ sEnt
¥ i;'En
£ l'ivR
° d@gR'e
± pl'yz_'u_mw'E~
× myltip@-lj'e_p'aR
÷ diviz'e_p'aR
¼ W~_k'aR
½ W~_d@m'i
¾ tRw'a k'aR
© _^_EN
® R@ZistR'@d_m'aRk
//_cap k,ap@-t@L
_?A lEt@
_?? sE~b'OL
! Eksklamassj'O~
_" gijm'E
_# dj'Ez
_$ dOl'aR
_% puRs'A~
_& e
_' apOstR'Of
_( 'uvR@-paRA~t'Ez
_) f'ERm paRA~t'Ez
_* astERisk:
_+ plys
_, viRg'yl
_- tiR'E
_. pw'E~
@@ -59,7 +75,6 @@ _< E~feRj'WR
_= eg'al
_> sypeRj'WR
_? kEstj'O~
_@ at
_[ uvR@-_kRoS'E
_\ b'aksl'aS
_] f'ERm_kRoS'E
@@ -69,19 +84,6 @@ _` aks'A~_gR'av
_{ uvR_akOl'ad
_| b'aR
_} f'ERm_akOl'ad
_~ tild'e
_¢ sEnt
_¥ i;'En
_£ l'ivR
_° d@gR'e
_± pl'yz_'u_mw'E~
_× myltip@-lj'e_p'aR
_÷ diviz'e_p'aR
_¼ W~_k'aR
_½ W~_d@m'i
_¾ tRw'a k'aR
_© _^_k'0pIR,aIt_^_
_® R@ZistR'@d_m'aRk
@@ -323,6 +325,9 @@ d'est d'Est
sommes $u+
êtes $u+
sont $u+
eu y
eue y
eues y
étais $u+
était $u+
@@ -361,11 +366,11 @@ président pRezid'A~
président pRezidt2 $verb
résident Rezid'A~
résident Rezidt2 $verb
évident evid'A~
évident evidt2 $verb
couvent k'uvt2 $verb
concurrent kO~kyR'A~
récurrent rekyR'A~
évident evid'A~
évident evidt2 $verb
couvent k'uvt2 $verb
concurrent kO~kyR'A~
récurrent RekyR'A~
// MAIN WORD DICTIONARY
@@ -394,17 +399,16 @@ echo Eko
fils fis
mars maRs
pays pEi
pourcent puRs'A~
absent abs'A~
ardent ard'A~
ardent aRd'A~
prudent pRyd'A~
imprudent E~pRyd'A~
discident disid'A~
accident aksid'A~
occident Oksid'A~
l'occident lOksid'A~
orient Orj'A~
l'orient lOrj'A~
orient ORj'A~
l'orient lORj'A~
secret sYkR'E
secrets sYkR'E
@@ -421,12 +425,13 @@ l'y li
(nord est) nOREst
écho Eko
l'écho leko
open OpEn
cci $abbrev
espeak ispik
nvda $abbrev
open Op'@n
outlook autluk
reader Rid'WR
potentiomètre pOtA~sjOmEtR
reader Rid'WR
processus pROsEsys
@@ -517,7 +522,7 @@ emacs Emaks
emacspeak Emakspik
espeak @spik
firefox faj@RfOks
thunderbird f@ndErb@Rd
thunderbird f@ndERb@Rd
girl g@Rl
gnome gnom
gnu gnu
@@ -525,7 +530,7 @@ insight insajt
liszt list
(mac os x) makoEsiks
night najt
redhat rEdat
redhat REdat
schubert SubER
sun s@n
sunlight s@nlajt
@@ -533,7 +538,7 @@ ubuntu ubuntu
viavoice viavOjs
windows windoz
word wORd
wright wrajt
wright _^_EN
yacht jot
@@ -600,5 +605,6 @@ votions vOtjO~z2 $u
// no liaison
(quelqu'un) kElkW~
pourcent puRs'A~
vincent vE~sA~
-2
View File
@@ -770,6 +770,4 @@
// symbols that are normally spoken when reading text
@ arobas
$ dOlar
, (D pilk:u
+22 -12
View File
@@ -1,3 +1,9 @@
// Translations for Hungarian words
// This file is UTF-8 encoded.
// Conditional rules:
// ?1 speak "i" as Roman number
// Numbers
@@ -57,6 +63,7 @@ u.n u:JnEvEzEt: $dot
ú.n u:JnEvEzEt: $dot
vö v'EZd||_'Yss2E
?1 i EJ $abbrev
ii kEttY: $abbrev
iii ha:R2om $abbrev
iv ne:J $abbrev
@@ -87,7 +94,7 @@ xxx hARmints $abbrev
// Articles
a $u
a $u // the
az $u
aki $u+ // that
@@ -118,6 +125,7 @@ bár $pause // although
habár $pause // although
ha $u $pause // if
noha $u $pause // even thought
// Prepositions etc.
@@ -132,29 +140,29 @@ ne $u+
néhány $u+
is $u // also
elöl $u
elöl $u // in front of
elől $u
elé $u
előtt $u
mögül $u
mögül $u // behind
mögött $u
mögé $u
kívül $u
után $u
után $u // after
alól $u
alá $u
alatt $u
alatt $u // below
felől $u
felől $u // above
felé $u
fölé $u
felett $u
felett $u // above
fölött $u
mellől $u
mellől $u // besides
mellé $u
mellett $u
@@ -166,7 +174,7 @@ ba $u // into
be $u
ra $u // onto
re $u
ik $u
ik $u // -th
as $u
es $u
os $u
@@ -174,7 +182,7 @@ os $u
ös $u
ból $u // from inside
ből $u
ról $u
ról $u // from top of, about
ről $u
án $u
én $u
@@ -197,7 +205,7 @@ miatt $u $pause // because
ban $u // in
ben $u
hoz $u
hoz $u // to
hez $u
höz $u
ig $u // up to
@@ -316,7 +324,9 @@ _. pont
@ kukAts
€ EuR2o
+ plus
§ pR2AR2AgR2AfuS
§ pAR2AgR2AfuS
Ft foR2int
$ dolla:R2
+9 -31
View File
@@ -16,6 +16,7 @@
biz (A b'iz, // bizalmas etc.
biedermeier bi:dER2ma:jER2
.group c
c ts
cc ts:
@@ -75,7 +76,7 @@ hierar) ch (i C
C) dj J
A) dj (A J:
ren) d (szerint d
ren) d (szer d
.group e
@@ -103,10 +104,6 @@ hierar) ch (i C
A) gys (A tS:
gysz Js
A) gysz (A Js:
gyz dz
A) gyz (A d:z
C) gyzs dZ
A) gyzs (A dZ:
C) gyj J
A) gyj (A J:
@@ -116,12 +113,11 @@ hierar) ch (i C
_e) gy (üt J:
_minde) gy (ik J:
na) gysz (abású Js
na) gysz (a Js
.group h
h h
h (_
.group i
i i
@@ -131,7 +127,6 @@ _minde) gy (ik J:
.group j
j j
C) j (K C
.group k
k k
@@ -142,7 +137,6 @@ _minde) gy (ik J:
l l
ly j
lly jj
lj lj
C) ly (_ li
_kéth) ly li
@@ -162,14 +156,10 @@ szamue) ly lli
n n
n (g N
n (k N
n (p m
n (b m
ny n^
nny n^n^
nj n^
ny (k N
ny (g N
_) nem (- n,Em // has $alt2 attribute in hu_list, combine with the next word
@@ -192,6 +182,7 @@ szamue) ly lli
.group p
p p
pp p:
p (v p_
.group q
q kv
@@ -219,6 +210,8 @@ _munká) s S
sz (öld Sz
va) s (zabl S||
_) semmelweiss sEmmElvEjs
_) semmelweis sEmmElvEjs
_) semmelweiß sEmmElvEjs
engel) s s
mu) ss (olini ss2
_) saar sa:R2
@@ -232,26 +225,10 @@ _munká) s S
t t
tt t:
ty c
s) ty c: //
z) ty c: // keztyű
// s) ty c: //
// z) ty c: // keztyű
tty c:
ts tS
A) ts (A tS:
tys tS
A) tys (A tS:
tsz ts
A) tsz (A ts:
tysz ts
A) tysz (A ts:
tz dz
A) tz (A t:z
tyz dz
A) tyz (A t:z
C) tzs dZ
A) tzs (A dZ:
C) tyzs dZ
A) tyzs (A dZ:
C) tj c
A) tj (A c:
C) tyj c
@@ -275,6 +252,7 @@ vörösmar) ty ti
.group v
v v
_) versailles vER2sa:j
.group w
w v
+63 -46
View File
@@ -3,7 +3,7 @@
.group a
_) a(_ a:
_) a(_ a
a a:
a (CK a
ai aI (K
@@ -11,25 +11,29 @@
&) a (_S1q a // lookup it_list without suffix
@) a (ce_ =a
@) a (ci_ =a
a (ista_ a
@) a (cA_ =a
@) a (che_ =a
a (istA_ a
a (ismo_ a
@) a (bile_ 'a
@) a (ggine_ 'a
_) ae (ro aI
@) avano (_S5 'avano
a (tterA_ 'a
.group b
_) b(_ bi:
_) b(_ bi
b b
bb b:
li) be =be
.group c
_) c(_ tSi:
_) c(_ tSi
c k
cc k:
c (' tS
c (e tS
c (é tS
c (è tS
@@ -54,26 +58,29 @@
cci (ò tS:
cci (u tS:
cci (ù tS:
@) co (lA_ =ko
.group d
_) d(_ di:
_) d(_ di
d d
dd d:
n) dere =deRe
.group e
_) e(_ e:
_) e(_ e
e e:
e (CK e
ei ej (K
&) e (_S1q e // lookup it_list without suffix
@) e (ce_ =e
// @) e (ce_ =e
@) e (ci_ =e
C) e (re_ =e
@) e (nte_ E
@m) e (nte_ e
@) e (nza_ E
@) e (vole_ 'e
@) e (volA_ 'e
@) e (rrimo_ 'E
@) e (simo_ 'e
@@ -81,15 +88,16 @@
.group f
_) f(_ Effe
_) f(_ effe
f f
@A) f (ico_ =f
@A) f (ichA_ =f
@A) f (ilo_ =f
@A) f (ero_ =f
.group g
_) g(_ dZi:
_) g(_ dZi
g g
gg g:
gh g
@@ -98,12 +106,12 @@
g (è dZ
g (i dZ
g (ì dZ
gi (a dZ
gi (à dZ
gi (o dZ
gi (ò dZ
gi (u dZ
gi (ù dZ
gi (a dZj
gi (à dZj
gi (o dZj
gi (ò dZj
gi (u dZj
gi (ù dZj
gg (e dZ:
gg (é dZ:
gg (è dZ:
@@ -115,6 +123,7 @@
ggi (ò dZ:
ggi (u dZ:
ggi (ù dZ:
@) gger (lo_ =dZ:eR
gl (i l^
gl (ì l^
gli (A l^
@@ -123,14 +132,16 @@
gu (A gw
@) g (ero_ =g
@) gno (lA_ n^'o
.group h
_) h(_ ak:a
h
ha h'a
.group i
_) i(_ i:
_) i(_ i
i i:
i (CK i
i (A j
@@ -147,19 +158,20 @@
&) i (_S1q i // lookup it_list without suffix
@) i (ce_ =i
@) i (co_ =i
@) i (ci_ =i
@) i (de_ =i
@) i (do_ =i
@) i (dA_ =i
@) i (dere_ 'i
@) i (le_ =i
@) i (li_ =i
@) iera (_ i'E:ra
@) iere (_ i'E:re
@) iera (_ i'E:Ra
@) iere (_ i'E:Re
@) i (ente_ i
@) i (ante_ i
@) i (bile_ 'i
@) issimo(_S6 'issimo
@) issero(_S6 'issero
@) i (sti 'i
.group j
@@ -180,6 +192,8 @@
.group m
_) m(_ Emme
m m
A) mi (a m'i:
@) mi (co_ m'i:
.group n
_) n(_ Enne
@@ -192,7 +206,7 @@
n (k N
.group o
_) o(_ O:
_) o(_ o
o o:
o (CK o
oi oI (K
@@ -207,32 +221,36 @@
@) o (fono_ 'O
@) o (metro_ 'O
@) o (logo_ 'O
o (str 'O
@) o (lo_ =o
.group p
_) p(_ pi:
_) p(_ pi
p p
pp p:
_) pn (@@ n
_) ps (A@ s
@m) p (ere_ =p
.group q
_) q(_ ku:
_) q(_ ku
q kw2
qu kw2
.group r
_) r(_ ER*e
C) r @-*
r R
_) r R
r @-*
_) r @-*
rr R*
A) r (A R
.group s
_) s(_ Esse
s z
_) s(_ esse
s s
_) s s
A) s (A z
l) s s
p) s s
@@ -250,11 +268,11 @@
sc (è S
sc (i S
sc (ì S
A) sc (e SS
A) sc (é SS
A) sc (è SS
A) sc (i SS
A) sc (ì SS
// A) sc (e SS
// A) sc (é SS
// A) sc (è SS
// A) sc (i SS
// A) sc (ì SS
sch (e sk
sch (é sk
sch (è sk
@@ -262,15 +280,15 @@
sch (ì sk
sh (K S // foreign words
K) sh S // foreign words
@) sia s'ia
.group t
_) t(_ ti:
_) t(_ ti
t t
tt t:
.group u
_) u(_ u:
_) u(_ u
u u:
u (CK u
u (A w2
@@ -281,7 +299,7 @@
@) u (colo_ 'u
.group v
_) v(_ vu:
_) v(_ vu
v v
.group w
@@ -299,9 +317,8 @@
.group z
_) z(_ ze:ta
_) z(_ dze:ta
z ts
A) z ts:
A) zz ts:
_) z (i dz
@@ -332,14 +349,14 @@
+ pju
. punto
, (D v'irgola
: d,uep'unte
: d,uep'unti
; p'untoev'irgola
! _p'untoesklamat'ivo_
!) !
? _p'untointeRogat'ivo_
?) ?
\\ bakslaS
/ slaS
\\ kont@-*ob'aR*a
/ b'aR*a
__) - (_D meno
A_) - (_D _
+296 -66
View File
@@ -1,5 +1,8 @@
// This file is UTF-8 encoded
// This file is UTF-8 encoded
// all words lower case
// Uses of $alt:
// 1. Change ['i:] to [=I@] at end of word
// Letter names
@@ -35,71 +38,176 @@ x Eks
y i: 'graIka
z 'ze:ta
// ABBREVIATIONS
//========
(a. u. c.) ab wRb,E kOnd'i:ta //ab urbe condita
(a. d.) 'antE d'I;Em //ante diem;
(D. M.) d,i:s m'a:nIbUs //Dīs Mānibus
//(D. O. M.) = Deo Optimo Maximo (op tempels);
//(D. D.) = dono of donum dedit (bij geschenken voor de goden);
//(D. D. D.) = dat, donat, dedicat of dat, dicat, dedicat (bij geschenken voor de goden);
//(E. M. V.) = egregiae memoriae vir;
//(EQ. R.) = eques Romanus.
//FF. = fecerunt;
//(F. I.) = fieri iussit;
//FL. = Flavius; Flaviā (tribu) uit de tribus Flavia;
//FR. or FRU. = frumentum, frumentarius.
//(H. C.) = Hispania citerior;
//(H. H.) = heredes;
//(H. E. T.) = heres ex testamento;
//H. S. eig. L L S (dwz. libra libra semis) of II S (dwz. duo semis), daaruit H S (21/2 as): sestertie (een munt).
ib. 'Ibi: d,Em //ibīdem
ibd. 'Ibi: d,Em //ibīdem
IDIB. 'i:dIbUs //Īdibus, from Īdūs
IDQ. i:d'EmkwE //īdemque
//I. H. F. C. = ipsius heres faciundum curavit;
//IM. = immunis ;
//IMP. = imperium, imperator.
//I M P. (afk.) = imperator or imperium.
(i. e.) ,Id Est //id est
//m.p. (Mel.) = manu propria e
//O. M. = optimus maximus
//P. C. = patres conscripti;
//P. M. = pontifex maximus;
//P. R. = populus Romanus.
//Q. B. F. F. S. // quod bonum felix faustumque sit
//Q. F. F. S. // quod felix faustumque sit
//R. P. = res publica.
//S. C. = senatūs consultum;
//S. P. Q. R. = senatus populusque Romanus.
//v. c. = vir clarissimus;
//v. f. = verba fecit.
(a. u. c.) ab||wRb,E||kOnd'i:ta //ab urbe condita
(a. d.) 'antE||d'I;Em //ante diem;
(D. M.) d,i:s||m'a:nIbUs //Dīs Mānibus
ib 'Ibi:||d,Em //ibīdem
ibd 'Ibi:||d,Em //ibīdem
Idib 'i:dIbUs //Īdibus, from Īdūs
Idq i:d'EmkwE //īdemque
(i. e.) ,Id||Est //id est
// FUNCTION WORDS
//========
et $u
// adverbs
non
// Pronouns:
// Relative pronouns. These should probably be unstressed most of the time, hence the $u markers.
// However, since some of them are identical to interrogative pronouns, which should be
// stressed, we will not 'unstress' these to be on the safe side.
quī $u
quae $u
quod $u
quae $u
// cūius $u (also an interrogative pronoun)
quōrum $u
quārum $u
// cui $u (also an interrogative pronoun)
quibus $u
// quem $u (also an interrogative pronoun)
quās $u
quam $u
quōs $u
// quō $u (also an interrogative pronoun)
// Personal pronouns.
// Note that the nominative forms are not marked as unstressed. This is because
// Latin is a pro-drop language like Italian or Polish, and therefore nominative
// personal pronouns should often be emphasised.
// ego $u (probably should be stressed as it is nominative)
// nōs $u (probably should be stressed as it is nominative)
// t? $u (probably should be stressed as it is nominative)
// vōs $u (probably should be stressed as it is nominative)
// is $u (probably should be stressed as it is nominative)
// e? $u (probably should be stressed as it is nominative)
// i? $u (probably should be stressed as it is nominative)
// ea $u (probably should be stressed as it is nominative)
// eae $u (probably should be stressed as it is nominative)
// id $u (probably should be stressed as it is nominative)
// ea $u (probably should be stressed as it is nominative)
meī $u
nostrum $u
tu? $u
vestrum $u
mihi $u
nōbīs $u
tibi $u
vōbīs $u
mē $u
// nōs (identical to nominative form)
tē $u
// vōs (identical to nominative form)
eius $u
eōrum $u
eārum $u
eō $u
eōs $u
iīs $u
eum $u
eīs $u
eam $u
eās $u
id $u
ea $u
eī $u
eā $u
// Reflexive pronouns - should these all be unstressed?
se $u
su? $u
sibi $u
// prepositions
a $u
ac $u
ad $u
ab $u
in $u
cum $u
e $u
ex $u
inter $u
ante $u
apud $u
circa $u
circum $u
contra $u
de $u
erga $u
extra $u
in $u
infra $u
inter $u
intra $u
iuxta $u
ob $u
penes $u
per $u
pone $u
post $u
prae $u
praeter $u
praeterea $u
pro $u
prope $u
propius $u
proximus $u
propter $u
secundum $u
sine $u
sub $u
subter $u
super $u
supra $u
trans $u
ultra $u
versus $u
// conjunctions
atque $pause
atqui $pause
at $pause
aut $pause
autem $pause
dum $pause
enim $pause
et $u $brk
etenim $pause
etiam $pause
ergo $pause
etsi $pause
idcirco $pause
ideo $pause
nam $pause
namque $pause
nec $pause
nisi $pause
propterea $pause
prout $pause
quamdiu $pause
quamquam $pause
quando $pause
quasi $pause
quemadmodum $pause
quoad $pause
quod $pause
// forms of esse
@@ -110,37 +218,159 @@ sumus $u
estis $u
sunt $u
eram $u
eras $u
erat $u
eramus $u
eratis $u
erām $u
erās $u
erāt $u
erāmus $u
erātis $u
erant $u
ero $u
erō $u
eris $u
erit $u
erimus $u
eritis $u
erunt $u
fui $u
fuisti $u
fuī $u
fuīstī $u
fuit $u
fuimus $u
fuistis $u
fuīstis $u
fuereunt $u
fueram $u
fueras $u
fuerās $u
fuerat $u
fueramus $u
fueratis $u
fuerant $u
fuerāmus $u
fuerātis $u
fuērunt $u
fuero $u
fueris $u
fuerō $u
fuerīs $u
fuerit $u
fuerimus $u
fueritis $u
fuerīmus $u
fuerītis $u
fuerunt $u
este $u
esto $u
estote $u
sunto $u
// numerals 1-100
i 'u:nUs $capital
ii d'UO $capital
iii t@-*,e:s
iv kw'at:UOR
v kw'i:NkwE
vi s,Eks $capital
vii s'EptEm
viii 'Okto:
ix n'OwEm
x d'EkEm
xi 'u:ndEkIm
xii dU'OdEkIm
xiii t@-*,e:d'EkIm
xiv kwat:w'ORdEkIm
xv kw,i:nd'EkIm
xvi s'EdEkIm
xvii sEpt'EndEkIm
xviii dUOdEwIg'IntI
xix u:ndEwIg'IntI
xx wi:g'Inti:
xxi wi:g'Inti:||'u:nUs
xxii wi:g'Inti:||d'UO
xxiii wi:g'Inti:||t@-*,e:s
xxiv wi:g'Inti:||kw'at:UOR
xxv wi:g'Inti:||kw'i:NkwE
xxvi wi:g'Inti:||s,Eks
xxvii wi:g'Inti:||s'EptEm
xxviii wi:g'Inti:||'Okto:
xxix wi:g'Inti:||n'OwEm
xxx t@-*i:g'Inta:
xxxi t@-*i:g'Inta:||'u:nUs
xxxii t@-*i:g'Inta:||d'UO
xxxiii t@-*i:g'Inta:||t@-*,e:s
xxxiv t@-*i:g'Inta:||kw'at:UOR
xxxv t@-*i:g'Inta:||kw'i:NkwE
xxxvi t@-*i:g'Inta:||s,Eks
xxxvii t@-*i:g'Inta:||s'EptEm
xxxviii t@-*i:g'Inta:||'Okto:
xxxix t@-*i:g'Inta:||n'OwEm
xl kwad@-*a:g'Inta:
xli kwad@-*a:g'Inta:||'u:nUs
xlii kwad@-*a:g'Inta:||d'UO
xliii kwad@-*a:g'Inta:||t@-*,e:s
xliv kwad@-*a:g'Inta:||kw'at:UOR
xlv kwad@-*a:g'Inta:||kw'i:NkwE
xlvi kwad@-*a:g'Inta:||s,Eks
xlvii kwad@-*a:g'Inta:||s'EptEm
xlviii kwad@-*a:g'Inta:||'Okto:
xlix kwad@-*a:g'Inta:||n'OwEm
l kwi:Nkwa:g'Inta:
li kwi:Nkwa:g'Inta:||'u:nUs $capital
lii kwi:Nkwa:g'Inta:||d'UO
liii kwi:Nkwa:g'Inta:||t@-*,e:s
liv kwi:Nkwa:g'Inta:||kw'at:UOR
lv kwi:Nkwa:g'Inta:||kw'i:NkwE
lvi kwi:Nkwa:g'Inta:||s,Eks
lvii kwi:Nkwa:g'Inta:||s'EptEm
lviii kwi:Nkwa:g'Inta:||'Okto:
lix kwi:Nkwa:g'Inta:||n'OwEm
lx sEksa:g'Inta:
lxi sEksa:g'Inta:||'u:nUs
lxii sEksa:g'Inta:||d'UO
lxiii sEksa:g'Inta:||t@-*,e:s
lxiv sEksa:g'Inta:||kw'at:UOR
lxv sEksa:g'Inta:||kw'i:NkwE
lxvi sEksa:g'Inta:||s,Eks
lxvii sEksa:g'Inta:||s'EptEm
lxviii sEksa:g'Inta:||'Okto:
lxix sEksa:g'Inta:||n'OwEm
lxx sEptUa:g'Inta: $capital
lxxi sEptUa:g'Inta:||'u:nUs
lxxii sEptUa:g'Inta:||d'UO
lxxiii sEptUa:g'Inta:||t@-*,e:s
lxxiv sEptUa:g'Inta:||kw'at:UOR
lxxv sEptUa:g'Inta:||kw'i:NkwE
lxxvi sEptUa:g'Inta:||s,Eks
lxxvii sEptUa:g'Inta:||s'EptEm
lxxviii sEptUa:g'Inta:||'Okto:
lxxix sEptUa:g'Inta:||n'OwEm
lxxx Okto:g'Inta:
lxxxi Okto:g'Inta:||'u:nUs
lxxxii Okto:g'Inta:||d'UO
lxxxiii Okto:g'Inta:||t@-*,e:s
lxxxiv Okto:g'Inta:||kw'at:UOR
lxxxv Okto:g'Inta:||kw'i:NkwE
lxxxvi Okto:g'Inta:||s,Eks
lxxxvii Okto:g'Inta:||s'EptEm
lxxxviii Okto:g'Inta:||'Okto:
lxxxix Okto:g'Inta:||n'OwEm
xc no:na:g'Inta:
xci no:na:g'Inta:||'u:nUs
xcii no:na:g'Inta:||d'UO
xciii no:na:g'Inta:||t@-*,e:s
xciv no:na:g'Inta:||kw'at:UOR
xcv no:na:g'Inta:||kw'i:NkwE
xcvi no:na:g'Inta:||s,Eks
xcvii no:na:g'Inta:||s'EptEm
xcviii no:na:g'Inta:||'Okto:
xcix no:na:g'Inta:||n'OwEm
c k'EntUm
// This list could be expanded further, however programming
// the pronunciation would be more efficient.
+235 -235
View File
@@ -1,235 +1,235 @@
// This file is UTF-8 encoded
// Reference:
// Allen, W. Sidney. Vox Latina — a Guide to the Pronunciation of Classical Latin.
// Cambridge University Press, Second edition, 2003. ISBN 0-521-37936-9.
// Orthographic notes:
//
// In classical latin the letters A B C D E F G H I K L M N O P Q R S T V X Y Z were
// used. I and V were used for both the vowels /i/ and /u/, and the semivowels /j/ and
// /w/. Here the distinction between U and the V for /u/ and /w/ is assumed, as is the
// case in most modern texts. Also long vowels are indicated with macrons. Diaresis is
// used to prevent a diphtong being formed. Y with macron has to be replaced by 'yy',
// since this character is incompatible with older unicode versions.
.L01 ae au eu oe a e i o u yy y ā ē ī ō ū ë ü é
.L02 ng qu pr tr cr chr br dr gr pl cl bl gl ph th ch
.group a
a a
// Weak penultimate syllable: put stress on antepenutimate
a (L01X =a
a (CL01X =a
a (L02L01X =a
a (guL01X =a
a (x+ a
// Diphtongs
ae (+++ aI
au (+++ aU
.group ā
ā a:
.group b
b b
bb b:
.group c
c k
cc k:
cch k:<h> // e.g. bracchium
ch k<h>
.group d
d d
dd d:
.group e
e E
// Weak penultimate syllable: put stress on antepenutimate
e (L01X =E
e (CL01X =E
e (L02L01X =E
e (guL01X =E
e (x+ E
// Diphtongs
eu (+++ EU
.group ē
ē e:
.group f
f f
ff f:
.group g
g g
gg g:
g (n N
ggu (A g:w // Does this ever occur?
gu (A gw //g<w>
.group h
h h
h: h:
.group i
i I
// Weak penultimate syllable: put stress on antepenutimate
i (L01X =I
i (CL01X =I
i (L02L01X =I
i (guL01X =I
i (x+ I
// Two adjacent 'i's should be separated by a glottal stop
i (iX =I?
i (i I?
// Cases in which 'i' is pronounced as the semi-vowel /j/
_) i (A j
A) i (A+ j:
// Exceptions where u is a consonant
qu) i (L01X++ =I
qu) i (A++ I
gu) i (L01X++ =I
gu) i (A++ I
_u) i (L01X++ =I
_u) i (A++ I
Au) i (L01X++ =I
Au) i (A++ I
// Exceptions to the exceptions
au) i (A+++ j:
eu) i (A+++ j:
.group ī
ī i:
.group k
k k
kk k:
.group l
l l
ll l:
.group m
m m
mm m:
.group n
n n
nn n:
n (g N
n (c N
n (k N
n (x N
n (q N
.group o
o O
// Weak penultimate syllable: put stress on antepenutimate
o (L01X =O
o (CL01X =O
o (L02L01X =O
o (guL01X =O
o (x+ O
// Diphtongs
oe (+++ OI
.group ō
ō o:
.group p
p p
pp p:
pph p:<h>
ph p<h>
.group qu
qu kw //k<w>
.group r
C) r @-*
r R
_) r R
rr R*
A) r (A R
.group s
s s
ss s:
.group t
t t
tt t:
tth t:<h> //Does this occur? It does at least across word boundaries e.g. leget Thyni
th t<h>
.group u
u U
// Weak penultimate syllable: put stress on antepenutimate
u (L01X =U
u (CL01X =U
u (L02L01X =U
u (guL01X =U
u (x+ U
// Cases in which 'u' is pronounced as the semi-vowel /w/
A) u (A++ w
_) u (A+ w
.group ū
ū u:
.group v
v w
_) v w
vv (+++ w:
.group x
x ks
.group y
y y // Kirshenbaum I.
yy y: // Should be y with macron, which is not present in older Unicode versions
.group z
z z
zz z:
A) z (A z:
.group
j j
w w
// This file is UTF-8 encoded
// Reference:
// Allen, W. Sidney. Vox Latina — a Guide to the Pronunciation of Classical Latin.
// Cambridge University Press, Second edition, 2003. ISBN 0-521-37936-9.
// Orthographic notes:
//
// In classical latin the letters A B C D E F G H I K L M N O P Q R S T V X Y Z were
// used. I and V were used for both the vowels /i/ and /u/, and the semivowels /j/ and
// /w/. Here the distinction between U and the V for /u/ and /w/ is assumed, as is the
// case in most modern texts. Also long vowels are indicated with macrons. Diaresis is
// used to prevent a diphtong being formed. Y with macron has to be replaced by 'yy',
// since this character is incompatible with older unicode versions.
.L01 ae au eu oe a e i o u yy y ā ē ī ō ū ë ü é
.L02 ng qu pr tr cr chr br dr gr pl cl bl gl ph th ch
.group a
a a
// Weak penultimate syllable: put stress on antepenutimate
a (L01X =a
a (CL01X =a
a (L02L01X =a
a (guL01X =a
a (x+ a
// Diphtongs
ae (+++ aI
au (+++ aU
.group ā
ā a:
.group b
b b
bb b:
.group c
c k
cc k:
cch k:<h> // e.g. bracchium
ch k<h>
.group d
d d
dd d:
.group e
e E
// Weak penultimate syllable: put stress on antepenutimate
e (L01X =E
e (CL01X =E
e (L02L01X =E
e (guL01X =E
e (x+ E
// Diphtongs
eu (+++ EU
.group ē
ē e:
.group f
f f
ff f:
.group g
g g
gg g:
g (n N
ggu (A g:w // Does this ever occur?
gu (A gw //g<w>
.group h
h h
h: h:
.group i
i I
// Weak penultimate syllable: put stress on antepenutimate
i (L01X =I
i (CL01X =I
i (L02L01X =I
i (guL01X =I
i (x+ I
// Two adjacent 'i's should be separated by a glottal stop
i (iX =I?
i (i I?
// Cases in which 'i' is pronounced as the semi-vowel /j/
_) i (A j
A) i (A+ j:
// Exceptions where u is a consonant
qu) i (L01X++ =I
qu) i (A++ I
gu) i (L01X++ =I
gu) i (A++ I
_u) i (L01X++ =I
_u) i (A++ I
Au) i (L01X++ =I
Au) i (A++ I
// Exceptions to the exceptions
au) i (A+++ j:
eu) i (A+++ j:
.group ī
ī i:
.group k
k k
kk k:
.group l
l l
ll l:
.group m
m m
mm m:
.group n
n n
nn n:
n (g N
n (c N
n (k N
n (x N
n (q N
.group o
o O
// Weak penultimate syllable: put stress on antepenutimate
o (L01X =O
o (CL01X =O
o (L02L01X =O
o (guL01X =O
o (x+ O
// Diphtongs
oe (+++ OI
.group ō
ō o:
.group p
p p
pp p:
pph p:<h>
ph p<h>
.group qu
qu kw //k<w>
.group r
C) r @-*
r R
_) r R
rr R*
A) r (A R
.group s
s s
ss s:
.group t
t t
tt t:
tth t:<h> //Does this occur? It does at least across word boundaries e.g. leget Thyni
th t<h>
.group u
u U
// Weak penultimate syllable: put stress on antepenutimate
u (L01X =U
u (CL01X =U
u (L02L01X =U
u (guL01X =U
u (x+ U
// Cases in which 'u' is pronounced as the semi-vowel /w/
A) u (A++ w
_) u (A+ w
.group ū
ū u:
.group v
v w
_) v w
vv (+++ w:
.group x
x ks
.group y
y y // Kirshenbaum I.
yy y: // Should be y with macron, which is not present in older Unicode versions
.group z
z z
zz z:
A) z (A z:
.group
j j
w w
+10 -1
View File
@@ -563,11 +563,19 @@ flocos $alt
lopes $alt
jogos $alt
// Close [O]
?1 calculadora k,Alkul&d'or&
?1 professora pr,ufys'or&
?1 senhora syn^'or&
?1 sobre s'obry
// Open [E]
nela n'El&
nessa n'Es&
era 'E*&
?1 era 'Er&
?2 era 'E*&
abacaxi abakaSi
axé aSE
@@ -774,3 +782,4 @@ volkmann f'Olkman
+66 -52
View File
@@ -104,7 +104,7 @@
c (c //drop “c” in European Portuguese (eg: seleccionar)
?1 A) ct t //drop “c” in European Portuguese (eg: exacto)
?1 A) cç s //drop “c” in European Portuguese (eg: selecção)
?1 conta) ct (A kt // eg: contacto, contactar, contactável, incontactável, etc...
?1 conta) ct (A kt // eg: contacto, contactar, contactável, incontactável, etc...
.group d
@@ -138,53 +138,52 @@
e (bem_ E
e (bes_ E
e (ca_ E
e (ca_ E
e (ce_ E
e (cem_ E
e (ces_ E
e (clA_ E
e (clAs_ E
e (clAm_ E
e (co_ E
e (la_ E
e (clA_ E
e (clAs_ E
e (clAm_ E
e (co_ E
e (la_ E
e (las_ E
e (rA_ E
e (rAm_ E
e (rAs_ E
e (rA_ E
e (rAm_ E
e (rAs_ E
e (rsA_ E
e (rsAm_ E
e (rsAs_ E
e (rsA_ E
e (rsAm_ E
e (rsAs_ E
e (stA_ E
e (stAm_ E
e (stAs_ E
e (strA_ E
e (strA_ E
e (rnA_ E
e (rnAm_ E
e (rnAs_ E
e (rnAm_ E
e (rnAs_ E
e (rtA_ E
e (rtAm_ E
e (rtAs_ E
e (rtA_ E
e (rtAm_ E
e (rtAs_ E
e (rrA_ E
e (rrAm_ E
e (rrAs_ E
e (rrA_ E
e (rrAm_ E
e (rrAs_ E
e (rvA_ E
e (rvAm_ E
e (rvAs_ E
e (rvAm_ E
e (rvAs_ E
e (ve_ E
e (ve_ E
e (vem_ E
e (ves_ E
e (rrAs_ E
e (rrAs_ E
@@ -211,9 +210,9 @@ e (rrA_ E
eu (s eU
e (uCK e
j) e (tA_ E
j) e (tAm_ E
j) e (tAs_ E
j) e (tA_ E
j) e (tAm_ E
j) e (tAs_ E
?1 _) es (C@@ S // drop initial "e".
?1 _) e (f i // efectuar, etc.
@@ -226,6 +225,7 @@ e (rrA_ E
?1 C) e (o 'i // eg: geologia, etc...
?1 C) e (ú i // conteúdo, etc.
?1 Cã) e j // cães, mãe, etc...
?1 c) e (rea y // cereais
?1 d) e (fici y // deficiênte, deficiência, etc...
?1 _d) e (fini y //definições.
?1 _d) e (slig y // desligar.
@@ -233,9 +233,17 @@ e (rrA_ E
?1 _f) e (ch y // fechar
?1 _p) e (rcentag y // percentagem
?1 p) e (ssoa y //pessoal, pessoais, etc.
?1 pr) e (cis y // precisar
?1 pr) e (f y // preferências, etc.
?1 _t) e (rmin y // terminar.
?1 _r) e (cicl y // recicla, reciclagem, etc...
?1 r) e (cor y // recorrer, recordar
?1 r) e (luz y // eg: reluzir
?1 r) e (lva ,E // eg: relvado
?1 r) e (smung y // resmungar
?1 r) e (ss y // eg: ressequidos
?1 r) e (volv y // revolver
?1 r) e (vel y // revelar
?1 _t) e (rmin y // terminar.
?1 _v) e (loci y // velocidade
?1 _f) e (rramenta y // ferramenta, ferramentas.
?1 _p) e (squ y // pesquisar
@@ -291,7 +299,8 @@ e (rrA_ E
gu (Y g
?1 guen (C gw'eIN // aguenta, etc.
?1 n) gu (A gw // eg: língua, etc.
?1 gu (ém_ g // eg: alguém, ninguém, etc...
?1 man) gu (ei g // mangueira
?1 gu (ém_ g // eg: alguém, ninguém, etc...
.group h
@@ -409,32 +418,32 @@ e (rrA_ E
oy OI
o (g_ O
o (gs_ O
o (Ca_ O
o (gs_ O
o (Ca_ O
?1 o (l_ 'O
?2 ol (_ Ow
?2 olh olj
om (_ oN
om (_ oN
o (ma_ o
om (C om
om (C om
on (K oN
o (na_ o
onh on^
o (brA_ O
o (brAm_ O
o (brAs_ O
o (brA_ O
o (brAm_ O
o (brAs_ O
o (rCA_ O
o (rCAm_ O
o (rCAs_ O
o (stA_ O
o (stAm_ O
o (stAs_ O
o (rCA_ O
o (rCAm_ O
o (rCAs_ O
o (stA_ O
o (stAm_ O
o (stAs_ O
?2 ox (_ Oks
?2 ox (_ Oks
?1 oz (_ Os#
?2 oz (_ Oz
o (zes_ O
@@ -444,9 +453,11 @@ o (rCA_ O
?1 _C) o (CACAC u // Documento, documentação, localizar, etc.
?1 f) o (rmat u // formatar, formato.
?1 _p) o (rtuC u // Portugal, Portucalense, etc...
?1 pr) o (f u
?1 _s) o (lu u // solução, soluções.
?1 interr) o (g u // eg: interrogação
?1 f) o (rmulá u // eg: formulário, formulários.
?1 v) o (lt O
.group ô
@@ -489,7 +500,7 @@ o (rCA_ O
qu (K ku
?1 _) qua kwa // quatro, etc.
?1 _) que ke // quente, etc.
?1 _) quei (C k'eI // queira, queima, etc...
?1 _) quei (C k'eI // queira, queima, etc
?1 C) quen (C kw'eIN // cinquenta, etc.
?1 A) quen (C kw'eIN // frequência, etc.
?1 quec kes // esquece, etc.
@@ -610,7 +621,7 @@ o (rCA_ O
A) x (A ks
_e) x (A z
e) x (A ks
?1 e) x (CA S // eg: texto, contexto, etc…
?1 e) x (CA S
ai) x (A S
ei) x (A S
au) x s
@@ -621,6 +632,10 @@ o (rCA_ O
ale) x (a S
pro) x (i s // aproximado, aproximadamente, aproximar, etc.
pró) x (i s // próximo, etc.
?1 i) x (a_ S
?1 i) x (as_ S
.group y
@@ -649,9 +664,7 @@ o (rCA_ O
ç s
_) ç (_ s'esed'il^&
ü u
ß s
% pors'eNtu
@@ -705,3 +718,4 @@ o (rCA_ O
+14 -5
View File
@@ -1,5 +1,5 @@
// Translations for Romanian words
// This file in UTF8 encoded
// Letters
@@ -43,11 +43,14 @@ x iks
y 'igrek
z zet
â ,ydin'a $atend
ă '@ $atend
î ,ydin'i $atend
_. punkt
$ dolar
+ plus
& ampersand
@ a*'ond
/ sleS
€ 'eU*o
// numeric
@@ -318,7 +321,6 @@ suntem $u1+
sunteţi $u1+
sunt $u+
e je $u
e e $atend
fost $u+ // been
eram je*am $u2+ // was
erai je*aI $u2+
@@ -901,3 +903,10 @@ virus $1
zarzări $1
// speak as letter names
a a $atend
â ,ydin'a $atend
ă '@ $atend
e e $atend
î ,ydin'i $atend
o o $atend
+66 -78
View File
@@ -28,22 +28,23 @@
ăi (t_ @'i
ăi (ţi_ @'i
ăi (te @'i
ăi (n_ @'i
ăi (na_ @'i
ăi (ni_ @'i
ăi (ne_ @'i
@) ăt (_S2t @t
@) ătă (_S3t @t@
@) ătul (_S4t @tul
@) ătele (_S5t @tele
@) ătului (_S6t @tuluI
@) ătelor (_S6t @telor
&) ă (_S1 @
ăi (te @'i
ăi (n_ @'i
ăi (na_ @'i
ăi (ni_ @'i
ăi (ne_ @'i
&) ă (_S1 @
ări (A_ @*'i
ării (_ @*'iI
ări (AA_ @*'i
@) ăt (_S2t @t
@) ătă (_S3t @t@
@) ătul (_S4t @tul
@) ătele (_S5t @tele
@) ătului (_S6t @tuluI
@) ătelor (_S6t @telor
.group â
â y
@@ -71,8 +72,10 @@
@@) cole (_S1t e
@) cni (_ kn'i
@) cnea (_ kne'a
@) cni (_ kn'i
@) cnea (_ kne'a
.group d
d d
@) d (i_ d;
@@ -88,23 +91,12 @@
&) ea (_S2q ea
&) eSi eaj
eau eaw
eo eo
eoa eO'a
e (AAA e
@) eş (_ =eS
@) eşul (_ =eSul
@) eşi (_ =eSI^
@) eşului (_ =eSuluI
@) eşilor (_ =eSilor
// &) es (_S1q e
&C) e (re_ %e
_ac) ee (a eI
r) ei (er_ 'eI
@) e (re_ =e
@) e (ri_ =e
@) e (rea_ =e
@@ -112,9 +104,19 @@
i) e (ri_ e
i) e (rea_ e
_ac) ee (a eI
r) ei (er_ 'eI
@) eş (_ =eS
@) eşul (_ =eSul
@) eşi (_ =eSI^
@) eşului (_ =eSuluI
@) eşilor (_ =eSilor
// &) es (_S1q e
eoa eO'a
.group f
f f
@) f (i_ f;
@@ -139,21 +141,21 @@ eoa eO'a
&C) i (_N$1q i/
&) i (_N$1q i
&) i (-N$1q i // don't reduce to [I^] if a hyphen follows
ţ) i (-Că i
ţ) i (-Ci i
&') i (_ i
ţ) i (-Că i
ţ) i (-Ci i
&') i (_ i
ţi-) i (_ _ // combined with previous word as [iI]
Cr) i (_ i
V&) i (_ 'i // verb
ăC) ia (_ 'ia
âC) ia (_ 'ia
ăC) ie (_ 'ie
ăC) ie (_ 'ie
âC) ie (_ 'ie
@) ie (_S1q ie
iei (_ 'ieI
@) ie (_S1q ie
iei (_ 'ieI
ii iI
&) ii (_S2q iI
iii iji
@@ -164,21 +166,19 @@ iei (_ 'ieI
&) ice (_ =itSe
&) icile (_ =itSile
&) icilor (_ =itSilor
@) icii (_ =itSiI
@) icii (_ =itSiI
&) ing (_ %iNg // foreign words
i (t_ 'i
i (t_ 'i
ioa iO'a
ioa iO'a
.group î
î y
@) î (_ 'y
@) î (_ 'y
.group j
j Z
@) j (i_ Z;
@@ -201,6 +201,7 @@ ioa iO'a
&) logi (A_ lodZ'i
&) logii (_ lodZ'iI
.group m
_) m (_ me
m m
@@ -210,7 +211,6 @@ ioa iO'a
-) mi (_ mi/
.group n
_) n (_ ne
n n
@@ -221,9 +221,9 @@ ioa iO'a
@) n (ic_ =n
_) n (-a n
-) n (_ n
-) n (_ n
.group o
o o
oa Oa
@@ -234,12 +234,12 @@ ioa iO'a
ou (_ 'oU
o (AAA o
@) oi (t_ o'i
@) oi (tă_ o'i
@) oi (ţi_ o'i
@) oi (te_ o'i
@) oi (t_ o'i
@) oi (tă_ o'i
@) oi (ţi_ o'i
@) oi (te_ o'i
.group p
p p
@) p (i_ p;
@@ -264,12 +264,11 @@ ioa iO'a
@u) rile (_S4t rile
@) rilor (_S5t rilor
C) ri (_ @-*i
@) răm (_S1t m
@) răţi (_S4t *@tsI^
C) ri (_ @-*i
@) răm (_S1t m
@) răţi (_S4t *@tsI^
.group s
_) s (_ se
_) s (-a s
@@ -280,23 +279,20 @@ C) ri (_ @-*i
@) sem (_S1t m
@) seră (_S2t *@
@) serăm (_S3t *@m
@) serăţi (_S4t *@tsI^
@) seşi (_S2t SI^
@) serăm (_S3t *@m
@) serăţi (_S4t *@tsI^
@) seşi (_S2t SI^
@) sni (_ sn'i
@) sni (_ sn'i
.group ş
ş S
@) ş (i_ S;
@) şni (_ Sn'i
-) şi (_ SI^
@) şni (_ Sn'i
-) şi (_ SI^
.group t
t t
tt (_ t
@@ -314,6 +310,7 @@ C) ri (_ @-*i
-) ţi (_ ts;i/
.group u
u u
u (A w
@@ -323,11 +320,10 @@ C) ri (_ @-*i
ui (m_ u'i
ui (t_ u'i
ui (ţi_ u'i
ui (se_ u'i
&) ul (_S2t ul
ui (se_ u'i
&) ul (_S2t ul
@ic) ul (_S2 ul
@ic) ul (_S2 ul
@ic) uri (_S3 urI^
@ic) urile (_S5 urile
@@ -369,14 +365,9 @@ ui (se_ u'i
.group
ö Y
D_) % la_sut@
% protSent
$ dolar
+ plus
& ampersand
@ a*'ond
/ sleS
€ 'eU*o
D_) % la_sut@
, (D v'irgul@
@@ -393,6 +384,3 @@ ui (se_ u'i
*) * (*
**
**) * (_ _::
+6 -7
View File
@@ -2,7 +2,7 @@
<HTML>
<HEAD>
<META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=utf-8">
<TITLE></TITLE>
<TITLE>eSpeak: Adding a Language</TITLE>
</HEAD>
<BODY LANG="en-GB" DIR="LTR">
<A href="docindex.html">Back</A>
@@ -22,18 +22,18 @@ syllables within words. Some languages are easier than others. I expect most are
<p><li>Improve the sounds of the phonemes. This may consist of making small adjustments to vowel and diphthong quality,
or adjusting the strength of consonants. Bigger changes may be recording new or replacement consonant
sounds, or even writing program code to implement new types of sounds.
<p><li>Marking some common words in the dictionary that should be unstressed (words such as "the", "is"), should be preceded
<p><li>Marking some common words in the dictionary that should be unstressed (words such as "the", "is"), or should be preceded
by a short pause (such as "and", "but"), or have other attributes, in order to make the speech flow better.
<p><li>Improve the rhythm of the speech by adjusting the relative lengths of vowels in different contexts, eg. stressed/unstressed syllable,
or depending on the following phonemes. This is important for making the speech sound good for the language.
<p><li>Identify or implement new functions in the program to improve the speech, or to deal with
characteristics of the language which are not currently implemented. For example, a different intonation module.
</ul>
If you are interested in working on a language, please contact me to set up the initial data and to
discuss the features of the language.
<b><em>If you are interested in working on a language, please contact me to set up the initial data and to
discuss the features of the language.</em></b>
<HR>
<H3>6.1 Language Code</H3>
<P>Generally, the language's international ISO 639-1 code is used to
<P>Generally, the language's international <a href="http://en.wikipedia.org/wiki/ISO_639-1">ISO 639-1 code</a> is used to
identify the language. It is used in the filenames which
contains the language's data. In the examples below the code &quot;<B>en</B>&quot;
(English) is used as an example. Replace this with the code of your
@@ -66,7 +66,7 @@ The <B>Compile phoneme data</B> function of the <B>espeakedit</B>
program compiles the phonemes files to produce the files
<B>espeak-data/phontab</B>, <B>phonindex</B>, and <B>phondata.</B><P>
For information on how to analyse recorded sounds of the language and to
prepare the corresponding phoneme data, see (not yet written).<p>
prepare the corresponding phoneme data, see <a href="editor_if.html">espeakedit</a> and <a href="analyse.html">analysis</a>).<p>
For an initial draft a language will often be able to use vowels and
consonants which have already been set up for another language.
<HR>
@@ -126,7 +126,6 @@ SetTranslator() function. This inherits the standard functions
from the base translator class, but allows you to replace these where
needed by new functions which are written specially for this
language.</P>
<hr>
</BODY>
</HTML>
+2 -2
View File
@@ -84,7 +84,7 @@ If neither -f nor --stdin is given, then the text input is taken from "words" (a
<strong>-s &lt;integer&gt;</strong><br>
<dd>Sets the speed in words-per-minute (approximate values for the default voice, others may
differ slightly). The default value is 170. I generally use a faster speed
of 190. Range 80 to 370.
of 185. Range 80 to 370.
<p>
<dt>
<strong>-b</strong><br>
@@ -137,7 +137,7 @@ Quiet. No sound is generated. This may be useful with the -x option.
<p>
<dt>
<strong>--stdout</strong><br>
<dd>Writes the speech output to stdout rather than speaking it.
<dd>Writes the speech output to stdout as it is produced, rather than speaking it. The data starts with a WAV file header which indicates the sample rate and format of the data. The length fields are set to zero because the length of the data is unknown when the header is produced.
<p>
<dt><strong>--compile[=&lt;voice name&gt;]</strong><br>
<dd>
+2 -2
View File
@@ -364,7 +364,7 @@ or to give them a flag when they occur together
A word (or group of words) may be given one or more flags, either instead of, or as well as, the phonetic translation.
<ul><table>
<tbody>
<tbody valign="top">
<tr>
<td>$u</td>
<td>The word is unstressed. In the case of a multi-syllable word, a slight stress is applied according to the default stress rules.</td>
@@ -394,7 +394,7 @@ A word (or group of words) may be given one or more flags, either instead of, or
<td>&nbsp;</td>
</tr>
<tr>
<td>$1</tr>
<td>$1</td>
<td>Primary stress on the 1st syllable.</td>
</tr>
<tr>
-37
View File
@@ -1,37 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>espeak: Downloads</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<A href="docindex.html">Back</A>
<hr>
<h2>ESPEAK DOWNLOADS</h2>
<hr>
This page gives direct links to eSpeak downloads on one of the Sourceforge mirrors.<br>To get other versions of eSpeak, or use other mirrors, use the <a href="http://sourceforge.net/project/showfiles.php?group_id=159649">Sourceforge download page</a>
<p>
Source code and dictionary data.<br>
<a href="http://kent.dl.sourceforge.net/sourceforge/espeak/espeak-1.23-source.zip">espeak-1.23-source.zip</a> (0.9 MBytes)
<p>
Compiled for Linux i386 (Debian/Ubuntu based distros)<br>
<a href="http://kent.dl.sourceforge.net/sourceforge/espeak/espeak-1.23-linux.zip">espeak-1.23-linux.zip</a> (0.7 MBytes)
<p>
Compiled for Windows. SAPI5 and command-line versions.<br>
<a href="http://kent.dl.sourceforge.net/sourceforge/espeak/espeak-1.23-win.zip">espeak-1.23-win.zip</a> (0.7 MBytes)
<p>
Compiled for RISC OS<br>
<a href="http://kent.dl.sourceforge.net/sourceforge/espeak/espeak-3.23-riscos.zip">espeak-3.23-riscos.zip</a> (0.7 MBytes)
<hr><p>
<b>espeakedit program and the phoneme data.</b>
<p>
Source code and compiled for Linux.<br>
<a href="http://kent.dl.sourceforge.net/sourceforge/espeak/espeakedit-1.23.zip">espeakedit-1.23.zip</a> (6 MBytes)
<p>
Compiled for Windows.<br>
<a href="http://kent.dl.sourceforge.net/sourceforge/espeak/espeakedit-1.23-win.zip">espeakedit-1.23-win.zip</a> (4 MBytes)
</body>
</html>
+9 -8
View File
@@ -16,8 +16,9 @@
<h1>eSpeak text to speech</h1></div>
<div align="center">
(email) &nbsp; jonsd at users dot sourceforge.net<br>
<a href="download.html"><strong>Download</strong></a>
<a href="http://espeak.sf.net/download.html"><strong>Download</strong></a>
&nbsp; &nbsp; &nbsp; &nbsp; <a href="http://sourceforge.net/forum/?group_id=159649"><strong>Forum</strong></a>
&nbsp; &nbsp; &nbsp; &nbsp; <a href="http://sourceforge.net/projects/espeak"><strong>eSpeak Sourceforge page</a>
</div>
</td>
</tr>
@@ -30,7 +31,9 @@
<p>
<A href="docindex.html">Documents</A>
<p>
<A href="samples.html">Samples</A>
<A href="http://espeak.sf.net/samples.html">Samples</A>
<p>
<A href="http://espeak.sf.net/license.html">License</A>
</strong></font>
</td>
<td>
@@ -56,19 +59,17 @@ It works well as a "Talker" with the KDE text to speech system (KTTS), as an alt
<p>
I regularly use it to listen to blogs and news sites. I prefer the sound through a domestic stereo system rather than my small computer speakers.
<hr>
<strong>Windows Version</strong>. There is now a Windows SAPI5 version of eSpeak. It can be used with screen readers such as NVDA, JAWS, Supernova, and Window-Eyes.<br>
This is available as a Windows installer package from the eSpeak <a href="download.html"><strong>Download</strong></a> page.<p>
<strong>Windows Version</strong>. There are Windows SAPI5 and command-line versions of eSpeak. The SAPI5 version can be used with screen readers such as NVDA, JAWS, Supernova, and Window-Eyes.<br>
They are available as a Windows installer package from the <a href="download.html"><strong>eSpeak Download</strong></a> page.<p>
A Windows version of the espeakedit program is also available.
<hr>
<strong>Languages</strong>. The eSpeak speech synthesizer supports several languages, however in most cases these are initial drafts and need more work to improve them. Assistance from native speakers is welcome for these, or other new languages. Please contact me if you want to help.<p>
eSpeak does text to speech synthesis for the following languages, some better than others. Afrikaans, Croatian, Czech, Dutch, English, Esperanto, Finnish, French, German, Greek, Hindi, Hungarian, Italian, Norwegian, Polish, Portuguese, Romanian, Russian, Slovak, Spanish, Swahili, Swedish, Vietnamese, Welsh. See <a href="languages.html">Languages</a>.
eSpeak does text to speech synthesis for the following languages, some better than others. Afrikaans, Croatian, Czech, Dutch, English, Esperanto, Finnish, French, German, Greek, Hindi, Hungarian, Icelandic, Italian, Norwegian, Polish, Portuguese, Romanian, Russian, Slovak, Spanish, Swahili, Swedish, Vietnamese, Welsh. See <a href="languages.html">Languages</a>.
<hr>
<strong>espeakedit</strong> is a GUI program used to prepare and compile phoneme data. It is now available for download. Documentation is currently sparse, but if you want to use it to add or improve language support, let me know.
<hr>
<strong>speak</strong> was originally written for Acorn/RISC_OS computers starting in 1995. This version is an update and re-write, including a relaxation of the original memory and processing power constraints, and with support for additional languages if anyone is interested in doing so.
<p>
The project name <strong>speak</strong> had already been taken by another project on SourceForge (for a Windows TTS front-end) so I added a letter 'e' to the front to make <strong>eSpeak</strong>. For now, the program executable remains <strong>speak</strong> and is referred to as such in the documentation.
History. Originally known as <strong>speak</strong> and originally written for Acorn/RISC_OS computers starting in 1995. This version is an enhancement and re-write, including a relaxation of the original memory and processing power constraints, and with support for additional languages.
</td>
</tr>
</tbody>
+2 -3
View File
@@ -133,7 +133,8 @@ In rhotic accents, such as General American, the phonemes <code>[3:], [A@], [e@]
<tr><td><p>
<tr><td><code>[O:]</code><td>th<b>ou</b>ght
<tr><td><code>[O@]</code><td>f<b>or</b>ce
<tr><td><code>[O@]</code><td>n<b>or</b>th
<tr><td><code>[o@]</code><td>f<b>or</b>ce
<tr><td><p>
@@ -162,7 +163,5 @@ Other languages will have their own vowel definitions, eg:
</table>
<hr>
</body>
</html>
+19 -10
View File
@@ -1,12 +1,12 @@
#ifndef SPEAK_LIB_H
#define SPEAK_LIB_H
/***************************************************************************
* Copyright (C) 2006 by Jonathan Duddington *
* jonsd@users.sourceforge.net *
* Copyright (C) 2005 to 2007 by Jonathan Duddington *
* email: jonsd@users.sourceforge.net *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* the Free Software Foundation; either version 3 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
@@ -15,9 +15,8 @@
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
* along with this program; if not, write see: *
* <http://www.gnu.org/licenses/>. *
***************************************************************************/
@@ -28,6 +27,12 @@
#include <stdio.h>
#define ESPEAK_API_REVISION 2
/*
Revision 2
Added parameter "options" to eSpeakInitialize()
*/
/********************/
/* Initialization */
/********************/
@@ -40,7 +45,8 @@ typedef enum {
espeakEVENT_MARK, // Mark
espeakEVENT_PLAY, // Audio element
espeakEVENT_END, // End of sentence
espeakEVENT_MSG_TERMINATED // End of message
espeakEVENT_MSG_TERMINATED, // End of message
espeakEVENT_PHONEME // Phoneme, if enabled in espeak_Initialize()
} espeak_EVENT_TYPE;
@@ -54,7 +60,7 @@ typedef struct {
int sample; // sample id (internal use)
void* user_data; // pointer supplied by the calling program
union {
int number; // used for WORD and SENTENCE events
int number; // used for WORD and SENTENCE events. For PHONEME events this is the phoneme mnemonic.
const char *name; // used for MARK and PLAY events. UTF8 string
} id;
} espeak_EVENT;
@@ -137,7 +143,7 @@ typedef enum {
#ifdef __cplusplus
extern "C"
#endif
int espeak_Initialize(espeak_AUDIO_OUTPUT output, int buflength, const char *path);
int espeak_Initialize(espeak_AUDIO_OUTPUT output, int buflength, const char *path, int options);
/* Must be called before any synthesis functions are called.
output: the audio data can either be played by eSpeak or passed back by the SynthCallback function.
@@ -145,6 +151,9 @@ int espeak_Initialize(espeak_AUDIO_OUTPUT output, int buflength, const char *pat
path: The directory which contains the espeak-data directory, or NULL for the default location.
options: bit 0: 1=allow espeakEVENT_PHONEME events.
Returns: sample rate in Hz, or -1 (EE_INTERNAL_ERROR).
*/
@@ -181,7 +190,7 @@ int SynthCallback(short *wav, int numsamples, espeak_EVENT *events);
extern "C"
#endif
void espeak_SetUriCallback(int (*UriCallback)(int, const char*, const char*));
/* This function must be called before synthesis functions are used, in order to deal with
/* This function may be called before synthesis functions are used, in order to deal with
<audio> tags. It specifies a callback function which is called when an <audio> element is
encountered and allows the calling program to indicate whether the sound file which
is specified in the <audio> element is available and is to be played.
+1
View File
@@ -239,5 +239,6 @@ speak command.
</dl>
For a list of voices provided for English and other languages see <a href="languages.html">Languages</a>.
</body>
</html>
+35 -36
View File
@@ -1,4 +1,4 @@
37 phoneme tables
38 phoneme tables
new total
base 96 96
base2 23 114
@@ -13,7 +13,7 @@
de 32 123
eo 13 108
fi 40 127
fr 32 118
fr 33 118
fr_ca 11 118
hi 49 131
hu 23 113
@@ -22,6 +22,7 @@
sk 29 125
cs 5 125
hr 19 129
mk 1 129
sr 2 129
ru 36 124
it 17 117
@@ -48,17 +49,15 @@
2 b/bo base hi
2 b/bu base hi
2 b/xb base hi
15 d/d base base2 fi fr hi hu pl hr ru ro el sw
16 d/d_ base base2 fi fr hi hu pl hr ru ro el sw
1 d/d_dnt hi
17 d/dr base base2 fi fr hi hu pl hr ru ro el sw
15 d/d base base2 fi hi hu pl hr ru ro el sw
15 d/d_ base base2 fi hi hu pl hr ru ro el sw
16 d/dr base base2 fi hi hu pl hr ru ro el sw
1 d/tap ro
2 d/tap1 base
2 d/tap2 base
2 d/tap3 base
1 d/tap_i ro
13 d/xd base base2 fi fr hi hu pl hr ru ro el sw
1 d/xd_dnt hi
13 d/xd base base2 fi hi hu pl hr ru ro el sw
2 d/xd_pzd pl ru
1 d/x_tap base
5 dzh/dzh base hi ru
@@ -107,7 +106,7 @@
1 l^/_l^ base
1 l^/l^ base
8 l/l base en af sk ru la pt ro
11 l/_l base en af de fr sk ru la pt ro
10 l/_l base en af de sk ru la pt ro
1 l/l_ base
2 l/l@ base
1 l/L1_aL base
@@ -116,14 +115,13 @@
1 l/L1_@L base
1 l/L1_oL base
1 l/L1_uL base
6 l/l_2 en af fr sk ru pt
1 l/L2_aL base
1 l/L2_eL base
1 l/L2_iL base
2 l/L2_@L base en_sc
2 l/L2_oL base en_sc
5 l/L2_uL base en en_n en_us en_rp
1 l/l_3 de
2 l/l_3 de fr
2 l/la base
2 l/le base
2 l/L_eL_af af
@@ -131,7 +129,7 @@
4 l/l_long base fr la ro
2 l/lo base
2 l/lu base
9 l/tl base en af fr sk ru la pt ro
8 l/tl base en af sk ru la pt ro
6 l/xl base
2 m/_m base ro
2 m/m_ base ro
@@ -180,13 +178,13 @@
1 r2/r2i base
1 r2/r2o base
1 r2/r2u base
4 r3/r_ base af fr ru
3 r3/r_ base af ru
1 r3/r_@ base
1 r3/r#_ is
1 r3/r_a base
1 r3/r_e base
1 r3/r_i base
3 r3/r_n base fr ru
2 r3/r_n base ru
1 r3/r_o base
11 r3/r_trill base af cy nl sk pt
2 r3/r_trill2 base hr
@@ -194,11 +192,11 @@
8 r3/r_trill3.wav base af cy nl
3 r3/r_trill.wav base sk pt
1 r3/r_u base
21 r3/rx base af fr fr_ca ru pt_pt ro is
18 r3/rx base af fr_ca ru pt_pt ro is
2 r3/rz_cs sk
2 r3/@tap base
2 r3/@tap_i base
5 r/r base en_sc de pt_pt
6 r/r base en_sc de fr pt_pt
3 r/_r base en_sc pt_pt
9 r/r_ base en_sc de fi nl ru pt_pt ro sw
1 r/r@ base
@@ -255,10 +253,11 @@
9 ustop/pr base base2 fi hi hu la ro
8 ustop/p_unasp base base2 fi hi hu sk la ro
7 ustop/p_unasp_ base2 fi hi hu sk la ro
3 ustop/t base en hi
6 ustop/t_ base en hi sk el
27 ustop/t_dnt base base2 en fi fr hi hu pl hr ru ro vi ++
2 ustop/t_dnt2 hi vi
6 ustop/t base en fr hi
8 ustop/t_ base en fr hi sk el
22 ustop/t_dnt base base2 en fi hi hu pl hr ru ro vi sw
1 ustop/t_dnt2 vi
2 ustop/t_hi hi
4 ustop/t_pzd pl ru
7 ustop/tr base en hi ru
8 ustop/ts base2 de eo hu pl ru ro zh_yue
@@ -391,12 +390,12 @@
4 voc/Q_ base nl pt
2 voc/Q_less nl pt
6 voc/v base fi hi nl ro is
7 voc/v_ base fi hi nl ro is
9 voc/v_ base fi fr hi nl ro is
4 vocw/dh base es
2 vocw/Q base
3 vocw/Q_ base nl
1 vocw/Q2 nl
6 vocw/v base ro
8 vocw/v base fr ro
4 vocw/zh base ro
2 vocw/zh_rfx base
3 voc/z base fr ro
@@ -412,7 +411,7 @@
4 vowel/0 base2 en hi pt
4 vowel/0_2 en_n en_wm pt_pt sw
5 vowel/0_3 en_us en_sc en_rp hu
1 vowel/@_2 fr
2 vowel/@_2 fr
6 vowel/@_3 en_sc de hi
1 vowel/3_2 en_n
1 vowel/3_3 en_rp
@@ -424,7 +423,7 @@
4 vowel/a# base2 en_sc pt
7 vowel/a_2 base2 eo la pt pt_pt ro vi
4 vowel/a#_2 hr sv is sw
6 vowel/a_3 en_sc cs is
7 vowel/a_3 en_sc fr cs is
12 vowel/a#_3 en en_n en_us en_wm de hi ru pt_pt vi zh_yue
4 vowel/a_4 en_wm el vi
3 vowel/a_5 it sv sw
@@ -436,7 +435,7 @@
2 vowel/aa_5 en_n
2 vowel/aa_6 de
1 vowel/aa_7 nl
4 vowel/a_en en fr
3 vowel/a_en en fr
1 vowel/@_bck hi
15 vowel/e base2 en en_n af cy eo fr hu hr it la pt ++
2 vowel/e# en_sc
@@ -471,15 +470,15 @@
2 vowel/ii_4 en_rp
6 vowel/ii_en en en_n
5 vowel/@_low hi ro no
12 vowel/o base2 en en_wm de fr hi it la pt_pt sv
11 vowel/o base2 en en_wm de hi it la pt_pt sv
4 vowel/o_2 cy hi hu no
2 vowel/o-_2 en_n en_wm
2 vowel/o_3 en_sc
3 vowel/o_3 en_sc fr
1 vowel/o-_3 en_rp
1 vowel/o_4 en_n
1 vowel/o-_4 ro
1 vowel/o_6 nl
4 vowel/oe en af de fr
3 vowel/oe en af de
1 vowel/oe_2 no
1 vowel/oe_4 sv
2 vowel/o_mid fr hu
@@ -496,9 +495,9 @@
4 vowelr/r-voc hi sk hr
2 vowelr/V3_r en en_sc
1 vowelr/V_r en
8 vowel/u en_n cy de eo fr cs la
7 vowel/u en_n cy de eo fr cs la
5 vowel/u# en en_sc
4 vowel/u_2 fi sk hr ro
5 vowel/u_2 fi fr sk hr ro
1 vowel/u#_2 sv
1 vowel/u_3 ro
1 vowel/u#_3 en_n
@@ -564,8 +563,8 @@
2 vwl_en_wm/aa en_wm
1 vwl_en_wm/i en_wm
2 vwl_en_wm/ii en_wm
1 vwl_fr/@R pt_pt
3 vwl_fr/@R2 fr fr_ca
3 vwl_fr/@R fr pt_pt
1 vwl_fr/@R2 fr_ca
1 vwl_hi/A hi
3 vwl_hi/l-voc hi sk
2 vwl_no/& no
@@ -599,8 +598,8 @@
1 vwl_sv/r_sv3 sv
1 vwl_zh/aang zh_yue
1 vwl_zh/ong zh_yue
1 w/w base
1 w/_w base
2 w/w base fr
2 w/_w base fr
1 w/w_ base
1 w/w@ base
8 w/w2 base2 pl sk pt_pt
@@ -614,8 +613,8 @@
20 x/b base hi ro is
1 x/b_ base
10 x/d base en_us hi hr el is
14 x/d_ base base2 fi fr hi pl hr ru ro el is sw
23 x/d_dnt base base2 fi fr hi hu pl ru ro sw
13 x/d_ base base2 fi hi pl hr ru ro el is sw
21 x/d_dnt base base2 fi hi hu pl ru ro sw
6 x/d_pzd pl ru
4 x/dzh base hi
5 x/dzh_ base hi ru
BIN
View File
Binary file not shown.
-1
View File
@@ -292,7 +292,6 @@ phoneme l
beforenotvowel l/2 // 'dark' [l]
formants l/l
after _ l/_l t l/tl
before _ l/l_2
endphoneme
phoneme c
+1 -1
View File
@@ -108,7 +108,7 @@ endphoneme
phoneme d
vcd alv stop
vowelin f1=2 f2=1700 -300 300 f3=-100 80 rms=45
vowelin f1=2 f2=1700 -300 300 f3=-100 80 amp=16
vowelout f1=2 f2=1700 -300 300 f3=-100 80
formants d/d+x/d%50
before _ d/d_+x/d_
-1
View File
@@ -46,7 +46,6 @@ phoneme l
beforenotvowel l/2 // use 'dark' [l] after a vowel
formants l/l
after _ l/_l t l/tl
before _ l/l_2
endphoneme
+59 -54
View File
@@ -12,7 +12,7 @@ endphoneme
phoneme @
vowel starttype (@) endtype (@)
length 130
length 160
formants vowel/@_2
endphoneme
@@ -20,7 +20,7 @@ endphoneme
phoneme a
vowel starttype (a) endtype (a)
length 160
formants vowel/a_en
formants vowel/a_3
endphoneme
@@ -40,17 +40,16 @@ endphoneme
phoneme i
vowel starttype (i) endtype (i)
length 150
length 160
formants vowel/i
linkout ;
endphoneme
phoneme o
vowel starttype (o) endtype (o)
length 160
formants vowel/o
length 170
formants vowel/o_3
endphoneme
@@ -64,29 +63,39 @@ endphoneme
phoneme u
vowel starttype (u) endtype (u)
length 150
formants vowel/u
length 160
formants vowel/u_2
endphoneme
phoneme y
vowel starttype (e) endtype (u)
length 148
length 160
formants vowel/y_2
endphoneme
phoneme Y
vowel starttype (@) endtype (@)
length 214
length 170
formants vowel/y#
endphoneme
phoneme w
liquid
length 120
beforenotvowel w/
lengthmod 7
formants w/w
after _ w/_w
endphoneme
phoneme W
vowel starttype (@) endtype (@)
length 170
formants vowel/oe
formants vowel/@_2
endphoneme
@@ -172,67 +181,65 @@ phoneme l
liquid
length 100
lengthmod 7
beforenotvowel l/
formants l/l_2
after _ l/_l
after t l/tl
// beforenotvowel l/
formants l/l_3
// after _ l/_l
// after t l/tl
after l/ l/l_long // double l, make it longer
endphoneme
phoneme R
liquid
// vcd uvl frc
vowelin f1=0 f2=1500 -400 400 f3=-400 80
phoneme r
vcd uvl frc
vowelin f1=0 f2=800 -100 100 f3=-400 100
length 100
lengthmod 7
beforenotvowel r/
formants vwl_fr/@R2
formants vwl_fr/@R%40
endphoneme
phoneme R2
liquid
// vcd uvl frc
vowelin f1=0 f2=1500 -400 400 f3=-400 80
phoneme R
vcd uvl frc
vowelin f1=0 f2=800 -100 100 f3=-400 100
length 100
lengthmod 7
beforenotvowel r/
formants vwl_fr/@R2+r3/rx%120
formants vwl_fr/@R%40
endphoneme
phoneme r/ // used for [r] when not preceding a vowel
liquid
vcd uvl frc
length 100
lengthmod 2 //
formants r3/r_+r3/rx
before n r3/r_n+r3/rx
formants r/r
// before n r3/r_n+r3/rx
endphoneme
phoneme t // dental variant of /t/
vls dnt stop
vowelin f1=0 f2=1600 -300 300 f3=-100 80
vowelout f1=0 f2=1600 -300 250 f3=-100 80 rms=20
phoneme t
vls alv stop
vowelin f1=0 f2=1700 -100 100 f3=-100 80
vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20
lengthmod 2
wave ustop/t_dnt%50
before _ ustop/t_dnt%40
wave ustop/t%50
before _ ustop/t_%40
before @- ustop/t%50
// before r ustop/tr
// before R ustop/tr
switchvoicing d
endphoneme
phoneme t2 // silent unless followed by vowel
beforenotvowel NULL
vls dnt stop
vls alv stop
vowelin f1=0 f2=1600 -300 300 f3=-100 80
vowelout f1=0 f2=1600 -300 250 f3=-100 80 rms=20
lengthmod 2
wave ustop/t_dnt%50
before _ ustop/t_dnt%40
wave ustop/t
before _ ustop/t_
endphoneme
@@ -246,20 +253,6 @@ phoneme z2 // silent unless followed by vowel
endphoneme
phoneme d // dental variant of /d/
vcd dnt stop
vowelin f1=2 f2=1500 -300 300 f3=-150 80
vowelout f1=2 f2=1500 -300 300 f3=-150 80
formants d/d+x/d_dnt%110
before _ d/d_+x/d_
before r d/dr+x/d_dnt%110
after _ NULL
after @ d/xd
lengthmod 5
switchvoicing t
endphoneme
phoneme k
vls vel stop
@@ -275,6 +268,18 @@ phoneme k
endphoneme
phoneme v
vcd lbd frc
vowelin f1=0 f2=1000 -300 -200 f3=-300 100
vowelout f1=0 f2=1000 -500 -300 f3=-300 60 len=50
lengthmod 6
formants voc/v_+vocw/v
before _ voc/v_+vocw/v
switchvoicing f
endphoneme
+3 -3
View File
@@ -1,6 +1,6 @@
//====================================================
// Greek - based on Italian
// Greek - based on base2
//====================================================
@@ -35,8 +35,8 @@ endphoneme
phoneme t // revert to alveolar /t/
vls alv stop
vowelin f1=1 f2=1700 -300 300 f3=-100 80 rms=30
vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20
vowelin f1=1 f2=1600 -300 300 f3=-100 80 amp=11
vowelout f1=0 f2=1600 -300 250 f3=-100 80 rms=20
lengthmod 2
wave ustop/t_short%80
before _ ustop/t_
+17 -12
View File
@@ -324,38 +324,43 @@ endphoneme
phoneme t // dental variant of /t/
vls dnt stop
vowelin f1=1 f2=1600 -300 300 f3=-100 80
vowelout f1=0 f2=1600 -300 250 f3=-100 80 rms=20
vowelin f1=1 f2=1500 -300 300 f3=-100 80 amp=18
vowelout f1=0 f2=1500 -300 250 f3=-100 80 rms=20
lengthmod 2
wave ustop/t_dnt2%60
wave ustop/t_hi%60
before _ ustop/t_dnt%35
// before _ ustop/t_hi%35
switchvoicing d
endphoneme
phoneme th // dental variant of /t/ Same as [t] for now
vls dnt stop
vowelin f1=0 f2=1600 -300 300 f3=-100 80
vowelout f1=0 f2=1600 -300 250 f3=-100 80 rms=20
vowelin f1=0 f2=1500 -300 300 f3=-100 80
vowelout f1=0 f2=1500 -300 250 f3=-100 80 rms=20
lengthmod 2
wave ustop/t_dnt%50+ufric/h@
wave ustop/t_hi%50+ufric/h@
switchvoicing d
endphoneme
phoneme d // (weak) dental variant of /d/
phoneme d // dental variant of /d/
vcd dnt stop
vowelin f1=2 f2=1700 -300 300 f3=-100 80
vowelout f1=2 f2=1700 -300 300 f3=-100 80 rms=20 len=1
formants d/d_dnt+x/d_dnt%50
vowelin f1=2 f2=1500 -300 300 f3=-150 80
vowelout f1=2 f2=1500 -300 300 f3=-150 80
formants d/d+x/d_dnt%110
before _ d/d_+x/d_
before r d/dr+x/d_dnt%60
before r d/dr+x/d_dnt%110
after _ NULL
after @ d/xd_dnt
after @ d/xd
lengthmod 5
switchvoicing t
endphoneme
//phoneme dh // use [d]+[h]
// vcd dnt stop
// vowelin f1=1 f2=1700 -200 200 f3=100 80
+1 -1
View File
@@ -39,7 +39,7 @@ endphoneme
phoneme a:
vowel starttype (a) endtype (a)
length 280
length 270
formants vowel/a
endphoneme
+1 -1
View File
@@ -223,7 +223,7 @@ endphoneme
phoneme b
vls blb stop
vowelin f1=1 f2=1000 -300 -200 f3=-200 80 rms=27
vowelin f1=1 f2=1000 -300 -200 f3=-200 80 amp=11
vowelout f1=2 f2=1000 -300 -300 f3=-300 80 brk
lengthmod 5
wave x/b
+1 -1
View File
@@ -49,7 +49,7 @@ endphoneme
phoneme i
vowel starttype (i) endtype (i)
length 150
length 140
formants vowel/i
linkout ;
endphoneme
-1
View File
@@ -176,7 +176,6 @@ phoneme l
formants l/l
after _ l/_l
after t l/tl
before _ l/l_2
endphoneme
+1 -1
View File
@@ -279,7 +279,7 @@ phoneme *; // flap
vcd alv flp
vowelout f1=3 f2=1700 -300 300 f3=-300 80 rms=35 len=15 colr=1
formants d/tap+r3/rx
vowelin f1=0 f2=1700 -300 300 f3=-400 80 rms=20
vowelin f1=0 f2=1700 -300 300 f3=-400 80
before (i) d/tap_i+r3/rx
lengthmod 2
endphoneme
-1
View File
@@ -7,7 +7,6 @@ phoneme l
beforenotvowel l/2 // use 'dark' [l] after a vowel
formants l/l
after _ l/_l t l/tl
before _ l/l_2
endphoneme
-1
View File
@@ -161,7 +161,6 @@ phoneme l
beforenotvowel l/2 // use 'dark' [l] after a vowel
formants l/l
after _ l/_l t l/tl
before _ l/l_2
endphoneme
phoneme w
+3 -1
View File
@@ -1,4 +1,6 @@
// Cantonese Chinese
//==================
//====================================================
// Tone Numbers
//====================================================
+14 -13
View File
@@ -579,12 +579,12 @@ endphoneme
phoneme ** // TEST flap after consonant
liquid alv
vowelout f1=3 f2=1700 -300 300 f3=-300 80 rms=35 len=15
vowelin f1=0 f2=1700 -300 300 f3=-300 80 rms=20
vowelin f1=0 f2=1700 -300 300 f3=-300 80
formants r3/@tap+r3/rx
vowelin f1=0 f2=1700 -300 300 f3=-400 80 rms=20
vowelin f1=0 f2=1700 -300 300 f3=-400 80
before (i) r3/@tap_i+r3/rx
before (e) r3/@tap_i+r3/rx
vowelin f1=2 f2=1700 -300 300 f3=-300 80 rms=20
vowelin f1=2 f2=1700 -300 300 f3=-300 80
before (a) r3/@tap+r3/rx
endphoneme
@@ -648,12 +648,12 @@ phoneme * // flap
vcd alv flp
brkafter
vowelout f1=3 f2=1500 -400 300 f3=-200 80 rms=35 len=50
vowelin f1=0 f2=1500 -300 300 f3=-200 80 rms=20
vowelin f1=0 f2=1500 -300 300 f3=-200 80
formants d/tap3+r3/rx%200
vowelin f1=0 f2=1500 -300 300 f3=-200 80 rms=20
vowelin f1=0 f2=1500 -300 300 f3=-200 80
before (i) d/tap1+r3/rx%150
before (e) d/tap1+r3/rx%150
vowelin f1=2 f2=1500 -300 300 f3=-200 80 rms=20
vowelin f1=2 f2=1500 -300 300 f3=-200 80
before (a) d/tap3+r3/rx%200
before r d/dr
lengthmod 3
@@ -876,9 +876,7 @@ endphoneme
phoneme p
vls blb stop
// vowelin f1=0 f2=1000 -50 -50 f3=-200 80
// vowelout f1=0 f2=1000 -500 -350 f3=-200 80
vowelin f1=0 f2=1000 -50 -100 f3=-200 80 rms=30
vowelin f1=0 f2=1000 -50 -100 f3=-200 80 amp=11
vowelout f1=0 f2=1000 -500 -350 f3=-300 80 rms=22
lengthmod 2
wave ustop/p
@@ -1188,6 +1186,9 @@ include ph_czech
phonemetable hr sk
include ph_croatian
phonemetable mk hr
include ph_macedonian
phonemetable sr hr
include ph_serbian
@@ -1235,8 +1236,8 @@ phonemetable sw base
include ph_swahili
phonemetable basef base
include pf
//phonemetable basef base
//include pf
phonemetable f_en basef
include pf_english
//phonemetable f_en basef
//include pf_english
Binary file not shown.
Binary file not shown.
Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 22 KiB

BIN
View File
Binary file not shown.
Binary file not shown.
BIN
View File
Binary file not shown.
Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 15 KiB

+11 -8
View File
@@ -1,10 +1,10 @@
/***************************************************************************
* Copyright (C) 2005, 2006 by Jonathan Duddington *
* jonsd@users.sourceforge.net *
* Copyright (C) 2005 to 2007 by Jonathan Duddington *
* email: jonsd@users.sourceforge.net *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* the Free Software Foundation; either version 3 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
@@ -13,12 +13,10 @@
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
* along with this program; if not, write see: *
* <http://www.gnu.org/licenses/>. *
***************************************************************************/
#include <stdio.h>
#include <string.h>
#include <ctype.h>
@@ -272,6 +270,7 @@ static keywtab_t keywords[] = {
{"f4", 0x300000a},
{"paus", 0x300000b},
{"colr=",0x300000c},
{"amp=", 0x300000d},
{"", -1}
};
@@ -1177,7 +1176,7 @@ void Compile::VowelTransition(int which, unsigned int *trans)
flags |= 1;
break;
case 2:
rms = Range(NextItem(tNUMBER), 2, 0, 63) & 0x3f;
rms = Range(NextItem(tNUMBER), 2, 0, 31) & 0x1f;
flags |= 1;
break;
case 3:
@@ -1219,6 +1218,10 @@ void Compile::VowelTransition(int which, unsigned int *trans)
case 12:
vcolour = NextItem(tNUMBER);
break;
case 13:
rms = (Range(NextItem(tNUMBER), 1, 0, 31) & 0x1f) | 0x20;
flags |= 1;
break;
}
}
trans[0] = len + (rms << 6) + (flags << 12) + 0x80000000;
+25 -17
View File
@@ -1,10 +1,10 @@
/***************************************************************************
* Copyright (C) 2005,2006 by Jonathan Duddington *
* jonsd@users.sourceforge.net *
* Copyright (C) 2005 to 2007 by Jonathan Duddington *
* email: jonsd@users.sourceforge.net *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* the Free Software Foundation; either version 3 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
@@ -13,10 +13,10 @@
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
* along with this program; if not, write see: *
* <http://www.gnu.org/licenses/>. *
***************************************************************************/
#include "StdAfx.h"
#include <stdio.h>
@@ -31,7 +31,6 @@
#include "synthesize.h"
#include "translate.h"
#define OPT_PH_COMMON // sort rules by phoneme string, common phoneme string output only once
//#define OPT_FORMAT // format the text and write formatted copy to Log file
//#define OUTPUT_FORMAT
@@ -206,7 +205,7 @@ int compile_line(char *linebuf, char *dict_line, int *hash)
c = *p;
}
if((c == '$') && (step != 1))
if((c == '$') && isalnum(p[1]))
{
/* read keyword parameter */
mnemptr = p;
@@ -902,7 +901,8 @@ static int __cdecl string_sorter(char **a, char **b)
pa += (strlen(pa)+1);
pb += (strlen(pb)+1);
return(strcmp(pa,pb));
} /* end of strcmp2 */
} /* end of string_sorter */
static int __cdecl rgroup_sorter(RGROUP *a, RGROUP *b)
{//===================================================
@@ -1020,7 +1020,7 @@ void print_rule_group(FILE *f_out, int n_rules, char **rules, char *name)
#endif
//#define LIST_GROUP_INFO
void output_rule_group(FILE *f_out, int n_rules, char **rules, char *name)
{//=======================================================================
int ix;
@@ -1031,17 +1031,18 @@ void output_rule_group(FILE *f_out, int n_rules, char **rules, char *name)
char *p2, *p3;
const char *common;
//fprintf(f_log,"Group %2s n=%2d at 0x%x\n",name,n_rules,ftell(f_out));
short nextchar_count[256];
memset(nextchar_count,0,sizeof(nextchar_count));
len_name = strlen(name);
#ifdef OUTPUT_FORMAT
print_rule_group(f_log,n_rules,rules,name);
#endif
// sort the rules in this group by their phoneme string
common = "";
#ifdef OPT_PH_COMMON
qsort((void *)rules,n_rules,sizeof(char *),(int (__cdecl *)(const void *,const void *))string_sorter);
#endif
if(strcmp(name,"9")==0)
len_name = 0; // don't remove characters from numeric match strings
@@ -1053,8 +1054,8 @@ void output_rule_group(FILE *f_out, int n_rules, char **rules, char *name)
p3 = &p[len1];
p2 = p3 + len_name; // remove group name from start of match string
len2 = strlen(p2);
//fprintf(f_log,"%4x %2d len1=%2d %2x %2x %2x %2x len2=%2d %2x %2x %2x %2x %2x %2x %2x\n",
// ftell(f_out),ix,len1,p[0],p[1],p[2],p[3],len2,p3[0],p3[1],p3[2],p3[3],p3[4],p3[5],p3[6]);
nextchar_count[(unsigned char)(p2[0])]++; // the next byte after the group name
if((common[0] != 0) && (strcmp(p,common)==0))
{
@@ -1063,18 +1064,25 @@ void output_rule_group(FILE *f_out, int n_rules, char **rules, char *name)
}
else
{
#ifdef OPT_PH_COMMON
if((ix < n_rules-1) && (strcmp(p,rules[ix+1])==0))
{
common = rules[ix]; // phoneme string is same as next, set as common
fputc(RULE_PH_COMMON,f_out);
}
#endif
fwrite(p2,len2,1,f_out);
fputc(RULE_PHONEMES,f_out);
fwrite(p,len1,1,f_out);
}
}
#ifdef LIST_GROUP_INFO
for(ix=32; ix<256; ix++)
{
if(nextchar_count[ix] > 30)
printf("Group %s %c %d\n",name,ix,nextchar_count[ix]);
}
#endif
} // end of output_rule_group
+21 -6
View File
@@ -1,10 +1,10 @@
/***************************************************************************
* Copyright (C) 2005,2006 by Jonathan Duddington *
* jonsd@users.sourceforge.net *
* Copyright (C) 2005 to 2007 by Jonathan Duddington *
* email: jonsd@users.sourceforge.net *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* the Free Software Foundation; either version 3 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
@@ -13,10 +13,10 @@
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
* along with this program; if not, write see: *
* <http://www.gnu.org/licenses/>. *
***************************************************************************/
#include "StdAfx.h"
#define LOG_TRANSLATE
@@ -1082,6 +1082,21 @@ void Translator::SetWordStress(char *output, unsigned int dictionary_flags, int
}
break;
case 4: // stress on antipenultimate vowel
if(stressed_syllable == 0)
{
stressed_syllable = vowel_count - 3;
if(stressed_syllable < 1)
stressed_syllable = 1;
if(max_stress == 0)
{
vowel_stress[stressed_syllable] = 4;
}
max_stress = 4;
}
break;
case 5:
// LANG=Russian
if(stressed_syllable == 0)
+6 -6
View File
@@ -1,10 +1,10 @@
/***************************************************************************
* Copyright (C) 2005,2006 by Jonathan Duddington *
* jonsd@users.sourceforge.net *
* Copyright (C) 2006 to 2007 by Jonathan Duddington *
* email: jonsd@users.sourceforge.net *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* the Free Software Foundation; either version 3 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
@@ -13,9 +13,8 @@
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
* along with this program; if not, write see: *
* <http://www.gnu.org/licenses/>. *
***************************************************************************/
#include <stdio.h>
@@ -73,6 +72,7 @@ static const char *help_text =
int samplerate;
FILE *f_wavfile = NULL;
char wavefile[160];
+1 -1
View File
@@ -3,7 +3,7 @@
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* the Free Software Foundation; either version 3 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
+10 -9
View File
@@ -1,10 +1,10 @@
/***************************************************************************
* Copyright (C) 2005, 2006 by Jonathan Duddington *
* jsd@clara.co.uk *
* Copyright (C) 2005 to 2007 by Jonathan Duddington *
* email: jonsd@users.sourceforge.net *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* the Free Software Foundation; either version 3 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
@@ -13,9 +13,8 @@
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
* along with this program; if not, write see: *
* <http://www.gnu.org/licenses/>. *
***************************************************************************/
#include "wx/wx.h"
@@ -43,7 +42,9 @@
#include "prosodydisplay.h"
static char *about_string = "espeakedit: %s\nAuthor: Jonathan Duddington (c) 2006";
static char *about_string = "espeakedit: %s\nAuthor: Jonathan Duddington (c) 2007\n\n"
"Licensed under GNU General Public License version 3\n"
"http://espeak.sourceforge.net/";
const char *path_data = "/home/jsd1/speechdata/phsource";
@@ -252,7 +253,7 @@ wxSashLayoutWindow *win;
if((result = LoadPhData()) != 1)
{
if(result == -1)
wxLogError(_T("Failed to load phoneme data,\nneeds espeak-data/phontab,phondata,phonindex"));
wxLogError(_T("Failed to load phoneme data,\nneeds espeak-data/phontab,phondata,phonindex\nPath = ")+wxString(path_home,wxConvLocal));
else
wxLogError(_T("Wrong version of espeak-data: 0x%x (expects 0x%x)"),result,version_phdata);
@@ -341,7 +342,7 @@ void MyFrame::OnQuit(wxCommandEvent& event)
void MyFrame::OnAbout(wxCommandEvent& WXUNUSED(event))
{//===================================================
char buf[120];
char buf[300];
sprintf(buf,about_string,espeak_Info(NULL));
(void)wxMessageBox(wxString(buf,wxConvLocal), _T("About eSpeak Editor"));
+1 -1
View File
@@ -3,7 +3,7 @@
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* the Free Software Foundation; either version 3 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
+7 -7
View File
@@ -1,10 +1,10 @@
/***************************************************************************
* Copyright (C) 2006 by Jonathan Duddington *
* jonsd@users.sourceforge.net *
* Copyright (C) 2006 to 2007 by Jonathan Duddington *
* email: jonsd@users.sourceforge.net *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* the Free Software Foundation; either version 3 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
@@ -13,9 +13,8 @@
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
* along with this program; if not, write see: *
* <http://www.gnu.org/licenses/>. *
***************************************************************************/
#include "wx/wx.h"
@@ -1165,6 +1164,7 @@ int x;
}
#endif
char* text1 = "Hello World2. <audio src=\"here\"> Some text</audio> This is the second sentence";
void TestTest(int control)
@@ -1181,7 +1181,7 @@ void TestTest(int control)
//CharsetToUnicode("ISO-8859-4");
//CharsetToUnicode("ISCII");
//return;
return;
if(control==2)
{
+1 -1
View File
@@ -3,7 +3,7 @@
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* the Free Software Foundation; either version 3 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
+6 -6
View File
@@ -1,10 +1,10 @@
/***************************************************************************
* Copyright (C) 2005, 2006 by Jonathan Duddington *
* jonsd@users.sourceforge.net *
* Copyright (C) 2006 to 2007 by Jonathan Duddington *
* email: jonsd@users.sourceforge.net *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* the Free Software Foundation; either version 3 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
@@ -13,12 +13,12 @@
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
* along with this program; if not, write see: *
* <http://www.gnu.org/licenses/>. *
***************************************************************************/
// For compilers that support precompilation, includes "wx/wx.h".
#include "wx/wx.h"
#include "wx/mdi.h"
+6 -7
View File
@@ -1,10 +1,10 @@
/***************************************************************************
* Copyright (C) 2005, 2006 by Jonathan Duddington *
* jonsd@users.sourceforge.net *
* Copyright (C) 2005 to 2007 by Jonathan Duddington *
* email: jonsd@users.sourceforge.net *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* the Free Software Foundation; either version 3 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
@@ -13,10 +13,10 @@
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
* along with this program; if not, write see: *
* <http://www.gnu.org/licenses/>. *
***************************************************************************/
#include "StdAfx.h"
#include <stdio.h>
@@ -446,7 +446,6 @@ static void set_pitch(int ix, int base, int drop)
{
int pitch1, pitch2;
int flags = 0;
int x;
/* adjust experimentally */
int pitch_range2 = 148;
-10
View File
@@ -1,13 +1,3 @@
/////////////////////////////////////////////////////////////////////////////
// Name: sashtest.h
// Purpose: Layout window/sash sample
// Author: Julian Smart
// Modified by:
// Created: 04/01/98
// RCS-ID: $Id: sashtest.h,v 1.4 2002/03/17 14:15:55 VZ Exp $
// Copyright: (c) Julian Smart
// Licence: wxWindows license
/////////////////////////////////////////////////////////////////////////////
#include "wx/toolbar.h"
#include "wx/laywin.h"
+1 -1
View File
@@ -9,7 +9,7 @@
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
* version 3 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
+5 -6
View File
@@ -1,10 +1,10 @@
/***************************************************************************
* Copyright (C) 2005, 2006 by Jonathan Duddington *
* jonsd@users.sourceforge.net *
* Copyright (C) 2005 to 2007 by Jonathan Duddington *
* email: jonsd@users.sourceforge.net *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* the Free Software Foundation; either version 3 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
@@ -13,9 +13,8 @@
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
* along with this program; if not, write see: *
* <http://www.gnu.org/licenses/>. *
***************************************************************************/
+6 -6
View File
@@ -1,10 +1,10 @@
/***************************************************************************
* Copyright (C) 2006 by Jonathan Duddington *
* jonsd@users.sourceforge.net *
* Copyright (C) 2005 to 2007 by Jonathan Duddington *
* email: jonsd@users.sourceforge.net *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* the Free Software Foundation; either version 3 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
@@ -13,10 +13,10 @@
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
* along with this program; if not, write see: *
* <http://www.gnu.org/licenses/>. *
***************************************************************************/
#include "StdAfx.h"
+6 -6
View File
@@ -1,10 +1,10 @@
/***************************************************************************
* Copyright (C) 2005,2006 by Jonathan Duddington *
* jonsd@users.sourceforge.net *
* Copyright (C) 2005 to 2007 by Jonathan Duddington *
* email: jonsd@users.sourceforge.net *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* the Free Software Foundation; either version 3 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
@@ -13,11 +13,11 @@
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
* along with this program; if not, write see: *
* <http://www.gnu.org/licenses/>. *
***************************************************************************/
#include "wx/wx.h"
#include "wx/fileconf.h"
#include "sys/stat.h"
+11 -9
View File
@@ -1,18 +1,20 @@
/***************************************************************************
options.h - description
-------------------
begin : Sat Mar 13 2004
copyright : (C) 2004 by Jonathan Duddington
email : jsd@jsd.clara.co.uk
***************************************************************************/
/***************************************************************************
* Copyright (C) 2005 to 2007 by Jonathan Duddington *
* email: jonsd@users.sourceforge.net *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* the Free Software Foundation; either version 3 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write see: *
* <http://www.gnu.org/licenses/>. *
***************************************************************************/
#ifndef OPTIONS_H
+6 -6
View File
@@ -1,10 +1,10 @@
/***************************************************************************
* Copyright (C) 2005,2006 by Jonathan Duddington *
* jonsd@users.sourceforge.net *
* Copyright (C) 2005 to 2007 by Jonathan Duddington *
* email: jonsd@users.sourceforge.net *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* the Free Software Foundation; either version 3 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
@@ -13,12 +13,12 @@
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
* along with this program; if not, write see: *
* <http://www.gnu.org/licenses/>. *
***************************************************************************/
// phoneme types
#define phPAUSE 0
#define phSTRESS 1
+6 -6
View File
@@ -1,10 +1,10 @@
/***************************************************************************
* Copyright (C) 2007 by Jonathan Duddington *
* jonsd@users.sourceforge.net *
* Copyright (C) 2005 to 2007 by Jonathan Duddington *
* email: jonsd@users.sourceforge.net *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* the Free Software Foundation; either version 3 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
@@ -13,10 +13,10 @@
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
* along with this program; if not, write see: *
* <http://www.gnu.org/licenses/>. *
***************************************************************************/
#include "StdAfx.h"
#include <stdio.h>
+6 -6
View File
@@ -1,10 +1,10 @@
/***************************************************************************
* Copyright (C) 2005, 2006 by Jonathan Duddington *
* jonsd@users.sourceforge.net *
* Copyright (C) 2005 to 2007 by Jonathan Duddington *
* email: jonsd@users.sourceforge.net *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* the Free Software Foundation; either version 3 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
@@ -13,12 +13,12 @@
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
* along with this program; if not, write see: *
* <http://www.gnu.org/licenses/>. *
***************************************************************************/
#include "wx/wx.h"
#include "wx/numdlg.h"
+6 -6
View File
@@ -1,10 +1,10 @@
/***************************************************************************
* Copyright (C) 2005 by Jonathan Duddington *
* jonsd@users.sourceforge.net *
* Copyright (C) 2005 to 2007 by Jonathan Duddington *
* email: jonsd@users.sourceforge.net *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* the Free Software Foundation; either version 3 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
@@ -13,10 +13,10 @@
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
* along with this program; if not, write see: *
* <http://www.gnu.org/licenses/>. *
***************************************************************************/
#include "StdAfx.h"
#include <stdio.h>
+6 -6
View File
@@ -1,10 +1,10 @@
/***************************************************************************
* Copyright (C) 2005,2006 by Jonathan Duddington *
* jonsd@users.sourceforge.net *
* Copyright (C) 2005 to 2007 by Jonathan Duddington *
* email: jonsd@users.sourceforge.net *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* the Free Software Foundation; either version 3 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
@@ -13,10 +13,10 @@
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
* along with this program; if not, write see: *
* <http://www.gnu.org/licenses/>. *
***************************************************************************/
#include "StdAfx.h"
#include <stdlib.h>
+14 -19
View File
@@ -1,10 +1,10 @@
/***************************************************************************
* Copyright (C) 2005,2006 by Jonathan Duddington *
* jonsd@users.sourceforge.net *
* Copyright (C) 2005 to 2007 by Jonathan Duddington *
* email: jonsd@users.sourceforge.net *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* the Free Software Foundation; either version 3 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
@@ -13,10 +13,10 @@
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
* along with this program; if not, write see: *
* <http://www.gnu.org/licenses/>. *
***************************************************************************/
#include "StdAfx.h"
#include "speech.h"
@@ -84,14 +84,10 @@ static const char *help_text =
"\t =<characters> is omitted, all punctuation is spoken.\n"
"--voices=<langauge>\n"
"\t List the available voices for the specified language.\n"
"\t If <language> is omitted, then list all voices.\n";
#ifdef deleted
"\t If <language> is omitted, then list all voices.\n"
"-k <integer>\n"
"\t Indicate capital letters with: 1=sound, 2=the word \"capitals\",\n"
"\t higher values = a pitch increase (try -k20).\n";
#endif
void DisplayVoices(FILE *f_out, char *language);
@@ -245,14 +241,13 @@ static void init_path(void)
sprintf(path_home,"%s\\espeak-data",buf);
#else
char *env;
if((env = getenv("ESPEAK-DATA-PATH")) != NULL)
{
snprintf(path_home,sizeof(path_home),"%s/espeak-data",env);
if(GetFileLength(path_home) == -2)
return; // an espeak-data directory exists
}
// char *env;
// if((env = getenv("ESPEAK-DATA-PATH")) != NULL)
// {
// snprintf(path_home,sizeof(path_home),"%s/espeak-data",env);
// if(GetFileLength(path_home) == -2)
// return; // an espeak-data directory exists
// }
snprintf(path_home,sizeof(path_home),"%s/espeak-data",getenv("HOME"));
if(access(path_home,R_OK) != 0)
+13 -13
View File
@@ -1,10 +1,10 @@
/***************************************************************************
* Copyright (C) 2005,2006 by Jonathan Duddington *
* jonsd@users.sourceforge.net *
* Copyright (C) 2005 to 2007 by Jonathan Duddington *
* email: jonsd@users.sourceforge.net *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* the Free Software Foundation; either version 3 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
@@ -13,10 +13,10 @@
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
* along with this program; if not, write see: *
* <http://www.gnu.org/licenses/>. *
***************************************************************************/
#include "StdAfx.h"
#include "stdio.h"
@@ -292,7 +292,7 @@ static void init_path(const char *path)
return;
}
if((env = getenv("espeak-path")) != NULL)
if((env = getenv("ESPEAK-DATA-PATH")) != NULL)
{
sprintf(path_home,"%s/espeak-data",env);
if(GetFileLength(path_home) == -2)
@@ -316,12 +316,12 @@ static void init_path(const char *path)
return;
}
if((env = getenv("ESPEAK-DATA-PATH")) != NULL)
{
snprintf(path_home,sizeof(path_home),"%s/espeak-data",env);
if(GetFileLength(path_home) == -2)
return; // an espeak-data directory exists
}
// if((env = getenv("ESPEAK-DATA-PATH")) != NULL)
// {
// snprintf(path_home,sizeof(path_home),"%s/espeak-data",env);
// if(GetFileLength(path_home) == -2)
// return; // an espeak-data directory exists
// }
snprintf(path_home,sizeof(path_home),"%s/espeak-data",getenv("HOME"));
if(access(path_home,R_OK) != 0)
+5 -6
View File
@@ -1,12 +1,12 @@
#ifndef SPEAK_LIB_H
#define SPEAK_LIB_H
/***************************************************************************
* Copyright (C) 2006 by Jonathan Duddington *
* jonsd@users.sourceforge.net *
* Copyright (C) 2005 to 2007 by Jonathan Duddington *
* email: jonsd@users.sourceforge.net *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* the Free Software Foundation; either version 3 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
@@ -15,9 +15,8 @@
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
* along with this program; if not, write see: *
* <http://www.gnu.org/licenses/>. *
***************************************************************************/
+18 -19
View File
@@ -1,23 +1,22 @@
/**************************************************************************
* Copyright (C) 2005,2006 by Jonathan Duddington *
* jonsd@users.sourceforge.net *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/
/***************************************************************************
* Copyright (C) 2005 to 2007 by Jonathan Duddington *
* email: jonsd@users.sourceforge.net *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 3 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write see: *
* <http://www.gnu.org/licenses/>. *
***************************************************************************/
#define USE_MODULE
+5 -6
View File
@@ -1,10 +1,10 @@
/***************************************************************************
* Copyright (C) 2005,2006 by Jonathan Duddington *
* jonsd@users.sourceforge.net *
* Copyright (C) 2005 to 2007 by Jonathan Duddington *
* email: jonsd@users.sourceforge.net *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* the Free Software Foundation; either version 3 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
@@ -13,9 +13,8 @@
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
* along with this program; if not, write see: *
* <http://www.gnu.org/licenses/>. *
***************************************************************************/
+19
View File
@@ -1,3 +1,22 @@
/***************************************************************************
* Copyright (C) 2005 to 2007 by Jonathan Duddington *
* email: jonsd@users.sourceforge.net *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 3 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write see: *
* <http://www.gnu.org/licenses/>. *
***************************************************************************/
#include "wx/spinctrl.h"
#include "wx/notebook.h"
+5 -6
View File
@@ -1,10 +1,10 @@
/***************************************************************************
* Copyright (C) 2005,2006 by Jonathan Duddington *
* jonsd@users.sourceforge.net *
* Copyright (C) 2005 to 2007 by Jonathan Duddington *
* email: jonsd@users.sourceforge.net *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* the Free Software Foundation; either version 3 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
@@ -13,9 +13,8 @@
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
* along with this program; if not, write see: *
* <http://www.gnu.org/licenses/>. *
***************************************************************************/
+6 -6
View File
@@ -1,10 +1,10 @@
/***************************************************************************
* Copyright (C) 2005,2006 by Jonathan Duddington *
* jonsd@users.sourceforge.net *
* Copyright (C) 2005 to 2007 by Jonathan Duddington *
* email: jonsd@users.sourceforge.net *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* the Free Software Foundation; either version 3 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
@@ -13,11 +13,11 @@
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
* along with this program; if not, write see: *
* <http://www.gnu.org/licenses/>. *
***************************************************************************/
#include "wx/wx.h"
#include <math.h>
+6 -6
View File
@@ -1,10 +1,10 @@
/***************************************************************************
* Copyright (C) 2005,2006 by Jonathan Duddington *
* jonsd@users.sourceforge.net *
* Copyright (C) 2005 to 2007 by Jonathan Duddington *
* email: jonsd@users.sourceforge.net *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* the Free Software Foundation; either version 3 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
@@ -13,11 +13,11 @@
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
* along with this program; if not, write see: *
* <http://www.gnu.org/licenses/>. *
***************************************************************************/
#include <sys/types.h>
// conditional compilation options
+6 -6
View File
@@ -1,10 +1,10 @@
/***************************************************************************
* Copyright (C) 2007 by Jonathan Duddington *
* jonsd@users.sourceforge.net *
* Copyright (C) 2005 to 2007 by Jonathan Duddington *
* email: jonsd@users.sourceforge.net *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* the Free Software Foundation; either version 3 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
@@ -13,10 +13,10 @@
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
* along with this program; if not, write see: *
* <http://www.gnu.org/licenses/>. *
***************************************************************************/
#include "StdAfx.h"
#include <stdio.h>
+9 -9
View File
@@ -1,10 +1,10 @@
/***************************************************************************
* Copyright (C) 2005,2006 by Jonathan Duddington *
* jonsd@users.sourceforge.net *
* Copyright (C) 2005 to 2007 by Jonathan Duddington *
* email: jonsd@users.sourceforge.net *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* the Free Software Foundation; either version 3 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
@@ -13,13 +13,13 @@
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
* along with this program; if not, write see: *
* <http://www.gnu.org/licenses/>. *
***************************************************************************/
#include "StdAfx.h"
#include "StdAfx.h"
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
@@ -35,8 +35,8 @@
#include "translate.h"
#include "wave.h"
const char *version_string = "1.26.11 26.Jun.07";
const int version_phdata = 0x012601;
const char *version_string = "1.27 30.Jun.07";
const int version_phdata = 0x012701;
int option_device_number = -1;
+40 -20
View File
@@ -1,10 +1,10 @@
/***************************************************************************
* Copyright (C) 2005,2006 by Jonathan Duddington *
* jonsd@users.sourceforge.net *
* Copyright (C) 2005 to 2007 by Jonathan Duddington *
* email: jonsd@users.sourceforge.net *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* the Free Software Foundation; either version 3 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
@@ -13,10 +13,10 @@
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
* along with this program; if not, write see: *
* <http://www.gnu.org/licenses/>. *
***************************************************************************/
#include "StdAfx.h"
#include <stdio.h>
@@ -325,18 +325,24 @@ static void set_frame_rms(frame_t *fr, int new_rms)
int h;
int ix;
static const short sqrt_tab[100] = {
0, 64, 90,110,128,143,156,169,181,192,202,212,221,230,239,247,
256,263,271,278,286,293,300,306,313,320,326,332,338,344,350,356,
362,367,373,378,384,389,394,399,404,409,414,419,424,429,434,438,
443,448,452,457,461,465,470,474,478,483,487,491,495,499,503,507,
512,515,519,523,527,531,535,539,543,546,550,554,557,561,565,568,
572,576,579,583,586,590,593,596,600,603,607,610,613,617,620,623,
627,630,633,636 };
static const short sqrt_tab[200] = {
0, 64, 90,110,128,143,156,169,181,192,202,212,221,230,239,247,
256,263,271,278,286,293,300,306,313,320,326,332,338,344,350,356,
362,367,373,378,384,389,394,399,404,409,414,419,424,429,434,438,
443,448,452,457,461,465,470,474,478,483,487,491,495,499,503,507,
512,515,519,523,527,531,535,539,543,546,550,554,557,561,565,568,
572,576,579,583,586,590,593,596,600,603,607,610,613,617,620,623,
627,630,633,636,640,643,646,649,652,655,658,662,665,668,671,674,
677,680,683,686,689,692,695,698,701,704,706,709,712,715,718,721,
724,726,729,732,735,738,740,743,746,749,751,754,757,759,762,765,
768,770,773,775,778,781,783,786,789,791,794,796,799,801,804,807,
809,812,814,817,819,822,824,827,829,832,834,836,839,841,844,846,
849,851,853,856,858,861,863,865,868,870,872,875,877,879,882,884,
886,889,891,893,896,898,900,902};
if(fr->rms == 0) return; // check for divide by zero
x = (new_rms * 64)/fr->rms;
if(x >= 100) x = 99;
if(x >= 200) x = 199;
x = sqrt_tab[x]; // sqrt(new_rms/fr->rms)*0x200;
@@ -464,6 +470,7 @@ int FormantTransition2(frameref_t *seq, int &n_frames, unsigned int data1, unsig
{//==============================================================================================================================
int ix;
int formant;
int next_rms;
int len;
int rms;
@@ -489,7 +496,7 @@ static short vcolouring[N_VCOLOUR][5] = {
return(0);
len = (data1 & 0x3f) * 2;
rms = ((data1 >> 6) & 0x3f) * 2;
rms = (data1 >> 6) & 0x3f;
flags = (data1 >> 12);
f2 = (data2 & 0x3f) * 50;
@@ -517,26 +524,39 @@ static short vcolouring[N_VCOLOUR][5] = {
seq[0].frflags |= FRFLAG_LEN_MOD; // reduce length modification
fr->frflags |= FRFLAG_LEN_MOD;
next_rms = seq[1].frame->rms;
if(f2 != 0)
{
if(rms & 0x20)
{
set_frame_rms(fr,(next_rms * (rms & 0x1f))/30);
}
AdjustFormants(fr, f2, f2_min, f2_max, f1, f3_adj, f3_amp, flags);
set_frame_rms(fr,rms);
if((rms & 0x20) == 0)
{
set_frame_rms(fr,rms*2);
}
}
else
{
set_frame_rms(fr,RMS_START);
if(flags & 8)
set_frame_rms(fr,(next_rms*24)/32);
else
set_frame_rms(fr,RMS_START);
}
if(flags & 8)
{
set_frame_rms(fr,seq[1].frame->rms - 5);
// set_frame_rms(fr,next_rms - 5);
modn_flags = 0x800 + (VowelCloseness(fr) << 8);
}
}
else
{
// exit from vowel
rms = rms*2;
if((f2 != 0) || (flags != 0))
{
+6 -6
View File
@@ -1,10 +1,10 @@
/***************************************************************************
* Copyright (C) 2005,2006 by Jonathan Duddington *
* jonsd@users.sourceforge.net *
* Copyright (C) 2005 to 2007 by Jonathan Duddington *
* email: jonsd@users.sourceforge.net *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* the Free Software Foundation; either version 3 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
@@ -13,11 +13,11 @@
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
* along with this program; if not, write see: *
* <http://www.gnu.org/licenses/>. *
***************************************************************************/
#define N_PHONEME_LIST 700 // enough for source[] full of text, else it will truncate
#define MAX_HARMONIC 400 // 400 * 50Hz = 20 kHz, more than enough
+6 -6
View File
@@ -1,10 +1,10 @@
/***************************************************************************
* Copyright (C) 2005,2006 by Jonathan Duddington *
* jonsd@users.sourceforge.net *
* Copyright (C) 2005 to 2007 by Jonathan Duddington *
* email: jonsd@users.sourceforge.net *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* the Free Software Foundation; either version 3 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
@@ -13,10 +13,10 @@
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
* along with this program; if not, write see: *
* <http://www.gnu.org/licenses/>. *
***************************************************************************/
#include "StdAfx.h"
#include <stdio.h>
+28 -10
View File
@@ -1,10 +1,10 @@
/***************************************************************************
* Copyright (C) 2005,2006 by Jonathan Duddington *
* jonsd@users.sourceforge.net *
* Copyright (C) 2005 to 2007 by Jonathan Duddington *
* email: jonsd@users.sourceforge.net *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* the Free Software Foundation; either version 3 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
@@ -13,10 +13,10 @@
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
* along with this program; if not, write see: *
* <http://www.gnu.org/licenses/>. *
***************************************************************************/
#include "StdAfx.h"
#include <stdio.h>
@@ -226,7 +226,7 @@ Translator *SelectTranslator(const char *name)
case L('f','r'): // french
{
static int stress_lengths_fr[8] = {180, 160, 180, 190, 0, 0, 220, 220};
static int stress_lengths_fr[8] = {190, 170, 190, 200, 0, 0, 235, 235};
static int stress_amps_fr[8] = {16,14, 20,20, 20,24, 24,22 };
tr = new Translator();
@@ -379,10 +379,10 @@ Translator *SelectTranslator(const char *name)
tr->langopts.unstressed_wd1 = 2;
tr->langopts.unstressed_wd2 = 2;
tr->langopts.param[LOPT_IT_LENGTHEN] = 2; // remove lengthen indicator from unstressed or non-penultimate syllables
// tr->langopts.param[LOPT_IT_DOUBLING] = 2;
tr->langopts.param[LOPT_IT_DOUBLING] = 2; // double the first consonant if the previous word ends in a stressed vowel
tr->langopts.param[LOPT_SONORANT_MIN] = 130; // limit the shortening of sonorants before short vowels
tr->langopts.param[LOPT_REDUCE] = 1; // reduce vowels even if phonemes are specified in it_list
tr->langopts.numbers = 0x2709;
tr->langopts.numbers = 0x2709 + 0x800;
}
break;
@@ -391,13 +391,31 @@ Translator *SelectTranslator(const char *name)
tr = new Translator();
tr->charset_a0 = charsets[4]; // ISO-8859-4, includes a,e,i,o,u-macron
tr->langopts.stress_rule = 2;
tr->langopts.stress_flags = 0x21;
tr->langopts.stress_flags = 0x20;
tr->langopts.unstressed_wd1 = 0;
tr->langopts.unstressed_wd2 = 2;
tr->langopts.param[LOPT_DIERESES] = 1;
}
break;
case L('m','k'): // Macedonian
{
static wchar_t vowels_cyrillic[] = {0x430,0x435,0x438,0x439,0x43e,0x443,0x44b,0x44d,0x44e,0x44f,0x450,0x451,0x456,0x457,0x45d,0x45e,0};
static int stress_amps_mk[8] = {16,16, 20,20, 20,24, 24,22 };
static int stress_lengths_mk[8] = {180,160, 200,200, 0,0, 220,230};
tr = new Translator();
SetupTranslator(tr,stress_lengths_mk,stress_amps_mk);
tr->charset_a0 = charsets[2]; // ISO-8859-2
tr->letter_groups[0] = vowels_cyrillic;
tr->langopts.stress_rule = 4; // antipenultimate
tr->langopts.numbers = 0x0c29 + 0x84000;
tr->langopts.numbers2 = 0xa; // variant numbers before thousands,milliards
}
break;
case L('n','l'): // Dutch
{
static const int stress_lengths_nl[8] = {160,135, 210,210, 0, 0, 260,280};
+6 -6
View File
@@ -1,10 +1,10 @@
/***************************************************************************
* Copyright (C) 2005,2006 by Jonathan Duddington *
* jonsd@users.sourceforge.net *
* Copyright (C) 2005 to 2007 by Jonathan Duddington *
* email: jonsd@users.sourceforge.net *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* the Free Software Foundation; either version 3 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
@@ -13,14 +13,14 @@
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
* along with this program; if not, write see: *
* <http://www.gnu.org/licenses/>. *
***************************************************************************/
class Translator_English: public Translator
{//=======================================
+29 -10
View File
@@ -1,10 +1,10 @@
/***************************************************************************
* Copyright (C) 2005, 2006 by Jonathan Duddington *
* jonsd@users.sourceforge.net *
* Copyright (C) 2005 to 2007 by Jonathan Duddington *
* email: jonsd@users.sourceforge.net *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* the Free Software Foundation; either version 3 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
@@ -13,10 +13,10 @@
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
* along with this program; if not, write see: *
* <http://www.gnu.org/licenses/>. *
***************************************************************************/
#include "StdAfx.h"
#include <stdio.h>
@@ -922,8 +922,22 @@ strcpy(phonemes2,phonemes);
{
if((langopts.param[LOPT_PREFIXES]) || (prefix_type & SUFX_T))
{
char *p;
// German, keep a secondary stress on the stem
SetWordStress(phonemes,dictionary_flags,3,0);
// reduce all but the first primary stress
ix=0;
for(p=prefix_phonemes; *p != 0; p++)
{
if(*p == phonSTRESS_P)
{
if(ix==0)
ix=1;
else
*p = phonSTRESS_3;
}
}
strcpy(word_phonemes,prefix_phonemes);
strcat(word_phonemes,phonemes);
SetWordStress(word_phonemes,dictionary_flags,-1,0);
@@ -1421,7 +1435,8 @@ int Translator::TranslateWord2(char *word, WORD_TAB *wtab, int pre_pause, int ne
{
if(first_phoneme && langopts.param[LOPT_IT_DOUBLING])
{
if((prev_dict_flags & FLAG_DOUBLING) || (end_stressed_vowel && (langopts.param[LOPT_IT_DOUBLING] == 2)))
if(((prev_dict_flags & FLAG_DOUBLING) && (langopts.param[LOPT_IT_DOUBLING] & 1)) ||
(end_stressed_vowel && (langopts.param[LOPT_IT_DOUBLING] & 2)))
{
// italian, double the initial consonant if the previous word ends with a
// stressed vowel, or is marked with a flag
@@ -1534,7 +1549,7 @@ int Translator::TranslateChar(char *ptr, int prev_in, int c, int next_in, int *i
// To allow language specific examination and replacement of characters
const wchar_t *p;
unsigned int new_c;
unsigned int new_c, c2;
int upper_case = 0;
if(c == 0) return(0);
@@ -1555,8 +1570,12 @@ int Translator::TranslateChar(char *ptr, int prev_in, int c, int next_in, int *i
new_c = langopts.replacement_chars[p - langopts.replace_chars];
if(new_c & 0xffe00000)
{
// there is a second character to be inserted (don't convert the case of the second character)
*insert = (new_c >> 16);
// there is a second character to be inserted
// don't convert the case of the second character unless the next letter is also upper case
c2 = new_c >> 16;
if(upper_case && iswupper(next_in))
c2 = towupper(c2);
*insert = c2;
new_c &= 0xffff;
}
#ifndef PLATFORM_RISCOS
+7 -7
View File
@@ -1,10 +1,10 @@
/***************************************************************************
* Copyright (C) 2005,2006 by Jonathan Duddington *
* jonsd@users.sourceforge.net *
* Copyright (C) 2005 to 2007 by Jonathan Duddington *
* email: jonsd@users.sourceforge.net *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* the Free Software Foundation; either version 3 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
@@ -13,11 +13,11 @@
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
* along with this program; if not, write see: *
* <http://www.gnu.org/licenses/>. *
***************************************************************************/
#define L(c1,c2) (c1<<8)+c2 // combine two characters into an integer for translator name
#define CTRL_EMBEDDED 0x01 // control character at the start of an embedded command
@@ -290,7 +290,7 @@ typedef struct {
// bits13-15 post-decimal-digits 0=single digits, 1=(LANG=it) 2=(LANG=pl) 3=(LANG=ro)
// bit16=dot after number indicates ordinal
// bit18=special word for 100,000s LANG=sw
// bit19=(LANG=pl)
// bit19=(LANG=pl) two forms of plural, M or MA
int numbers;
+6 -6
View File
@@ -1,10 +1,10 @@
/***************************************************************************
* Copyright (C) 2005,2006 by Jonathan Duddington *
* jonsd@users.sourceforge.net *
* Copyright (C) 2005 to 2007 by Jonathan Duddington *
* email: jonsd@users.sourceforge.net *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* the Free Software Foundation; either version 3 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
@@ -13,12 +13,12 @@
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
* along with this program; if not, write see: *
* <http://www.gnu.org/licenses/>. *
***************************************************************************/
#include "wx/wx.h"
+6 -6
View File
@@ -1,10 +1,10 @@
/***************************************************************************
* Copyright (C) 2005 by Jonathan Duddington *
* jonsd@users.sourceforge.net *
* Copyright (C) 2005 to 2007 by Jonathan Duddington *
* email: jonsd@users.sourceforge.net *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* the Free Software Foundation; either version 3 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
@@ -13,12 +13,12 @@
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
* along with this program; if not, write see: *
* <http://www.gnu.org/licenses/>. *
***************************************************************************/
typedef struct {
char name[40];
+6 -6
View File
@@ -1,10 +1,10 @@
/***************************************************************************
* Copyright (C) 2005, 2006 by Jonathan Duddington *
* jonsd@users.sourceforge.net *
* Copyright (C) 2005 to 2007 by Jonathan Duddington *
* email: jonsd@users.sourceforge.net *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* the Free Software Foundation; either version 3 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
@@ -13,11 +13,11 @@
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
* along with this program; if not, write see: *
* <http://www.gnu.org/licenses/>. *
***************************************************************************/
#include "wx/wx.h"
+13 -13
View File
@@ -1,10 +1,10 @@
/***************************************************************************
* Copyright (C) 2005 by Jonathan Duddington *
* jonsd@users.sourceforge.net *
* Copyright (C) 2005 to 2007 by Jonathan Duddington *
* email: jonsd@users.sourceforge.net *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* the Free Software Foundation; either version 3 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
@@ -13,10 +13,10 @@
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
* along with this program; if not, write see: *
* <http://www.gnu.org/licenses/>. *
***************************************************************************/
#include "StdAfx.h"
#include "stdio.h"
@@ -684,12 +684,12 @@ voice_t *LoadVoice(const char *vname, int control)
case V_PITCH:
{
double factor;
// default is pitch 82 118
n = sscanf(p,"%d %d",&pitch1,&pitch2);
voice->pitch_base = (pitch1 - 9) << 12;
voice->pitch_range = (pitch2 - pitch1) * 108;
factor = float(pitch1 - 82)/82;
voice->formant_factor = (1+factor/4) * 256;
// default is pitch 82 118
n = sscanf(p,"%d %d",&pitch1,&pitch2);
voice->pitch_base = (pitch1 - 9) << 12;
voice->pitch_range = (pitch2 - pitch1) * 108;
factor = double(pitch1 - 82)/82;
voice->formant_factor = (int)((1+factor/4) * 256); // nominal formant shift for a different voice pitch
}
break;
@@ -807,7 +807,7 @@ voice_t *LoadVoice(const char *vname, int control)
voice->breath[0] = Read8Numbers(p,&voice->breath[1]);
for(ix=1; ix<8; ix++)
{
if(ix & 1)
if(ix % 2)
voice->breath[ix] = -voice->breath[ix];
}
break;
+6 -6
View File
@@ -1,10 +1,10 @@
/***************************************************************************
* Copyright (C) 2005,2006 by Jonathan Duddington *
* jonsd@users.sourceforge.net *
* Copyright (C) 2005 to 2007 by Jonathan Duddington *
* email: jonsd@users.sourceforge.net *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* the Free Software Foundation; either version 3 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
@@ -13,11 +13,11 @@
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
* along with this program; if not, write see: *
* <http://www.gnu.org/licenses/>. *
***************************************************************************/
#include <math.h>
#include "wx/wx.h"
#include <wx/dcmemory.h>
+1 -1
View File
@@ -4,7 +4,7 @@
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* the Free Software Foundation; either version 3 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
+9 -10
View File
@@ -1,10 +1,10 @@
/***************************************************************************
* Copyright (C) 2005, 2006 by Jonathan Duddington *
* jonsd@users.sourceforge.net *
* Copyright (C) 2005 to 2007 by Jonathan Duddington *
* email: jonsd@users.sourceforge.net *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* the Free Software Foundation; either version 3 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
@@ -13,10 +13,10 @@
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
* along with this program; if not, write see: *
* <http://www.gnu.org/licenses/>. *
***************************************************************************/
#include "StdAfx.h"
// this version keeps wavemult window as a constant fraction
@@ -1050,8 +1050,6 @@ void SetBreath()
} // end of SetBreath
#define getrandom(min,max) ((rand()%(int)(((max)+1)-(min)))+(min))
int ApplyBreath(void)
{//==================
int noise;
@@ -1059,13 +1057,14 @@ int ApplyBreath(void)
int amp;
int value = 0;
noise = getrandom(-4095,4095);
// use two random numbers, for alternate formants
noise = (rand() & 0x3fff) - 0x2000;
for(ix=1; ix < N_PEAKS; ix++)
{
if((amp = wvoice->breath[ix]) != 0)
{
amp *= (peaks[ix].height >> 13);
amp *= (peaks[ix].height >> 14);
value += int(resonator(&rbreath[ix],noise) * amp);
}
}
+3 -2
View File
@@ -2,7 +2,7 @@
[Setup]
AppName=eSpeak
AppVerName=eSpeak version 1.26.10
AppVerName=eSpeak version 1.27
DefaultDirName={pf}\eSpeak
DefaultGroupName=eSpeak
OutputBaseFilename=setup_espeak
@@ -63,7 +63,7 @@ v3=Enter voice names, eg: (for Portuguese) pt, or with a variant, eg: pt+13
pt.v1=Seleccione as vozes que pretende instalar
pt.v2=ou precione enter para aceitar as predefinidas.
pt.v3=Introduza os nomes das vozes, ex: (Brazil) pt (ou Portugal) pt-pt, ou com outras características, ex: pt+13
pt.v3=Introduza os nomes das vozes, ex: (Brazil) pt (ou Portugal) pt-pt, ou com outras caracter�sticas, ex: pt+13
@@ -96,6 +96,7 @@ begin
$0b: Result := 'fi';
$0c: Result := 'fr';
$0e: Result := 'hu';
$0f: Result := 'is';
$10: Result := 'it';
$13: Result := 'nl';
$14: Result := 'no';
+1 -1
View File
@@ -1,7 +1,7 @@
[Setup]
AppName=eSpeakEdit
AppVerName=eSpeakEdit version 1.26.10
AppVerName=eSpeakEdit version 1.27
DefaultDirName={pf}\eSpeak
DefaultGroupName=eSpeak
OutputBaseFilename=setup_espeakedit
+22 -38
View File
@@ -1,25 +1,28 @@
/*******************************************************************************
* TtsEngObj.cpp *
*---------------*
* Description:
* This module is the main implementation file for the CTTSEngObj class.
*-------------------------------------------------------------------------------
* Creation Date: 03/24/99
* Copyright (c) Microsoft Corporation. All rights reserved.
* All Rights Reserved
*
*******************************************************************************/
/***************************************************************************
* Copyright (C) 2005 to 2007 by Jonathan Duddington *
* email: jonsd@users.sourceforge.net *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 3 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write see: *
* <http://www.gnu.org/licenses/>. *
***************************************************************************/
//--- Additional includes
#include "stdafx.h"
#include "TtsEngObj.h"
#include "src/speak_lib.h"
#include "stdio.h"
//--- Local
//#define LOG_DEBUG
#define CTRL_EMBEDDED 1
@@ -176,14 +179,8 @@ static int ConvertRange(int range)
return(range_table[range+10]/2);
}
/*****************************************************************************
* CTTSEngObj::FinalConstruct *
*----------------------------*
* Description:
* Constructor
*****************************************************************************/
HRESULT CTTSEngObj::FinalConstruct()
{
{//=================================
SPDBG_FUNC( "CTTSEngObj::FinalConstruct" );
HRESULT hr = S_OK;
@@ -203,14 +200,9 @@ if(f_log2) fprintf(f_log2,"\n****\n");
return hr;
} /* CTTSEngObj::FinalConstruct */
/*****************************************************************************
* CTTSEngObj::FinalRelease *
*--------------------------*
* Description:
* destructor
*****************************************************************************/
void CTTSEngObj::FinalRelease()
{
{//============================
SPDBG_FUNC( "CTTSEngObj::FinalRelease" );
delete m_pWordList;
@@ -646,17 +638,9 @@ HRESULT CTTSEngObj::CheckActions( ISpTTSEngineSite* pOutputSite )
/*****************************************************************************
* CTTSEngObj::GetVoiceFormat *
*----------------------------*
* Description:
* This method returns the output data format associated with the
* specified format Index. Formats are in order of quality with the best
* starting at 0.
*****************************************************************************/
STDMETHODIMP CTTSEngObj::GetOutputFormat( const GUID * pTargetFormatId, const WAVEFORMATEX * pTargetWaveFormatEx,
GUID * pDesiredFormatId, WAVEFORMATEX ** ppCoMemDesiredWaveFormatEx )
{
{//========================================================================
SPDBG_FUNC( "CTTSEngObj::GetVoiceFormat" );
HRESULT hr = S_OK;
enum SPSTREAMFORMAT sample_rate = SPSF_22kHz16BitMono;