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-fd96e6ae7743master
_9X 'ne@x2@ntIx2 | _9X 'ne@x2@ntIx2 | ||||
_0C 'hOn@rt | _0C 'hOn@rt | ||||
_0M1 'd'Yys@nt | _0M1 'd'Yys@nt | ||||
_0M2 'mIljun | _0M2 mIlj'un | ||||
_0M3 mIlj'art | _0M3 mIlj'art | ||||
_0and _!En | _0and _!En | ||||
_dpt 'pWnt | _dpt 'pWnt | ||||
ceylon s@lOn | ceylon s@lOn | ||||
china S'ina | china S'ina | ||||
engeland 'EN@lant | engeland 'EN@lant | ||||
jerusalem j@r'ysalEm | |||||
kanada kanad%a | kanada kanad%a | ||||
kongo kONgu | kongo kONgu | ||||
mesopotamië mEsuput'A:mi@ | mesopotamië mEsuput'A:mi@ | ||||
// People names | // People names | ||||
Abiméleg abin'e@lEx2 | Abiméleg abin'e@lEx2 | ||||
allah %alA: | |||||
André 'andreI | André 'andreI | ||||
annette an'Et | annette an'Et | ||||
aucamp @Ukamp | aucamp @Ukamp | ||||
breytenbach breIt@nbax2 | breytenbach breIt@nbax2 | ||||
carl kA:r@L | carl kA:r@L | ||||
charles _^_EN | charles _^_EN | ||||
charlie tSA:li | |||||
chopin S%OpA~ | chopin S%OpA~ | ||||
chris krIs | chris krIs | ||||
christo krIstu | christo krIstu | ||||
estelle %ist&l | estelle %ist&l | ||||
eugene judZ'i:n | eugene judZ'i:n | ||||
eugène yZ'En | eugène yZ'En | ||||
farao fA:ro@ | |||||
ferreira f@r&:r@ | ferreira f@r&:r@ | ||||
fourie fur'i | fourie fur'i | ||||
francois franSwa | francois franSwa | ||||
jesus ji:sWs | jesus ji:sWs | ||||
joey dZ@Ui | joey dZ@Ui | ||||
john _^_EN | john _^_EN | ||||
jordaan $2 | |||||
josef jo@s@f | |||||
langenhoven laN@nho@f@n | |||||
lategan lA:t@x2an | lategan lA:t@x2an | ||||
le l@ | le l@ | ||||
leandra li'andra | leandra li'andra | ||||
louw l'@U | louw l'@U | ||||
maria mar'ia | maria mar'ia | ||||
martin m'A:rt@n | martin m'A:rt@n | ||||
michelle miS'&l | |||||
michiel $2 | michiel $2 | ||||
mostert m'Ost@rt | mostert m'Ost@rt | ||||
mozart mo@tsart | mozart mo@tsart | ||||
naomi na_'o@mi | |||||
natasha n%at'aSa | natasha n%at'aSa | ||||
paul p@Ul | paul p@Ul | ||||
paulus p@UlWs | paulus p@UlWs | ||||
petrus pe@trWs | petrus pe@trWs | ||||
phoebe fi:bi | phoebe fi:bi | ||||
preez pr'e@ | preez pr'e@ | ||||
rachmaninoff rax2m'aninOf | |||||
rebekka r@bEka | rebekka r@bEka | ||||
ronel run'&l | ronel run'&l | ||||
rousseau r@s@U | rousseau r@s@U | ||||
sou $u | sou $u | ||||
kan $u $strend | kan $u $strend | ||||
kon $u $strend | kon $u $strend | ||||
wil $u $strend | wil $u $strend $only | ||||
word $u | word $u | ||||
gaan $u $only | gaan $u $only | ||||
kry $u | |||||
// conjunctions and questions | // conjunctions and questions | ||||
ondanks 'OndaNks $pause | ondanks 'OndaNks $pause | ||||
verder f'&rd@r $pause | verder f'&rd@r $pause | ||||
nogtans $pause | nogtans $pause | ||||
inteendeel $2 $pause | |||||
intussen $pause | intussen $pause | ||||
omdat $pause | omdat $pause | ||||
sodat $pause | sodat $pause | ||||
aanbid $2 | aanbid $2 | ||||
aanstaande $2 | aanstaande $2 | ||||
agenda ax2'Enda | adagio ad'A:dZi;%@U | ||||
algaande $2 | algaande $2 | ||||
algehele alx2@h,e@l@ | algehele alx2@h,e@l@ | ||||
alles al@s | alles al@s | ||||
alreeds $2 | |||||
alternatiewe $4 | alternatiewe $4 | ||||
amen A:mEn | amen A:mEn | ||||
anatomie $4 | anatomie $4 | ||||
asof asOf | asof asOf | ||||
asook aso@k | asook %as_o@k | ||||
aspris $2 | |||||
asseblief as@bl'if | asseblief as@bl'if | ||||
babelaas bab@lA:s | babelaas bab@lA:s | ||||
bedjie bE:ici | bedjie bE:ici | ||||
beswil bEsv@l | beswil bEsv@l | ||||
bêre b&:r@ | bêre b&:r@ | ||||
beskryf b@skr'eIf | beskryf b@skr'eIf | ||||
beste bEst@ | |||||
bestes bEst@s | bestes bEst@s | ||||
betekenis b@te@k@n@s | betekenis b@te@k@n@s | ||||
bewe be@v@ | bewe be@v@ | ||||
bewering b@ve@rIN | bewering b@ve@rIN | ||||
bostaande b'o@stA:nd@ | bostaande b'o@stA:nd@ | ||||
cabernet kab@rn'eI | |||||
camembert kam@mb'&:r | |||||
dadelik dA:d@lIk | dadelik dA:d@lIk | ||||
darem dar@m | darem dar@m | ||||
derde d&:rd@ | derde d&:rd@ | ||||
figuur f@x2yr | figuur f@x2yr | ||||
finalis $3 | finalis $3 | ||||
finaliste $3 | finaliste $3 | ||||
frontaal $2 | |||||
frontale $2 | |||||
garages g@rA:dZ@s | garages g@rA:dZ@s | ||||
gawes x2A:v@s | |||||
gee x2e@ | gee x2e@ | ||||
geen x2e@n | geen x2e@n | ||||
gegewens x2@x2e@v@ns | gegewens x2@x2e@v@ns | ||||
//gesamentlik x2@sA:m@ntl@k | //gesamentlik x2@sA:m@ntl@k | ||||
gooi x2OI | gooi x2OI | ||||
gomorra x2@mOra | gomorra x2@mOra | ||||
graffiti graf'iti | |||||
hallo h'Il,@U | hallo h'Il,@U | ||||
hanteer $2 | hanteer $2 | ||||
hekke h&k@ | hekke h&k@ | ||||
helaas he@l'A:s | helaas he@l'A:s | ||||
here he@r@ | here he@r@ | ||||
hiernamaals hi:rn'A:mA:ls | |||||
hoewel huv'&l | hoewel huv'&l | ||||
hokaai hOkAI | |||||
hoofsaaklik $2 | hoofsaaklik $2 | ||||
hotel hut'&l | |||||
idee $2 | idee $2 | ||||
ietwat itvat | ietwat itvat | ||||
intens @nt'Ens | intens @nt'Ens | ||||
intensiteit $4 | intensiteit $4 | ||||
joernalis $3 | jawoord jA:vo@rt | ||||
kafee kaf'e@ | kafee kaf'e@ | ||||
kantoor $2 | |||||
kapitaal kapit'A:l | kapitaal kapit'A:l | ||||
komaan kOmA:n | komaan kOmA:n | ||||
komberse kOmb'&rs@ | komberse kOmb'&rs@ | ||||
kombers kOmb'&rs | kombers kOmb'&rs | ||||
kopiereg kup'ir&x2 | kopiereg kup'ir&x2 | ||||
krediet kr@dit | |||||
kritiek krIt'ik | kritiek krIt'ik | ||||
kultuur $2 | kultuur $2 | ||||
kunsmatige kWnsm'A:t@x2@ | kunsmatige kWnsm'A:t@x2@ | ||||
lekkerder l&k@rd@r | lekkerder l&k@rd@r | ||||
lekkerste l&k@rst@ | lekkerste l&k@rst@ | ||||
macaroni makar'o@ni | |||||
madame mad'A:m | |||||
makabere m%ak'A:b@r@ | makabere m%ak'A:b@r@ | ||||
matige mA:t@x2@ | |||||
meegee me@x2e@ | meegee me@x2e@ | ||||
merlot m&rl'o@ | |||||
militêre mIl@t'&:r@ | militêre mIl@t'&:r@ | ||||
minister m@nIst@r | minister m@nIst@r | ||||
minute m@nyt@ | minute m@nyt@ | ||||
motortjie mo@t@rki | motortjie mo@t@rki | ||||
nadele nA:de@l@ | nadele nA:de@l@ | ||||
namens nA:m@ns | |||||
nature nat'yr@ | nature nat'yr@ | ||||
nalatigheid nA:l'A:t@x2eIt | nalatigheid nA:l'A:t@x2eIt | ||||
namate $2 | namate $2 | ||||
netsowel nEtso@v&l | netsowel nEtso@v&l | ||||
nietemin n'it@m@n | nietemin n'it@m@n | ||||
nobelprys $2 | nobelprys $2 | ||||
nogal nOx2al | |||||
normale nOrm'A:l@ | normale nOrm'A:l@ | ||||
november $2 | november $2 | ||||
numeri nWm@ri | numeri nWm@ri | ||||
oeuvre W:vr@ | |||||
omtrent Omtr'Ent | omtrent Omtr'Ent | ||||
onbegrip $1 | onbegrip $1 | ||||
onderweg $3 | onderweg $3 | ||||
ongewensde $3 | ongewensde $3 | ||||
ongewoons $1 | ongewoons $1 | ||||
onkunde $1 | onkunde $1 | ||||
onlangs $1 | |||||
onmag $1 | onmag $1 | ||||
onmin $1 | onmin $1 | ||||
onraad $1 | onraad $1 | ||||
penorent pEno@rEnt | penorent pEno@rEnt | ||||
per pIr | per pIr | ||||
persent p@rsEnt | persent p@rsEnt | ||||
prakseer $2 | |||||
program prux2r'am | program prux2r'am | ||||
reeds re@ts | reeds re@ts | ||||
waarskynlik $2 | waarskynlik $2 | ||||
waarskynlike $2 | waarskynlike $2 | ||||
wangedrag vanx2@drax2 | wangedrag vanx2@drax2 | ||||
weergalm $2 | |||||
weerklink $2 | |||||
weg v&x2 | weg v&x2 | ||||
weggewens v&x2@v'E:ns | weggewens v&x2@v'E:ns | ||||
gegend ge:g@nt | gegend ge:g@nt | ||||
hin hIn | hin hIn | ||||
in In $u+ $brk | in In $u+ $brk | ||||
(in die) %Ind%i: | //(in die) %Ind%i: | ||||
(in den) %Ind%e:n | //(in den) %Ind%e:n | ||||
(in der) %Ind%E* | //(in der) %Ind%E* | ||||
im Im $u+ $brk | im Im $u+ $brk | ||||
ins Ins $u+ $brk | ins Ins $u+ $brk | ||||
mit mIt $u+ $pause | mit mIt $u+ $pause | ||||
ob ,Ob $pause $strend $only | ob ,Ob $pause $strend $only | ||||
pro ,p@-*o: $pause | pro ,p@-*o: $pause | ||||
von fOn $u+ $brk | von fOn $u+ $brk | ||||
(von dem) %fOn%de:m $brk | //(von dem) %fOn%de:m $brk | ||||
vom fOm $u+ $brk | vom fOm $u+ $brk | ||||
vor ,fO* $strend | vor ,fO* $strend | ||||
zu tsu: $u+ $brk | zu tsu: $u+ $brk | ||||
über ,yb3 $pause $strend | über ,yb3 $pause $strend | ||||
unter ,Unt3 $pause $strend | unter ,Unt3 $pause $strend | ||||
um Um $u+ $brk | um Um $u+ $brk | ||||
(um die) %Umd%i: $brk | //(um die) %Umd%i: $brk | ||||
(um den) %Umd%e:m $brk | //(um den) %Umd%e:m $brk | ||||
während $pause | während $pause | ||||
// misc | // misc | ||||
geben ge:b@n | geben ge:b@n | ||||
gebt ge:bt | gebt ge:bt | ||||
gegenüber ge:g@n'y:b3 | gegenüber ge:g@n'y:b3 | ||||
geglichen g@glIC@n | |||||
gemein g@maIn | gemein g@maIn | ||||
genial ge:nI'al | genial ge:nI'al | ||||
geranie ge:*'A:nI@ | geranie ge:*'A:nI@ | ||||
grazie $alt | grazie $alt | ||||
handy handI | handy handI | ||||
häuschen hOYsC@n | |||||
hausier haUz'i:* | |||||
heimat haImat | heimat haImat | ||||
herberg hE*bE*g | herberg hE*bE*g | ||||
historie $alt | historie $alt | ||||
inkonstant $1 | inkonstant $1 | ||||
insbesondere $3 | insbesondere $3 | ||||
interess Int@*'Es | interess Int@*'Es | ||||
intern Int'E*n | |||||
januar janu:A:* | januar janu:A:* | ||||
sabbat zabat | sabbat zabat | ||||
sagt zA:gt | sagt zA:gt | ||||
salopp $2 | |||||
schult Su:lt | |||||
selbst zElpst | selbst zElpst | ||||
serie se:*I;@ | serie se:*I;@ | ||||
service sE*vIs | service sE*vIs | ||||
system z%IstEm | system z%IstEm | ||||
tag tA:g | tag tA:g | ||||
telegen te:le:g'e:n | |||||
the D@ // English | the D@ // English | ||||
theater te:'A:t3 | theater te:'A:t3 | ||||
train t@-*e:n | train t@-*e:n | ||||
turin $2 | turin $2 | ||||
tuerei tu:*aI | tuerei tu:*aI | ||||
umweg $1 | |||||
unten Unt@n | 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 | woher vo:h'e:r | ||||
verein fE*'aIn | verein fE*'aIn |
// *************************************************************************** | |||||
// * 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 | // This file is UTF-8 encoded | ||||
.group a | .group a | ||||
a (isier a | a (isier a | ||||
_) achs (@P4 'aks | _) achs (@P4 'aks | ||||
_) achs (el 'aks | _) achs (el 'aks | ||||
j) ag (d A:k | |||||
_) air _^_EN | _) air _^_EN | ||||
ai (sch A:I | ai (sch A:I | ||||
tr) ain En | tr) ain En | ||||
&) erin (_ @*In | &) erin (_ @*In | ||||
&) erisch (_ @*IS | &) erisch (_ @*IS | ||||
@) es (_S2 @s | @) es (_S2 @s | ||||
&) et (_ @t | &) et (_S2 @t | ||||
ig) et (_S2 @t | |||||
&t) et (_S2 @t | |||||
ier) et (_S2 @t | |||||
&) est (_S3 @st | &) est (_S3 @st | ||||
&) este (_S4 @st@ | &) este (_S4 @st@ | ||||
&) estem (_S5 @st@m | &) estem (_S5 @st@m | ||||
&) erung (_ =@*UN | &) erung (_ =@*UN | ||||
_) e (ff %E | _) e (ff %E | ||||
l) e (g_ 'e: | |||||
_) eil (aP3 'aIl | _) eil (aP3 'aIl | ||||
_) eil (fP3 'aIl | _) eil (fP3 'aIl | ||||
_) ein (@P3 _!'aIn | _) ein (@P3 _!'aIn | ||||
ein (and _|%aIn | ein (and _|%aIn | ||||
_) eine (r@ aIn@ | _) eine (r@ aIn@ | ||||
_) einig aInIg | _) einig aInIg | ||||
_) eisen (@P5 'aIz@n | |||||
_) e (lek %e: | _) e (lek %e: | ||||
_) elektro (@P7 e:l'Ekt@-*o: | _) elektro (@P7 e:l'Ekt@-*o: | ||||
_) elen e:lEn | _) elen e:lEn | ||||
_) entert _^_EN | _) entert _^_EN | ||||
er (dig e:* | er (dig e:* | ||||
_) erob (er %E*o:b | _) erob (er %E*o:b | ||||
@) esen (_ e:z@n | |||||
@) ett (_ 'Et | @) ett (_ 'Et | ||||
@) eur (_ 'Y:* | @) eur (_ 'Y:* | ||||
euse (_ 'Y:z@ | euse (_ 'Y:z@ | ||||
_) hinter (@P6 h,Int3 | _) hinter (@P6 h,Int3 | ||||
_) haupt (@@P5 h'aUpt | _) haupt (@@P5 h'aUpt | ||||
_) haus (@P4 h'aUs | |||||
// @) heit (_S4 haIt | // @) heit (_S4 haIt | ||||
_) hero h%e:*o: | _) hero h%e:*o: | ||||
_) herz (er@P4 h'E*ts | |||||
_) high _^_EN | _) high _^_EN | ||||
_) hinter (@ h,Int3 | _) hinter (@ h,Int3 | ||||
_) hoch (@P4 h'o:x | _) hoch (@P4 h'o:x | ||||
&) ie (r_ 'i: | &) ie (r_ 'i: | ||||
u) ie (r_ _|'i: | u) ie (r_ _|'i: | ||||
&) ie (rlich 'i: | &) ie (rlich 'i: | ||||
d) ienst i:nst | |||||
r) ien (@ IEn | r) ien (@ IEn | ||||
&) ien (_ =I@n | &) ien (_ =I@n | ||||
&b) ien (_ =i:@n | &b) ien (_ =i:@n | ||||
_) s (_ Es | _) s (_ Es | ||||
s s | s s | ||||
s (A z | s (A z | ||||
s (_$1 s | s (_NS1 s | ||||
s (_ z // suffix has been removed | |||||
A) s (_N s | A) s (_N s | ||||
A) s (_ z | A) s (_ z | ||||
ss s | ss s | ||||
_) safe _^_EN | _) safe _^_EN | ||||
&) schaft (_S6 Saft | &) schaft (_S6 Saft | ||||
schein (lich S'aIn | schein (lich S'aIn | ||||
_) schul (@P5 S'u:l | |||||
_) schul (d S'Ul | |||||
schwer Sve:* | schwer Sve:* | ||||
_) sechs (P5 z'Eks | _) sechs (P5 z'Eks | ||||
_) selbst (@@P6 z'Elpst | _) selbst (@@P6 z'Elpst | ||||
ier) testes (_S6 t@st@s | ier) testes (_S6 t@st@s | ||||
tch tS | tch tS | ||||
t (chen_ t | |||||
_) teen _^_EN | _) teen _^_EN | ||||
_) tele (@ t,e:le: | |||||
thrill _^_EN | thrill _^_EN | ||||
_pa) th t | _pa) th t | ||||
the (era te: | the (era te: | ||||
_) tief (@P4 t'i:f | |||||
@) tient (_ tsI'Ent | @) tient (_ tsI'Ent | ||||
@) tion tsI,o:n | @) tion tsI,o:n | ||||
@) tion (_ tsI'o:n | @) tion (_ tsI'o:n | ||||
_) trail _^_EN | _) trail _^_EN | ||||
_) tranqu _^_EN | _) tranqu _^_EN | ||||
traver t@-*%avE* | |||||
_) tw _^_EN | _) tw _^_EN | ||||
.group u | .group u | ||||
ub (t_ u:p | ub (t_ u:p | ||||
ug (t_ u:k | ug (t_ u:k | ||||
_) um (@P2 Um | |||||
_) umbe (@P4 'Umb@ | |||||
_) umge (@P4 'Umg@ | |||||
_) um (orgP2 'Um | |||||
_) um (stAP2 'Um | |||||
@) u (m_ U | @) u (m_ U | ||||
rt) u (m_ u: | rt) u (m_ u: | ||||
_) un Un | _) un Un | ||||
_) un (@P2 _|'Un | _) un (@P2 _|'Un | ||||
_) unab (@P4 _|,Un_|'ap | _) unab (@P4 _|'Un_|ap | ||||
_) unan (@P4 _|,Un_|'an | _) unan (@P4 _|'Un_|an | ||||
_) unauf (@P5 _|,Un_|'aUf | _) unauf (@P5 _|'Un_|aUf | ||||
_) unaus (@P5 _|,Un_|'aUs | _) unaus (@P5 _|'Un_|aUs | ||||
_) unbe (@P4 _|'Unb@ | _) unbe (@P4 _|'Unb@ | ||||
_) unein (@P5 _|,Un_|'aIn | _) unein (@P5 _|'Un_|aIn | ||||
_) unge (@P4 _|'Ung@ | _) unge (@P4 _|'Ung@ | ||||
_) unver (@P5 _|'UnfE* | _) unver (@P5 _|'UnfE* | ||||
_) un (i u:n | _) un (i u:n | ||||
_) un (in@P2 _|'Un | _) un (in@P2 _|'Un | ||||
_) unum (@P4 _|,Un_|'Um | _) unum (@P4 _|'Un_|Um | ||||
_) under _^_EN | _) under _^_EN | ||||
_) unter (@P5 _|,Unt3 | _) unter (@P5 _|,Unt3 | ||||
us (_ Us | us (_ Us | ||||
_d) u (sch u: | _d) u (sch u: | ||||
_) user _^_EN | _) user _^_EN | ||||
ol) u (t_ u: | Al) u (t_ u: | ||||
_) ueber (@P5 _|,y:b3 | _) ueber (@P5 _|,y:b3 | ||||
v) v | v) v | ||||
v (_N f | v (_N f | ||||
_) v f | |||||
_) vie fi: | _) vie fi: | ||||
_) vi (CC vI | _) vi (CC vI | ||||
_) vi vi: | _) vi vi: | ||||
_) v (ie f | _) v (ie f | ||||
_) v (iet v | _) v (iet v | ||||
_) v (iz f | _) v (iz f | ||||
_) v (oll f | v (oll f | ||||
_) v (olk f | v (olk f | ||||
v (ölC f | |||||
_) v (on f | _) v (on f | ||||
_) vehe ve:he: | _) vehe ve:he: | ||||
_) ver (@P3 f%E* | _) ver (@P3 f%E* | ||||
_) ver (bal v%E* | _) ver (bal v%E* | ||||
_) ver (tik vE* | |||||
@) versich fE*z,IC | @) versich fE*z,IC | ||||
@) vergess fE*g,Es | @) vergess fE*g,Es | ||||
_) viel (@P4 f'i:l | _) viel (@P4 f'i:l | ||||
_) wh _^_EN | _) wh _^_EN | ||||
&) ware (_ _^_EN | &) ware (_ _^_EN | ||||
_) wasch (@P5 v'aS | _) 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: | _) wo (hin v%o: | ||||
_) wohl (@P4 v'o:l | _) wohl (@P4 v'o:l | ||||
work _^_EN | work _^_EN | ||||
üg (t_ y:k | üg (t_ y:k | ||||
_) über (@P4 _|,y:b3 | _) über (@P4 _|,y:b3 | ||||
_) über (be@P4 _!'y:b3 | |||||
_) über (gangs y:b3 | |||||
.group ß | .group ß | ||||
_) ß (_ EstsEt | _) ß (_ EstsEt |
- : ; b c d dZ f | - : ; b c d dZ f | ||||
g h j k l m n N | g h j k l m n N | ||||
p r s S t tS v w | p r r- s S t tS v | ||||
x x2 z Z | w x2 z Z | ||||
Dictionary cs_dict | Dictionary cs_dict | ||||
@ @- a A A~ e E E~ | @ @- a A A~ e E E~ | ||||
i o O O~ u W w^i W~ | i o O O~ u W w^i W~ | ||||
y Y y" | y Y | ||||
(i) : ; b c d dZ f | : ; b c d dZ f g | ||||
g h j k l L l/ m | h j k l L m n N | ||||
n N n^ p r R s S | n^ p R s S t t2 tS | ||||
t t2 tS v w z Z z2 | v w z Z z2 | ||||
Dictionary hi_dict | Dictionary hi_dict | ||||
@- a a/ aI aU e E i | @- a a/ aI aU e E i | ||||
o O oI u | o O oI u | ||||
* : b d dZ f g j | * : b d dZ f g h | ||||
k l l^ m n N n^ p | j k l l^ m n N n^ | ||||
r R s S t tS ts v | p r R s S t tS ts | ||||
w w2 z | v w w2 z | ||||
Dictionary nl_dict | Dictionary nl_dict | ||||
I i: O o: OI U u: y | I i: O o: OI U u: y | ||||
y: | y: | ||||
* : <h> b d f g h | * : ; <h> b d f g | ||||
j k l m n N p r | h j k l m n N p | ||||
R s t w z | r R s t w z | ||||
Dictionary sr_dict | Dictionary sr_dict |
uk $abbrev | uk $abbrev | ||||
url $abbrev | url $abbrev | ||||
usa $abbrev | usa $abbrev | ||||
utc $abbrev | |||||
u.s ju:'Es | u.s ju:'Es | ||||
wwii dVb@Lju:dVb@Lju:t'u: | wwii dVb@Lju:dVb@Lju:t'u: | ||||
xy $abbrev | xy $abbrev |
// *************************************************************************** | // *************************************************************************** | ||||
// * Copyright (C) 2005,2006 by Jonathan Duddington * | // * Copyright (C) 2005 to 2007 by Jonathan Duddington * | ||||
// * jonsd@users.sourceforge.net * | // * email: jonsd@users.sourceforge.net * | ||||
// * * | // * * | ||||
// * This program is free software; you can redistribute it and/or modify * | // * 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 * | // * 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. * | // * (at your option) any later version. * | ||||
// * * | // * * | ||||
// * This program is distributed in the hope that it will be useful, * | // * This program is distributed in the hope that it will be useful, * | ||||
// * GNU General Public License for more details. * | // * GNU General Public License for more details. * | ||||
// * * | // * * | ||||
// * You should have received a copy of the GNU General Public License * | // * You should have received a copy of the GNU General Public License * | ||||
// * along with this program; if not, write to the * | // * along with this program; if not, write see: * | ||||
// * Free Software Foundation, Inc., * | // * <http://www.gnu.org/licenses/>. * | ||||
// * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * | |||||
// ***************************************************************************/ | // ***************************************************************************/ | ||||
// This file is UTF-8 encoded | // This file is UTF-8 encoded |
// character names | // 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 | //_cap k,ap@-t@L | ||||
_?A lEt@ | _?A lEt@ | ||||
_?? sE~b'OL | _?? sE~b'OL | ||||
! Eksklamassj'O~ | |||||
_" gijm'E | _" gijm'E | ||||
_# dj'Ez | _# dj'Ez | ||||
_$ dOl'aR | |||||
_% puRs'A~ | |||||
_& e | |||||
_' apOstR'Of | _' apOstR'Of | ||||
_( 'uvR@-paRA~t'Ez | _( 'uvR@-paRA~t'Ez | ||||
_) f'ERm paRA~t'Ez | _) f'ERm paRA~t'Ez | ||||
_* astERisk: | _* astERisk: | ||||
_+ plys | |||||
_, viRg'yl | _, viRg'yl | ||||
_- tiR'E | _- tiR'E | ||||
_. pw'E~ | _. pw'E~ | ||||
_= eg'al | _= eg'al | ||||
_> sypeRj'WR | _> sypeRj'WR | ||||
_? kEstj'O~ | _? kEstj'O~ | ||||
_@ at | |||||
_[ uvR@-_kRoS'E | _[ uvR@-_kRoS'E | ||||
_\ b'aksl'aS | _\ b'aksl'aS | ||||
_] f'ERm_kRoS'E | _] f'ERm_kRoS'E | ||||
_{ uvR_akOl'ad | _{ uvR_akOl'ad | ||||
_| b'aR | _| b'aR | ||||
_} f'ERm_akOl'ad | _} 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 | |||||
sommes $u+ | sommes $u+ | ||||
êtes $u+ | êtes $u+ | ||||
sont $u+ | sont $u+ | ||||
eu y | |||||
eue y | |||||
eues y | |||||
étais $u+ | étais $u+ | ||||
était $u+ | était $u+ | ||||
président pRezidt2 $verb | président pRezidt2 $verb | ||||
résident Rezid'A~ | résident Rezid'A~ | ||||
résident Rezidt2 $verb | résident Rezidt2 $verb | ||||
évident evid'A~ | évident evid'A~ | ||||
évident evidt2 $verb | évident evidt2 $verb | ||||
couvent k'uvt2 $verb | couvent k'uvt2 $verb | ||||
concurrent kO~kyR'A~ | concurrent kO~kyR'A~ | ||||
récurrent rekyR'A~ | récurrent RekyR'A~ | ||||
// MAIN WORD DICTIONARY | // MAIN WORD DICTIONARY | ||||
fils fis | fils fis | ||||
mars maRs | mars maRs | ||||
pays pEi | pays pEi | ||||
pourcent puRs'A~ | |||||
absent abs'A~ | absent abs'A~ | ||||
ardent ard'A~ | ardent aRd'A~ | ||||
prudent pRyd'A~ | prudent pRyd'A~ | ||||
imprudent E~pRyd'A~ | imprudent E~pRyd'A~ | ||||
discident disid'A~ | discident disid'A~ | ||||
accident aksid'A~ | accident aksid'A~ | ||||
occident Oksid'A~ | occident Oksid'A~ | ||||
l'occident lOksid'A~ | l'occident lOksid'A~ | ||||
orient Orj'A~ | orient ORj'A~ | ||||
l'orient lOrj'A~ | l'orient lORj'A~ | ||||
secret sYkR'E | secret sYkR'E | ||||
secrets sYkR'E | secrets sYkR'E | ||||
(nord est) nOREst | (nord est) nOREst | ||||
écho Eko | écho Eko | ||||
l'écho leko | l'écho leko | ||||
open OpEn | cci $abbrev | ||||
espeak ispik | espeak ispik | ||||
nvda $abbrev | nvda $abbrev | ||||
open Op'@n | |||||
outlook autluk | outlook autluk | ||||
reader Rid'WR | |||||
potentiomètre pOtA~sjOmEtR | potentiomètre pOtA~sjOmEtR | ||||
reader Rid'WR | |||||
processus pROsEsys | processus pROsEsys | ||||
emacspeak Emakspik | emacspeak Emakspik | ||||
espeak @spik | espeak @spik | ||||
firefox faj@RfOks | firefox faj@RfOks | ||||
thunderbird f@ndErb@Rd | thunderbird f@ndERb@Rd | ||||
girl g@Rl | girl g@Rl | ||||
gnome gnom | gnome gnom | ||||
gnu gnu | gnu gnu | ||||
liszt list | liszt list | ||||
(mac os x) makoEsiks | (mac os x) makoEsiks | ||||
night najt | night najt | ||||
redhat rEdat | redhat REdat | ||||
schubert SubER | schubert SubER | ||||
sun s@n | sun s@n | ||||
sunlight s@nlajt | sunlight s@nlajt | ||||
viavoice viavOjs | viavoice viavOjs | ||||
windows windoz | windows windoz | ||||
word wORd | word wORd | ||||
wright wrajt | wright _^_EN | ||||
yacht jot | yacht jot | ||||
// no liaison | // no liaison | ||||
(quelqu'un) kElkW~ | (quelqu'un) kElkW~ | ||||
pourcent puRs'A~ | |||||
vincent vE~sA~ | vincent vE~sA~ | ||||
// symbols that are normally spoken when reading text | // symbols that are normally spoken when reading text | ||||
@ arobas | |||||
$ dOlar | |||||
, (D pilk:u | , (D pilk:u |
// Translations for Hungarian words | |||||
// This file is UTF-8 encoded. | |||||
// Conditional rules: | |||||
// ?1 speak "i" as Roman number | |||||
// Numbers | // Numbers | ||||
ú.n u:JnEvEzEt: $dot | ú.n u:JnEvEzEt: $dot | ||||
vö v'EZd||_'Yss2E | vö v'EZd||_'Yss2E | ||||
?1 i EJ $abbrev | |||||
ii kEttY: $abbrev | ii kEttY: $abbrev | ||||
iii ha:R2om $abbrev | iii ha:R2om $abbrev | ||||
iv ne:J $abbrev | iv ne:J $abbrev | ||||
// Articles | // Articles | ||||
a $u | a $u // the | ||||
az $u | az $u | ||||
aki $u+ // that | aki $u+ // that | ||||
habár $pause // although | habár $pause // although | ||||
ha $u $pause // if | ha $u $pause // if | ||||
noha $u $pause // even thought | |||||
// Prepositions etc. | // Prepositions etc. | ||||
néhány $u+ | néhány $u+ | ||||
is $u // also | is $u // also | ||||
elöl $u | elöl $u // in front of | ||||
elől $u | elől $u | ||||
elé $u | elé $u | ||||
előtt $u | előtt $u | ||||
mögül $u | mögül $u // behind | ||||
mögött $u | mögött $u | ||||
mögé $u | mögé $u | ||||
kívül $u | kívül $u | ||||
után $u | után $u // after | ||||
alól $u | alól $u | ||||
alá $u | alá $u | ||||
alatt $u | alatt $u // below | ||||
felől $u | felől $u // above | ||||
felé $u | felé $u | ||||
fölé $u | fölé $u | ||||
felett $u | felett $u // above | ||||
fölött $u | fölött $u | ||||
mellől $u | mellől $u // besides | ||||
mellé $u | mellé $u | ||||
mellett $u | mellett $u | ||||
be $u | be $u | ||||
ra $u // onto | ra $u // onto | ||||
re $u | re $u | ||||
ik $u | ik $u // -th | ||||
as $u | as $u | ||||
es $u | es $u | ||||
os $u | os $u | ||||
ös $u | ös $u | ||||
ból $u // from inside | ból $u // from inside | ||||
ből $u | ből $u | ||||
ról $u | ról $u // from top of, about | ||||
ről $u | ről $u | ||||
án $u | án $u | ||||
én $u | én $u | ||||
ban $u // in | ban $u // in | ||||
ben $u | ben $u | ||||
hoz $u | hoz $u // to | ||||
hez $u | hez $u | ||||
höz $u | höz $u | ||||
ig $u // up to | ig $u // up to | ||||
@ kukAts | @ kukAts | ||||
€ EuR2o | € EuR2o | ||||
+ plus | + plus | ||||
§ pR2AR2AgR2AfuS | § pAR2AgR2AfuS | ||||
Ft foR2int | |||||
$ dolla:R2 | |||||
biz (A b'iz, // bizalmas etc. | biz (A b'iz, // bizalmas etc. | ||||
biedermeier bi:dER2ma:jER2 | biedermeier bi:dER2ma:jER2 | ||||
.group c | .group c | ||||
c ts | c ts | ||||
cc ts: | cc ts: | ||||
C) dj J | C) dj J | ||||
A) dj (A J: | A) dj (A J: | ||||
ren) d (szerint d | ren) d (szer d | ||||
.group e | .group e | ||||
A) gys (A tS: | A) gys (A tS: | ||||
gysz Js | gysz Js | ||||
A) gysz (A Js: | A) gysz (A Js: | ||||
gyz dz | |||||
A) gyz (A d:z | |||||
C) gyzs dZ | |||||
A) gyzs (A dZ: | |||||
C) gyj J | C) gyj J | ||||
A) gyj (A J: | A) gyj (A J: | ||||
_e) gy (üt J: | _e) gy (üt J: | ||||
_minde) gy (ik J: | _minde) gy (ik J: | ||||
na) gysz (abású Js | na) gysz (a Js | ||||
.group h | .group h | ||||
h h | h h | ||||
h (_ | |||||
.group i | .group i | ||||
i i | i i | ||||
.group j | .group j | ||||
j j | j j | ||||
C) j (K C | |||||
.group k | .group k | ||||
k k | k k | ||||
l l | l l | ||||
ly j | ly j | ||||
lly jj | lly jj | ||||
lj lj | |||||
C) ly (_ li | C) ly (_ li | ||||
_kéth) ly li | _kéth) ly li | ||||
n n | n n | ||||
n (g N | n (g N | ||||
n (k N | n (k N | ||||
n (p m | |||||
n (b m | |||||
ny n^ | ny n^ | ||||
nny n^n^ | nny n^n^ | ||||
nj n^ | nj n^ | ||||
ny (k N | |||||
ny (g N | |||||
_) nem (- n,Em // has $alt2 attribute in hu_list, combine with the next word | _) nem (- n,Em // has $alt2 attribute in hu_list, combine with the next word | ||||
.group p | .group p | ||||
p p | p p | ||||
pp p: | pp p: | ||||
p (v p_ | |||||
.group q | .group q | ||||
q kv | q kv | ||||
sz (öld Sz | sz (öld Sz | ||||
va) s (zabl S|| | va) s (zabl S|| | ||||
_) semmelweiss sEmmElvEjs | _) semmelweiss sEmmElvEjs | ||||
_) semmelweis sEmmElvEjs | |||||
_) semmelweiß sEmmElvEjs | |||||
engel) s s | engel) s s | ||||
mu) ss (olini ss2 | mu) ss (olini ss2 | ||||
_) saar sa:R2 | _) saar sa:R2 | ||||
t t | t t | ||||
tt t: | tt t: | ||||
ty c | ty c | ||||
s) ty c: // | // s) ty c: // | ||||
z) ty c: // keztyű | // z) ty c: // keztyű | ||||
tty c: | 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 | C) tj c | ||||
A) tj (A c: | A) tj (A c: | ||||
C) tyj c | C) tyj c | ||||
.group v | .group v | ||||
v v | v v | ||||
_) versailles vER2sa:j | |||||
.group w | .group w | ||||
w v | w v |
.group a | .group a | ||||
_) a(_ a: | _) a(_ a | ||||
a a: | a a: | ||||
a (CK a | a (CK a | ||||
ai aI (K | ai aI (K | ||||
&) a (_S1q a // lookup it_list without suffix | &) a (_S1q a // lookup it_list without suffix | ||||
@) a (ce_ =a | @) a (cA_ =a | ||||
@) a (ci_ =a | @) a (che_ =a | ||||
a (ista_ a | a (istA_ a | ||||
a (ismo_ a | a (ismo_ a | ||||
@) a (bile_ 'a | @) a (bile_ 'a | ||||
@) a (ggine_ 'a | @) a (ggine_ 'a | ||||
_) ae (ro aI | _) ae (ro aI | ||||
@) avano (_S5 'avano | @) avano (_S5 'avano | ||||
a (tterA_ 'a | |||||
.group b | .group b | ||||
_) b(_ bi: | _) b(_ bi | ||||
b b | b b | ||||
bb b: | bb b: | ||||
li) be =be | |||||
.group c | .group c | ||||
_) c(_ tSi: | _) c(_ tSi | ||||
c k | c k | ||||
cc k: | cc k: | ||||
c (' tS | |||||
c (e tS | c (e tS | ||||
c (é tS | c (é tS | ||||
c (è tS | c (è tS | ||||
cci (ò tS: | cci (ò tS: | ||||
cci (u tS: | cci (u tS: | ||||
cci (ù tS: | cci (ù tS: | ||||
@) co (lA_ =ko | |||||
.group d | .group d | ||||
_) d(_ di: | _) d(_ di | ||||
d d | d d | ||||
dd d: | dd d: | ||||
n) dere =deRe | |||||
.group e | .group e | ||||
_) e(_ e: | _) e(_ e | ||||
e e: | e e: | ||||
e (CK e | e (CK e | ||||
ei ej (K | ei ej (K | ||||
&) e (_S1q e // lookup it_list without suffix | &) e (_S1q e // lookup it_list without suffix | ||||
@) e (ce_ =e | // @) e (ce_ =e | ||||
@) e (ci_ =e | @) e (ci_ =e | ||||
C) e (re_ =e | |||||
@) e (nte_ E | @) e (nte_ E | ||||
@m) e (nte_ e | @m) e (nte_ e | ||||
@) e (nza_ E | @) e (nza_ E | ||||
@) e (vole_ 'e | @) e (volA_ 'e | ||||
@) e (rrimo_ 'E | @) e (rrimo_ 'E | ||||
@) e (simo_ 'e | @) e (simo_ 'e | ||||
.group f | .group f | ||||
_) f(_ Effe | _) f(_ effe | ||||
f f | f f | ||||
@A) f (ico_ =f | @A) f (ico_ =f | ||||
@A) f (ichA_ =f | |||||
@A) f (ilo_ =f | @A) f (ilo_ =f | ||||
@A) f (ero_ =f | @A) f (ero_ =f | ||||
.group g | .group g | ||||
_) g(_ dZi: | _) g(_ dZi | ||||
g g | g g | ||||
gg g: | gg g: | ||||
gh g | gh g | ||||
g (è dZ | g (è dZ | ||||
g (i dZ | g (i dZ | ||||
g (ì dZ | g (ì dZ | ||||
gi (a dZ | gi (a dZj | ||||
gi (à dZ | gi (à dZj | ||||
gi (o dZ | gi (o dZj | ||||
gi (ò dZ | gi (ò dZj | ||||
gi (u dZ | gi (u dZj | ||||
gi (ù dZ | gi (ù dZj | ||||
gg (e dZ: | gg (e dZ: | ||||
gg (é dZ: | gg (é dZ: | ||||
gg (è dZ: | gg (è dZ: | ||||
ggi (ò dZ: | ggi (ò dZ: | ||||
ggi (u dZ: | ggi (u dZ: | ||||
ggi (ù dZ: | ggi (ù dZ: | ||||
@) gger (lo_ =dZ:eR | |||||
gl (i l^ | gl (i l^ | ||||
gl (ì l^ | gl (ì l^ | ||||
gli (A l^ | gli (A l^ | ||||
gu (A gw | gu (A gw | ||||
@) g (ero_ =g | @) g (ero_ =g | ||||
@) gno (lA_ n^'o | |||||
.group h | .group h | ||||
_) h(_ ak:a | _) h(_ ak:a | ||||
h | h | ||||
ha h'a | |||||
.group i | .group i | ||||
_) i(_ i: | _) i(_ i | ||||
i i: | i i: | ||||
i (CK i | i (CK i | ||||
i (A j | i (A j | ||||
&) i (_S1q i // lookup it_list without suffix | &) i (_S1q i // lookup it_list without suffix | ||||
@) i (ce_ =i | @) i (co_ =i | ||||
@) i (ci_ =i | @) i (ci_ =i | ||||
@) i (de_ =i | @) i (dA_ =i | ||||
@) i (do_ =i | @) i (dere_ 'i | ||||
@) i (le_ =i | @) i (le_ =i | ||||
@) i (li_ =i | @) i (li_ =i | ||||
@) iera (_ i'E:ra | @) iera (_ i'E:Ra | ||||
@) iere (_ i'E:re | @) iere (_ i'E:Re | ||||
@) i (ente_ i | @) i (ente_ i | ||||
@) i (ante_ i | @) i (ante_ i | ||||
@) i (bile_ 'i | @) i (bile_ 'i | ||||
@) issimo(_S6 'issimo | @) issimo(_S6 'issimo | ||||
@) issero(_S6 'issero | @) issero(_S6 'issero | ||||
@) i (sti 'i | |||||
.group j | .group j | ||||
.group m | .group m | ||||
_) m(_ Emme | _) m(_ Emme | ||||
m m | m m | ||||
A) mi (a m'i: | |||||
@) mi (co_ m'i: | |||||
.group n | .group n | ||||
_) n(_ Enne | _) n(_ Enne | ||||
n (k N | n (k N | ||||
.group o | .group o | ||||
_) o(_ O: | _) o(_ o | ||||
o o: | o o: | ||||
o (CK o | o (CK o | ||||
oi oI (K | oi oI (K | ||||
@) o (fono_ 'O | @) o (fono_ 'O | ||||
@) o (metro_ 'O | @) o (metro_ 'O | ||||
@) o (logo_ 'O | @) o (logo_ 'O | ||||
o (str 'O | |||||
@) o (lo_ =o | |||||
.group p | .group p | ||||
_) p(_ pi: | _) p(_ pi | ||||
p p | p p | ||||
pp p: | pp p: | ||||
_) pn (@@ n | _) pn (@@ n | ||||
_) ps (A@ s | _) ps (A@ s | ||||
@m) p (ere_ =p | |||||
.group q | .group q | ||||
_) q(_ ku: | _) q(_ ku | ||||
q kw2 | q kw2 | ||||
qu kw2 | qu kw2 | ||||
.group r | .group r | ||||
_) r(_ ER*e | _) r(_ ER*e | ||||
C) r @-* | C) r @-* | ||||
r R | r @-* | ||||
_) r R | _) r @-* | ||||
rr R* | rr R* | ||||
A) r (A R | A) r (A R | ||||
.group s | .group s | ||||
_) s(_ Esse | _) s(_ esse | ||||
s z | s s | ||||
_) s s | _) s s | ||||
A) s (A z | |||||
l) s s | l) s s | ||||
p) s s | p) s s | ||||
sc (è S | sc (è S | ||||
sc (i S | sc (i S | ||||
sc (ì S | sc (ì S | ||||
A) sc (e SS | // A) sc (e SS | ||||
A) sc (é SS | // A) sc (é SS | ||||
A) sc (è SS | // A) sc (è SS | ||||
A) sc (i SS | // A) sc (i SS | ||||
A) sc (ì SS | // A) sc (ì SS | ||||
sch (e sk | sch (e sk | ||||
sch (é sk | sch (é sk | ||||
sch (è sk | sch (è sk | ||||
sch (ì sk | sch (ì sk | ||||
sh (K S // foreign words | sh (K S // foreign words | ||||
K) sh S // foreign words | K) sh S // foreign words | ||||
@) sia s'ia | |||||
.group t | .group t | ||||
_) t(_ ti: | _) t(_ ti | ||||
t t | t t | ||||
tt t: | tt t: | ||||
.group u | .group u | ||||
_) u(_ u: | _) u(_ u | ||||
u u: | u u: | ||||
u (CK u | u (CK u | ||||
u (A w2 | u (A w2 | ||||
@) u (colo_ 'u | @) u (colo_ 'u | ||||
.group v | .group v | ||||
_) v(_ vu: | _) v(_ vu | ||||
v v | v v | ||||
.group w | .group w | ||||
.group z | .group z | ||||
_) z(_ ze:ta | _) z(_ dze:ta | ||||
z ts | z ts | ||||
A) z ts: | |||||
A) zz ts: | A) zz ts: | ||||
_) z (i dz | _) z (i dz | ||||
+ pju | + pju | ||||
. punto | . punto | ||||
, (D v'irgola | , (D v'irgola | ||||
: d,uep'unte | : d,uep'unti | ||||
; p'untoev'irgola | ; p'untoev'irgola | ||||
! _p'untoesklamat'ivo_ | ! _p'untoesklamat'ivo_ | ||||
!) ! | !) ! | ||||
? _p'untointeRogat'ivo_ | ? _p'untointeRogat'ivo_ | ||||
?) ? | ?) ? | ||||
\\ bakslaS | \\ kont@-*ob'aR*a | ||||
/ slaS | / b'aR*a | ||||
__) - (_D meno | __) - (_D meno | ||||
A_) - (_D _ | A_) - (_D _ |
// 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 | // Letter names | ||||
y i: 'graIka | y i: 'graIka | ||||
z 'ze:ta | z 'ze:ta | ||||
// ABBREVIATIONS | // ABBREVIATIONS | ||||
//======== | //======== | ||||
(a. u. c.) ab wRb,E kOnd'i:ta //ab urbe condita | (a. u. c.) ab||wRb,E||kOnd'i:ta //ab urbe condita | ||||
(a. d.) 'antE d'I;Em //ante diem; | (a. d.) 'antE||d'I;Em //ante diem; | ||||
(D. M.) d,i:s m'a:nIbUs //Dīs Mānibus | (D. M.) d,i:s||m'a:nIbUs //Dīs Mānibus | ||||
ib 'Ibi:||d,Em //ibīdem | |||||
//(D. O. M.) = Deo Optimo Maximo (op tempels); | ibd 'Ibi:||d,Em //ibīdem | ||||
//(D. D.) = dono of donum dedit (bij geschenken voor de goden); | Idib 'i:dIbUs //Īdibus, from Īdūs | ||||
//(D. D. D.) = dat, donat, dedicat of dat, dicat, dedicat (bij geschenken voor de goden); | Idq i:d'EmkwE //īdemque | ||||
//(E. M. V.) = egregiae memoriae vir; | (i. e.) ,Id||Est //id est | ||||
//(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. | |||||
// FUNCTION WORDS | // 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 | a $u | ||||
ac $u | |||||
ad $u | ad $u | ||||
ab $u | ab $u | ||||
in $u | in $u | ||||
cum $u | cum $u | ||||
e $u | e $u | ||||
ex $u | ex $u | ||||
inter $u | ante $u | ||||
apud $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 | 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 | // forms of esse | ||||
estis $u | estis $u | ||||
sunt $u | sunt $u | ||||
eram $u | erām $u | ||||
eras $u | erās $u | ||||
erat $u | erāt $u | ||||
eramus $u | erāmus $u | ||||
eratis $u | erātis $u | ||||
erant $u | erant $u | ||||
ero $u | erō $u | ||||
eris $u | eris $u | ||||
erit $u | erit $u | ||||
erimus $u | erimus $u | ||||
eritis $u | eritis $u | ||||
erunt $u | erunt $u | ||||
fui $u | fuī $u | ||||
fuisti $u | fuīstī $u | ||||
fuit $u | fuit $u | ||||
fuimus $u | fuimus $u | ||||
fuistis $u | fuīstis $u | ||||
fuereunt $u | fuereunt $u | ||||
fueram $u | fueram $u | ||||
fueras $u | fuerās $u | ||||
fuerat $u | fuerat $u | ||||
fueramus $u | fuerāmus $u | ||||
fueratis $u | fuerātis $u | ||||
fuerant $u | fuērunt $u | ||||
fuero $u | fuerō $u | ||||
fueris $u | fuerīs $u | ||||
fuerit $u | fuerit $u | ||||
fuerimus $u | fuerīmus $u | ||||
fueritis $u | fuerītis $u | ||||
fuerunt $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. | |||||
// This file is UTF-8 encoded | // This file is UTF-8 encoded | ||||
// Reference: | |||||
// Reference: | // Allen, W. Sidney. Vox Latina — a Guide to the Pronunciation of Classical Latin. | ||||
// Allen, W. Sidney. Vox Latina — a Guide to the Pronunciation of Classical Latin. | // Cambridge University Press, Second edition, 2003. ISBN 0-521-37936-9. | ||||
// Cambridge University Press, Second edition, 2003. ISBN 0-521-37936-9. | // Orthographic notes: | ||||
// | |||||
// 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 | ||||
// 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 | // /w/. Here the distinction between U and the V for /u/ and /w/ is assumed, as is the | ||||
// used. I and V were used for both the vowels /i/ and /u/, and the semivowels /j/ and | // case in most modern texts. Also long vowels are indicated with macrons. Diaresis is | ||||
// /w/. Here the distinction between U and the V for /u/ and /w/ is assumed, as is the | // used to prevent a diphtong being formed. Y with macron has to be replaced by 'yy', | ||||
// case in most modern texts. Also long vowels are indicated with macrons. Diaresis is | // since this character is incompatible with older unicode versions. | ||||
// used to prevent a diphtong being formed. Y with macron has to be replaced by 'yy', | .L01 ae au eu oe a e i o u yy y ā ē ī ō ū ë ü é | ||||
// since this character is incompatible with older unicode versions. | .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 | |||||
.L01 ae au eu oe a e i o u yy y ā ē ī ō ū ë ü é | a (L01X =a | ||||
.L02 ng qu pr tr cr chr br dr gr pl cl bl gl ph th ch | a (CL01X =a | ||||
a (L02L01X =a | |||||
.group a | a (guL01X =a | ||||
a a | a (x+ a | ||||
// Weak penultimate syllable: put stress on antepenutimate | // Diphtongs | ||||
a (L01X =a | ae (+++ aI | ||||
a (CL01X =a | au (+++ aU | ||||
a (L02L01X =a | .group ā | ||||
a (guL01X =a | ā a: | ||||
a (x+ a | .group b | ||||
// Diphtongs | b b | ||||
ae (+++ aI | bb b: | ||||
au (+++ aU | .group c | ||||
c k | |||||
cc k: | |||||
.group ā | cch k:<h> // e.g. bracchium | ||||
ā a: | ch k<h> | ||||
.group d | |||||
d d | |||||
.group b | dd d: | ||||
b b | .group e | ||||
bb b: | e E | ||||
// Weak penultimate syllable: put stress on antepenutimate | |||||
e (L01X =E | |||||
.group c | e (CL01X =E | ||||
c k | e (L02L01X =E | ||||
cc k: | e (guL01X =E | ||||
cch k:<h> // e.g. bracchium | e (x+ E | ||||
ch k<h> | // Diphtongs | ||||
eu (+++ EU | |||||
.group ē | |||||
.group d | ē e: | ||||
d d | .group f | ||||
dd d: | f f | ||||
ff f: | |||||
.group g | |||||
.group e | g g | ||||
e E | gg g: | ||||
// Weak penultimate syllable: put stress on antepenutimate | g (n N | ||||
e (L01X =E | ggu (A g:w // Does this ever occur? | ||||
e (CL01X =E | gu (A gw //g<w> | ||||
e (L02L01X =E | .group h | ||||
e (guL01X =E | h h | ||||
e (x+ E | h: h: | ||||
// Diphtongs | .group i | ||||
eu (+++ EU | i I | ||||
// Weak penultimate syllable: put stress on antepenutimate | |||||
i (L01X =I | |||||
.group ē | i (CL01X =I | ||||
ē e: | i (L02L01X =I | ||||
i (guL01X =I | |||||
i (x+ I | |||||
// Two adjacent 'i's should be separated by a glottal stop | |||||
.group f | i (iX =I? | ||||
f f | i (i I? | ||||
ff f: | // Cases in which 'i' is pronounced as the semi-vowel /j/ | ||||
_) i (A j | |||||
A) i (A+ j: | |||||
.group g | // Exceptions where u is a consonant | ||||
g g | qu) i (L01X++ =I | ||||
gg g: | qu) i (A++ I | ||||
g (n N | gu) i (L01X++ =I | ||||
ggu (A g:w // Does this ever occur? | gu) i (A++ I | ||||
gu (A gw //g<w> | _u) i (L01X++ =I | ||||
_u) i (A++ I | |||||
Au) i (L01X++ =I | |||||
.group h | Au) i (A++ I | ||||
h h | // Exceptions to the exceptions | ||||
h: h: | au) i (A+++ j: | ||||
eu) i (A+++ j: | |||||
.group ī | |||||
.group i | ī i: | ||||
i I | .group k | ||||
// Weak penultimate syllable: put stress on antepenutimate | k k | ||||
i (L01X =I | kk k: | ||||
i (CL01X =I | .group l | ||||
i (L02L01X =I | l l | ||||
i (guL01X =I | ll l: | ||||
i (x+ I | .group m | ||||
// Two adjacent 'i's should be separated by a glottal stop | m m | ||||
i (iX =I? | mm m: | ||||
i (i I? | .group n | ||||
// Cases in which 'i' is pronounced as the semi-vowel /j/ | n n | ||||
_) i (A j | nn n: | ||||
A) i (A+ j: | n (g N | ||||
// Exceptions where u is a consonant | n (c N | ||||
qu) i (L01X++ =I | n (k N | ||||
qu) i (A++ I | n (x N | ||||
gu) i (L01X++ =I | n (q N | ||||
gu) i (A++ I | .group o | ||||
_u) i (L01X++ =I | o O | ||||
_u) i (A++ I | // Weak penultimate syllable: put stress on antepenutimate | ||||
Au) i (L01X++ =I | o (L01X =O | ||||
Au) i (A++ I | o (CL01X =O | ||||
// Exceptions to the exceptions | o (L02L01X =O | ||||
au) i (A+++ j: | o (guL01X =O | ||||
eu) i (A+++ j: | o (x+ O | ||||
// Diphtongs | |||||
oe (+++ OI | |||||
.group ī | .group ō | ||||
ī i: | ō o: | ||||
.group p | |||||
p p | |||||
.group k | pp p: | ||||
k k | pph p:<h> | ||||
kk k: | ph p<h> | ||||
.group qu | |||||
qu kw //k<w> | |||||
.group l | .group r | ||||
l l | C) r @-* | ||||
ll l: | r R | ||||
_) r R | |||||
rr R* | |||||
.group m | A) r (A R | ||||
m m | .group s | ||||
mm m: | s s | ||||
ss s: | |||||
.group t | |||||
.group n | t t | ||||
n n | tt t: | ||||
nn n: | tth t:<h> //Does this occur? It does at least across word boundaries e.g. leget Thyni | ||||
n (g N | th t<h> | ||||
n (c N | .group u | ||||
n (k N | u U | ||||
n (x N | // Weak penultimate syllable: put stress on antepenutimate | ||||
n (q N | u (L01X =U | ||||
u (CL01X =U | |||||
u (L02L01X =U | |||||
.group o | u (guL01X =U | ||||
o O | u (x+ U | ||||
// Weak penultimate syllable: put stress on antepenutimate | // Cases in which 'u' is pronounced as the semi-vowel /w/ | ||||
o (L01X =O | A) u (A++ w | ||||
o (CL01X =O | _) u (A+ w | ||||
o (L02L01X =O | .group ū | ||||
o (guL01X =O | ū u: | ||||
o (x+ O | .group v | ||||
// Diphtongs | v w | ||||
oe (+++ OI | _) v w | ||||
vv (+++ w: | |||||
.group x | |||||
.group ō | x ks | ||||
ō o: | .group y | ||||
y y // Kirshenbaum I. | |||||
yy y: // Should be y with macron, which is not present in older Unicode versions | |||||
.group p | .group z | ||||
p p | z z | ||||
pp p: | zz z: | ||||
pph p:<h> | A) z (A z: | ||||
ph p<h> | .group | ||||
j j | |||||
w w | |||||
.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 |
lopes $alt | lopes $alt | ||||
jogos $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] | // Open [E] | ||||
nela n'El& | nela n'El& | ||||
nessa n'Es& | nessa n'Es& | ||||
era 'E*& | ?1 era 'Er& | ||||
?2 era 'E*& | |||||
abacaxi abakaSi | abacaxi abakaSi | ||||
axé aSE | axé aSE | ||||
c (c //drop “c” in European Portuguese (eg: seleccionar) | c (c //drop “c” in European Portuguese (eg: seleccionar) | ||||
?1 A) ct t //drop “c” in European Portuguese (eg: exacto) | ?1 A) ct t //drop “c” in European Portuguese (eg: exacto) | ||||
?1 A) cç s //drop “c” in European Portuguese (eg: selecção) | ?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 | .group d | ||||
e (bem_ E | e (bem_ E | ||||
e (bes_ E | e (bes_ E | ||||
e (ca_ E | e (ca_ E | ||||
e (ce_ E | e (ce_ E | ||||
e (cem_ E | e (cem_ E | ||||
e (ces_ E | e (ces_ E | ||||
e (clA_ E | e (clA_ E | ||||
e (clAs_ E | e (clAs_ E | ||||
e (clAm_ E | e (clAm_ E | ||||
e (co_ E | e (co_ E | ||||
e (la_ E | e (la_ E | ||||
e (las_ E | e (las_ E | ||||
e (rA_ E | e (rA_ E | ||||
e (rAm_ E | e (rAm_ E | ||||
e (rAs_ E | e (rAs_ E | ||||
e (rsA_ E | e (rsA_ E | ||||
e (rsAm_ E | e (rsAm_ E | ||||
e (rsAs_ E | e (rsAs_ E | ||||
e (stA_ E | e (stA_ E | ||||
e (stAm_ E | e (stAm_ E | ||||
e (stAs_ E | e (stAs_ E | ||||
e (strA_ E | e (strA_ E | ||||
e (rnA_ E | e (rnA_ E | ||||
e (rnAm_ E | e (rnAm_ E | ||||
e (rnAs_ E | e (rnAs_ E | ||||
e (rtA_ E | e (rtA_ E | ||||
e (rtAm_ E | e (rtAm_ E | ||||
e (rtAs_ E | e (rtAs_ E | ||||
e (rrA_ E | e (rrA_ E | ||||
e (rrAm_ E | e (rrAm_ E | ||||
e (rrAs_ E | e (rrAs_ E | ||||
e (rvA_ E | e (rvA_ E | ||||
e (rvAm_ E | e (rvAm_ E | ||||
e (rvAs_ E | e (rvAs_ E | ||||
e (ve_ E | e (ve_ E | ||||
e (vem_ E | e (vem_ E | ||||
e (ves_ E | e (ves_ E | ||||
e (rrAs_ E | |||||
e (rrAs_ E | |||||
eu (s eU | eu (s eU | ||||
e (uCK e | e (uCK e | ||||
j) e (tA_ E | j) e (tA_ E | ||||
j) e (tAm_ E | j) e (tAm_ E | ||||
j) e (tAs_ E | j) e (tAs_ E | ||||
?1 _) es (C@@ S // drop initial "e". | ?1 _) es (C@@ S // drop initial "e". | ||||
?1 _) e (f i // efectuar, etc. | ?1 _) e (f i // efectuar, etc. | ||||
?1 C) e (o 'i // eg: geologia, etc... | ?1 C) e (o 'i // eg: geologia, etc... | ||||
?1 C) e (ú i // conteúdo, etc. | ?1 C) e (ú i // conteúdo, etc. | ||||
?1 Cã) e j // cães, mãe, 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 (fici y // deficiênte, deficiência, etc... | ||||
?1 _d) e (fini y //definições. | ?1 _d) e (fini y //definições. | ||||
?1 _d) e (slig y // desligar. | ?1 _d) e (slig y // desligar. | ||||
?1 _f) e (ch y // fechar | ?1 _f) e (ch y // fechar | ||||
?1 _p) e (rcentag y // percentagem | ?1 _p) e (rcentag y // percentagem | ||||
?1 p) e (ssoa y //pessoal, pessoais, etc. | ?1 p) e (ssoa y //pessoal, pessoais, etc. | ||||
?1 pr) e (cis y // precisar | |||||
?1 pr) e (f y // preferências, etc. | ?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 (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 _v) e (loci y // velocidade | ||||
?1 _f) e (rramenta y // ferramenta, ferramentas. | ?1 _f) e (rramenta y // ferramenta, ferramentas. | ||||
?1 _p) e (squ y // pesquisar | ?1 _p) e (squ y // pesquisar | ||||
gu (Y g | gu (Y g | ||||
?1 guen (C gw'eIN // aguenta, etc. | ?1 guen (C gw'eIN // aguenta, etc. | ||||
?1 n) gu (A gw // eg: língua, 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 | .group h | ||||
oy OI | oy OI | ||||
o (g_ O | o (g_ O | ||||
o (gs_ O | o (gs_ O | ||||
o (Ca_ O | o (Ca_ O | ||||
?1 o (l_ 'O | ?1 o (l_ 'O | ||||
?2 ol (_ Ow | ?2 ol (_ Ow | ||||
?2 olh olj | ?2 olh olj | ||||
om (_ oN | om (_ oN | ||||
o (ma_ o | o (ma_ o | ||||
om (C om | om (C om | ||||
on (K oN | on (K oN | ||||
o (na_ o | o (na_ o | ||||
onh on^ | onh on^ | ||||
o (brA_ O | o (brA_ O | ||||
o (brAm_ O | o (brAm_ O | ||||
o (brAs_ O | o (brAs_ O | ||||
o (rCA_ O | o (rCA_ O | ||||
o (rCAm_ O | o (rCAm_ O | ||||
o (rCAs_ O | o (rCAs_ O | ||||
o (stA_ O | o (stA_ O | ||||
o (stAm_ O | o (stAm_ O | ||||
o (stAs_ O | o (stAs_ O | ||||
?2 ox (_ Oks | ?2 ox (_ Oks | ||||
?1 oz (_ Os# | ?1 oz (_ Os# | ||||
?2 oz (_ Oz | ?2 oz (_ Oz | ||||
o (zes_ O | o (zes_ O | ||||
?1 _C) o (CACAC u // Documento, documentação, localizar, etc. | ?1 _C) o (CACAC u // Documento, documentação, localizar, etc. | ||||
?1 f) o (rmat u // formatar, formato. | ?1 f) o (rmat u // formatar, formato. | ||||
?1 _p) o (rtuC u // Portugal, Portucalense, etc... | ?1 _p) o (rtuC u // Portugal, Portucalense, etc... | ||||
?1 pr) o (f u | |||||
?1 _s) o (lu u // solução, soluções. | ?1 _s) o (lu u // solução, soluções. | ||||
?1 interr) o (g u // eg: interrogação | ?1 interr) o (g u // eg: interrogação | ||||
?1 f) o (rmulá u // eg: formulário, formulários. | ?1 f) o (rmulá u // eg: formulário, formulários. | ||||
?1 v) o (lt O | |||||
.group ô | .group ô | ||||
qu (K ku | qu (K ku | ||||
?1 _) qua kwa // quatro, etc. | ?1 _) qua kwa // quatro, etc. | ||||
?1 _) que ke // quente, 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 C) quen (C kw'eIN // cinquenta, etc. | ||||
?1 A) quen (C kw'eIN // frequência, etc. | ?1 A) quen (C kw'eIN // frequência, etc. | ||||
?1 quec kes // esquece, etc. | ?1 quec kes // esquece, etc. | ||||
A) x (A ks | A) x (A ks | ||||
_e) x (A z | _e) x (A z | ||||
e) x (A ks | e) x (A ks | ||||
?1 e) x (CA S // eg: texto, contexto, etc… | ?1 e) x (CA S | ||||
ai) x (A S | ai) x (A S | ||||
ei) x (A S | ei) x (A S | ||||
au) x s | au) x s | ||||
ale) x (a S | ale) x (a S | ||||
pro) x (i s // aproximado, aproximadamente, aproximar, etc. | pro) x (i s // aproximado, aproximadamente, aproximar, etc. | ||||
pró) x (i s // próximo, etc. | pró) x (i s // próximo, etc. | ||||
?1 i) x (a_ S | |||||
?1 i) x (as_ S | |||||
.group y | .group y | ||||
ç s | ç s | ||||
_) ç (_ s'esed'il^& | _) ç (_ s'esed'il^& | ||||
ü u | ü u | ||||
ß s | ß s | ||||
% pors'eNtu | % pors'eNtu | ||||
// Translations for Romanian words | |||||
// This file in UTF8 encoded | // This file in UTF8 encoded | ||||
// Letters | // Letters | ||||
y 'igrek | y 'igrek | ||||
z zet | z zet | ||||
â ,ydin'a $atend | |||||
ă '@ $atend | |||||
î ,ydin'i $atend | |||||
_. punkt | _. punkt | ||||
$ dolar | |||||
+ plus | |||||
& ampersand | |||||
@ a*'ond | |||||
/ sleS | |||||
€ 'eU*o | |||||
// numeric | // numeric | ||||
sunteţi $u1+ | sunteţi $u1+ | ||||
sunt $u+ | sunt $u+ | ||||
e je $u | e je $u | ||||
e e $atend | |||||
fost $u+ // been | fost $u+ // been | ||||
eram je*am $u2+ // was | eram je*am $u2+ // was | ||||
erai je*aI $u2+ | erai je*aI $u2+ | ||||
zarzări $1 | zarzări $1 | ||||
// speak as letter names | |||||
a a $atend | |||||
â ,ydin'a $atend | |||||
ă '@ $atend | |||||
e e $atend | |||||
î ,ydin'i $atend | |||||
o o $atend |
ăi (t_ @'i | ăi (t_ @'i | ||||
ăi (ţi_ @'i | ăi (ţi_ @'i | ||||
ăi (te @'i | |||||
ăi (te @'i | ăi (n_ @'i | ||||
ăi (n_ @'i | ăi (na_ @'i | ||||
ăi (na_ @'i | ăi (ni_ @'i | ||||
ăi (ni_ @'i | ăi (ne_ @'i | ||||
ăi (ne_ @'i | &) ă (_S1 @ | ||||
@) ăt (_S2t @t | |||||
@) ătă (_S3t @t@ | |||||
@) ătul (_S4t @tul | |||||
@) ătele (_S5t @tele | |||||
@) ătului (_S6t @tuluI | |||||
@) ătelor (_S6t @telor | |||||
&) ă (_S1 @ | |||||
ări (A_ @*'i | ări (A_ @*'i | ||||
ării (_ @*'iI | ării (_ @*'iI | ||||
ări (AA_ @*'i | ări (AA_ @*'i | ||||
@) ăt (_S2t @t | |||||
@) ătă (_S3t @t@ | |||||
@) ătul (_S4t @tul | |||||
@) ătele (_S5t @tele | |||||
@) ătului (_S6t @tuluI | |||||
@) ătelor (_S6t @telor | |||||
.group â | .group â | ||||
â y | â y | ||||
@@) cole (_S1t e | @@) cole (_S1t e | ||||
@) cni (_ kn'i | @) cni (_ kn'i | ||||
@) cnea (_ kne'a | @) cnea (_ kne'a | ||||
.group d | .group d | ||||
d d | d d | ||||
@) d (i_ d; | @) d (i_ d; | ||||
&) ea (_S2q ea | &) ea (_S2q ea | ||||
&) eSi eaj | &) eSi eaj | ||||
eau eaw | eau eaw | ||||
eo eo | |||||
e (AAA e | |||||
@) eş (_ =eS | eo eo | ||||
eoa eO'a | |||||
@) eşul (_ =eSul | e (AAA e | ||||
@) eşi (_ =eSI^ | |||||
@) eşului (_ =eSuluI | |||||
@) eşilor (_ =eSilor | |||||
// &) es (_S1q e | |||||
&C) e (re_ %e | &C) e (re_ %e | ||||
_ac) ee (a eI | |||||
r) ei (er_ 'eI | |||||
@) e (re_ =e | @) e (re_ =e | ||||
@) e (ri_ =e | @) e (ri_ =e | ||||
@) e (rea_ =e | @) e (rea_ =e | ||||
i) e (ri_ e | i) e (ri_ e | ||||
i) e (rea_ 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 | .group f | ||||
f f | f f | ||||
@) f (i_ f; | @) f (i_ f; | ||||
&C) i (_N$1q i/ | &C) i (_N$1q i/ | ||||
&) i (_N$1q i | &) i (_N$1q i | ||||
&) i (-N$1q i // don't reduce to [I^] if a hyphen follows | &) i (-N$1q i // don't reduce to [I^] if a hyphen follows | ||||
ţ) i (-Că i | |||||
ţ) i (-Că i | ţ) i (-Ci i | ||||
ţ) i (-Ci i | &') i (_ i | ||||
&') i (_ i | |||||
ţi-) i (_ _ // combined with previous word as [iI] | ţi-) i (_ _ // combined with previous word as [iI] | ||||
Cr) i (_ i | Cr) i (_ i | ||||
V&) i (_ 'i // verb | V&) i (_ 'i // verb | ||||
ăC) ia (_ 'ia | ăC) ia (_ 'ia | ||||
âC) ia (_ 'ia | âC) ia (_ 'ia | ||||
ăC) ie (_ 'ie | |||||
ăC) ie (_ 'ie | |||||
âC) ie (_ 'ie | âC) ie (_ 'ie | ||||
@) ie (_S1q ie | @) ie (_S1q ie | ||||
iei (_ 'ieI | |||||
iei (_ 'ieI | |||||
ii iI | ii iI | ||||
&) ii (_S2q iI | &) ii (_S2q iI | ||||
iii iji | iii iji | ||||
&) ice (_ =itSe | &) ice (_ =itSe | ||||
&) icile (_ =itSile | &) icile (_ =itSile | ||||
&) icilor (_ =itSilor | &) icilor (_ =itSilor | ||||
@) icii (_ =itSiI | @) icii (_ =itSiI | ||||
&) ing (_ %iNg // foreign words | &) ing (_ %iNg // foreign words | ||||
i (t_ 'i | i (t_ 'i | ||||
ioa iO'a | |||||
ioa iO'a | |||||
.group î | .group î | ||||
î y | î y | ||||
@) î (_ 'y | |||||
@) î (_ 'y | |||||
.group j | .group j | ||||
j Z | j Z | ||||
@) j (i_ Z; | @) j (i_ Z; | ||||
&) logi (A_ lodZ'i | &) logi (A_ lodZ'i | ||||
&) logii (_ lodZ'iI | &) logii (_ lodZ'iI | ||||
.group m | .group m | ||||
_) m (_ me | _) m (_ me | ||||
m m | m m | ||||
-) mi (_ mi/ | -) mi (_ mi/ | ||||
.group n | .group n | ||||
_) n (_ ne | _) n (_ ne | ||||
n n | n n | ||||
@) n (ic_ =n | @) n (ic_ =n | ||||
_) n (-a n | _) n (-a n | ||||
-) n (_ n | |||||
-) n (_ n | |||||
.group o | .group o | ||||
o o | o o | ||||
oa Oa | oa Oa | ||||
ou (_ 'oU | ou (_ 'oU | ||||
o (AAA o | 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 | .group p | ||||
p p | p p | ||||
@) p (i_ p; | @) p (i_ p; | ||||
@u) rile (_S4t rile | @u) rile (_S4t rile | ||||
@) rilor (_S5t rilor | @) 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 | .group s | ||||
_) s (_ se | _) s (_ se | ||||
_) s (-a s | _) s (-a s | ||||
@) sem (_S1t m | @) sem (_S1t m | ||||
@) seră (_S2t *@ | @) seră (_S2t *@ | ||||
@) serăm (_S3t *@m | @) serăm (_S3t *@m | ||||
@) serăţi (_S4t *@tsI^ | |||||
@) serăţi (_S4t *@tsI^ | @) seşi (_S2t SI^ | ||||
@) seşi (_S2t SI^ | @) sni (_ sn'i | ||||
@) sni (_ sn'i | |||||
.group ş | .group ş | ||||
ş S | ş S | ||||
@) ş (i_ S; | @) ş (i_ S; | ||||
@) şni (_ Sn'i | |||||
-) şi (_ SI^ | |||||
@) şni (_ Sn'i | |||||
-) şi (_ SI^ | |||||
.group t | .group t | ||||
t t | t t | ||||
tt (_ t | tt (_ t | ||||
-) ţi (_ ts;i/ | -) ţi (_ ts;i/ | ||||
.group u | .group u | ||||
u u | u u | ||||
u (A w | u (A w | ||||
ui (m_ u'i | ui (m_ u'i | ||||
ui (t_ u'i | ui (t_ u'i | ||||
ui (ţi_ u'i | ui (ţi_ u'i | ||||
ui (se_ u'i | |||||
ui (se_ u'i | &) ul (_S2t ul | ||||
&) ul (_S2t ul | |||||
@ic) ul (_S2 ul | @ic) ul (_S2 ul | ||||
@ic) uri (_S3 urI^ | @ic) uri (_S3 urI^ | ||||
@ic) urile (_S5 urile | @ic) urile (_S5 urile | ||||
.group | .group | ||||
ö Y | ö Y | ||||
D_) % la_sut@ | |||||
% protSent | % protSent | ||||
$ dolar | D_) % la_sut@ | ||||
+ plus | |||||
& ampersand | |||||
@ a*'ond | |||||
/ sleS | |||||
€ 'eU*o | |||||
, (D v'irgul@ | , (D v'irgul@ | ||||
*) * (* | *) * (* | ||||
** | ** | ||||
**) * (_ _:: | **) * (_ _:: | ||||
<HTML> | <HTML> | ||||
<HEAD> | <HEAD> | ||||
<META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=utf-8"> | <META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=utf-8"> | ||||
<TITLE></TITLE> | <TITLE>eSpeak: Adding a Language</TITLE> | ||||
</HEAD> | </HEAD> | ||||
<BODY LANG="en-GB" DIR="LTR"> | <BODY LANG="en-GB" DIR="LTR"> | ||||
<A href="docindex.html">Back</A> | <A href="docindex.html">Back</A> | ||||
<p><li>Improve the sounds of the phonemes. This may consist of making small adjustments to vowel and diphthong quality, | <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 | 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. | 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. | 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, | <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. | 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 | <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. | characteristics of the language which are not currently implemented. For example, a different intonation module. | ||||
</ul> | </ul> | ||||
If you are interested in working on a language, please contact me to set up the initial data and to | <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. | discuss the features of the language.</em></b> | ||||
<HR> | <HR> | ||||
<H3>6.1 Language Code</H3> | <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 | identify the language. It is used in the filenames which | ||||
contains the language's data. In the examples below the code "<B>en</B>" | contains the language's data. In the examples below the code "<B>en</B>" | ||||
(English) is used as an example. Replace this with the code of your | (English) is used as an example. Replace this with the code of your | ||||
program compiles the phonemes files to produce the files | program compiles the phonemes files to produce the files | ||||
<B>espeak-data/phontab</B>, <B>phonindex</B>, and <B>phondata.</B><P> | <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 | 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 | For an initial draft a language will often be able to use vowels and | ||||
consonants which have already been set up for another language. | consonants which have already been set up for another language. | ||||
<HR> | <HR> | ||||
from the base translator class, but allows you to replace these where | from the base translator class, but allows you to replace these where | ||||
needed by new functions which are written specially for this | needed by new functions which are written specially for this | ||||
language.</P> | language.</P> | ||||
<hr> | |||||
</BODY> | </BODY> | ||||
</HTML> | </HTML> |
<strong>-s <integer></strong><br> | <strong>-s <integer></strong><br> | ||||
<dd>Sets the speed in words-per-minute (approximate values for the default voice, others may | <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 | 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> | <p> | ||||
<dt> | <dt> | ||||
<strong>-b</strong><br> | <strong>-b</strong><br> | ||||
<p> | <p> | ||||
<dt> | <dt> | ||||
<strong>--stdout</strong><br> | <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> | <p> | ||||
<dt><strong>--compile[=<voice name>]</strong><br> | <dt><strong>--compile[=<voice name>]</strong><br> | ||||
<dd> | <dd> |
A word (or group of words) may be given one or more flags, either instead of, or as well as, the phonetic translation. | 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> | <ul><table> | ||||
<tbody> | <tbody valign="top"> | ||||
<tr> | <tr> | ||||
<td>$u</td> | <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> | <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> | ||||
<td> </td> | <td> </td> | ||||
</tr> | </tr> | ||||
<tr> | <tr> | ||||
<td>$1</tr> | <td>$1</td> | ||||
<td>Primary stress on the 1st syllable.</td> | <td>Primary stress on the 1st syllable.</td> | ||||
</tr> | </tr> | ||||
<tr> | <tr> |
<!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> |
<h1>eSpeak text to speech</h1></div> | <h1>eSpeak text to speech</h1></div> | ||||
<div align="center"> | <div align="center"> | ||||
(email) jonsd at users dot sourceforge.net<br> | (email) 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> | ||||
<a href="http://sourceforge.net/forum/?group_id=159649"><strong>Forum</strong></a> | <a href="http://sourceforge.net/forum/?group_id=159649"><strong>Forum</strong></a> | ||||
<a href="http://sourceforge.net/projects/espeak"><strong>eSpeak Sourceforge page</a> | |||||
</div> | </div> | ||||
</td> | </td> | ||||
</tr> | </tr> | ||||
<p> | <p> | ||||
<A href="docindex.html">Documents</A> | <A href="docindex.html">Documents</A> | ||||
<p> | <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> | </strong></font> | ||||
</td> | </td> | ||||
<td> | <td> | ||||
<p> | <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. | 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> | <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> | <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> | ||||
This is available as a Windows installer package from the eSpeak <a href="download.html"><strong>Download</strong></a> page.<p> | 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. | A Windows version of the espeakedit program is also available. | ||||
<hr> | <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> | <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> | <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. | <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> | <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. | 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. | ||||
<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. | |||||
</td> | </td> | ||||
</tr> | </tr> | ||||
</tbody> | </tbody> |
<tr><td><p> | <tr><td><p> | ||||
<tr><td><code>[O:]</code><td>th<b>ou</b>ght | <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> | <tr><td><p> | ||||
</table> | </table> | ||||
<hr> | |||||
</body> | </body> | ||||
</html> | </html> |
#ifndef SPEAK_LIB_H | #ifndef SPEAK_LIB_H | ||||
#define SPEAK_LIB_H | #define SPEAK_LIB_H | ||||
/*************************************************************************** | /*************************************************************************** | ||||
* Copyright (C) 2006 by Jonathan Duddington * | * Copyright (C) 2005 to 2007 by Jonathan Duddington * | ||||
* jonsd@users.sourceforge.net * | * email: jonsd@users.sourceforge.net * | ||||
* * | * * | ||||
* This program is free software; you can redistribute it and/or modify * | * 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 * | * 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. * | * (at your option) any later version. * | ||||
* * | * * | ||||
* This program is distributed in the hope that it will be useful, * | * This program is distributed in the hope that it will be useful, * | ||||
* GNU General Public License for more details. * | * GNU General Public License for more details. * | ||||
* * | * * | ||||
* You should have received a copy of the GNU General Public License * | * You should have received a copy of the GNU General Public License * | ||||
* along with this program; if not, write to the * | * along with this program; if not, write see: * | ||||
* Free Software Foundation, Inc., * | * <http://www.gnu.org/licenses/>. * | ||||
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * | |||||
***************************************************************************/ | ***************************************************************************/ | ||||
#include <stdio.h> | #include <stdio.h> | ||||
#define ESPEAK_API_REVISION 2 | |||||
/* | |||||
Revision 2 | |||||
Added parameter "options" to eSpeakInitialize() | |||||
*/ | |||||
/********************/ | /********************/ | ||||
/* Initialization */ | /* Initialization */ | ||||
/********************/ | /********************/ | ||||
espeakEVENT_MARK, // Mark | espeakEVENT_MARK, // Mark | ||||
espeakEVENT_PLAY, // Audio element | espeakEVENT_PLAY, // Audio element | ||||
espeakEVENT_END, // End of sentence | 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; | } espeak_EVENT_TYPE; | ||||
int sample; // sample id (internal use) | int sample; // sample id (internal use) | ||||
void* user_data; // pointer supplied by the calling program | void* user_data; // pointer supplied by the calling program | ||||
union { | 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 | const char *name; // used for MARK and PLAY events. UTF8 string | ||||
} id; | } id; | ||||
} espeak_EVENT; | } espeak_EVENT; | ||||
#ifdef __cplusplus | #ifdef __cplusplus | ||||
extern "C" | extern "C" | ||||
#endif | #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. | /* 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. | output: the audio data can either be played by eSpeak or passed back by the SynthCallback function. | ||||
path: The directory which contains the espeak-data directory, or NULL for the default location. | 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). | Returns: sample rate in Hz, or -1 (EE_INTERNAL_ERROR). | ||||
*/ | */ | ||||
extern "C" | extern "C" | ||||
#endif | #endif | ||||
void espeak_SetUriCallback(int (*UriCallback)(int, const char*, const char*)); | 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 | <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 | 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. | is specified in the <audio> element is available and is to be played. |
</dl> | </dl> | ||||
For a list of voices provided for English and other languages see <a href="languages.html">Languages</a>. | For a list of voices provided for English and other languages see <a href="languages.html">Languages</a>. | ||||
</body> | </body> | ||||
</html> | </html> |
37 phoneme tables | 38 phoneme tables | ||||
new total | new total | ||||
base 96 96 | base 96 96 | ||||
base2 23 114 | base2 23 114 | ||||
de 32 123 | de 32 123 | ||||
eo 13 108 | eo 13 108 | ||||
fi 40 127 | fi 40 127 | ||||
fr 32 118 | fr 33 118 | ||||
fr_ca 11 118 | fr_ca 11 118 | ||||
hi 49 131 | hi 49 131 | ||||
hu 23 113 | hu 23 113 | ||||
sk 29 125 | sk 29 125 | ||||
cs 5 125 | cs 5 125 | ||||
hr 19 129 | hr 19 129 | ||||
mk 1 129 | |||||
sr 2 129 | sr 2 129 | ||||
ru 36 124 | ru 36 124 | ||||
it 17 117 | it 17 117 | ||||
2 b/bo base hi | 2 b/bo base hi | ||||
2 b/bu base hi | 2 b/bu base hi | ||||
2 b/xb base hi | 2 b/xb base hi | ||||
15 d/d 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 | ||||
16 d/d_ 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 | ||||
1 d/d_dnt hi | 16 d/dr base base2 fi hi hu pl hr ru ro el sw | ||||
17 d/dr base base2 fi fr hi hu pl hr ru ro el sw | |||||
1 d/tap ro | 1 d/tap ro | ||||
2 d/tap1 base | 2 d/tap1 base | ||||
2 d/tap2 base | 2 d/tap2 base | ||||
2 d/tap3 base | 2 d/tap3 base | ||||
1 d/tap_i ro | 1 d/tap_i ro | ||||
13 d/xd base base2 fi fr hi hu pl hr ru ro el sw | 13 d/xd base base2 fi hi hu pl hr ru ro el sw | ||||
1 d/xd_dnt hi | |||||
2 d/xd_pzd pl ru | 2 d/xd_pzd pl ru | ||||
1 d/x_tap base | 1 d/x_tap base | ||||
5 dzh/dzh base hi ru | 5 dzh/dzh base hi ru | ||||
1 l^/_l^ base | 1 l^/_l^ base | ||||
1 l^/l^ base | 1 l^/l^ base | ||||
8 l/l base en af sk ru la pt ro | 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 | 1 l/l_ base | ||||
2 l/l@ base | 2 l/l@ base | ||||
1 l/L1_aL base | 1 l/L1_aL base | ||||
1 l/L1_@L base | 1 l/L1_@L base | ||||
1 l/L1_oL base | 1 l/L1_oL base | ||||
1 l/L1_uL base | 1 l/L1_uL base | ||||
6 l/l_2 en af fr sk ru pt | |||||
1 l/L2_aL base | 1 l/L2_aL base | ||||
1 l/L2_eL base | 1 l/L2_eL base | ||||
1 l/L2_iL base | 1 l/L2_iL base | ||||
2 l/L2_@L base en_sc | 2 l/L2_@L base en_sc | ||||
2 l/L2_oL base en_sc | 2 l/L2_oL base en_sc | ||||
5 l/L2_uL base en en_n en_us en_rp | 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/la base | ||||
2 l/le base | 2 l/le base | ||||
2 l/L_eL_af af | 2 l/L_eL_af af | ||||
4 l/l_long base fr la ro | 4 l/l_long base fr la ro | ||||
2 l/lo base | 2 l/lo base | ||||
2 l/lu 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 | 6 l/xl base | ||||
2 m/_m base ro | 2 m/_m base ro | ||||
2 m/m_ base ro | 2 m/m_ base ro | ||||
1 r2/r2i base | 1 r2/r2i base | ||||
1 r2/r2o base | 1 r2/r2o base | ||||
1 r2/r2u 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_@ base | ||||
1 r3/r#_ is | 1 r3/r#_ is | ||||
1 r3/r_a base | 1 r3/r_a base | ||||
1 r3/r_e base | 1 r3/r_e base | ||||
1 r3/r_i base | 1 r3/r_i base | ||||
3 r3/r_n base fr ru | 2 r3/r_n base ru | ||||
1 r3/r_o base | 1 r3/r_o base | ||||
11 r3/r_trill base af cy nl sk pt | 11 r3/r_trill base af cy nl sk pt | ||||
2 r3/r_trill2 base hr | 2 r3/r_trill2 base hr | ||||
8 r3/r_trill3.wav base af cy nl | 8 r3/r_trill3.wav base af cy nl | ||||
3 r3/r_trill.wav base sk pt | 3 r3/r_trill.wav base sk pt | ||||
1 r3/r_u base | 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/rz_cs sk | ||||
2 r3/@tap base | 2 r3/@tap base | ||||
2 r3/@tap_i 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 | 3 r/_r base en_sc pt_pt | ||||
9 r/r_ base en_sc de fi nl ru pt_pt ro sw | 9 r/r_ base en_sc de fi nl ru pt_pt ro sw | ||||
1 r/r@ base | 1 r/r@ base | ||||
9 ustop/pr base base2 fi hi hu la ro | 9 ustop/pr base base2 fi hi hu la ro | ||||
8 ustop/p_unasp base base2 fi hi hu sk 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 | 7 ustop/p_unasp_ base2 fi hi hu sk la ro | ||||
3 ustop/t base en hi | 6 ustop/t base en fr hi | ||||
6 ustop/t_ base en hi sk el | 8 ustop/t_ base en fr hi sk el | ||||
27 ustop/t_dnt base base2 en fi fr hi hu pl hr ru ro vi ++ | 22 ustop/t_dnt base base2 en fi hi hu pl hr ru ro vi sw | ||||
2 ustop/t_dnt2 hi vi | 1 ustop/t_dnt2 vi | ||||
2 ustop/t_hi hi | |||||
4 ustop/t_pzd pl ru | 4 ustop/t_pzd pl ru | ||||
7 ustop/tr base en hi ru | 7 ustop/tr base en hi ru | ||||
8 ustop/ts base2 de eo hu pl ru ro zh_yue | 8 ustop/ts base2 de eo hu pl ru ro zh_yue | ||||
4 voc/Q_ base nl pt | 4 voc/Q_ base nl pt | ||||
2 voc/Q_less nl pt | 2 voc/Q_less nl pt | ||||
6 voc/v base fi hi nl ro is | 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 | 4 vocw/dh base es | ||||
2 vocw/Q base | 2 vocw/Q base | ||||
3 vocw/Q_ base nl | 3 vocw/Q_ base nl | ||||
1 vocw/Q2 nl | 1 vocw/Q2 nl | ||||
6 vocw/v base ro | 8 vocw/v base fr ro | ||||
4 vocw/zh base ro | 4 vocw/zh base ro | ||||
2 vocw/zh_rfx base | 2 vocw/zh_rfx base | ||||
3 voc/z base fr ro | 3 voc/z base fr ro | ||||
4 vowel/0 base2 en hi pt | 4 vowel/0 base2 en hi pt | ||||
4 vowel/0_2 en_n en_wm pt_pt sw | 4 vowel/0_2 en_n en_wm pt_pt sw | ||||
5 vowel/0_3 en_us en_sc en_rp hu | 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 | 6 vowel/@_3 en_sc de hi | ||||
1 vowel/3_2 en_n | 1 vowel/3_2 en_n | ||||
1 vowel/3_3 en_rp | 1 vowel/3_3 en_rp | ||||
4 vowel/a# base2 en_sc pt | 4 vowel/a# base2 en_sc pt | ||||
7 vowel/a_2 base2 eo la pt pt_pt ro vi | 7 vowel/a_2 base2 eo la pt pt_pt ro vi | ||||
4 vowel/a#_2 hr sv is sw | 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 | 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 | 4 vowel/a_4 en_wm el vi | ||||
3 vowel/a_5 it sv sw | 3 vowel/a_5 it sv sw | ||||
2 vowel/aa_5 en_n | 2 vowel/aa_5 en_n | ||||
2 vowel/aa_6 de | 2 vowel/aa_6 de | ||||
1 vowel/aa_7 nl | 1 vowel/aa_7 nl | ||||
4 vowel/a_en en fr | 3 vowel/a_en en fr | ||||
1 vowel/@_bck hi | 1 vowel/@_bck hi | ||||
15 vowel/e base2 en en_n af cy eo fr hu hr it la pt ++ | 15 vowel/e base2 en en_n af cy eo fr hu hr it la pt ++ | ||||
2 vowel/e# en_sc | 2 vowel/e# en_sc | ||||
2 vowel/ii_4 en_rp | 2 vowel/ii_4 en_rp | ||||
6 vowel/ii_en en en_n | 6 vowel/ii_en en en_n | ||||
5 vowel/@_low hi ro no | 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 | 4 vowel/o_2 cy hi hu no | ||||
2 vowel/o-_2 en_n en_wm | 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-_3 en_rp | ||||
1 vowel/o_4 en_n | 1 vowel/o_4 en_n | ||||
1 vowel/o-_4 ro | 1 vowel/o-_4 ro | ||||
1 vowel/o_6 nl | 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_2 no | ||||
1 vowel/oe_4 sv | 1 vowel/oe_4 sv | ||||
2 vowel/o_mid fr hu | 2 vowel/o_mid fr hu | ||||
4 vowelr/r-voc hi sk hr | 4 vowelr/r-voc hi sk hr | ||||
2 vowelr/V3_r en en_sc | 2 vowelr/V3_r en en_sc | ||||
1 vowelr/V_r en | 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 | 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#_2 sv | ||||
1 vowel/u_3 ro | 1 vowel/u_3 ro | ||||
1 vowel/u#_3 en_n | 1 vowel/u#_3 en_n | ||||
2 vwl_en_wm/aa en_wm | 2 vwl_en_wm/aa en_wm | ||||
1 vwl_en_wm/i en_wm | 1 vwl_en_wm/i en_wm | ||||
2 vwl_en_wm/ii en_wm | 2 vwl_en_wm/ii en_wm | ||||
1 vwl_fr/@R pt_pt | 3 vwl_fr/@R fr pt_pt | ||||
3 vwl_fr/@R2 fr fr_ca | 1 vwl_fr/@R2 fr_ca | ||||
1 vwl_hi/A hi | 1 vwl_hi/A hi | ||||
3 vwl_hi/l-voc hi sk | 3 vwl_hi/l-voc hi sk | ||||
2 vwl_no/& no | 2 vwl_no/& no | ||||
1 vwl_sv/r_sv3 sv | 1 vwl_sv/r_sv3 sv | ||||
1 vwl_zh/aang zh_yue | 1 vwl_zh/aang zh_yue | ||||
1 vwl_zh/ong zh_yue | 1 vwl_zh/ong zh_yue | ||||
1 w/w base | 2 w/w base fr | ||||
1 w/_w base | 2 w/_w base fr | ||||
1 w/w_ base | 1 w/w_ base | ||||
1 w/w@ base | 1 w/w@ base | ||||
8 w/w2 base2 pl sk pt_pt | 8 w/w2 base2 pl sk pt_pt | ||||
20 x/b base hi ro is | 20 x/b base hi ro is | ||||
1 x/b_ base | 1 x/b_ base | ||||
10 x/d base en_us hi hr el is | 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 | 13 x/d_ base base2 fi hi pl hr ru ro el is sw | ||||
23 x/d_dnt base base2 fi fr hi hu pl ru ro sw | 21 x/d_dnt base base2 fi hi hu pl ru ro sw | ||||
6 x/d_pzd pl ru | 6 x/d_pzd pl ru | ||||
4 x/dzh base hi | 4 x/dzh base hi | ||||
5 x/dzh_ base hi ru | 5 x/dzh_ base hi ru |
beforenotvowel l/2 // 'dark' [l] | beforenotvowel l/2 // 'dark' [l] | ||||
formants l/l | formants l/l | ||||
after _ l/_l t l/tl | after _ l/_l t l/tl | ||||
before _ l/l_2 | |||||
endphoneme | endphoneme | ||||
phoneme c | phoneme c |
phoneme d | phoneme d | ||||
vcd alv stop | 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 | vowelout f1=2 f2=1700 -300 300 f3=-100 80 | ||||
formants d/d+x/d%50 | formants d/d+x/d%50 | ||||
before _ d/d_+x/d_ | before _ d/d_+x/d_ |
beforenotvowel l/2 // use 'dark' [l] after a vowel | beforenotvowel l/2 // use 'dark' [l] after a vowel | ||||
formants l/l | formants l/l | ||||
after _ l/_l t l/tl | after _ l/_l t l/tl | ||||
before _ l/l_2 | |||||
endphoneme | endphoneme | ||||
phoneme @ | phoneme @ | ||||
vowel starttype (@) endtype (@) | vowel starttype (@) endtype (@) | ||||
length 130 | length 160 | ||||
formants vowel/@_2 | formants vowel/@_2 | ||||
endphoneme | endphoneme | ||||
phoneme a | phoneme a | ||||
vowel starttype (a) endtype (a) | vowel starttype (a) endtype (a) | ||||
length 160 | length 160 | ||||
formants vowel/a_en | formants vowel/a_3 | ||||
endphoneme | endphoneme | ||||
phoneme i | phoneme i | ||||
vowel starttype (i) endtype (i) | vowel starttype (i) endtype (i) | ||||
length 150 | length 160 | ||||
formants vowel/i | formants vowel/i | ||||
linkout ; | linkout ; | ||||
endphoneme | endphoneme | ||||
phoneme o | phoneme o | ||||
vowel starttype (o) endtype (o) | vowel starttype (o) endtype (o) | ||||
length 160 | length 170 | ||||
formants vowel/o | formants vowel/o_3 | ||||
endphoneme | endphoneme | ||||
phoneme u | phoneme u | ||||
vowel starttype (u) endtype (u) | vowel starttype (u) endtype (u) | ||||
length 150 | length 160 | ||||
formants vowel/u | formants vowel/u_2 | ||||
endphoneme | endphoneme | ||||
phoneme y | phoneme y | ||||
vowel starttype (e) endtype (u) | vowel starttype (e) endtype (u) | ||||
length 148 | length 160 | ||||
formants vowel/y_2 | formants vowel/y_2 | ||||
endphoneme | endphoneme | ||||
phoneme Y | phoneme Y | ||||
vowel starttype (@) endtype (@) | vowel starttype (@) endtype (@) | ||||
length 214 | length 170 | ||||
formants vowel/y# | formants vowel/y# | ||||
endphoneme | endphoneme | ||||
phoneme w | |||||
liquid | |||||
length 120 | |||||
beforenotvowel w/ | |||||
lengthmod 7 | |||||
formants w/w | |||||
after _ w/_w | |||||
endphoneme | |||||
phoneme W | phoneme W | ||||
vowel starttype (@) endtype (@) | vowel starttype (@) endtype (@) | ||||
length 170 | length 170 | ||||
formants vowel/oe | formants vowel/@_2 | ||||
endphoneme | endphoneme | ||||
liquid | liquid | ||||
length 100 | length 100 | ||||
lengthmod 7 | lengthmod 7 | ||||
beforenotvowel l/ | // beforenotvowel l/ | ||||
formants l/l_2 | formants l/l_3 | ||||
after _ l/_l | // after _ l/_l | ||||
after t l/tl | // after t l/tl | ||||
after l/ l/l_long // double l, make it longer | after l/ l/l_long // double l, make it longer | ||||
endphoneme | endphoneme | ||||
phoneme r | |||||
vcd uvl frc | |||||
phoneme R | vowelin f1=0 f2=800 -100 100 f3=-400 100 | ||||
liquid | |||||
// vcd uvl frc | |||||
vowelin f1=0 f2=1500 -400 400 f3=-400 80 | |||||
length 100 | length 100 | ||||
lengthmod 7 | lengthmod 7 | ||||
beforenotvowel r/ | beforenotvowel r/ | ||||
formants vwl_fr/@R2 | formants vwl_fr/@R%40 | ||||
endphoneme | endphoneme | ||||
phoneme R2 | phoneme R | ||||
liquid | vcd uvl frc | ||||
// vcd uvl frc | vowelin f1=0 f2=800 -100 100 f3=-400 100 | ||||
vowelin f1=0 f2=1500 -400 400 f3=-400 80 | |||||
length 100 | length 100 | ||||
lengthmod 7 | lengthmod 7 | ||||
beforenotvowel r/ | beforenotvowel r/ | ||||
formants vwl_fr/@R2+r3/rx%120 | formants vwl_fr/@R%40 | ||||
endphoneme | endphoneme | ||||
phoneme r/ // used for [r] when not preceding a vowel | phoneme r/ // used for [r] when not preceding a vowel | ||||
liquid | vcd uvl frc | ||||
length 100 | length 100 | ||||
lengthmod 2 // | lengthmod 2 // | ||||
formants r3/r_+r3/rx | formants r/r | ||||
before n r3/r_n+r3/rx | // before n r3/r_n+r3/rx | ||||
endphoneme | endphoneme | ||||
phoneme t | |||||
phoneme t // dental variant of /t/ | vls alv stop | ||||
vls dnt stop | vowelin f1=0 f2=1700 -100 100 f3=-100 80 | ||||
vowelin f1=0 f2=1600 -300 300 f3=-100 80 | vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20 | ||||
vowelout f1=0 f2=1600 -300 250 f3=-100 80 rms=20 | |||||
lengthmod 2 | lengthmod 2 | ||||
wave ustop/t_dnt%50 | wave ustop/t%50 | ||||
before _ ustop/t_dnt%40 | before _ ustop/t_%40 | ||||
before @- ustop/t%50 | |||||
// before r ustop/tr | |||||
// before R ustop/tr | |||||
switchvoicing d | switchvoicing d | ||||
endphoneme | endphoneme | ||||
phoneme t2 // silent unless followed by vowel | phoneme t2 // silent unless followed by vowel | ||||
beforenotvowel NULL | beforenotvowel NULL | ||||
vls dnt stop | vls alv stop | ||||
vowelin f1=0 f2=1600 -300 300 f3=-100 80 | vowelin f1=0 f2=1600 -300 300 f3=-100 80 | ||||
vowelout f1=0 f2=1600 -300 250 f3=-100 80 rms=20 | vowelout f1=0 f2=1600 -300 250 f3=-100 80 rms=20 | ||||
lengthmod 2 | lengthmod 2 | ||||
wave ustop/t_dnt%50 | wave ustop/t | ||||
before _ ustop/t_dnt%40 | before _ ustop/t_ | ||||
endphoneme | endphoneme | ||||
endphoneme | 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 | phoneme k | ||||
vls vel stop | vls vel stop | ||||
endphoneme | 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 | |||||
//==================================================== | //==================================================== | ||||
// Greek - based on Italian | // Greek - based on base2 | ||||
//==================================================== | //==================================================== | ||||
phoneme t // revert to alveolar /t/ | phoneme t // revert to alveolar /t/ | ||||
vls alv stop | vls alv stop | ||||
vowelin f1=1 f2=1700 -300 300 f3=-100 80 rms=30 | vowelin f1=1 f2=1600 -300 300 f3=-100 80 amp=11 | ||||
vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20 | vowelout f1=0 f2=1600 -300 250 f3=-100 80 rms=20 | ||||
lengthmod 2 | lengthmod 2 | ||||
wave ustop/t_short%80 | wave ustop/t_short%80 | ||||
before _ ustop/t_ | before _ ustop/t_ |
phoneme t // dental variant of /t/ | phoneme t // dental variant of /t/ | ||||
vls dnt stop | vls dnt stop | ||||
vowelin f1=1 f2=1600 -300 300 f3=-100 80 | vowelin f1=1 f2=1500 -300 300 f3=-100 80 amp=18 | ||||
vowelout f1=0 f2=1600 -300 250 f3=-100 80 rms=20 | vowelout f1=0 f2=1500 -300 250 f3=-100 80 rms=20 | ||||
lengthmod 2 | lengthmod 2 | ||||
wave ustop/t_dnt2%60 | wave ustop/t_hi%60 | ||||
before _ ustop/t_dnt%35 | before _ ustop/t_dnt%35 | ||||
// before _ ustop/t_hi%35 | |||||
switchvoicing d | switchvoicing d | ||||
endphoneme | endphoneme | ||||
phoneme th // dental variant of /t/ Same as [t] for now | phoneme th // dental variant of /t/ Same as [t] for now | ||||
vls dnt stop | vls dnt stop | ||||
vowelin f1=0 f2=1600 -300 300 f3=-100 80 | vowelin f1=0 f2=1500 -300 300 f3=-100 80 | ||||
vowelout f1=0 f2=1600 -300 250 f3=-100 80 rms=20 | vowelout f1=0 f2=1500 -300 250 f3=-100 80 rms=20 | ||||
lengthmod 2 | lengthmod 2 | ||||
wave ustop/t_dnt%50+ufric/h@ | wave ustop/t_hi%50+ufric/h@ | ||||
switchvoicing d | switchvoicing d | ||||
endphoneme | endphoneme | ||||
phoneme d // (weak) dental variant of /d/ | phoneme d // dental variant of /d/ | ||||
vcd dnt stop | vcd dnt stop | ||||
vowelin f1=2 f2=1700 -300 300 f3=-100 80 | vowelin f1=2 f2=1500 -300 300 f3=-150 80 | ||||
vowelout f1=2 f2=1700 -300 300 f3=-100 80 rms=20 len=1 | vowelout f1=2 f2=1500 -300 300 f3=-150 80 | ||||
formants d/d_dnt+x/d_dnt%50 | formants d/d+x/d_dnt%110 | ||||
before _ d/d_+x/d_ | before _ d/d_+x/d_ | ||||
before r d/dr+x/d_dnt%60 | before r d/dr+x/d_dnt%110 | ||||
after _ NULL | after _ NULL | ||||
after @ d/xd_dnt | after @ d/xd | ||||
lengthmod 5 | lengthmod 5 | ||||
switchvoicing t | switchvoicing t | ||||
endphoneme | endphoneme | ||||
//phoneme dh // use [d]+[h] | //phoneme dh // use [d]+[h] | ||||
// vcd dnt stop | // vcd dnt stop | ||||
// vowelin f1=1 f2=1700 -200 200 f3=100 80 | // vowelin f1=1 f2=1700 -200 200 f3=100 80 |
phoneme a: | phoneme a: | ||||
vowel starttype (a) endtype (a) | vowel starttype (a) endtype (a) | ||||
length 280 | length 270 | ||||
formants vowel/a | formants vowel/a | ||||
endphoneme | endphoneme | ||||
phoneme b | phoneme b | ||||
vls blb stop | 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 | vowelout f1=2 f2=1000 -300 -300 f3=-300 80 brk | ||||
lengthmod 5 | lengthmod 5 | ||||
wave x/b | wave x/b |
phoneme i | phoneme i | ||||
vowel starttype (i) endtype (i) | vowel starttype (i) endtype (i) | ||||
length 150 | length 140 | ||||
formants vowel/i | formants vowel/i | ||||
linkout ; | linkout ; | ||||
endphoneme | endphoneme |
formants l/l | formants l/l | ||||
after _ l/_l | after _ l/_l | ||||
after t l/tl | after t l/tl | ||||
before _ l/l_2 | |||||
endphoneme | endphoneme | ||||
vcd alv flp | vcd alv flp | ||||
vowelout f1=3 f2=1700 -300 300 f3=-300 80 rms=35 len=15 colr=1 | vowelout f1=3 f2=1700 -300 300 f3=-300 80 rms=35 len=15 colr=1 | ||||
formants d/tap+r3/rx | 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 | before (i) d/tap_i+r3/rx | ||||
lengthmod 2 | lengthmod 2 | ||||
endphoneme | endphoneme |
beforenotvowel l/2 // use 'dark' [l] after a vowel | beforenotvowel l/2 // use 'dark' [l] after a vowel | ||||
formants l/l | formants l/l | ||||
after _ l/_l t l/tl | after _ l/_l t l/tl | ||||
before _ l/l_2 | |||||
endphoneme | endphoneme | ||||
beforenotvowel l/2 // use 'dark' [l] after a vowel | beforenotvowel l/2 // use 'dark' [l] after a vowel | ||||
formants l/l | formants l/l | ||||
after _ l/_l t l/tl | after _ l/_l t l/tl | ||||
before _ l/l_2 | |||||
endphoneme | endphoneme | ||||
phoneme w | phoneme w |
// Cantonese Chinese | |||||
//================== | |||||
//==================================================== | //==================================================== | ||||
// Tone Numbers | // Tone Numbers | ||||
//==================================================== | //==================================================== |
phoneme ** // TEST flap after consonant | phoneme ** // TEST flap after consonant | ||||
liquid alv | liquid alv | ||||
vowelout f1=3 f2=1700 -300 300 f3=-300 80 rms=35 len=15 | 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 | 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 (i) r3/@tap_i+r3/rx | ||||
before (e) 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 | before (a) r3/@tap+r3/rx | ||||
endphoneme | endphoneme | ||||
vcd alv flp | vcd alv flp | ||||
brkafter | brkafter | ||||
vowelout f1=3 f2=1500 -400 300 f3=-200 80 rms=35 len=50 | 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 | 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 (i) d/tap1+r3/rx%150 | ||||
before (e) 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 (a) d/tap3+r3/rx%200 | ||||
before r d/dr | before r d/dr | ||||
lengthmod 3 | lengthmod 3 | ||||
phoneme p | phoneme p | ||||
vls blb stop | vls blb stop | ||||
// vowelin f1=0 f2=1000 -50 -50 f3=-200 80 | vowelin f1=0 f2=1000 -50 -100 f3=-200 80 amp=11 | ||||
// vowelout f1=0 f2=1000 -500 -350 f3=-200 80 | |||||
vowelin f1=0 f2=1000 -50 -100 f3=-200 80 rms=30 | |||||
vowelout f1=0 f2=1000 -500 -350 f3=-300 80 rms=22 | vowelout f1=0 f2=1000 -500 -350 f3=-300 80 rms=22 | ||||
lengthmod 2 | lengthmod 2 | ||||
wave ustop/p | wave ustop/p | ||||
phonemetable hr sk | phonemetable hr sk | ||||
include ph_croatian | include ph_croatian | ||||
phonemetable mk hr | |||||
include ph_macedonian | |||||
phonemetable sr hr | phonemetable sr hr | ||||
include ph_serbian | include ph_serbian | ||||
include ph_swahili | include ph_swahili | ||||
phonemetable basef base | //phonemetable basef base | ||||
include pf | //include pf | ||||
phonemetable f_en basef | //phonemetable f_en basef | ||||
include pf_english | //include pf_english |
/*************************************************************************** | /*************************************************************************** | ||||
* Copyright (C) 2005, 2006 by Jonathan Duddington * | * Copyright (C) 2005 to 2007 by Jonathan Duddington * | ||||
* jonsd@users.sourceforge.net * | * email: jonsd@users.sourceforge.net * | ||||
* * | * * | ||||
* This program is free software; you can redistribute it and/or modify * | * 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 * | * 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. * | * (at your option) any later version. * | ||||
* * | * * | ||||
* This program is distributed in the hope that it will be useful, * | * This program is distributed in the hope that it will be useful, * | ||||
* GNU General Public License for more details. * | * GNU General Public License for more details. * | ||||
* * | * * | ||||
* You should have received a copy of the GNU General Public License * | * You should have received a copy of the GNU General Public License * | ||||
* along with this program; if not, write to the * | * along with this program; if not, write see: * | ||||
* Free Software Foundation, Inc., * | * <http://www.gnu.org/licenses/>. * | ||||
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * | |||||
***************************************************************************/ | ***************************************************************************/ | ||||
#include <stdio.h> | #include <stdio.h> | ||||
#include <string.h> | #include <string.h> | ||||
#include <ctype.h> | #include <ctype.h> | ||||
{"f4", 0x300000a}, | {"f4", 0x300000a}, | ||||
{"paus", 0x300000b}, | {"paus", 0x300000b}, | ||||
{"colr=",0x300000c}, | {"colr=",0x300000c}, | ||||
{"amp=", 0x300000d}, | |||||
{"", -1} | {"", -1} | ||||
}; | }; | ||||
flags |= 1; | flags |= 1; | ||||
break; | break; | ||||
case 2: | case 2: | ||||
rms = Range(NextItem(tNUMBER), 2, 0, 63) & 0x3f; | rms = Range(NextItem(tNUMBER), 2, 0, 31) & 0x1f; | ||||
flags |= 1; | flags |= 1; | ||||
break; | break; | ||||
case 3: | case 3: | ||||
case 12: | case 12: | ||||
vcolour = NextItem(tNUMBER); | vcolour = NextItem(tNUMBER); | ||||
break; | break; | ||||
case 13: | |||||
rms = (Range(NextItem(tNUMBER), 1, 0, 31) & 0x1f) | 0x20; | |||||
flags |= 1; | |||||
break; | |||||
} | } | ||||
} | } | ||||
trans[0] = len + (rms << 6) + (flags << 12) + 0x80000000; | trans[0] = len + (rms << 6) + (flags << 12) + 0x80000000; |
/*************************************************************************** | /*************************************************************************** | ||||
* Copyright (C) 2005,2006 by Jonathan Duddington * | * Copyright (C) 2005 to 2007 by Jonathan Duddington * | ||||
* jonsd@users.sourceforge.net * | * email: jonsd@users.sourceforge.net * | ||||
* * | * * | ||||
* This program is free software; you can redistribute it and/or modify * | * 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 * | * 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. * | * (at your option) any later version. * | ||||
* * | * * | ||||
* This program is distributed in the hope that it will be useful, * | * This program is distributed in the hope that it will be useful, * | ||||
* GNU General Public License for more details. * | * GNU General Public License for more details. * | ||||
* * | * * | ||||
* You should have received a copy of the GNU General Public License * | * You should have received a copy of the GNU General Public License * | ||||
* along with this program; if not, write to the * | * along with this program; if not, write see: * | ||||
* Free Software Foundation, Inc., * | * <http://www.gnu.org/licenses/>. * | ||||
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * | |||||
***************************************************************************/ | ***************************************************************************/ | ||||
#include "StdAfx.h" | #include "StdAfx.h" | ||||
#include <stdio.h> | #include <stdio.h> | ||||
#include "synthesize.h" | #include "synthesize.h" | ||||
#include "translate.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 OPT_FORMAT // format the text and write formatted copy to Log file | ||||
//#define OUTPUT_FORMAT | //#define OUTPUT_FORMAT | ||||
c = *p; | c = *p; | ||||
} | } | ||||
if((c == '$') && (step != 1)) | if((c == '$') && isalnum(p[1])) | ||||
{ | { | ||||
/* read keyword parameter */ | /* read keyword parameter */ | ||||
mnemptr = p; | mnemptr = p; | ||||
pa += (strlen(pa)+1); | pa += (strlen(pa)+1); | ||||
pb += (strlen(pb)+1); | pb += (strlen(pb)+1); | ||||
return(strcmp(pa,pb)); | return(strcmp(pa,pb)); | ||||
} /* end of strcmp2 */ | } /* end of string_sorter */ | ||||
static int __cdecl rgroup_sorter(RGROUP *a, RGROUP *b) | static int __cdecl rgroup_sorter(RGROUP *a, RGROUP *b) | ||||
{//=================================================== | {//=================================================== | ||||
#endif | #endif | ||||
//#define LIST_GROUP_INFO | |||||
void output_rule_group(FILE *f_out, int n_rules, char **rules, char *name) | void output_rule_group(FILE *f_out, int n_rules, char **rules, char *name) | ||||
{//======================================================================= | {//======================================================================= | ||||
int ix; | int ix; | ||||
char *p2, *p3; | char *p2, *p3; | ||||
const char *common; | 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); | len_name = strlen(name); | ||||
#ifdef OUTPUT_FORMAT | #ifdef OUTPUT_FORMAT | ||||
print_rule_group(f_log,n_rules,rules,name); | print_rule_group(f_log,n_rules,rules,name); | ||||
#endif | #endif | ||||
// sort the rules in this group by their phoneme string | |||||
common = ""; | common = ""; | ||||
#ifdef OPT_PH_COMMON | |||||
qsort((void *)rules,n_rules,sizeof(char *),(int (__cdecl *)(const void *,const void *))string_sorter); | qsort((void *)rules,n_rules,sizeof(char *),(int (__cdecl *)(const void *,const void *))string_sorter); | ||||
#endif | |||||
if(strcmp(name,"9")==0) | if(strcmp(name,"9")==0) | ||||
len_name = 0; // don't remove characters from numeric match strings | len_name = 0; // don't remove characters from numeric match strings | ||||
p3 = &p[len1]; | p3 = &p[len1]; | ||||
p2 = p3 + len_name; // remove group name from start of match string | p2 = p3 + len_name; // remove group name from start of match string | ||||
len2 = strlen(p2); | len2 = strlen(p2); | ||||
//fprintf(f_log,"%4x %2d len1=%2d %2x %2x %2x %2x len2=%2d %2x %2x %2x %2x %2x %2x %2x\n", | nextchar_count[(unsigned char)(p2[0])]++; // the next byte after the group name | ||||
// 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]); | |||||
if((common[0] != 0) && (strcmp(p,common)==0)) | if((common[0] != 0) && (strcmp(p,common)==0)) | ||||
{ | { | ||||
} | } | ||||
else | else | ||||
{ | { | ||||
#ifdef OPT_PH_COMMON | |||||
if((ix < n_rules-1) && (strcmp(p,rules[ix+1])==0)) | if((ix < n_rules-1) && (strcmp(p,rules[ix+1])==0)) | ||||
{ | { | ||||
common = rules[ix]; // phoneme string is same as next, set as common | common = rules[ix]; // phoneme string is same as next, set as common | ||||
fputc(RULE_PH_COMMON,f_out); | fputc(RULE_PH_COMMON,f_out); | ||||
} | } | ||||
#endif | |||||
fwrite(p2,len2,1,f_out); | fwrite(p2,len2,1,f_out); | ||||
fputc(RULE_PHONEMES,f_out); | fputc(RULE_PHONEMES,f_out); | ||||
fwrite(p,len1,1,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 | } // end of output_rule_group | ||||
/*************************************************************************** | /*************************************************************************** | ||||
* Copyright (C) 2005,2006 by Jonathan Duddington * | * Copyright (C) 2005 to 2007 by Jonathan Duddington * | ||||
* jonsd@users.sourceforge.net * | * email: jonsd@users.sourceforge.net * | ||||
* * | * * | ||||
* This program is free software; you can redistribute it and/or modify * | * 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 * | * 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. * | * (at your option) any later version. * | ||||
* * | * * | ||||
* This program is distributed in the hope that it will be useful, * | * This program is distributed in the hope that it will be useful, * | ||||
* GNU General Public License for more details. * | * GNU General Public License for more details. * | ||||
* * | * * | ||||
* You should have received a copy of the GNU General Public License * | * You should have received a copy of the GNU General Public License * | ||||
* along with this program; if not, write to the * | * along with this program; if not, write see: * | ||||
* Free Software Foundation, Inc., * | * <http://www.gnu.org/licenses/>. * | ||||
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * | |||||
***************************************************************************/ | ***************************************************************************/ | ||||
#include "StdAfx.h" | #include "StdAfx.h" | ||||
#define LOG_TRANSLATE | #define LOG_TRANSLATE | ||||
} | } | ||||
break; | 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: | case 5: | ||||
// LANG=Russian | // LANG=Russian | ||||
if(stressed_syllable == 0) | if(stressed_syllable == 0) |
/*************************************************************************** | /*************************************************************************** | ||||
* Copyright (C) 2005,2006 by Jonathan Duddington * | * Copyright (C) 2006 to 2007 by Jonathan Duddington * | ||||
* jonsd@users.sourceforge.net * | * email: jonsd@users.sourceforge.net * | ||||
* * | * * | ||||
* This program is free software; you can redistribute it and/or modify * | * 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 * | * 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. * | * (at your option) any later version. * | ||||
* * | * * | ||||
* This program is distributed in the hope that it will be useful, * | * This program is distributed in the hope that it will be useful, * | ||||
* GNU General Public License for more details. * | * GNU General Public License for more details. * | ||||
* * | * * | ||||
* You should have received a copy of the GNU General Public License * | * You should have received a copy of the GNU General Public License * | ||||
* along with this program; if not, write to the * | * along with this program; if not, write see: * | ||||
* Free Software Foundation, Inc., * | * <http://www.gnu.org/licenses/>. * | ||||
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * | |||||
***************************************************************************/ | ***************************************************************************/ | ||||
#include <stdio.h> | #include <stdio.h> | ||||
int samplerate; | int samplerate; | ||||
FILE *f_wavfile = NULL; | FILE *f_wavfile = NULL; | ||||
char wavefile[160]; | char wavefile[160]; |
* * | * * | ||||
* This program is free software; you can redistribute it and/or modify * | * 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 * | * 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. * | * (at your option) any later version. * | ||||
* * | * * | ||||
* This program is distributed in the hope that it will be useful, * | * This program is distributed in the hope that it will be useful, * |
/*************************************************************************** | /*************************************************************************** | ||||
* Copyright (C) 2005, 2006 by Jonathan Duddington * | * Copyright (C) 2005 to 2007 by Jonathan Duddington * | ||||
* jsd@clara.co.uk * | * email: jonsd@users.sourceforge.net * | ||||
* * | * * | ||||
* This program is free software; you can redistribute it and/or modify * | * 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 * | * 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. * | * (at your option) any later version. * | ||||
* * | * * | ||||
* This program is distributed in the hope that it will be useful, * | * This program is distributed in the hope that it will be useful, * | ||||
* GNU General Public License for more details. * | * GNU General Public License for more details. * | ||||
* * | * * | ||||
* You should have received a copy of the GNU General Public License * | * You should have received a copy of the GNU General Public License * | ||||
* along with this program; if not, write to the * | * along with this program; if not, write see: * | ||||
* Free Software Foundation, Inc., * | * <http://www.gnu.org/licenses/>. * | ||||
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * | |||||
***************************************************************************/ | ***************************************************************************/ | ||||
#include "wx/wx.h" | #include "wx/wx.h" | ||||
#include "prosodydisplay.h" | #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"; | const char *path_data = "/home/jsd1/speechdata/phsource"; | ||||
if((result = LoadPhData()) != 1) | if((result = LoadPhData()) != 1) | ||||
{ | { | ||||
if(result == -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 | else | ||||
wxLogError(_T("Wrong version of espeak-data: 0x%x (expects 0x%x)"),result,version_phdata); | wxLogError(_T("Wrong version of espeak-data: 0x%x (expects 0x%x)"),result,version_phdata); | ||||
void MyFrame::OnAbout(wxCommandEvent& WXUNUSED(event)) | void MyFrame::OnAbout(wxCommandEvent& WXUNUSED(event)) | ||||
{//=================================================== | {//=================================================== | ||||
char buf[120]; | char buf[300]; | ||||
sprintf(buf,about_string,espeak_Info(NULL)); | sprintf(buf,about_string,espeak_Info(NULL)); | ||||
(void)wxMessageBox(wxString(buf,wxConvLocal), _T("About eSpeak Editor")); | (void)wxMessageBox(wxString(buf,wxConvLocal), _T("About eSpeak Editor")); |
* * | * * | ||||
* This program is free software; you can redistribute it and/or modify * | * 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 * | * 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. * | * (at your option) any later version. * | ||||
* * | * * | ||||
* This program is distributed in the hope that it will be useful, * | * This program is distributed in the hope that it will be useful, * |
/*************************************************************************** | /*************************************************************************** | ||||
* Copyright (C) 2006 by Jonathan Duddington * | * Copyright (C) 2006 to 2007 by Jonathan Duddington * | ||||
* jonsd@users.sourceforge.net * | * email: jonsd@users.sourceforge.net * | ||||
* * | * * | ||||
* This program is free software; you can redistribute it and/or modify * | * 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 * | * 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. * | * (at your option) any later version. * | ||||
* * | * * | ||||
* This program is distributed in the hope that it will be useful, * | * This program is distributed in the hope that it will be useful, * | ||||
* GNU General Public License for more details. * | * GNU General Public License for more details. * | ||||
* * | * * | ||||
* You should have received a copy of the GNU General Public License * | * You should have received a copy of the GNU General Public License * | ||||
* along with this program; if not, write to the * | * along with this program; if not, write see: * | ||||
* Free Software Foundation, Inc., * | * <http://www.gnu.org/licenses/>. * | ||||
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * | |||||
***************************************************************************/ | ***************************************************************************/ | ||||
#include "wx/wx.h" | #include "wx/wx.h" | ||||
} | } | ||||
#endif | #endif | ||||
char* text1 = "Hello World2. <audio src=\"here\"> Some text</audio> This is the second sentence"; | char* text1 = "Hello World2. <audio src=\"here\"> Some text</audio> This is the second sentence"; | ||||
void TestTest(int control) | void TestTest(int control) | ||||
//CharsetToUnicode("ISO-8859-4"); | //CharsetToUnicode("ISO-8859-4"); | ||||
//CharsetToUnicode("ISCII"); | //CharsetToUnicode("ISCII"); | ||||
//return; | return; | ||||
if(control==2) | if(control==2) | ||||
{ | { |
* * | * * | ||||
* This program is free software; you can redistribute it and/or modify * | * 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 * | * 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. * | * (at your option) any later version. * | ||||
* * | * * | ||||
* This program is distributed in the hope that it will be useful, * | * This program is distributed in the hope that it will be useful, * |
/*************************************************************************** | /*************************************************************************** | ||||
* Copyright (C) 2005, 2006 by Jonathan Duddington * | * Copyright (C) 2006 to 2007 by Jonathan Duddington * | ||||
* jonsd@users.sourceforge.net * | * email: jonsd@users.sourceforge.net * | ||||
* * | * * | ||||
* This program is free software; you can redistribute it and/or modify * | * 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 * | * 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. * | * (at your option) any later version. * | ||||
* * | * * | ||||
* This program is distributed in the hope that it will be useful, * | * This program is distributed in the hope that it will be useful, * | ||||
* GNU General Public License for more details. * | * GNU General Public License for more details. * | ||||
* * | * * | ||||
* You should have received a copy of the GNU General Public License * | * You should have received a copy of the GNU General Public License * | ||||
* along with this program; if not, write to the * | * along with this program; if not, write see: * | ||||
* Free Software Foundation, Inc., * | * <http://www.gnu.org/licenses/>. * | ||||
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * | |||||
***************************************************************************/ | ***************************************************************************/ | ||||
// For compilers that support precompilation, includes "wx/wx.h". | // For compilers that support precompilation, includes "wx/wx.h". | ||||
#include "wx/wx.h" | #include "wx/wx.h" | ||||
#include "wx/mdi.h" | #include "wx/mdi.h" |
/*************************************************************************** | /*************************************************************************** | ||||
* Copyright (C) 2005, 2006 by Jonathan Duddington * | * Copyright (C) 2005 to 2007 by Jonathan Duddington * | ||||
* jonsd@users.sourceforge.net * | * email: jonsd@users.sourceforge.net * | ||||
* * | * * | ||||
* This program is free software; you can redistribute it and/or modify * | * 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 * | * 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. * | * (at your option) any later version. * | ||||
* * | * * | ||||
* This program is distributed in the hope that it will be useful, * | * This program is distributed in the hope that it will be useful, * | ||||
* GNU General Public License for more details. * | * GNU General Public License for more details. * | ||||
* * | * * | ||||
* You should have received a copy of the GNU General Public License * | * You should have received a copy of the GNU General Public License * | ||||
* along with this program; if not, write to the * | * along with this program; if not, write see: * | ||||
* Free Software Foundation, Inc., * | * <http://www.gnu.org/licenses/>. * | ||||
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * | |||||
***************************************************************************/ | ***************************************************************************/ | ||||
#include "StdAfx.h" | #include "StdAfx.h" | ||||
#include <stdio.h> | #include <stdio.h> | ||||
{ | { | ||||
int pitch1, pitch2; | int pitch1, pitch2; | ||||
int flags = 0; | int flags = 0; | ||||
int x; | |||||
/* adjust experimentally */ | /* adjust experimentally */ | ||||
int pitch_range2 = 148; | int pitch_range2 = 148; |
///////////////////////////////////////////////////////////////////////////// | |||||
// 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/toolbar.h" | ||||
#include "wx/laywin.h" | #include "wx/laywin.h" |
* This library is free software; you can redistribute it and/or | * This library is free software; you can redistribute it and/or | ||||
* modify it under the terms of the GNU Lesser General Public | * modify it under the terms of the GNU Lesser General Public | ||||
* License as published by the Free Software Foundation; either | * 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, | * This library is distributed in the hope that it will be useful, | ||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
/*************************************************************************** | /*************************************************************************** | ||||
* Copyright (C) 2005, 2006 by Jonathan Duddington * | * Copyright (C) 2005 to 2007 by Jonathan Duddington * | ||||
* jonsd@users.sourceforge.net * | * email: jonsd@users.sourceforge.net * | ||||
* * | * * | ||||
* This program is free software; you can redistribute it and/or modify * | * 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 * | * 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. * | * (at your option) any later version. * | ||||
* * | * * | ||||
* This program is distributed in the hope that it will be useful, * | * This program is distributed in the hope that it will be useful, * | ||||
* GNU General Public License for more details. * | * GNU General Public License for more details. * | ||||
* * | * * | ||||
* You should have received a copy of the GNU General Public License * | * You should have received a copy of the GNU General Public License * | ||||
* along with this program; if not, write to the * | * along with this program; if not, write see: * | ||||
* Free Software Foundation, Inc., * | * <http://www.gnu.org/licenses/>. * | ||||
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * | |||||
***************************************************************************/ | ***************************************************************************/ | ||||
/*************************************************************************** | /*************************************************************************** | ||||
* Copyright (C) 2006 by Jonathan Duddington * | * Copyright (C) 2005 to 2007 by Jonathan Duddington * | ||||
* jonsd@users.sourceforge.net * | * email: jonsd@users.sourceforge.net * | ||||
* * | * * | ||||
* This program is free software; you can redistribute it and/or modify * | * 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 * | * 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. * | * (at your option) any later version. * | ||||
* * | * * | ||||
* This program is distributed in the hope that it will be useful, * | * This program is distributed in the hope that it will be useful, * | ||||
* GNU General Public License for more details. * | * GNU General Public License for more details. * | ||||
* * | * * | ||||
* You should have received a copy of the GNU General Public License * | * You should have received a copy of the GNU General Public License * | ||||
* along with this program; if not, write to the * | * along with this program; if not, write see: * | ||||
* Free Software Foundation, Inc., * | * <http://www.gnu.org/licenses/>. * | ||||
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * | |||||
***************************************************************************/ | ***************************************************************************/ | ||||
#include "StdAfx.h" | #include "StdAfx.h" | ||||
/*************************************************************************** | /*************************************************************************** | ||||
* Copyright (C) 2005,2006 by Jonathan Duddington * | * Copyright (C) 2005 to 2007 by Jonathan Duddington * | ||||
* jonsd@users.sourceforge.net * | * email: jonsd@users.sourceforge.net * | ||||
* * | * * | ||||
* This program is free software; you can redistribute it and/or modify * | * 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 * | * 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. * | * (at your option) any later version. * | ||||
* * | * * | ||||
* This program is distributed in the hope that it will be useful, * | * This program is distributed in the hope that it will be useful, * | ||||
* GNU General Public License for more details. * | * GNU General Public License for more details. * | ||||
* * | * * | ||||
* You should have received a copy of the GNU General Public License * | * You should have received a copy of the GNU General Public License * | ||||
* along with this program; if not, write to the * | * along with this program; if not, write see: * | ||||
* Free Software Foundation, Inc., * | * <http://www.gnu.org/licenses/>. * | ||||
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * | |||||
***************************************************************************/ | ***************************************************************************/ | ||||
#include "wx/wx.h" | #include "wx/wx.h" | ||||
#include "wx/fileconf.h" | #include "wx/fileconf.h" | ||||
#include "sys/stat.h" | #include "sys/stat.h" |
/*************************************************************************** | /*************************************************************************** | ||||
options.h - description | * Copyright (C) 2005 to 2007 by Jonathan Duddington * | ||||
------------------- | * email: jonsd@users.sourceforge.net * | ||||
begin : Sat Mar 13 2004 | |||||
copyright : (C) 2004 by Jonathan Duddington | |||||
email : jsd@jsd.clara.co.uk | |||||
***************************************************************************/ | |||||
/*************************************************************************** | |||||
* * | * * | ||||
* This program is free software; you can redistribute it and/or modify * | * 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 * | * 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. * | * (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 | #ifndef OPTIONS_H |
/*************************************************************************** | /*************************************************************************** | ||||
* Copyright (C) 2005,2006 by Jonathan Duddington * | * Copyright (C) 2005 to 2007 by Jonathan Duddington * | ||||
* jonsd@users.sourceforge.net * | * email: jonsd@users.sourceforge.net * | ||||
* * | * * | ||||
* This program is free software; you can redistribute it and/or modify * | * 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 * | * 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. * | * (at your option) any later version. * | ||||
* * | * * | ||||
* This program is distributed in the hope that it will be useful, * | * This program is distributed in the hope that it will be useful, * | ||||
* GNU General Public License for more details. * | * GNU General Public License for more details. * | ||||
* * | * * | ||||
* You should have received a copy of the GNU General Public License * | * You should have received a copy of the GNU General Public License * | ||||
* along with this program; if not, write to the * | * along with this program; if not, write see: * | ||||
* Free Software Foundation, Inc., * | * <http://www.gnu.org/licenses/>. * | ||||
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * | |||||
***************************************************************************/ | ***************************************************************************/ | ||||
// phoneme types | // phoneme types | ||||
#define phPAUSE 0 | #define phPAUSE 0 | ||||
#define phSTRESS 1 | #define phSTRESS 1 |
/*************************************************************************** | /*************************************************************************** | ||||
* Copyright (C) 2007 by Jonathan Duddington * | * Copyright (C) 2005 to 2007 by Jonathan Duddington * | ||||
* jonsd@users.sourceforge.net * | * email: jonsd@users.sourceforge.net * | ||||
* * | * * | ||||
* This program is free software; you can redistribute it and/or modify * | * 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 * | * 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. * | * (at your option) any later version. * | ||||
* * | * * | ||||
* This program is distributed in the hope that it will be useful, * | * This program is distributed in the hope that it will be useful, * | ||||
* GNU General Public License for more details. * | * GNU General Public License for more details. * | ||||
* * | * * | ||||
* You should have received a copy of the GNU General Public License * | * You should have received a copy of the GNU General Public License * | ||||
* along with this program; if not, write to the * | * along with this program; if not, write see: * | ||||
* Free Software Foundation, Inc., * | * <http://www.gnu.org/licenses/>. * | ||||
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * | |||||
***************************************************************************/ | ***************************************************************************/ | ||||
#include "StdAfx.h" | #include "StdAfx.h" | ||||
#include <stdio.h> | #include <stdio.h> |
/*************************************************************************** | /*************************************************************************** | ||||
* Copyright (C) 2005, 2006 by Jonathan Duddington * | * Copyright (C) 2005 to 2007 by Jonathan Duddington * | ||||
* jonsd@users.sourceforge.net * | * email: jonsd@users.sourceforge.net * | ||||
* * | * * | ||||
* This program is free software; you can redistribute it and/or modify * | * 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 * | * 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. * | * (at your option) any later version. * | ||||
* * | * * | ||||
* This program is distributed in the hope that it will be useful, * | * This program is distributed in the hope that it will be useful, * | ||||
* GNU General Public License for more details. * | * GNU General Public License for more details. * | ||||
* * | * * | ||||
* You should have received a copy of the GNU General Public License * | * You should have received a copy of the GNU General Public License * | ||||
* along with this program; if not, write to the * | * along with this program; if not, write see: * | ||||
* Free Software Foundation, Inc., * | * <http://www.gnu.org/licenses/>. * | ||||
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * | |||||
***************************************************************************/ | ***************************************************************************/ | ||||
#include "wx/wx.h" | #include "wx/wx.h" | ||||
#include "wx/numdlg.h" | #include "wx/numdlg.h" | ||||
/*************************************************************************** | /*************************************************************************** | ||||
* Copyright (C) 2005 by Jonathan Duddington * | * Copyright (C) 2005 to 2007 by Jonathan Duddington * | ||||
* jonsd@users.sourceforge.net * | * email: jonsd@users.sourceforge.net * | ||||
* * | * * | ||||
* This program is free software; you can redistribute it and/or modify * | * 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 * | * 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. * | * (at your option) any later version. * | ||||
* * | * * | ||||
* This program is distributed in the hope that it will be useful, * | * This program is distributed in the hope that it will be useful, * | ||||
* GNU General Public License for more details. * | * GNU General Public License for more details. * | ||||
* * | * * | ||||
* You should have received a copy of the GNU General Public License * | * You should have received a copy of the GNU General Public License * | ||||
* along with this program; if not, write to the * | * along with this program; if not, write see: * | ||||
* Free Software Foundation, Inc., * | * <http://www.gnu.org/licenses/>. * | ||||
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * | |||||
***************************************************************************/ | ***************************************************************************/ | ||||
#include "StdAfx.h" | #include "StdAfx.h" | ||||
#include <stdio.h> | #include <stdio.h> |
/*************************************************************************** | /*************************************************************************** | ||||
* Copyright (C) 2005,2006 by Jonathan Duddington * | * Copyright (C) 2005 to 2007 by Jonathan Duddington * | ||||
* jonsd@users.sourceforge.net * | * email: jonsd@users.sourceforge.net * | ||||
* * | * * | ||||
* This program is free software; you can redistribute it and/or modify * | * 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 * | * 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. * | * (at your option) any later version. * | ||||
* * | * * | ||||
* This program is distributed in the hope that it will be useful, * | * This program is distributed in the hope that it will be useful, * | ||||
* GNU General Public License for more details. * | * GNU General Public License for more details. * | ||||
* * | * * | ||||
* You should have received a copy of the GNU General Public License * | * You should have received a copy of the GNU General Public License * | ||||
* along with this program; if not, write to the * | * along with this program; if not, write see: * | ||||
* Free Software Foundation, Inc., * | * <http://www.gnu.org/licenses/>. * | ||||
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * | |||||
***************************************************************************/ | ***************************************************************************/ | ||||
#include "StdAfx.h" | #include "StdAfx.h" | ||||
#include <stdlib.h> | #include <stdlib.h> |
/*************************************************************************** | /*************************************************************************** | ||||
* Copyright (C) 2005,2006 by Jonathan Duddington * | * Copyright (C) 2005 to 2007 by Jonathan Duddington * | ||||
* jonsd@users.sourceforge.net * | * email: jonsd@users.sourceforge.net * | ||||
* * | * * | ||||
* This program is free software; you can redistribute it and/or modify * | * 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 * | * 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. * | * (at your option) any later version. * | ||||
* * | * * | ||||
* This program is distributed in the hope that it will be useful, * | * This program is distributed in the hope that it will be useful, * | ||||
* GNU General Public License for more details. * | * GNU General Public License for more details. * | ||||
* * | * * | ||||
* You should have received a copy of the GNU General Public License * | * You should have received a copy of the GNU General Public License * | ||||
* along with this program; if not, write to the * | * along with this program; if not, write see: * | ||||
* Free Software Foundation, Inc., * | * <http://www.gnu.org/licenses/>. * | ||||
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * | |||||
***************************************************************************/ | ***************************************************************************/ | ||||
#include "StdAfx.h" | #include "StdAfx.h" | ||||
#include "speech.h" | #include "speech.h" | ||||
"\t =<characters> is omitted, all punctuation is spoken.\n" | "\t =<characters> is omitted, all punctuation is spoken.\n" | ||||
"--voices=<langauge>\n" | "--voices=<langauge>\n" | ||||
"\t List the available voices for the specified language.\n" | "\t List the available voices for the specified language.\n" | ||||
"\t If <language> is omitted, then list all voices.\n"; | "\t If <language> is omitted, then list all voices.\n" | ||||
#ifdef deleted | |||||
"-k <integer>\n" | "-k <integer>\n" | ||||
"\t Indicate capital letters with: 1=sound, 2=the word \"capitals\",\n" | "\t Indicate capital letters with: 1=sound, 2=the word \"capitals\",\n" | ||||
"\t higher values = a pitch increase (try -k20).\n"; | "\t higher values = a pitch increase (try -k20).\n"; | ||||
#endif | |||||
void DisplayVoices(FILE *f_out, char *language); | void DisplayVoices(FILE *f_out, char *language); | ||||
sprintf(path_home,"%s\\espeak-data",buf); | sprintf(path_home,"%s\\espeak-data",buf); | ||||
#else | #else | ||||
char *env; | // char *env; | ||||
// if((env = getenv("ESPEAK-DATA-PATH")) != NULL) | |||||
if((env = getenv("ESPEAK-DATA-PATH")) != NULL) | // { | ||||
{ | // snprintf(path_home,sizeof(path_home),"%s/espeak-data",env); | ||||
snprintf(path_home,sizeof(path_home),"%s/espeak-data",env); | // if(GetFileLength(path_home) == -2) | ||||
if(GetFileLength(path_home) == -2) | // return; // an espeak-data directory exists | ||||
return; // an espeak-data directory exists | // } | ||||
} | |||||
snprintf(path_home,sizeof(path_home),"%s/espeak-data",getenv("HOME")); | snprintf(path_home,sizeof(path_home),"%s/espeak-data",getenv("HOME")); | ||||
if(access(path_home,R_OK) != 0) | if(access(path_home,R_OK) != 0) |
/*************************************************************************** | /*************************************************************************** | ||||
* Copyright (C) 2005,2006 by Jonathan Duddington * | * Copyright (C) 2005 to 2007 by Jonathan Duddington * | ||||
* jonsd@users.sourceforge.net * | * email: jonsd@users.sourceforge.net * | ||||
* * | * * | ||||
* This program is free software; you can redistribute it and/or modify * | * 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 * | * 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. * | * (at your option) any later version. * | ||||
* * | * * | ||||
* This program is distributed in the hope that it will be useful, * | * This program is distributed in the hope that it will be useful, * | ||||
* GNU General Public License for more details. * | * GNU General Public License for more details. * | ||||
* * | * * | ||||
* You should have received a copy of the GNU General Public License * | * You should have received a copy of the GNU General Public License * | ||||
* along with this program; if not, write to the * | * along with this program; if not, write see: * | ||||
* Free Software Foundation, Inc., * | * <http://www.gnu.org/licenses/>. * | ||||
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * | |||||
***************************************************************************/ | ***************************************************************************/ | ||||
#include "StdAfx.h" | #include "StdAfx.h" | ||||
#include "stdio.h" | #include "stdio.h" | ||||
return; | return; | ||||
} | } | ||||
if((env = getenv("espeak-path")) != NULL) | if((env = getenv("ESPEAK-DATA-PATH")) != NULL) | ||||
{ | { | ||||
sprintf(path_home,"%s/espeak-data",env); | sprintf(path_home,"%s/espeak-data",env); | ||||
if(GetFileLength(path_home) == -2) | if(GetFileLength(path_home) == -2) | ||||
return; | return; | ||||
} | } | ||||
if((env = getenv("ESPEAK-DATA-PATH")) != NULL) | // if((env = getenv("ESPEAK-DATA-PATH")) != NULL) | ||||
{ | // { | ||||
snprintf(path_home,sizeof(path_home),"%s/espeak-data",env); | // snprintf(path_home,sizeof(path_home),"%s/espeak-data",env); | ||||
if(GetFileLength(path_home) == -2) | // if(GetFileLength(path_home) == -2) | ||||
return; // an espeak-data directory exists | // return; // an espeak-data directory exists | ||||
} | // } | ||||
snprintf(path_home,sizeof(path_home),"%s/espeak-data",getenv("HOME")); | snprintf(path_home,sizeof(path_home),"%s/espeak-data",getenv("HOME")); | ||||
if(access(path_home,R_OK) != 0) | if(access(path_home,R_OK) != 0) |
#ifndef SPEAK_LIB_H | #ifndef SPEAK_LIB_H | ||||
#define SPEAK_LIB_H | #define SPEAK_LIB_H | ||||
/*************************************************************************** | /*************************************************************************** | ||||
* Copyright (C) 2006 by Jonathan Duddington * | * Copyright (C) 2005 to 2007 by Jonathan Duddington * | ||||
* jonsd@users.sourceforge.net * | * email: jonsd@users.sourceforge.net * | ||||
* * | * * | ||||
* This program is free software; you can redistribute it and/or modify * | * 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 * | * 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. * | * (at your option) any later version. * | ||||
* * | * * | ||||
* This program is distributed in the hope that it will be useful, * | * This program is distributed in the hope that it will be useful, * | ||||
* GNU General Public License for more details. * | * GNU General Public License for more details. * | ||||
* * | * * | ||||
* You should have received a copy of the GNU General Public License * | * You should have received a copy of the GNU General Public License * | ||||
* along with this program; if not, write to the * | * along with this program; if not, write see: * | ||||
* Free Software Foundation, Inc., * | * <http://www.gnu.org/licenses/>. * | ||||
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * | |||||
***************************************************************************/ | ***************************************************************************/ | ||||
/************************************************************************** | /*************************************************************************** | ||||
* Copyright (C) 2005,2006 by Jonathan Duddington * | * Copyright (C) 2005 to 2007 by Jonathan Duddington * | ||||
* jonsd@users.sourceforge.net * | * email: jonsd@users.sourceforge.net * | ||||
* * | * * | ||||
* This program is free software; you can redistribute it and/or modify * | * 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 * | * 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. * | * (at your option) any later version. * | ||||
* * | * * | ||||
* This program is distributed in the hope that it will be useful, * | * This program is distributed in the hope that it will be useful, * | ||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of * | * but WITHOUT ANY WARRANTY; without even the implied warranty of * | ||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * | ||||
* GNU General Public License for more details. * | * GNU General Public License for more details. * | ||||
* * | * * | ||||
* You should have received a copy of the GNU General Public License * | * You should have received a copy of the GNU General Public License * | ||||
* along with this program; if not, write to the * | * along with this program; if not, write see: * | ||||
* Free Software Foundation, Inc., * | * <http://www.gnu.org/licenses/>. * | ||||
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * | ***************************************************************************/ | ||||
***************************************************************************/ | |||||
#define USE_MODULE | #define USE_MODULE | ||||
/*************************************************************************** | /*************************************************************************** | ||||
* Copyright (C) 2005,2006 by Jonathan Duddington * | * Copyright (C) 2005 to 2007 by Jonathan Duddington * | ||||
* jonsd@users.sourceforge.net * | * email: jonsd@users.sourceforge.net * | ||||
* * | * * | ||||
* This program is free software; you can redistribute it and/or modify * | * 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 * | * 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. * | * (at your option) any later version. * | ||||
* * | * * | ||||
* This program is distributed in the hope that it will be useful, * | * This program is distributed in the hope that it will be useful, * | ||||
* GNU General Public License for more details. * | * GNU General Public License for more details. * | ||||
* * | * * | ||||
* You should have received a copy of the GNU General Public License * | * You should have received a copy of the GNU General Public License * | ||||
* along with this program; if not, write to the * | * along with this program; if not, write see: * | ||||
* Free Software Foundation, Inc., * | * <http://www.gnu.org/licenses/>. * | ||||
* 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/>. * | |||||
***************************************************************************/ | |||||
#include "wx/spinctrl.h" | #include "wx/spinctrl.h" | ||||
#include "wx/notebook.h" | #include "wx/notebook.h" | ||||
/*************************************************************************** | /*************************************************************************** | ||||
* Copyright (C) 2005,2006 by Jonathan Duddington * | * Copyright (C) 2005 to 2007 by Jonathan Duddington * | ||||
* jonsd@users.sourceforge.net * | * email: jonsd@users.sourceforge.net * | ||||
* * | * * | ||||
* This program is free software; you can redistribute it and/or modify * | * 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 * | * 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. * | * (at your option) any later version. * | ||||
* * | * * | ||||
* This program is distributed in the hope that it will be useful, * | * This program is distributed in the hope that it will be useful, * | ||||
* GNU General Public License for more details. * | * GNU General Public License for more details. * | ||||
* * | * * | ||||
* You should have received a copy of the GNU General Public License * | * You should have received a copy of the GNU General Public License * | ||||
* along with this program; if not, write to the * | * along with this program; if not, write see: * | ||||
* Free Software Foundation, Inc., * | * <http://www.gnu.org/licenses/>. * | ||||
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * | |||||
***************************************************************************/ | ***************************************************************************/ | ||||
/*************************************************************************** | /*************************************************************************** | ||||
* Copyright (C) 2005,2006 by Jonathan Duddington * | * Copyright (C) 2005 to 2007 by Jonathan Duddington * | ||||
* jonsd@users.sourceforge.net * | * email: jonsd@users.sourceforge.net * | ||||
* * | * * | ||||
* This program is free software; you can redistribute it and/or modify * | * 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 * | * 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. * | * (at your option) any later version. * | ||||
* * | * * | ||||
* This program is distributed in the hope that it will be useful, * | * This program is distributed in the hope that it will be useful, * | ||||
* GNU General Public License for more details. * | * GNU General Public License for more details. * | ||||
* * | * * | ||||
* You should have received a copy of the GNU General Public License * | * You should have received a copy of the GNU General Public License * | ||||
* along with this program; if not, write to the * | * along with this program; if not, write see: * | ||||
* Free Software Foundation, Inc., * | * <http://www.gnu.org/licenses/>. * | ||||
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * | |||||
***************************************************************************/ | ***************************************************************************/ | ||||
#include "wx/wx.h" | #include "wx/wx.h" | ||||
#include <math.h> | #include <math.h> | ||||
/*************************************************************************** | /*************************************************************************** | ||||
* Copyright (C) 2005,2006 by Jonathan Duddington * | * Copyright (C) 2005 to 2007 by Jonathan Duddington * | ||||
* jonsd@users.sourceforge.net * | * email: jonsd@users.sourceforge.net * | ||||
* * | * * | ||||
* This program is free software; you can redistribute it and/or modify * | * 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 * | * 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. * | * (at your option) any later version. * | ||||
* * | * * | ||||
* This program is distributed in the hope that it will be useful, * | * This program is distributed in the hope that it will be useful, * | ||||
* GNU General Public License for more details. * | * GNU General Public License for more details. * | ||||
* * | * * | ||||
* You should have received a copy of the GNU General Public License * | * You should have received a copy of the GNU General Public License * | ||||
* along with this program; if not, write to the * | * along with this program; if not, write see: * | ||||
* Free Software Foundation, Inc., * | * <http://www.gnu.org/licenses/>. * | ||||
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * | |||||
***************************************************************************/ | ***************************************************************************/ | ||||
#include <sys/types.h> | #include <sys/types.h> | ||||
// conditional compilation options | // conditional compilation options |
/*************************************************************************** | /*************************************************************************** | ||||
* Copyright (C) 2007 by Jonathan Duddington * | * Copyright (C) 2005 to 2007 by Jonathan Duddington * | ||||
* jonsd@users.sourceforge.net * | * email: jonsd@users.sourceforge.net * | ||||
* * | * * | ||||
* This program is free software; you can redistribute it and/or modify * | * 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 * | * 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. * | * (at your option) any later version. * | ||||
* * | * * | ||||
* This program is distributed in the hope that it will be useful, * | * This program is distributed in the hope that it will be useful, * | ||||
* GNU General Public License for more details. * | * GNU General Public License for more details. * | ||||
* * | * * | ||||
* You should have received a copy of the GNU General Public License * | * You should have received a copy of the GNU General Public License * | ||||
* along with this program; if not, write to the * | * along with this program; if not, write see: * | ||||
* Free Software Foundation, Inc., * | * <http://www.gnu.org/licenses/>. * | ||||
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * | |||||
***************************************************************************/ | ***************************************************************************/ | ||||
#include "StdAfx.h" | #include "StdAfx.h" | ||||
#include <stdio.h> | #include <stdio.h> |
/*************************************************************************** | /*************************************************************************** | ||||
* Copyright (C) 2005,2006 by Jonathan Duddington * | * Copyright (C) 2005 to 2007 by Jonathan Duddington * | ||||
* jonsd@users.sourceforge.net * | * email: jonsd@users.sourceforge.net * | ||||
* * | * * | ||||
* This program is free software; you can redistribute it and/or modify * | * 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 * | * 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. * | * (at your option) any later version. * | ||||
* * | * * | ||||
* This program is distributed in the hope that it will be useful, * | * This program is distributed in the hope that it will be useful, * | ||||
* GNU General Public License for more details. * | * GNU General Public License for more details. * | ||||
* * | * * | ||||
* You should have received a copy of the GNU General Public License * | * You should have received a copy of the GNU General Public License * | ||||
* along with this program; if not, write to the * | * along with this program; if not, write see: * | ||||
* Free Software Foundation, Inc., * | * <http://www.gnu.org/licenses/>. * | ||||
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * | |||||
***************************************************************************/ | ***************************************************************************/ | ||||
#include "StdAfx.h" | |||||
#include "StdAfx.h" | |||||
#include <stdio.h> | #include <stdio.h> | ||||
#include <stdlib.h> | #include <stdlib.h> | ||||
#include <ctype.h> | #include <ctype.h> | ||||
#include "translate.h" | #include "translate.h" | ||||
#include "wave.h" | #include "wave.h" | ||||
const char *version_string = "1.26.11 26.Jun.07"; | const char *version_string = "1.27 30.Jun.07"; | ||||
const int version_phdata = 0x012601; | const int version_phdata = 0x012701; | ||||
int option_device_number = -1; | int option_device_number = -1; | ||||
/*************************************************************************** | /*************************************************************************** | ||||
* Copyright (C) 2005,2006 by Jonathan Duddington * | * Copyright (C) 2005 to 2007 by Jonathan Duddington * | ||||
* jonsd@users.sourceforge.net * | * email: jonsd@users.sourceforge.net * | ||||
* * | * * | ||||
* This program is free software; you can redistribute it and/or modify * | * 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 * | * 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. * | * (at your option) any later version. * | ||||
* * | * * | ||||
* This program is distributed in the hope that it will be useful, * | * This program is distributed in the hope that it will be useful, * | ||||
* GNU General Public License for more details. * | * GNU General Public License for more details. * | ||||
* * | * * | ||||
* You should have received a copy of the GNU General Public License * | * You should have received a copy of the GNU General Public License * | ||||
* along with this program; if not, write to the * | * along with this program; if not, write see: * | ||||
* Free Software Foundation, Inc., * | * <http://www.gnu.org/licenses/>. * | ||||
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * | |||||
***************************************************************************/ | ***************************************************************************/ | ||||
#include "StdAfx.h" | #include "StdAfx.h" | ||||
#include <stdio.h> | #include <stdio.h> | ||||
int h; | int h; | ||||
int ix; | int ix; | ||||
static const short sqrt_tab[100] = { | static const short sqrt_tab[200] = { | ||||
0, 64, 90,110,128,143,156,169,181,192,202,212,221,230,239,247, | 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, | 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, | 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, | 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, | 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, | 572,576,579,583,586,590,593,596,600,603,607,610,613,617,620,623, | ||||
627,630,633,636 }; | 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 | if(fr->rms == 0) return; // check for divide by zero | ||||
x = (new_rms * 64)/fr->rms; | 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; | x = sqrt_tab[x]; // sqrt(new_rms/fr->rms)*0x200; | ||||
{//============================================================================================================================== | {//============================================================================================================================== | ||||
int ix; | int ix; | ||||
int formant; | int formant; | ||||
int next_rms; | |||||
int len; | int len; | ||||
int rms; | int rms; | ||||
return(0); | return(0); | ||||
len = (data1 & 0x3f) * 2; | len = (data1 & 0x3f) * 2; | ||||
rms = ((data1 >> 6) & 0x3f) * 2; | rms = (data1 >> 6) & 0x3f; | ||||
flags = (data1 >> 12); | flags = (data1 >> 12); | ||||
f2 = (data2 & 0x3f) * 50; | f2 = (data2 & 0x3f) * 50; | ||||
seq[0].frflags |= FRFLAG_LEN_MOD; // reduce length modification | seq[0].frflags |= FRFLAG_LEN_MOD; // reduce length modification | ||||
fr->frflags |= FRFLAG_LEN_MOD; | fr->frflags |= FRFLAG_LEN_MOD; | ||||
next_rms = seq[1].frame->rms; | |||||
if(f2 != 0) | 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); | 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 | 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) | 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); | modn_flags = 0x800 + (VowelCloseness(fr) << 8); | ||||
} | } | ||||
} | } | ||||
else | else | ||||
{ | { | ||||
// exit from vowel | // exit from vowel | ||||
rms = rms*2; | |||||
if((f2 != 0) || (flags != 0)) | if((f2 != 0) || (flags != 0)) | ||||
{ | { | ||||
/*************************************************************************** | /*************************************************************************** | ||||
* Copyright (C) 2005,2006 by Jonathan Duddington * | * Copyright (C) 2005 to 2007 by Jonathan Duddington * | ||||
* jonsd@users.sourceforge.net * | * email: jonsd@users.sourceforge.net * | ||||
* * | * * | ||||
* This program is free software; you can redistribute it and/or modify * | * 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 * | * 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. * | * (at your option) any later version. * | ||||
* * | * * | ||||
* This program is distributed in the hope that it will be useful, * | * This program is distributed in the hope that it will be useful, * | ||||
* GNU General Public License for more details. * | * GNU General Public License for more details. * | ||||
* * | * * | ||||
* You should have received a copy of the GNU General Public License * | * You should have received a copy of the GNU General Public License * | ||||
* along with this program; if not, write to the * | * along with this program; if not, write see: * | ||||
* Free Software Foundation, Inc., * | * <http://www.gnu.org/licenses/>. * | ||||
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * | |||||
***************************************************************************/ | ***************************************************************************/ | ||||
#define N_PHONEME_LIST 700 // enough for source[] full of text, else it will truncate | #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 | #define MAX_HARMONIC 400 // 400 * 50Hz = 20 kHz, more than enough |
/*************************************************************************** | /*************************************************************************** | ||||
* Copyright (C) 2005,2006 by Jonathan Duddington * | * Copyright (C) 2005 to 2007 by Jonathan Duddington * | ||||
* jonsd@users.sourceforge.net * | * email: jonsd@users.sourceforge.net * | ||||
* * | * * | ||||
* This program is free software; you can redistribute it and/or modify * | * 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 * | * 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. * | * (at your option) any later version. * | ||||
* * | * * | ||||
* This program is distributed in the hope that it will be useful, * | * This program is distributed in the hope that it will be useful, * | ||||
* GNU General Public License for more details. * | * GNU General Public License for more details. * | ||||
* * | * * | ||||
* You should have received a copy of the GNU General Public License * | * You should have received a copy of the GNU General Public License * | ||||
* along with this program; if not, write to the * | * along with this program; if not, write see: * | ||||
* Free Software Foundation, Inc., * | * <http://www.gnu.org/licenses/>. * | ||||
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * | |||||
***************************************************************************/ | ***************************************************************************/ | ||||
#include "StdAfx.h" | #include "StdAfx.h" | ||||
#include <stdio.h> | #include <stdio.h> |
/*************************************************************************** | /*************************************************************************** | ||||
* Copyright (C) 2005,2006 by Jonathan Duddington * | * Copyright (C) 2005 to 2007 by Jonathan Duddington * | ||||
* jonsd@users.sourceforge.net * | * email: jonsd@users.sourceforge.net * | ||||
* * | * * | ||||
* This program is free software; you can redistribute it and/or modify * | * 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 * | * 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. * | * (at your option) any later version. * | ||||
* * | * * | ||||
* This program is distributed in the hope that it will be useful, * | * This program is distributed in the hope that it will be useful, * | ||||
* GNU General Public License for more details. * | * GNU General Public License for more details. * | ||||
* * | * * | ||||
* You should have received a copy of the GNU General Public License * | * You should have received a copy of the GNU General Public License * | ||||
* along with this program; if not, write to the * | * along with this program; if not, write see: * | ||||
* Free Software Foundation, Inc., * | * <http://www.gnu.org/licenses/>. * | ||||
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * | |||||
***************************************************************************/ | ***************************************************************************/ | ||||
#include "StdAfx.h" | #include "StdAfx.h" | ||||
#include <stdio.h> | #include <stdio.h> | ||||
case L('f','r'): // french | 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 }; | static int stress_amps_fr[8] = {16,14, 20,20, 20,24, 24,22 }; | ||||
tr = new Translator(); | tr = new Translator(); | ||||
tr->langopts.unstressed_wd1 = 2; | tr->langopts.unstressed_wd1 = 2; | ||||
tr->langopts.unstressed_wd2 = 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_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_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.param[LOPT_REDUCE] = 1; // reduce vowels even if phonemes are specified in it_list | ||||
tr->langopts.numbers = 0x2709; | tr->langopts.numbers = 0x2709 + 0x800; | ||||
} | } | ||||
break; | break; | ||||
tr = new Translator(); | tr = new Translator(); | ||||
tr->charset_a0 = charsets[4]; // ISO-8859-4, includes a,e,i,o,u-macron | tr->charset_a0 = charsets[4]; // ISO-8859-4, includes a,e,i,o,u-macron | ||||
tr->langopts.stress_rule = 2; | tr->langopts.stress_rule = 2; | ||||
tr->langopts.stress_flags = 0x21; | tr->langopts.stress_flags = 0x20; | ||||
tr->langopts.unstressed_wd1 = 0; | tr->langopts.unstressed_wd1 = 0; | ||||
tr->langopts.unstressed_wd2 = 2; | tr->langopts.unstressed_wd2 = 2; | ||||
tr->langopts.param[LOPT_DIERESES] = 1; | tr->langopts.param[LOPT_DIERESES] = 1; | ||||
} | } | ||||
break; | 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 | case L('n','l'): // Dutch | ||||
{ | { | ||||
static const int stress_lengths_nl[8] = {160,135, 210,210, 0, 0, 260,280}; | static const int stress_lengths_nl[8] = {160,135, 210,210, 0, 0, 260,280}; |
/*************************************************************************** | /*************************************************************************** | ||||
* Copyright (C) 2005,2006 by Jonathan Duddington * | * Copyright (C) 2005 to 2007 by Jonathan Duddington * | ||||
* jonsd@users.sourceforge.net * | * email: jonsd@users.sourceforge.net * | ||||
* * | * * | ||||
* This program is free software; you can redistribute it and/or modify * | * 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 * | * 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. * | * (at your option) any later version. * | ||||
* * | * * | ||||
* This program is distributed in the hope that it will be useful, * | * This program is distributed in the hope that it will be useful, * | ||||
* GNU General Public License for more details. * | * GNU General Public License for more details. * | ||||
* * | * * | ||||
* You should have received a copy of the GNU General Public License * | * You should have received a copy of the GNU General Public License * | ||||
* along with this program; if not, write to the * | * along with this program; if not, write see: * | ||||
* Free Software Foundation, Inc., * | * <http://www.gnu.org/licenses/>. * | ||||
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * | |||||
***************************************************************************/ | ***************************************************************************/ | ||||
class Translator_English: public Translator | class Translator_English: public Translator | ||||
{//======================================= | {//======================================= | ||||
/*************************************************************************** | /*************************************************************************** | ||||
* Copyright (C) 2005, 2006 by Jonathan Duddington * | * Copyright (C) 2005 to 2007 by Jonathan Duddington * | ||||
* jonsd@users.sourceforge.net * | * email: jonsd@users.sourceforge.net * | ||||
* * | * * | ||||
* This program is free software; you can redistribute it and/or modify * | * 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 * | * 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. * | * (at your option) any later version. * | ||||
* * | * * | ||||
* This program is distributed in the hope that it will be useful, * | * This program is distributed in the hope that it will be useful, * | ||||
* GNU General Public License for more details. * | * GNU General Public License for more details. * | ||||
* * | * * | ||||
* You should have received a copy of the GNU General Public License * | * You should have received a copy of the GNU General Public License * | ||||
* along with this program; if not, write to the * | * along with this program; if not, write see: * | ||||
* Free Software Foundation, Inc., * | * <http://www.gnu.org/licenses/>. * | ||||
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * | |||||
***************************************************************************/ | ***************************************************************************/ | ||||
#include "StdAfx.h" | #include "StdAfx.h" | ||||
#include <stdio.h> | #include <stdio.h> | ||||
{ | { | ||||
if((langopts.param[LOPT_PREFIXES]) || (prefix_type & SUFX_T)) | if((langopts.param[LOPT_PREFIXES]) || (prefix_type & SUFX_T)) | ||||
{ | { | ||||
char *p; | |||||
// German, keep a secondary stress on the stem | // German, keep a secondary stress on the stem | ||||
SetWordStress(phonemes,dictionary_flags,3,0); | 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); | strcpy(word_phonemes,prefix_phonemes); | ||||
strcat(word_phonemes,phonemes); | strcat(word_phonemes,phonemes); | ||||
SetWordStress(word_phonemes,dictionary_flags,-1,0); | SetWordStress(word_phonemes,dictionary_flags,-1,0); | ||||
{ | { | ||||
if(first_phoneme && langopts.param[LOPT_IT_DOUBLING]) | 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 | // italian, double the initial consonant if the previous word ends with a | ||||
// stressed vowel, or is marked with a flag | // stressed vowel, or is marked with a flag | ||||
// To allow language specific examination and replacement of characters | // To allow language specific examination and replacement of characters | ||||
const wchar_t *p; | const wchar_t *p; | ||||
unsigned int new_c; | unsigned int new_c, c2; | ||||
int upper_case = 0; | int upper_case = 0; | ||||
if(c == 0) return(0); | if(c == 0) return(0); | ||||
new_c = langopts.replacement_chars[p - langopts.replace_chars]; | new_c = langopts.replacement_chars[p - langopts.replace_chars]; | ||||
if(new_c & 0xffe00000) | if(new_c & 0xffe00000) | ||||
{ | { | ||||
// there is a second character to be inserted (don't convert the case of the second character) | // there is a second character to be inserted | ||||
*insert = (new_c >> 16); | // 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; | new_c &= 0xffff; | ||||
} | } | ||||
#ifndef PLATFORM_RISCOS | #ifndef PLATFORM_RISCOS |
/*************************************************************************** | /*************************************************************************** | ||||
* Copyright (C) 2005,2006 by Jonathan Duddington * | * Copyright (C) 2005 to 2007 by Jonathan Duddington * | ||||
* jonsd@users.sourceforge.net * | * email: jonsd@users.sourceforge.net * | ||||
* * | * * | ||||
* This program is free software; you can redistribute it and/or modify * | * 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 * | * 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. * | * (at your option) any later version. * | ||||
* * | * * | ||||
* This program is distributed in the hope that it will be useful, * | * This program is distributed in the hope that it will be useful, * | ||||
* GNU General Public License for more details. * | * GNU General Public License for more details. * | ||||
* * | * * | ||||
* You should have received a copy of the GNU General Public License * | * You should have received a copy of the GNU General Public License * | ||||
* along with this program; if not, write to the * | * along with this program; if not, write see: * | ||||
* Free Software Foundation, Inc., * | * <http://www.gnu.org/licenses/>. * | ||||
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * | |||||
***************************************************************************/ | ***************************************************************************/ | ||||
#define L(c1,c2) (c1<<8)+c2 // combine two characters into an integer for translator name | #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 | #define CTRL_EMBEDDED 0x01 // control character at the start of an embedded command | ||||
// bits13-15 post-decimal-digits 0=single digits, 1=(LANG=it) 2=(LANG=pl) 3=(LANG=ro) | // bits13-15 post-decimal-digits 0=single digits, 1=(LANG=it) 2=(LANG=pl) 3=(LANG=ro) | ||||
// bit16=dot after number indicates ordinal | // bit16=dot after number indicates ordinal | ||||
// bit18=special word for 100,000s LANG=sw | // bit18=special word for 100,000s LANG=sw | ||||
// bit19=(LANG=pl) | // bit19=(LANG=pl) two forms of plural, M or MA | ||||
int numbers; | int numbers; | ||||
/*************************************************************************** | /*************************************************************************** | ||||
* Copyright (C) 2005,2006 by Jonathan Duddington * | * Copyright (C) 2005 to 2007 by Jonathan Duddington * | ||||
* jonsd@users.sourceforge.net * | * email: jonsd@users.sourceforge.net * | ||||
* * | * * | ||||
* This program is free software; you can redistribute it and/or modify * | * 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 * | * 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. * | * (at your option) any later version. * | ||||
* * | * * | ||||
* This program is distributed in the hope that it will be useful, * | * This program is distributed in the hope that it will be useful, * | ||||
* GNU General Public License for more details. * | * GNU General Public License for more details. * | ||||
* * | * * | ||||
* You should have received a copy of the GNU General Public License * | * You should have received a copy of the GNU General Public License * | ||||
* along with this program; if not, write to the * | * along with this program; if not, write see: * | ||||
* Free Software Foundation, Inc., * | * <http://www.gnu.org/licenses/>. * | ||||
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * | |||||
***************************************************************************/ | ***************************************************************************/ | ||||
#include "wx/wx.h" | #include "wx/wx.h" | ||||
/*************************************************************************** | /*************************************************************************** | ||||
* Copyright (C) 2005 by Jonathan Duddington * | * Copyright (C) 2005 to 2007 by Jonathan Duddington * | ||||
* jonsd@users.sourceforge.net * | * email: jonsd@users.sourceforge.net * | ||||
* * | * * | ||||
* This program is free software; you can redistribute it and/or modify * | * 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 * | * 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. * | * (at your option) any later version. * | ||||
* * | * * | ||||
* This program is distributed in the hope that it will be useful, * | * This program is distributed in the hope that it will be useful, * | ||||
* GNU General Public License for more details. * | * GNU General Public License for more details. * | ||||
* * | * * | ||||
* You should have received a copy of the GNU General Public License * | * You should have received a copy of the GNU General Public License * | ||||
* along with this program; if not, write to the * | * along with this program; if not, write see: * | ||||
* Free Software Foundation, Inc., * | * <http://www.gnu.org/licenses/>. * | ||||
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * | |||||
***************************************************************************/ | ***************************************************************************/ | ||||
typedef struct { | typedef struct { | ||||
char name[40]; | char name[40]; | ||||
/*************************************************************************** | /*************************************************************************** | ||||
* Copyright (C) 2005, 2006 by Jonathan Duddington * | * Copyright (C) 2005 to 2007 by Jonathan Duddington * | ||||
* jonsd@users.sourceforge.net * | * email: jonsd@users.sourceforge.net * | ||||
* * | * * | ||||
* This program is free software; you can redistribute it and/or modify * | * 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 * | * 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. * | * (at your option) any later version. * | ||||
* * | * * | ||||
* This program is distributed in the hope that it will be useful, * | * This program is distributed in the hope that it will be useful, * | ||||
* GNU General Public License for more details. * | * GNU General Public License for more details. * | ||||
* * | * * | ||||
* You should have received a copy of the GNU General Public License * | * You should have received a copy of the GNU General Public License * | ||||
* along with this program; if not, write to the * | * along with this program; if not, write see: * | ||||
* Free Software Foundation, Inc., * | * <http://www.gnu.org/licenses/>. * | ||||
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * | |||||
***************************************************************************/ | ***************************************************************************/ | ||||
#include "wx/wx.h" | #include "wx/wx.h" | ||||
/*************************************************************************** | /*************************************************************************** | ||||
* Copyright (C) 2005 by Jonathan Duddington * | * Copyright (C) 2005 to 2007 by Jonathan Duddington * | ||||
* jonsd@users.sourceforge.net * | * email: jonsd@users.sourceforge.net * | ||||
* * | * * | ||||
* This program is free software; you can redistribute it and/or modify * | * 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 * | * 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. * | * (at your option) any later version. * | ||||
* * | * * | ||||
* This program is distributed in the hope that it will be useful, * | * This program is distributed in the hope that it will be useful, * | ||||
* GNU General Public License for more details. * | * GNU General Public License for more details. * | ||||
* * | * * | ||||
* You should have received a copy of the GNU General Public License * | * You should have received a copy of the GNU General Public License * | ||||
* along with this program; if not, write to the * | * along with this program; if not, write see: * | ||||
* Free Software Foundation, Inc., * | * <http://www.gnu.org/licenses/>. * | ||||
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * | |||||
***************************************************************************/ | ***************************************************************************/ | ||||
#include "StdAfx.h" | #include "StdAfx.h" | ||||
#include "stdio.h" | #include "stdio.h" | ||||
case V_PITCH: | case V_PITCH: | ||||
{ | { | ||||
double factor; | double factor; | ||||
// default is pitch 82 118 | // default is pitch 82 118 | ||||
n = sscanf(p,"%d %d",&pitch1,&pitch2); | n = sscanf(p,"%d %d",&pitch1,&pitch2); | ||||
voice->pitch_base = (pitch1 - 9) << 12; | voice->pitch_base = (pitch1 - 9) << 12; | ||||
voice->pitch_range = (pitch2 - pitch1) * 108; | voice->pitch_range = (pitch2 - pitch1) * 108; | ||||
factor = float(pitch1 - 82)/82; | factor = double(pitch1 - 82)/82; | ||||
voice->formant_factor = (1+factor/4) * 256; | voice->formant_factor = (int)((1+factor/4) * 256); // nominal formant shift for a different voice pitch | ||||
} | } | ||||
break; | break; | ||||
voice->breath[0] = Read8Numbers(p,&voice->breath[1]); | voice->breath[0] = Read8Numbers(p,&voice->breath[1]); | ||||
for(ix=1; ix<8; ix++) | for(ix=1; ix<8; ix++) | ||||
{ | { | ||||
if(ix & 1) | if(ix % 2) | ||||
voice->breath[ix] = -voice->breath[ix]; | voice->breath[ix] = -voice->breath[ix]; | ||||
} | } | ||||
break; | break; |
/*************************************************************************** | /*************************************************************************** | ||||
* Copyright (C) 2005,2006 by Jonathan Duddington * | * Copyright (C) 2005 to 2007 by Jonathan Duddington * | ||||
* jonsd@users.sourceforge.net * | * email: jonsd@users.sourceforge.net * | ||||
* * | * * | ||||
* This program is free software; you can redistribute it and/or modify * | * 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 * | * 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. * | * (at your option) any later version. * | ||||
* * | * * | ||||
* This program is distributed in the hope that it will be useful, * | * This program is distributed in the hope that it will be useful, * | ||||
* GNU General Public License for more details. * | * GNU General Public License for more details. * | ||||
* * | * * | ||||
* You should have received a copy of the GNU General Public License * | * You should have received a copy of the GNU General Public License * | ||||
* along with this program; if not, write to the * | * along with this program; if not, write see: * | ||||
* Free Software Foundation, Inc., * | * <http://www.gnu.org/licenses/>. * | ||||
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * | |||||
***************************************************************************/ | ***************************************************************************/ | ||||
#include <math.h> | #include <math.h> | ||||
#include "wx/wx.h" | #include "wx/wx.h" | ||||
#include <wx/dcmemory.h> | #include <wx/dcmemory.h> |
* * | * * | ||||
* This program is free software; you can redistribute it and/or modify * | * 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 * | * 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. * | * (at your option) any later version. * | ||||
* * | * * | ||||
* This program is distributed in the hope that it will be useful, * | * This program is distributed in the hope that it will be useful, * |
/*************************************************************************** | /*************************************************************************** | ||||
* Copyright (C) 2005, 2006 by Jonathan Duddington * | * Copyright (C) 2005 to 2007 by Jonathan Duddington * | ||||
* jonsd@users.sourceforge.net * | * email: jonsd@users.sourceforge.net * | ||||
* * | * * | ||||
* This program is free software; you can redistribute it and/or modify * | * 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 * | * 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. * | * (at your option) any later version. * | ||||
* * | * * | ||||
* This program is distributed in the hope that it will be useful, * | * This program is distributed in the hope that it will be useful, * | ||||
* GNU General Public License for more details. * | * GNU General Public License for more details. * | ||||
* * | * * | ||||
* You should have received a copy of the GNU General Public License * | * You should have received a copy of the GNU General Public License * | ||||
* along with this program; if not, write to the * | * along with this program; if not, write see: * | ||||
* Free Software Foundation, Inc., * | * <http://www.gnu.org/licenses/>. * | ||||
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * | |||||
***************************************************************************/ | ***************************************************************************/ | ||||
#include "StdAfx.h" | #include "StdAfx.h" | ||||
// this version keeps wavemult window as a constant fraction | // this version keeps wavemult window as a constant fraction | ||||
} // end of SetBreath | } // end of SetBreath | ||||
#define getrandom(min,max) ((rand()%(int)(((max)+1)-(min)))+(min)) | |||||
int ApplyBreath(void) | int ApplyBreath(void) | ||||
{//================== | {//================== | ||||
int noise; | int noise; | ||||
int amp; | int amp; | ||||
int value = 0; | 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++) | for(ix=1; ix < N_PEAKS; ix++) | ||||
{ | { | ||||
if((amp = wvoice->breath[ix]) != 0) | if((amp = wvoice->breath[ix]) != 0) | ||||
{ | { | ||||
amp *= (peaks[ix].height >> 13); | amp *= (peaks[ix].height >> 14); | ||||
value += int(resonator(&rbreath[ix],noise) * amp); | value += int(resonator(&rbreath[ix],noise) * amp); | ||||
} | } | ||||
} | } |
[Setup] | [Setup] | ||||
AppName=eSpeak | AppName=eSpeak | ||||
AppVerName=eSpeak version 1.26.10 | AppVerName=eSpeak version 1.27 | ||||
DefaultDirName={pf}\eSpeak | DefaultDirName={pf}\eSpeak | ||||
DefaultGroupName=eSpeak | DefaultGroupName=eSpeak | ||||
OutputBaseFilename=setup_espeak | OutputBaseFilename=setup_espeak | ||||
pt.v1=Seleccione as vozes que pretende instalar | pt.v1=Seleccione as vozes que pretende instalar | ||||
pt.v2=ou precione enter para aceitar as predefinidas. | 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 | ||||
$0b: Result := 'fi'; | $0b: Result := 'fi'; | ||||
$0c: Result := 'fr'; | $0c: Result := 'fr'; | ||||
$0e: Result := 'hu'; | $0e: Result := 'hu'; | ||||
$0f: Result := 'is'; | |||||
$10: Result := 'it'; | $10: Result := 'it'; | ||||
$13: Result := 'nl'; | $13: Result := 'nl'; | ||||
$14: Result := 'no'; | $14: Result := 'no'; |
[Setup] | [Setup] | ||||
AppName=eSpeakEdit | AppName=eSpeakEdit | ||||
AppVerName=eSpeakEdit version 1.26.10 | AppVerName=eSpeakEdit version 1.27 | ||||
DefaultDirName={pf}\eSpeak | DefaultDirName={pf}\eSpeak | ||||
DefaultGroupName=eSpeak | DefaultGroupName=eSpeak | ||||
OutputBaseFilename=setup_espeakedit | OutputBaseFilename=setup_espeakedit |