_7o s'e@v@n | _7o s'e@v@n | ||||
_8o _'ax2 | _8o _'ax2 | ||||
_9o ne@x2@n | _9o ne@x2@n | ||||
_0Co h'On@rtst@ | |||||
//_0Co h'On@rtst@ | |||||
// Place names | // Place names | ||||
avignon _^_FR | avignon _^_FR | ||||
babilon babilOn | babilon babilOn | ||||
babilonië babil'o@ni;@ | babilonië babil'o@ni;@ | ||||
bainskloof beInsklo@f | |||||
bangladesj baNglad'ES | bangladesj baNglad'ES | ||||
barcelona bars@l'o@na | barcelona bars@l'o@na | ||||
barkly _^_EN | barkly _^_EN | ||||
montagu mOnt@ky | montagu mOnt@ky | ||||
moreletapark mOr@l,Etap'ark | moreletapark mOr@l,Etap'ark | ||||
moorreesburg mur'e@sbWrx2 | moorreesburg mur'e@sbWrx2 | ||||
mouillepunt mulipWnt | |||||
(thaba nchu) tab'A:||ntSu | (thaba nchu) tab'A:||ntSu | ||||
europa Y@r'o@pa | europa Y@r'o@pa | ||||
nigel _^_EN | nigel _^_EN | ||||
wolseley wulsli | wolseley wulsli | ||||
uganda ug'anda | uganda ug'anda | ||||
uruguay urugwaI | uruguay urugwaI | ||||
wakloof vA:klo@f | |||||
zimbabwe zI:mb'ab_wE | zimbabwe zI:mb'ab_wE | ||||
zulu zulu // Kwazulu-Natal | zulu zulu // Kwazulu-Natal | ||||
blignault blIx2n@Ut | blignault blIx2n@Ut | ||||
blomerus blum'e@rWs | blomerus blum'e@rWs | ||||
blum blum | blum blum | ||||
borodin bOrud'in | |||||
botha bo@ta | botha bo@ta | ||||
bouwer b@U@r | bouwer b@U@r | ||||
braham brA:m | braham brA:m | ||||
(du toit) d@||toI | (du toit) d@||toI | ||||
dustin _^_EN | dustin _^_EN | ||||
duvenage dyv@nA:x2@ | duvenage dyv@nA:x2@ | ||||
dvorak d@-v'O:Zak | |||||
einstein aInstaI:n | einstein aInstaI:n | ||||
eksteen $1 | eksteen $1 | ||||
elana il'A:na | elana il'A:na | ||||
grange x2rA:nsi | grange x2rA:nsi | ||||
gregory _^_EN | gregory _^_EN | ||||
greta gre@ta | greta gre@ta | ||||
grieg gri:g | |||||
grové x2ruv'e@ | grové x2ruv'e@ | ||||
gulliver _^_EN | gulliver _^_EN | ||||
gustav gustaf | gustav gustaf | ||||
jane _^_EN | jane _^_EN | ||||
Jean ZA~n $capital | Jean ZA~n $capital | ||||
jesebel je@s@b&l | jesebel je@s@b&l | ||||
jessica _^_EN | |||||
jimmy _^_EN | jimmy _^_EN | ||||
joachim juw'A:x2@m | joachim juw'A:x2@m | ||||
joan _^_EN | joan _^_EN | ||||
lulu lulu | lulu lulu | ||||
mabalêl mabal'&l | mabalêl mabal'&l | ||||
mabel _^_EN | mabel _^_EN | ||||
macgill m@gjil | |||||
mackintosh _^_EN | mackintosh _^_EN | ||||
madelene mad@l'e@n | madelene mad@l'e@n | ||||
mbeki mbE:ki | mbeki mbE:ki | ||||
mozart mo@tsart | mozart mo@tsart | ||||
myburgh meIbWrx2 | myburgh meIbWrx2 | ||||
naomi na_'o@mi | naomi na_'o@mi | ||||
napoleon nap'o@liOn | |||||
natasha n%at'aSa | natasha n%at'aSa | ||||
naudé nOd'e@ | naudé nOd'e@ | ||||
nefertiti nEf@rt'iti | nefertiti nEf@rt'iti | ||||
retha re@ta | retha re@ta | ||||
retief r@tif | retief r@tif | ||||
rhodes _^_EN | rhodes _^_EN | ||||
richard _^_EN | |||||
riekert rik@rt | riekert rik@rt | ||||
robert _^_EN | robert _^_EN | ||||
robin _^_EN | robin _^_EN | ||||
kafee kaf'e@ | kafee kaf'e@ | ||||
kaliefa kal'ifa | kaliefa kal'ifa | ||||
kameraderie kam@rA:d@r'i | kameraderie kam@rA:d@r'i | ||||
kapittel kap'It@l | |||||
katswink katsv@nk | katswink katsv@nk | ||||
kaviaar kavi'A:r | kaviaar kavi'A:r | ||||
kennisvaardig $1 | kennisvaardig $1 | ||||
oorkom $2 | oorkom $2 | ||||
oorle o@rl@ | oorle o@rl@ | ||||
oorleef $2 | oorleef $2 | ||||
oorry o@reI | |||||
oorsee $2 | oorsee $2 | ||||
oorsese $2 | oorsese $2 | ||||
oorval $2 $verb | oorval $2 $verb | ||||
plaasjaap plA:sjA:p | plaasjaap plA:sjA:p | ||||
plasenta plas'Enta | plasenta plas'Enta | ||||
poinsettia pOIns'Etia | poinsettia pOIns'Etia | ||||
pond po~nt | |||||
potpourri pOtpur'i | potpourri pOtpur'i | ||||
primate $2 | primate $2 | ||||
profetes prOf@t'Es | profetes prOf@t'Es | ||||
voorgee fo@rx2e@ | voorgee fo@rx2e@ | ||||
voorkeer $1 | voorkeer $1 | ||||
voorkom $2 $only | voorkom $2 $only | ||||
voorlente $1 | |||||
voormalige fo@rm'A:l@x2@ | voormalige fo@rm'A:l@x2@ | ||||
voornemens fo@rne@m@ns | voornemens fo@rne@m@ns | ||||
//voorsien $2 | //voorsien $2 | ||||
welaf v&l_af | welaf v&l_af | ||||
weleer v&l_'e@r | weleer v&l_'e@r | ||||
wentaktiek $1 | wentaktiek $1 | ||||
willens vIl@ns | |||||
wysgere veIsx2e@r@ | wysgere veIsx2e@r@ | ||||
bonde (C bOnd@ // verbondenheid/bondeldraer/gebondene/saambondelend | bonde (C bOnd@ // verbondenheid/bondeldraer/gebondene/saambondelend | ||||
boos (aardig b%o@s_ // move default stress: boosaardig/-e/-heid | boos (aardig b%o@s_ // move default stress: boosaardig/-e/-heid | ||||
_) bor (dA@ b%Or // geborduur/bordeel/bordele | _) bor (dA@ b%Or // geborduur/bordeel/bordele | ||||
borde (r bOrd@ // fix stress and e sound: borderak/-ke | |||||
bos (A@ bOs? // bosaap/bosoorlog/bosuil | bos (A@ bOs? // bosaap/bosoorlog/bosuil | ||||
bo (v bo@ // fix o sound: bovlak/-e and similar | bo (v bo@ // fix o sound: bovlak/-e and similar | ||||
bowen bo@v@n' // bowenal/bowendien | bowen bo@v@n' // bowenal/bowendien | ||||
bene (dy b%e@n@ // fix stress and e sounds: gebenedy/-de | bene (dy b%e@n@ // fix stress and e sounds: gebenedy/-de | ||||
_) ben (ga b%EN // fix stress and n/g sounds: Bengaalse/Bengale | _) ben (ga b%EN // fix stress and n/g sounds: Bengaalse/Bengale | ||||
beni (g be@n@ // fix stress and e sound: (swaar/twee/vier)benig, etc. | beni (g be@n@ // fix stress and e sound: (swaar/twee/vier)benig, etc. | ||||
_) ben (Cien b%En // fix 1st e sound: bensien/benzien and compounds | |||||
ber (lyn b%&r // move default stress: Berlyn/-er/-se | ber (lyn b%&r // move default stress: Berlyn/-er/-se | ||||
ber (serk b@r // fix stress and 1st e sound: berserk/-er | ber (serk b@r // fix stress and 1st e sound: berserk/-er | ||||
C) be (rsie b'&: //kombersie etc. | C) be (rsie b'&: //kombersie etc. | ||||
d (d | d (d | ||||
dd d // gladde/midde/kudde/opskudding | dd d // gladde/midde/kudde/opskudding | ||||
ddh d // Boeddha/boeddhisme | ddh d // Boeddha/boeddhisme | ||||
@) d (raam t // fix d sound: draad-/skilpad-/standaardraam and compounds | |||||
daad (werk d%A:t // move default stress: daadwerklik/-e | daad (werk d%A:t // move default stress: daadwerklik/-e | ||||
daaren (te d%A:r@n // fix stress and e sound: daarenteen/daarenteë | daaren (te d%A:r@n // fix stress and e sound: daarenteen/daarenteë | ||||
daarop (v d%A:r%Op // move default stress: daaropvolgend/-e | daarop (v d%A:r%Op // move default stress: daaropvolgend/-e | ||||
dani (gh d'A:n@ // -hoedanigheid/hoedanighede/onderdanigheid | dani (gh d'A:n@ // -hoedanigheid/hoedanighede/onderdanigheid | ||||
@) dant d'ant // dant takes stress: kommandant/pruimedant | @) dant d'ant // dant takes stress: kommandant/pruimedant | ||||
@) dderd (_ d@rt // ontredderd, se rule: dd d | @) dderd (_ d@rt // ontredderd, se rule: dd d | ||||
@) d (einde_ t_ // fix d sound: maand-/noord-/suideinde | |||||
@) d (eis t_ // fix d sound, insert pause: skuldeiser/grondeise and many compounds | @) d (eis t_ // fix d sound, insert pause: skuldeiser/grondeise and many compounds | ||||
dge (_ _^_EN // words ending in -dge are English: Cambridge/Hambidge... | dge (_ _^_EN // words ending in -dge are English: Cambridge/Hambidge... | ||||
dia (C d%i%a // diabeet/diafragma/diagnose/dialek/dialoog/diamant | dia (C d%i%a // diabeet/diafragma/diagnose/dialek/dialoog/diamant | ||||
geldi x2&ld@ | geldi x2&ld@ | ||||
geld (inC x2<_ // fix d sound, pause: geldinkomste/-insamelaar/-insameling, etc. | geld (inC x2<_ // fix d sound, pause: geldinkomste/-insamelaar/-insameling, etc. | ||||
geld (ing x2&ld // but: ver-/ontgelding and similar | geld (ing x2&ld // but: ver-/ontgelding and similar | ||||
geldjie x2'&lci | |||||
geldjie x2&lci // spaargeldjies | |||||
_) gelykeni (s x2@l'eIk@n@ // gelykenis/se | _) gelykeni (s x2@l'eIk@n@ // gelykenis/se | ||||
gemmer x2'Em@r | gemmer x2'Em@r | ||||
ge (ogra x2i //geografie etc. | ge (ogra x2i //geografie etc. | ||||
_) na (latig n%A: // move default stress: nalatig/-e/-heid | _) na (latig n%A: // move default stress: nalatig/-e/-heid | ||||
names nA:m@s // fix e sound: afnames/opnames | names nA:m@s // fix e sound: afnames/opnames | ||||
napole (ont n%ap%o@l%i // fix stress and vowel sounds: Napoleonties/-e | napole (ont n%ap%o@l%i // fix stress and vowel sounds: Napoleonties/-e | ||||
napo (leon n%apo@ // fix stress and a sound: Napoleon(magte/-troepe...) | |||||
_) na (rC na // nartjie/nardus/narsing | _) na (rC na // nartjie/nardus/narsing | ||||
_) na (rk n%a // narkose/narkotiseer/narkoties/narkotika | _) na (rk n%a // narkose/narkotiseer/narkoties/narkotika | ||||
_) na (skeer n''A: // restore default stress: naskeermiddel/-room | _) na (skeer n''A: // restore default stress: naskeermiddel/-room | ||||
_) na (speur n%A: // fix stress and a sound: (on)naspeurbaar/-lik/-e | _) na (speur n%A: // fix stress and a sound: (on)naspeurbaar/-lik/-e | ||||
_) na (speur_N nA: // but default stress: naspeur | _) na (speur_N nA: // but default stress: naspeur | ||||
_) na (tC na // many compounds beginning with nat | _) na (tC na // many compounds beginning with nat | ||||
_) na (trekK nA: // fix stress and a sound: natrek/-ke | |||||
na (trium nA: // lengthen a sound: natrium and compounds | na (trium nA: // lengthen a sound: natrium and compounds | ||||
na (trosK nA: // lengthen a sound: natros/-se/-sies | na (trosK nA: // lengthen a sound: natros/-se/-sies | ||||
na (tuur n%a // natuur and compounds and derivatives | na (tuur n%a // natuur and compounds and derivatives | ||||
o (terap u // psigo-/fisioterapeut | o (terap u // psigo-/fisioterapeut | ||||
_) ob (s %Op // obskuur/obskure/obskuriteit/obsessie/obseen | _) ob (s %Op // obskuur/obskure/obskuriteit/obsessie/obseen | ||||
obser (veer %Ops%&r // fix stress, b sound: (ge)observeer(d/-e) | obser (veer %Ops%&r // fix stress, b sound: (ge)observeer(d/-e) | ||||
obsti (na %Opst@ // fix stress and i sound: obstinaat/-nate/-naatheid | |||||
C) o (dium o@ // fix stress and o sound: jodium/podium/rodium and their compounds | C) o (dium o@ // fix stress and o sound: jodium/podium/rodium and their compounds | ||||
oe u | oe u | ||||
oe (r u: //long oe sound before r in most cases, but see flg. exceptions: | oe (r u: //long oe sound before r in most cases, but see flg. exceptions: | ||||
pa (trA p%a // patrollie/patroon/patrys | pa (trA p%a // patrollie/patroon/patrys | ||||
patri (@ p%atr%i // move default stress: patriarg/patriot/-te and derivatives | patri (@ p%atr%i // move default stress: patriarg/patriot/-te and derivatives | ||||
patriar (ga p%atr%i%ar // move default stress: patriargaal/-gale | patriar (ga p%atr%i%ar // move default stress: patriargaal/-gale | ||||
patro (lle p%atr%u // fix stress and o sound: patrolleer and compounds | |||||
paté p%ate@ // fix stress and vowel sounds: (lewer)paté, etc. | paté p%ate@ // fix stress and vowel sounds: (lewer)paté, etc. | ||||
pavil (joe p%av@l // fix stress and v sound: paviljoen and compounds | pavil (joe p%av@l // fix stress and v sound: paviljoen and compounds | ||||
pawil (joe p%av@l // fix stress: pawiljoen and compounds | pawil (joe p%av@l // fix stress: pawiljoen and compounds |
// PB = Peter Bjarkov - [email protected] | // PB = Peter Bjarkov - [email protected] | ||||
iv $abbrev | |||||
// This file is UTF8 encoded | // This file is UTF8 encoded | ||||
// Spelling-to-phoneme words for Danish | // Spelling-to-phoneme words for Danish | ||||
// numbers | // numbers | ||||
_0 'nOl | _0 'nOl | ||||
_1 'e:n | _1 'e:n | ||||
_2 t'o: | |||||
_3 tR'&: | |||||
_2 t'o | |||||
_3 tR'e | |||||
_4 f'i:V | _4 f'i:V | ||||
_5 f'Em | _5 f'Em | ||||
_6 s'Egs | _6 s'Egs | ||||
_7 s'yw | _7 s'yw | ||||
_8 'O:d@ | _8 'O:d@ | ||||
_9 n'i: | |||||
_10 t'i: | |||||
_9 n'i | |||||
_10 t'i | |||||
_11 'Elv@ | _11 'Elv@ | ||||
_12 t'Vl | _12 t'Vl | ||||
_13 tR'&#d@-n // PB & changed to &# | _13 tR'&#d@-n // PB & changed to &# | ||||
_8X f'irs | _8X f'irs | ||||
_9X h&lf'Ems // PB a changed to & | _9X h&lf'Ems // PB a changed to & | ||||
_0C h'un*@:D | _0C h'un*@:D | ||||
_1C ed||h'unR@:D // PB addet 'et hundrede' | |||||
_0M1 t'u:s@-n | _0M1 t'u:s@-n | ||||
_1M1 ed||t'u:s@-n // PB added 'et' to tusind | _1M1 ed||t'u:s@-n // PB added 'et' to tusind | ||||
_1M2 'e:n||milij'o:n | _1M2 'e:n||milij'o:n | ||||
_0and 3 | _0and 3 | ||||
_dpt _k,Vm&: | _dpt _k,Vm&: | ||||
_roman d%En | |||||
// PB a number followed by dot | // PB a number followed by dot | ||||
// ordinals are followed by a dot in Danish | // ordinals are followed by a dot in Danish | ||||
// conjunctions | // conjunctions | ||||
og V $u+ $pause // and | og V $u+ $pause // and | ||||
men $pause // but | men $pause // but | ||||
eller $u+ $pause $only // or | |||||
eller // or | |||||
mens $pause // while | mens $pause // while | ||||
for fV | for fV | ||||
fordi fVd'i $pause // because - PB: changed stress | fordi fVd'i $pause // because - PB: changed stress | ||||
når nVr $pause // while | når nVr $pause // while | ||||
som $u+ $pause // who (relative) | |||||
der d&r $u+ $u // PB changed from [d]A | der d&r $u+ $u // PB changed from [d]A | ||||
hvor v'Vr // where | hvor v'Vr // where | ||||
hvorfor vVf'V // why - firan r deleted | hvorfor vVf'V // why - firan r deleted | ||||
ad &D $atend $sentence // PB "Det må ikke skille os ad." | ad &D $atend $sentence // PB "Det må ikke skille os ad." | ||||
at &: $u // PB changed from [at] to [&:] | at &: $u // PB changed from [at] to [&:] | ||||
hos // at - PB: removed [$u+] | hos // at - PB: removed [$u+] | ||||
som sVm // which / that - PB: removed [$u+] | |||||
som sVm $u // which / that - PB: removed [$u+] | |||||
// pronouns | // pronouns | ||||
jeg jai $u+ // I | jeg jai $u+ // I | ||||
hun $u | hun $u | ||||
det de $u | det de $u | ||||
dét de | dét de | ||||
vi $u | |||||
vi vi $u | |||||
i _i $u+ | i _i $u+ | ||||
mig maj $u // me | mig maj $u // me | ||||
dig daj $u | dig daj $u | ||||
ham $u | ham $u | ||||
hende $u | hende $u | ||||
sig $u | sig $u | ||||
os Vs $u | |||||
jer | |||||
os Vs $u+ | |||||
jer $u | |||||
denne $u+ // this | denne $u+ // this | ||||
dette $u+ | dette $u+ | ||||
disse $u+ // these | disse $u+ // these | ||||
bør $u+ // ought | bør $u+ // ought | ||||
// letter names | // letter names | ||||
b be: | |||||
c se: | |||||
d de: | |||||
b be | |||||
c se | |||||
d de | |||||
_e e: | _e e: | ||||
f Ef | f Ef | ||||
g ge: | |||||
g ge | |||||
h hO: | h hO: | ||||
_i i: | _i i: | ||||
j jVD // PB changed from [o] | j jVD // PB changed from [o] | ||||
m Em | m Em | ||||
n En | n En | ||||
o o | o o | ||||
p pe: | |||||
q ku: | |||||
p pe | |||||
q ku | |||||
r Er | r Er | ||||
s es | s es | ||||
//t te: mooved to da_rules because of clash with T-shirt | //t te: mooved to da_rules because of clash with T-shirt | ||||
u u? | u u? | ||||
v ve: | |||||
v ve | |||||
w d'Vbeltve: | w d'Vbeltve: | ||||
x Eks | x Eks | ||||
y Y? | y Y? | ||||
// PB English words | // PB English words | ||||
bacon _^_EN | bacon _^_EN | ||||
bondage _^_EN | bondage _^_EN | ||||
baseball _^_EN | |||||
volleyball _^_EN | volleyball _^_EN | ||||
dj _^_EN | dj _^_EN | ||||
deadline _^_EN | deadline _^_EN | ||||
paul _^_EN $alt | paul _^_EN $alt | ||||
reynolds _^_EN $alt | reynolds _^_EN $alt | ||||
purvis _^_EN | purvis _^_EN | ||||
sally _^_EN $alt | |||||
washington _^_EN $alt | washington _^_EN $alt | ||||
white _^_EN $alt | white _^_EN $alt | ||||
chicago _^_EN $alt | chicago _^_EN $alt | ||||
// PB French words | // PB French words | ||||
croissant _^_FR | |||||
croquis _^_FR | croquis _^_FR | ||||
crouton _^_FR | crouton _^_FR | ||||
jugement _^_FR | jugement _^_FR | ||||
jaguar $alt | jaguar $alt | ||||
janitshar $alt | janitshar $alt | ||||
jubilar $alt | jubilar $alt | ||||
kommentar $alt | |||||
korsar $alt | korsar $alt | ||||
laminar $alt | laminar $alt | ||||
legatar $alt | legatar $alt | ||||
opulent $alt | opulent $alt | ||||
orient $alt | orient $alt | ||||
patent $alt | patent $alt | ||||
patient $alt | |||||
piment $alt | piment $alt | ||||
permanent $alt | permanent $alt | ||||
potent $alt | potent $alt | ||||
violinistinde $alt | violinistinde $alt | ||||
værtinde $alt | værtinde $alt | ||||
// PB nouns with final -isme - stressed i | |||||
absolutisme $alt | |||||
absurdisme $alt | |||||
aforisme $alt | |||||
afværgemekanisme $alt | |||||
agnosticisme $alt | |||||
akademisme $alt | |||||
aktivisme $alt | |||||
albinisme $alt | |||||
alkoholisme $alt | |||||
alpinisme $alt | |||||
altruisme $alt | |||||
amatørisme $alt | |||||
amerikanisme $alt | |||||
anakronisme $alt | |||||
analfabetisme $alt | |||||
anarkisme $alt | |||||
anarkosyndikalisme $alt | |||||
anglicisme $alt | |||||
animisme $alt | |||||
antagonisme $alt | |||||
antropomorfisme $alt | |||||
aristokratisme $alt | |||||
arkaisme $alt | |||||
astigmatisme $alt | |||||
atavisme $alt | |||||
ateisme $alt | |||||
atomisme $alt | |||||
autisme $alt | |||||
avantgardisme $alt | |||||
baptisme $alt | |||||
barbarisme $alt | |||||
barthianisme $alt | |||||
behaviorisme $alt | |||||
bilisme $alt | |||||
bolsjevisme $alt | |||||
bonapartisme $alt | |||||
botulisme $alt | |||||
brahmanisme $alt | |||||
brandesianisme $alt | |||||
brutalisme $alt | |||||
buddhisme $alt | |||||
bureaukratisme $alt | |||||
calvinisme $alt | |||||
centralisme $alt | |||||
chauvinisme $alt | |||||
cyklisme $alt | |||||
cæsarisme $alt | |||||
dadaisme $alt | |||||
danisme $alt | |||||
darwinisme $alt | |||||
decentralisme $alt | |||||
defaitisme $alt | |||||
deisme $alt | |||||
dekonstruktivisme $alt | |||||
demokratisme $alt | |||||
despotisme $alt | |||||
determinisme $alt | |||||
dilettantisme $alt | |||||
dirigisme $alt | |||||
dogmatisme $alt | |||||
doktrinarisme $alt | |||||
dokumentarisme $alt | |||||
dramadokumentarisme $alt | |||||
dualisme $alt | |||||
egoisme $alt | |||||
eklekticisme $alt | |||||
ekshibitionisme $alt | |||||
eksistentialisme $alt | |||||
eksorcisme $alt | |||||
eksotisme $alt | |||||
ekspansionisme $alt | |||||
ekspressionisme $alt | |||||
ekstremisme $alt | |||||
ekvilibrisme $alt | |||||
elitisme $alt | |||||
empirisme $alt | |||||
epikuræisme $alt | |||||
erotisme $alt | |||||
eskapisme $alt | |||||
etnocentrisme $alt | |||||
eudaimonisme $alt | |||||
eufemisme $alt | |||||
evolutionisme $alt | |||||
fanatisme $alt | |||||
farisæisme $alt | |||||
fascisme $alt | |||||
fatalisme $alt | |||||
fauvisme $alt | |||||
federalisme $alt | |||||
feminisme $alt | |||||
fetichisme $alt | |||||
feudalisme $alt | |||||
flagellantisme $alt | |||||
forbrugerisme $alt | |||||
formalisme $alt | |||||
freudianisme $alt | |||||
fundamentalisme $alt | |||||
funktionalisme $alt | |||||
futurisme $alt | |||||
føderalisme $alt | |||||
gallicisme $alt | |||||
gaullisme $alt | |||||
georgisme $alt | |||||
germanisme $alt | |||||
gigantisme $alt | |||||
gnosticisme $alt | |||||
grundtvigianisme $alt | |||||
græcisme $alt | |||||
hedonisme $alt | |||||
hegemonisme $alt | |||||
hellenisme $alt | |||||
hermafroditisme $alt | |||||
heroisme $alt | |||||
hinduisme $alt | |||||
historicisme $alt | |||||
historisme $alt | |||||
holisme $alt | |||||
hooliganisme $alt | |||||
humanisme $alt | |||||
hypnotisme $alt | |||||
idealisme $alt | |||||
idiotisme $alt | |||||
imperialisme $alt | |||||
impressionisme $alt | |||||
indeterminisme $alt | |||||
individualisme $alt | |||||
industrialisme $alt | |||||
infantilisme $alt | |||||
intellektualisme $alt | |||||
internationalisme $alt | |||||
interventionisme $alt | |||||
irrationalisme $alt | |||||
islamisme $alt | |||||
isolationisme $alt | |||||
isomorfisme $alt | |||||
jesuitisme $alt | |||||
judaisme $alt | |||||
kannibalisme $alt | |||||
kapitalisme $alt | |||||
katolicisme $alt | |||||
klassicisme $alt | |||||
klerikalisme $alt | |||||
kokainisme $alt | |||||
kollektivisme $alt | |||||
kolonialisme $alt | |||||
kolorisme $alt | |||||
kommercialisme $alt | |||||
kommunisme $alt | |||||
kommunitarisme $alt | |||||
komparatisme $alt | |||||
konformisme $alt | |||||
konfucianisme $alt | |||||
konkretisme $alt | |||||
konservatisme $alt | |||||
konsonantisme $alt | |||||
konstruktivisme $alt | |||||
korporatisme $alt | |||||
korporativisme $alt | |||||
kosmopolitisme $alt | |||||
kreationisme $alt | |||||
kretinisme $alt | |||||
kubisme $alt | |||||
kulturisme $alt | |||||
kvietisme $alt | |||||
kynisme $alt | |||||
lakonisme $alt | |||||
lamaisme $alt | |||||
lamarckisme $alt | |||||
latinisme $alt | |||||
leninisme $alt | |||||
lesbianisme $alt | |||||
liberalisme $alt | |||||
lobbyisme $alt | |||||
lutheranisme $alt | |||||
lyrisme $alt | |||||
machiavellisme $alt | |||||
magnetisme $alt | |||||
malthusianisme $alt | |||||
manierisme $alt | |||||
maoisme $alt | |||||
markedsmekanisme $alt | |||||
marxisme $alt | |||||
maskulinisme $alt | |||||
masochisme $alt | |||||
materialisme $alt | |||||
mccarthyisme $alt | |||||
mekanisme $alt | |||||
merkantilisme $alt | |||||
messianisme $alt | |||||
metabolisme $alt | |||||
metodisme $alt | |||||
militarisme $alt | |||||
minimalisme $alt | |||||
modernisme $alt | |||||
monarkisme $alt | |||||
monetarisme $alt | |||||
mongolisme $alt | |||||
monisme $alt | |||||
monopolisme $alt | |||||
monoteisme $alt | |||||
moralisme $alt | |||||
morfinisme $alt | |||||
mormonisme $alt | |||||
muhamedanisme $alt | |||||
mutisme $alt | |||||
mysticisme $alt | |||||
naivisme $alt | |||||
narcissisme $alt | |||||
nationalisme $alt | |||||
naturalisme $alt | |||||
naturisme $alt | |||||
nazisme $alt | |||||
negativisme $alt | |||||
neologisme $alt | |||||
nepotisme $alt | |||||
neutralisme $alt | |||||
nihilisme $alt | |||||
nomadisme $alt | |||||
nordisme $alt | |||||
norvagisme $alt | |||||
nudisme $alt | |||||
objektivisme $alt | |||||
obskurantisme $alt | |||||
okkultisme $alt | |||||
opportunisme $alt | |||||
optimisme $alt | |||||
organisme $alt | |||||
ostrakisme $alt | |||||
pacifisme $alt | |||||
panteisme $alt | |||||
papisme $alt | |||||
parallelisme $alt | |||||
parkinsonisme $alt | |||||
parlamentarisme $alt | |||||
partikularisme $alt | |||||
paternalisme $alt | |||||
patriarkalisme $alt | |||||
patriotisme $alt | |||||
pennalisme $alt | |||||
perfektionisme $alt | |||||
perspektivisme $alt | |||||
pessimisme $alt | |||||
pietisme $alt | |||||
platonisme $alt | |||||
pluralisme $alt | |||||
pointillisme $alt | |||||
polycentrisme $alt | |||||
polyteisme $alt | |||||
populisme $alt | |||||
positivisme $alt | |||||
pragmatisme $alt | |||||
primitivisme $alt | |||||
privatisme $alt | |||||
professionalisme $alt | |||||
protektionisme $alt | |||||
protestantisme $alt | |||||
provinsialisme $alt | |||||
psykologisme $alt | |||||
purisme $alt | |||||
puritanisme $alt | |||||
racisme $alt | |||||
radikalisme $alt | |||||
rationalisme $alt | |||||
realisme $alt | |||||
reformisme $alt | |||||
regionalisme $alt | |||||
relativisme $alt | |||||
reumatisme $alt | |||||
revanchisme $alt | |||||
revisionisme $alt | |||||
rigorisme $alt | |||||
romantisme $alt | |||||
royalisme $alt | |||||
sadisme $alt | |||||
sadomasochisme $alt | |||||
satanisme $alt | |||||
seksualisme $alt | |||||
sekterisme $alt | |||||
sekularisme $alt | |||||
seminarisme $alt | |||||
sensationalisme $alt | |||||
sensualisme $alt | |||||
sentimentalisme $alt | |||||
separatisme $alt | |||||
serialisme $alt | |||||
sexisme $alt | |||||
shamanisme $alt | |||||
shiisme $alt | |||||
shintoisme $alt | |||||
skandinavisme $alt | |||||
skepticisme $alt | |||||
slavisme $alt | |||||
snobbisme $alt | |||||
socialisme $alt | |||||
sofisme $alt | |||||
solipsisme $alt | |||||
somnambulisme $alt | |||||
spiritisme $alt | |||||
spiritualisme $alt | |||||
spontanisme $alt | |||||
stalinisme $alt | |||||
stoicisme $alt | |||||
strukturalisme $alt | |||||
subjektivisme $alt | |||||
supranaturalisme $alt | |||||
surrealisme $alt | |||||
svecisme $alt | |||||
syllogisme $alt | |||||
symbolisme $alt | |||||
syndikalisme $alt | |||||
synkretisme $alt | |||||
synkronisme $alt | |||||
tachisme $alt | |||||
taoisme $alt | |||||
teisme $alt | |||||
terrorisme $alt | |||||
thomisme $alt | |||||
totalitarisme $alt | |||||
totemisme $alt | |||||
traditionalisme $alt | |||||
transvestisme $alt | |||||
transvestitisme $alt | |||||
tropisme $alt | |||||
trotskisme $alt | |||||
truisme $alt | |||||
tsarisme $alt | |||||
turisme $alt | |||||
uniformisme $alt | |||||
unionisme $alt | |||||
unitarisme $alt | |||||
universalisme $alt | |||||
urbanisme $alt | |||||
utilitarisme $alt | |||||
utopisme $alt | |||||
vandalisme $alt | |||||
vegetarianisme $alt | |||||
vegetarisme $alt | |||||
verisme $alt | |||||
victorianisme $alt | |||||
vitalisme $alt | |||||
vokalisme $alt | |||||
voyeurisme $alt | |||||
vulgarisme $alt | |||||
vulkanisme $alt | |||||
zarisme $alt | |||||
zenbuddhisme $alt | |||||
zionisme $alt | |||||
ækvilibrisme $alt | |||||
æsteticisme $alt | |||||
// PB words with final -ni - stressed i | // PB words with final -ni - stressed i | ||||
agoni $alt | agoni $alt | ||||
androgyni $alt | androgyni $alt | ||||
monogami $alt | monogami $alt | ||||
origami oreg'ami $alt | origami oreg'ami $alt | ||||
pandemi $alt | pandemi $alt | ||||
pastrami p&stR'Ami $alt | |||||
polygami $alt | polygami $alt | ||||
salami sal'&mi $alt | salami sal'&mi $alt | ||||
socionomi $alt | socionomi $alt | ||||
vasektomi $alt | vasektomi $alt | ||||
økonomi $alt | økonomi $alt | ||||
// PB stressed second syllable in words with initial ge | |||||
gebet $alt | |||||
gebis $alt | |||||
gebommerlig $alt | |||||
gebrokken $alt | |||||
gebrækkelig $alt | |||||
gebyr $alt | |||||
gebærde $alt | |||||
gedigen $alt | |||||
gedulgt $alt | |||||
gehalt $alt | |||||
gehejmeråd $alt | |||||
gehenna $alt | |||||
gehæng $alt | |||||
gehør $alt | |||||
gelassen $alt | |||||
geled $alt | |||||
gelejde $alt | |||||
gelinde $alt | |||||
gelænder $alt | |||||
gemak $alt | |||||
gemal $alt | |||||
gemen $alt | |||||
gemyse $alt | |||||
gemyt $alt | |||||
gemytlig $alt | |||||
genom $alt | |||||
gentil $alt | |||||
genuin $alt | |||||
gepard $alt | |||||
geranie $alt | |||||
geranium $alt | |||||
geråde $alt | |||||
gesandt $alt | |||||
gesandtskab $alt | |||||
gesims $alt | |||||
gesjæft $alt | |||||
geskæftig $alt | |||||
gespenst $alt | |||||
gestagen $alt | |||||
gestalt $alt | |||||
gestik $alt | |||||
gesvejsning $alt | |||||
gesvindt $alt | |||||
gevaldig $alt | |||||
gevalt $alt | |||||
gevandt $alt | |||||
gevind $alt | |||||
gevinst $alt | |||||
gevir $alt | |||||
gevækst $alt | |||||
gevær $alt | |||||
// words with final "in" - stressed i | // words with final "in" - stressed i | ||||
aborigin $alt | aborigin $alt | ||||
adrenalin $alt | adrenalin $alt | ||||
vivarium $alt | vivarium $alt | ||||
vokabularium $alt | vokabularium $alt | ||||
// PB nouns with final -um - stress on previous syllable | |||||
basilikum $alt | |||||
curriculum $alt | |||||
dekorum $alt | |||||
depositum $alt | |||||
desideratum $alt | |||||
epicentrum $alt | |||||
erratum $alt | |||||
faktotum $alt | |||||
filosofikum $alt | |||||
futurum $alt | |||||
gummiarabicum $alt | |||||
interregnum $alt | |||||
jubilæum $alt | |||||
karakteristikum $alt | |||||
karbolineum $alt | |||||
karborundum $alt | |||||
kemoterapeutikum $alt | |||||
kompositum $alt | |||||
konsum $alt | |||||
kuriosum $alt | |||||
linoleum $alt | |||||
mausoleum $alt | |||||
memorandum $alt | |||||
momentum $alt | |||||
museum $alt | |||||
narkotikum $alt | |||||
neolitikum $alt | |||||
opossum $alt | |||||
palæolitikum $alt | |||||
perfektum $alt | |||||
perikum $alt | |||||
periodikum $alt | |||||
petitum $alt | |||||
petroleum $alt | |||||
postscriptum $alt | |||||
præteritum $alt | |||||
psykofarmakum $alt | |||||
pædagogikum $alt | |||||
referendum $alt | |||||
responsum $alt | |||||
supinum $alt | |||||
tedeum $alt | |||||
ultimatum $alt | |||||
vademecum $alt | |||||
// PB nouns with final -ie - stress on previous syllable | // PB nouns with final -ie - stress on previous syllable | ||||
// unofficial suffix for the "ium" words above | // unofficial suffix for the "ium" words above | ||||
adverbie $alt | adverbie $alt | ||||
stewardesse $alt | stewardesse $alt | ||||
tristesse $alt | tristesse $alt | ||||
final -ese - stressed e | |||||
anamnese $alt | |||||
askese $alt | |||||
diatese $alt | |||||
diurese $alt | |||||
eksegese $alt | |||||
fylogenese $alt | |||||
genese $alt | |||||
hypotese $alt | |||||
katakrese $alt | |||||
kinese $alt | |||||
ontogenese $alt | |||||
parese $alt | |||||
partenogenese $alt | |||||
patogenese $alt | |||||
protese $alt | |||||
syntese $alt | |||||
PB final -id - stressed i | PB final -id - stressed i | ||||
adenoid $alt | adenoid $alt | ||||
alkaloid $alt | alkaloid $alt | ||||
blamer $alt | blamer $alt | ||||
blancher $alt | blancher $alt | ||||
bloker $alt | bloker $alt | ||||
bogstaver $alt | |||||
bogstavere $alt | |||||
bombarder $alt | bombarder $alt | ||||
bonbonniere bVNbVNj'E:r $alt | bonbonniere bVNbVNj'E:r $alt | ||||
boniter $alt | boniter $alt | ||||
konvoluter $alt | konvoluter $alt | ||||
kooperer $alt | kooperer $alt | ||||
koordiner $alt | koordiner $alt | ||||
kopier $alt | |||||
kopiere $alt | |||||
kopuler $alt | kopuler $alt | ||||
koreografer $alt | koreografer $alt | ||||
korreler $alt | korreler $alt | ||||
kursere $alt | kursere $alt | ||||
kursiver $alt | kursiver $alt | ||||
kurtiser $alt | kurtiser $alt | ||||
kuverter $alt | |||||
kuvertere $alt | |||||
kvadrer $alt | kvadrer $alt | ||||
kvaksalverer $alt | kvaksalverer $alt | ||||
kvalificer $alt | kvalificer $alt | ||||
merkantiliser $alt | merkantiliser $alt | ||||
metalliser $alt | metalliser $alt | ||||
metamorfoser $alt | metamorfoser $alt | ||||
metastaser $alt | |||||
metastasere $alt | |||||
migrer $alt | migrer $alt | ||||
mikroskoper $alt | mikroskoper $alt | ||||
militariser $alt | militariser $alt | ||||
pausere $alt | pausere $alt | ||||
pelleter $alt | pelleter $alt | ||||
pendulere $alt | pendulere $alt | ||||
pensioner $alt | |||||
pensionere $alt | |||||
perciper $alt | perciper $alt | ||||
perfektioner $alt | perfektioner $alt | ||||
perforer $alt | perforer $alt | ||||
petitioner $alt | petitioner $alt | ||||
pigmenter $alt | pigmenter $alt | ||||
piker $alt | piker $alt | ||||
piloter $alt | |||||
pilotere $alt | |||||
pioner $alt | pioner $alt | ||||
pipetter $alt | pipetter $alt | ||||
pirater $alt | pirater $alt | ||||
regaler $alt | regaler $alt | ||||
regenerer $alt | regenerer $alt | ||||
reger $alt | reger $alt | ||||
ureger $alt // PB uregerlig | |||||
regionaliser $alt | regionaliser $alt | ||||
registrer $alt | registrer $alt | ||||
regreder $alt | regreder $alt | ||||
rekompenser $alt | rekompenser $alt | ||||
rekonvalescer $alt | rekonvalescer $alt | ||||
rekreer $alt | rekreer $alt | ||||
rekrutter $alt | |||||
rekruttere $alt | |||||
rektificer $alt | rektificer $alt | ||||
rektoskoper $alt | rektoskoper $alt | ||||
rekurrer $alt | rekurrer $alt | ||||
trivialiser $alt | trivialiser $alt | ||||
trompeter $alt | trompeter $alt | ||||
trunker $alt | trunker $alt | ||||
trænere $alt | |||||
//trænere $alt | |||||
tunneler $alt | tunneler $alt | ||||
turner $alt | turner $alt | ||||
tuscher $alt | tuscher $alt | ||||
urbaniser $alt | urbaniser $alt | ||||
urger $alt | urger $alt | ||||
uriner $alt | uriner $alt | ||||
urpremier $alt | |||||
usurper $alt | usurper $alt | ||||
vacciner $alt | vacciner $alt | ||||
vagabonder $alt | vagabonder $alt | ||||
saigon sajg3-n // PB Saigon | saigon sajg3-n // PB Saigon | ||||
managua m&n'&:gw& | managua m&n'&:gw& | ||||
(deja-vu) deSja||'vy | (deja-vu) deSja||'vy | ||||
(il duce) il||d'u:tSj@ // PB Italian faschist | |||||
(il duce) il||d'u:tSj@ // PB Italian Fascist | |||||
// Abbreviations | // Abbreviations | ||||
pga pOgR'O?n'a? $hasdot // PB short for 'på grund af' | |||||
pga pO||gR'O?n||& $hasdot // PB short for 'på grund af' | |||||
hr h&r $hasdot // PB hr. - short for mister (Mr) in Danish | hr h&r $hasdot // PB hr. - short for mister (Mr) in Danish | ||||
mr mestV $hasdot // PB mister | mr mestV $hasdot // PB mister | ||||
mrs meses $hasdot // PB Mrs. | mrs meses $hasdot // PB Mrs. | ||||
(f.eks) fVegsemp@l $hasdot // PB "f.eks" is short for 'for eksempel' | (f.eks) fVegsemp@l $hasdot // PB "f.eks" is short for 'for eksempel' | ||||
(dj'en) di:'dje:j3n // *PB dj'en - the dj | (dj'en) di:'dje:j3n // *PB dj'en - the dj | ||||
(dj'er) di:'dje:jV // *PB dj'er | (dj'er) di:'dje:jV // *PB dj'er | ||||
(tv'et) te:ve:@d // PB | |||||
(tv'er) te:ve:V // PB | |||||
(cd'en) se:de:3n // PB | (cd'en) se:de:3n // PB | ||||
(cd'er) se:de:V // PB | (cd'er) se:de:V // PB | ||||
emp $abbrev | emp $abbrev | ||||
hbo $abbrev // TV station | |||||
usa $abbrev | usa $abbrev | ||||
who $abbrev $allcaps // PB World Health Organization | |||||
vsop $abbrev | |||||
eu $abbrev | eu $abbrev | ||||
ekg $abbrev | |||||
co $abbrev $allcaps // PB for CO2-kvote | |||||
ngo $abbrev | |||||
edb $abbrev | edb $abbrev | ||||
mri $abbrev | |||||
wc v'ese // w is pronounces as v in Danish | |||||
(wc'et) v'ese@d | |||||
(wc'er) v'eseV | |||||
(wc'erne) v'eseVn@ | |||||
(wc'ernes) v'eseVn@s | |||||
it $abbrev | it $abbrev | ||||
id $abbrev | id $abbrev | ||||
dna $abbrev | dna $abbrev | ||||
(så langt) sV||l'ANt | (så langt) sV||l'ANt | ||||
(så vil) sV||v'el | (så vil) sV||v'el | ||||
(så højt) sV||h'Vjt | (så højt) sV||h'Vjt | ||||
(så var) sV||v'Ar | |||||
(så var) sV||v'Ar | |||||
(så længe) sV||l'EN3 | (så længe) sV||l'EN3 | ||||
(så må) sV||m'O | (så må) sV||m'O | ||||
(så har) sV||har | (så har) sV||har | ||||
(ville så) vil3||sV | |||||
så sV $sentence $atstart | så sV $sentence $atstart | ||||
(virkede så) v'irkeD@||sV | (virkede så) v'irkeD@||sV | ||||
(kom så) kVm||sV | (kom så) kVm||sV | ||||
(koste med) kosd@||mED | (koste med) kosd@||mED | ||||
(en kanoner) en||k&non'er | |||||
(en kanoner) en||k&non'er | |||||
nå nV $atstart // PB Nå, der er du |
_: d'Op@lp,UNkt | _: d'Op@lp,UNkt | ||||
_; Str'ICpUNkt | _; Str'ICpUNkt | ||||
__ ,Unt3Str'IC | __ ,Unt3Str'IC | ||||
_- b'IndEstr,IC | |||||
_- b'Ind@str,IC | |||||
_! 'aUs_|r,u:f@ts,aIC@n | _! 'aUs_|r,u:f@ts,aIC@n | ||||
_? fr'Ag@ts,aIC@n | _? fr'Ag@ts,aIC@n | ||||
_' ,apo:str'Of | _' ,apo:str'Of | ||||
browser _^_EN | browser _^_EN | ||||
byte _^_EN | byte _^_EN | ||||
camcorder _^_EN | camcorder _^_EN | ||||
change _^_EN | |||||
chart _^_EN | chart _^_EN | ||||
chat _^_EN | chat _^_EN | ||||
coach _^_EN | coach _^_EN |
B) gn (A g@-n | B) gn (A g@-n | ||||
i) gt (_ Ct | i) gt (_ Ct | ||||
zei) gt (_ kt | |||||
ei) gt (_ kt | |||||
gtet (_ kt@t | gtet (_ kt@t | ||||
gtest kt@st | gtest kt@st | ||||
v v | v v | ||||
v) v | v) v | ||||
v (_N f | v (_N f | ||||
_) v (A v | |||||
_) v (lad v | _) v (lad v | ||||
_) v (lies f | _) v (lies f | ||||
_) vi (CC vI | _) vi (CC vI | ||||
_) vi vi: | _) vi vi: | ||||
_) v v | |||||
vater fA:t3 | vater fA:t3 | ||||
väter fE:t3 | väter fE:t3 | ||||
_) v (ät f | _) v (ät f |
Phonemes which are used in the *_rules and *_list files | Phonemes which are used in the *_rules and *_list files | ||||
Dictionary af_dict 2010-05-24 | |||||
Dictionary af_dict 2010-08-26 | |||||
& &: 3: @ @- @L @U a | & &: 3: @ @- @L @U a | ||||
A: aI AI aU A~ E e: e@ | A: aI AI aU A~ E e: e@ | ||||
x z | x z | ||||
Dictionary da_dict 2010-07-29 | |||||
Dictionary da_dict 2010-08-26 | |||||
& &# 0 3 @ @- a A | & &# 0 3 @ @- a A | ||||
e E i o O u V W | e E i o O u V W | ||||
s S t T tS v w z | s S t T tS v w z | ||||
Dictionary hu_dict 2010-08-02 | |||||
Dictionary hu_dict 2010-09-13 | |||||
A a: E e: i i: o o: | A a: E e: i i: o o: | ||||
u u: Y y y: Y: | u u: Y y y: Y: | ||||
t tS ts v z Z | t tS ts v z Z | ||||
Dictionary de_dict 2010-07-27 | |||||
Dictionary de_dict 2010-08-25 | |||||
3 3: @ @- a A A: aI | 3 3: @ @- a A A: aI | ||||
aU E E2 E: e: EI i I | aU E E2 E: e: EI i I | ||||
tS ts v w x z Z | tS ts v w x z Z | ||||
Dictionary el_dict 2008-12-16 | |||||
Dictionary el_dict 2010-08-26 | |||||
@ @- a aI e i o oI | |||||
u | |||||
a aI e i o oI u | |||||
* ; b c C d D f | |||||
g j k l l^ m n N | |||||
n^ p Q r R s s; t | |||||
T ts v x z z; | |||||
; b c C d D f g | |||||
j k l l^ m n N n^ | |||||
p Q r R s s; t T | |||||
ts v x z z; | |||||
Dictionary en_dict 2010-07-30 | |||||
Dictionary en_dict 2010-09-14 | |||||
0 3 3: @ @- @2 @5 @L | 0 3 3: @ @- @2 @5 @L | ||||
a a# A: A@ aa aI aI@ aU | a a# A: A@ aa aI aI@ aU | ||||
z Z | z Z | ||||
Dictionary eo_dict 2010-05-19 | |||||
Dictionary eo_dict 2010-08-27 | |||||
@- a aI aU e eI eU i | @- a aI aU e eI eU i | ||||
o oI u uI | o oI u uI | ||||
s2 t v w Z | s2 t v w Z | ||||
Dictionary fr_dict 2010-07-30 | |||||
Dictionary fr_dict 2010-09-04 | |||||
@ @- a A~ e E E: E~ | @ @- a A~ e E E: E~ | ||||
i I o O O~ u u: w | i I o O O~ u u: w | ||||
t. th th. v w x z | t. th th. v w x z | ||||
Dictionary ta_dict 2010-07-30 | |||||
Dictionary ta_dict 2010-09-14 | |||||
a a: aI aU e E e: i | a a: aI aU e E e: i | ||||
I i: o o: u U u2 u: | I i: o o: u U u2 u: | ||||
t tS v w x | t tS v w x | ||||
Dictionary nl_dict 2010-07-27 | |||||
Dictionary nl_dict 2010-09-13 | |||||
8 @ @- A a: A~ E e: | |||||
EI eU i I O O: o: u | |||||
VU Wy y Y: yU | |||||
8 @ @- a A a: A~ E | |||||
E2 e: EI eU i I o O | |||||
O: o: O~ u VU Wy y Y: | |||||
yU | |||||
* : ; b d D f g | |||||
h j k l m n N n^ | |||||
p Q r s S t tS v | |||||
v# w x z Z | |||||
* : ; b d D dZ f | |||||
g h j k l m n N | |||||
n^ p Q r s S t tS | |||||
v v# w x z Z | |||||
Dictionary no_dict 2010-01-20 | Dictionary no_dict 2010-01-20 | ||||
y | y | ||||
: ; b c C d d; dZ | : ; b c C d d; dZ | ||||
dz f g h j k l m | |||||
n N n^ p r R s S | |||||
s; S; t t; tS ts tS; v | |||||
w x z Z Z; | |||||
dz dz; f g h j k l | |||||
m n N n^ p r R s | |||||
S s; S; t t; tS ts tS; | |||||
ts; v w x z Z Z; | |||||
Dictionary pt_dict 2010-07-03 | |||||
Dictionary pt_dict 2010-09-04 | |||||
& &/ &U~ &~ @ @- a A | & &/ &U~ &~ @ @- a A | ||||
aI aU e E eI EI eU EU | aI aU e E eI EI eU EU | ||||
w z Z | w z Z | ||||
Dictionary sv_dict 2010-05-28 | |||||
Dictionary sv_dict 2010-09-08 | |||||
8 @ a A: E E- e: E: | 8 @ a A: E E- e: E: | ||||
I i: O o: U u- u: W | I i: O o: U u- u: W | ||||
v w x z | v w x z | ||||
Dictionary sl_dict 2010-07-14 | |||||
Dictionary sl_dict 2010-08-14 | |||||
@ a a: e E e: i i: | @ a a: e E e: i i: | ||||
o O o: u u: y | o O o: u u: y | ||||
v w x z Z z. | v w x z Z z. | ||||
Dictionary zh_dict 2010-06-29 | |||||
Dictionary zh_dict 2010-09-13 | |||||
@ @r a A ai Au E ei | @ @r a A ai Au E ei | ||||
i i. i[ iA iE io iou N- | i i. i[ iA iE io iou N- | ||||
@ a e i o u | @ a e i o u | ||||
; b C d d; dZ dz f | |||||
g j k l L l^ m n | |||||
n^ p r s S s; t t; | |||||
tS ts v x z Z z; | |||||
; b C d d; dZ dz dz; | |||||
f g j k l L l^ m | |||||
n n^ p r s S s; t | |||||
t; tS ts ts; v x z Z | |||||
z; | |||||
Dictionary nso_dict 2010-05-26 | |||||
Dictionary nso_dict 2010-08-27 | |||||
@ a e i m- n- N- o | |||||
u | |||||
@ a e E i m- n- N- | |||||
o u U | |||||
- : b d D dZ f g | |||||
h j J k l l# m n | |||||
N n^ p Q r R R3 s | |||||
S t T tS v w x z | |||||
- : ; b B d D dZ | |||||
f h j J k K l l# | |||||
m n N n^ p Q R3 s | |||||
S t tS v w x X x2 | |||||
z | |||||
Dictionary ht_dict 2010-06-29 | Dictionary ht_dict 2010-06-29 | ||||
tS v z Z | tS v z Z | ||||
Dictionary ak_dict 2010-08-11 | |||||
a e E i o O u | |||||
: b C d dZ dZ; f g | |||||
h j k l m n N n^ | |||||
p R s t tS; v w z | |||||
z; | |||||
Dictionary az_dict 2010-07-27 | Dictionary az_dict 2010-07-27 | ||||
& @ a e E i o u | & @ a e E i o u |
// numbers | // numbers | ||||
_0 miD'en | |||||
_1 'ena | |||||
_2 D'io | |||||
_3 t@-@'ia | |||||
_3f t@-@'is | |||||
_4 t'esera | |||||
_4f t'eseris | |||||
_5 p'ente | |||||
_6 'eksi | |||||
_7 ept'a | |||||
_8 okt'o | |||||
_9 en'ea | |||||
_1X D'eka | |||||
_11 'enDeka | |||||
_12 D'oDeka | |||||
_2X 'ikosi | |||||
_3X t@-*i'anda | |||||
_4X sar'anda | |||||
_5X pen'inda | |||||
_6X eks'inda | |||||
_7X ebdom'inda | |||||
_8X ogd'onda | |||||
_9X enen'inda | |||||
_0C ekat'on_ | |||||
_1C0 ekat'o | |||||
_1C ekat'on_ | |||||
_2C D;ak'os;a_ | |||||
_3C t@-*iak'os;a_ | |||||
_4C tet@-*ak'os;a_ | |||||
_5C pendak'os;a_ | |||||
_6C eksak'os;a_ | |||||
_7C eptak'os;a_ | |||||
_8C oktak'os;a_ | |||||
_9C en^ak'os;a_ | |||||
_0M1 Cil^'aDes | |||||
_1M1 C'il^a // no '1' before thousand | |||||
_1M2 'ena|ekatom'irio | |||||
_0M2 ekatom'iria | |||||
_1M3 'ena|Disekatom'irio | |||||
_0M3 Disekatom'iria | |||||
_dpt k'oma | |||||
_. tel'ia | |||||
_0 miD'en | |||||
_1 'ena | |||||
_2 D'io | |||||
_3 tr'ia | |||||
_3f tr'is | |||||
_4 t'esera | |||||
_4f t'eseris | |||||
_5 p'ente | |||||
_6 'eksi | |||||
_7 ept'a | |||||
_8 okt'o | |||||
_9 en'ea | |||||
_1X D'eka | |||||
_11 'enDeka | |||||
_12 D'oDeka | |||||
_2X 'ikosi | |||||
_3X tri'anda | |||||
_4X sar'anda | |||||
_5X pen'inda | |||||
_6X eks'inda | |||||
_7X ebdom'inda | |||||
_8X ogd'onda | |||||
_9X enen'inda | |||||
_0C ekat'on_ | |||||
_1C0 ekat'o | |||||
_1C ekat'on_ | |||||
_2C D;ak'os;a_ | |||||
_3C triak'os;a_ | |||||
_4C tetrak'os;a_ | |||||
_5C pendak'os;a_ | |||||
_6C eksak'os;a_ | |||||
_7C eptak'os;a_ | |||||
_8C oktak'os;a_ | |||||
_9C en^ak'os;a_ | |||||
_0M1 Cil^'aDes | |||||
_1M1 C'il^a // no '1' before thousand | |||||
_1M2 'ena|ekatom'irio | |||||
_0M2 ekatom'iria | |||||
_1M3 'ena|Disekatom'irio | |||||
_0M3 Disekatom'iria | |||||
_dpt k'oma | |||||
_. tel'ia | |||||
_#ος %os // ordinal suffix | |||||
// articles | // articles | ||||
ο o $u // definate article | ο o $u // definate article | ||||
// verbs | // verbs | ||||
θα $u // future | |||||
είμαι $u // to be | είμαι $u // to be | ||||
είσαι $u | είσαι $u | ||||
είναι $u | είναι $u | ||||
προς $brk // towards | προς $brk // towards | ||||
μέχρι $brk // until | μέχρι $brk // until | ||||
κοντά $brk // beside | κοντά $brk // beside | ||||
επί $u | |||||
// conjunctions | // conjunctions | ||||
επειδή $pause // because | επειδή $pause // because | ||||
γιατί $pause // because, why | γιατί $pause // because, why | ||||
διότι $pause // because, for | διότι $pause // because, for | ||||
για $pause | |||||
ότι $pause | |||||
// Pronunciation exceptions | |||||
(για να) jan'a | |||||
// Letters | // Letters | ||||
// If a letter has a "word" pronunciation which is different from its | // If a letter has a "word" pronunciation which is different from its |
ι i | ι i | ||||
C) ι (A ; | C) ι (A ; | ||||
ρ) ι (A i | ρ) ι (A i | ||||
δ) ι (α_ i | |||||
ι (ε i | |||||
.group κ | .group κ | ||||
κ k | κ k | ||||
ν_) π b | ν_) π b | ||||
.group ρ | .group ρ | ||||
ρ R | |||||
ρρ R | |||||
A) ρ (A * | |||||
C) ρ @-* | |||||
αυ) ρ @-* // υ becomes consionant [v] | |||||
αύ) ρ @-* | |||||
ευ) ρ @-* | |||||
εύ) ρ @-* | |||||
ηυ) ρ @-* | |||||
ηύ) ρ @-* | |||||
ρ r | |||||
ρρ r | |||||
A) ρ (A r | |||||
C) ρ r | |||||
αυ) ρ r // υ becomes consionant [v] | |||||
αύ) ρ r | |||||
ευ) ρ r | |||||
εύ) ρ r | |||||
ηυ) ρ r | |||||
ηύ) ρ r | |||||
.group σ | .group σ |
≠ n0t'i:kw@LtU | ≠ n0t'i:kw@LtU | ||||
№ nju:m@roU | № nju:m@roU | ||||
। dVnda# | । dVnda# | ||||
● bl,aks'3:k@L | |||||
ß S,A@p'Es | ß S,A@p'Es | ||||
ə SwA: | ə SwA: | ||||
?7 _17 s'@v@nti:n | ?7 _17 s'@v@nti:n | ||||
_18 'eIti:n | _18 'eIti:n | ||||
_19 n'aInti:n | _19 n'aInti:n | ||||
_2X tw'EntI | |||||
_3X T'3:tI | |||||
?5 _3X T'IRtI | |||||
_4X f'o@tI | |||||
_5X f'IftI | |||||
_6X s'IkstI | |||||
_7X s'Ev@ntI | |||||
?7 _7X s'@v@ntI | |||||
_8X 'eItI | |||||
_9X n'aIntI | |||||
_2X tw'Enti | |||||
_3X T'3:ti | |||||
?5 _3X T'IRti | |||||
_4X f'o@ti | |||||
_5X f'Ifti | |||||
_6X s'Iksti | |||||
_7X s'Ev@nti | |||||
?7 _7X s'@v@nti | |||||
_8X 'eIti | |||||
_9X n'aInti | |||||
_0C h'Vndr@d | _0C h'Vndr@d | ||||
_0M1 T'aUz@nd | _0M1 T'aUz@nd | ||||
_0M2 m'Ili@n | _0M2 m'Ili@n | ||||
_70o s'Ev@nti@ | _70o s'Ev@nti@ | ||||
_80o 'eIti@ | _80o 'eIti@ | ||||
_90o n'aInti@ | _90o n'aInti@ | ||||
_0Co h'Vndr@dT | |||||
_0M1o T'aUz@ndT | |||||
//_0Co h'Vndr@dT | |||||
//_0M1o T'aUz@ndT | |||||
// ABBREVIATIONS | // ABBREVIATIONS | ||||
suppose $2 | suppose $2 | ||||
suprise $2 // misspell | suprise $2 // misspell | ||||
surest SU@@st | surest SU@@st | ||||
surplus s3:pl@s | |||||
surrogate sVr@geIt | surrogate sVr@geIt | ||||
?3 surrogate s3:@geIt | ?3 surrogate s3:@geIt | ||||
survey s3:veI $onlys | survey s3:veI $onlys | ||||
Damascus da#mask@s | Damascus da#mask@s | ||||
Danish deInIS | Danish deInIS | ||||
Delhi dElI | Delhi dElI | ||||
Dhabi dA:bi | |||||
Djibouti dZIb'u:tI | Djibouti dZIb'u:tI | ||||
Donegal d0nI2g'O:l | Donegal d0nI2g'O:l | ||||
Durham dVr@m | Durham dVr@m | ||||
Barbara bA@b@r@ | Barbara bA@b@r@ | ||||
Betsy bEtsI | Betsy bEtsI | ||||
Bjorn bjO@n | Bjorn bjO@n | ||||
Bjørn bj3:n | |||||
Boris b0rIs | Boris b0rIs | ||||
Brien braI@n | Brien braI@n | ||||
Candace kandIs | Candace kandIs | ||||
Dominic d0mI2nIk | Dominic d0mI2nIk | ||||
Donaghy d0n'hi: | Donaghy d0n'hi: | ||||
Doris d0rIs | Doris d0rIs | ||||
Dorothy dO@r@Ti | |||||
Dorothy d0r@Ti | |||||
Dougall du:g@L | Dougall du:g@L | ||||
Duncan dVnk@n | |||||
Dvina d@vi:n@ | Dvina d@vi:n@ | ||||
Dylan dIl@n | Dylan dIl@n | ||||
Edith i:dIT | Edith i:dIT | ||||
Therese t@ri:z | Therese t@ri:z | ||||
Thomas t0m@s | Thomas t0m@s | ||||
Tina ti:n@ | Tina ti:n@ | ||||
Tracy treIsI | |||||
Tracy treIsi | |||||
Tricia trIS@ | Tricia trIS@ | ||||
Vanessa va#nEs@ | Vanessa va#nEs@ | ||||
Wally w0lI | Wally w0lI | ||||
toward tUwO@d $2 | toward tUwO@d $2 | ||||
over oUv3 $u $strend2 $only | over oUv3 $u $strend2 $only | ||||
under Vnd3 $u $strend2 $only | under Vnd3 $u $strend2 $only | ||||
within wIDIn $u2 | |||||
within wIDIn $u2 $strend2 $brk | |||||
without wIDaUt $u2 $strend2 | without wIDaUt $u2 $strend2 | ||||
above @bVv $u2 $strend2 | above @bVv $u2 $strend2 | ||||
about a#baUt $u2 $strend2 | about a#baUt $u2 $strend2 | ||||
thus DVs $pause | thus DVs $pause | ||||
though ,DoU | though ,DoU | ||||
whenever wEnEv3 $u2 $pause | whenever wEnEv3 $u2 $pause | ||||
within $u $pause | |||||
whoever hu:Ev3 $2 | whoever hu:Ev3 $2 | ||||
whatever w0tEv3 $2 $pause | whatever w0tEv3 $2 $pause | ||||
?3 whatever wVtEv3 $2 $pause | ?3 whatever wVtEv3 $2 $pause |
accu (ra akjU | accu (ra akjU | ||||
accus (A a#kju:z | accus (A a#kju:z | ||||
ace (_ eIs | ace (_ eIs | ||||
sp) ac (e eIs | |||||
sp) ac (e# eIs | |||||
_r) ac (e eIs | _r) ac (e eIs | ||||
_) ac (e a#s | _) ac (e a#s | ||||
_r) ac (is eIs | _r) ac (is eIs | ||||
_) be (sC bI2 | _) be (sC bI2 | ||||
_) be (stia bE | _) be (stia bE | ||||
_) be (tC bI2 | _) be (tC bI2 | ||||
_) be (v bE | |||||
_) be (vA bE | |||||
be (gA bI2 | be (gA bI2 | ||||
be (gr bI2 | be (gr bI2 | ||||
be (lat bI2 | be (lat bI2 | ||||
_) dj (Y dZ | _) dj (Y dZ | ||||
_) d (nie d | _) d (nie d | ||||
_) d (wY d // allow _dw | _) d (wY d // allow _dw | ||||
_) d (h@@ d | |||||
d (d | d (d | ||||
_) d' (AP2 d | _) d' (AP2 d | ||||
&) i (c_ =I | &) i (c_ =I | ||||
&) i (ca_ =I | &) i (ca_ =I | ||||
&) i (cal =I | &) i (cal =I | ||||
&) i (cism_ =I | |||||
&) i (cist_ =I | |||||
pr) i (ce aI | pr) i (ce aI | ||||
adv) i (ce aI | adv) i (ce aI | ||||
dev) i (ce aI | dev) i (ce aI | ||||
ie (ve i: | ie (ve i: | ||||
s) ie (ve I | s) ie (ve I | ||||
ie (z i: | ie (z i: | ||||
_t) ie aI | |||||
_t) ie (B aI | |||||
.group ig | .group ig | ||||
am) ig (a_ i:g | am) ig (a_ i:g | ||||
_) k (L01Y k | _) k (L01Y k | ||||
_) k (hY k | _) k (hY k | ||||
_) k (wY k | _) k (wY k | ||||
_) kj (e@ kj | |||||
_) kn (Y n | _) kn (Y n | ||||
kn (if n | kn (if n | ||||
kn (iv n | kn (iv n | ||||
l) ov (e Vv | l) ov (e Vv | ||||
_l) ove Vv | _l) ove Vv | ||||
cl) ov (e oUv | cl) ov (e oUv | ||||
_sl) ov (enA oUv | |||||
pl) ov oUv | pl) ov oUv | ||||
pull) ov oUv | pull) ov oUv | ||||
m) ov (A u:v | m) ov (A u:v | ||||
_) pre (C@ pr%I | _) pre (C@ pr%I | ||||
_) prea (ch pri: | _) prea (ch pri: | ||||
_) pre (am pri: | _) pre (am pri: | ||||
_) pre (cinc pri: | |||||
pre (cio prE | pre (cio prE | ||||
preda (to prEd@ | preda (to prEd@ | ||||
prede (ces pri:dI | prede (ces pri:dI | ||||
6_) 's (_ I2z | 6_) 's (_ I2z | ||||
16_) 's (_ z | 16_) 's (_ z | ||||
're (_S3 @ | 're (_S3 @ | ||||
've (_S3 v | |||||
've (_S3 @v | |||||
'd (_S2 d | 'd (_S2 d | ||||
'll (_S3 @L | 'll (_S3 @L | ||||
_dpt _komo_ | _dpt _komo_ | ||||
// ordinal numbers | // ordinal numbers | ||||
_#a a | |||||
_#aj aI | |||||
_#an an | |||||
_#ajn aIn | |||||
_#-a a | |||||
_#-aj aI | |||||
_#-an an | |||||
_#-ajn aIn | |||||
_#a %a | |||||
_#aj %aI | |||||
_#an %an | |||||
_#ajn %aIn | |||||
_#-a %a | |||||
_#-aj %aI | |||||
_#-an %an | |||||
_#-ajn %aIn | |||||
// accent names | // accent names | ||||
_lig ligat'uRa | _lig ligat'uRa | ||||
_! _k@-*isigno_ | _! _k@-*isigno_ | ||||
_- dividost@-*eko | _- dividost@-*eko | ||||
__ subst@-*eko | __ subst@-*eko | ||||
_' apost@-*'ofo | |||||
_" tsito | |||||
~ tildo | ~ tildo | ||||
° gradoI | ° gradoI | ||||
% p@-*otsento $max3 | % p@-*otsento $max3 | ||||
| duktosigno | | duktosigno | ||||
* asteRisko $max3 | * asteRisko $max3 | ||||
© kopiRaIto | © kopiRaIto | ||||
_( R'ondak@-*'ampo | |||||
_) f'eRmaRondak@-*'ampo | |||||
_( parentezo | |||||
_) f'eRmaparent'ezo | |||||
_[ R'ektak@-*'ampo | _[ R'ektak@-*'ampo | ||||
_] f'eRmaRektak@-*'ampo | _] f'eRmaRektak@-*'ampo | ||||
_{ k'uRbak@-*'ampo | _{ k'uRbak@-*'ampo |
// http://www.fluxnic.net/cicero | // http://www.fluxnic.net/cicero | ||||
// | // | ||||
// Rules are now maintained by Michel Such <[email protected]> | // Rules are now maintained by Michel Such <[email protected]> | ||||
// Last update: 2010-07-30 Michel Such <[email protected]> | |||||
// Last update: 2010-09-04 Michel Such <[email protected]> | |||||
// | // | ||||
// Letter classes: | // Letter classes: | ||||
// For english words ending "side" | // For english words ending "side" | ||||
.L14 be in up ut | .L14 be in up ut | ||||
.L15 c f g h l s | |||||
bb) aye (X ei // abbaye | bb) aye (X ei // abbaye | ||||
ay (C E // aymé | ay (C E // aymé | ||||
ay Ej // paye | ay Ej // paye | ||||
ay (ak aj // kayak | |||||
ay (_ E // display | ay (_ E // display | ||||
Xl) ayer (X EjWr // player, layer | Xl) ayer (X EjWr // player, layer | ||||
h) am (_S2 am | h) am (_S2 am | ||||
// group b: English section | // group b: English section | ||||
back _^_en | back _^_en | ||||
_) be (L15A _^_en | |||||
board _^_en // board, keyboard | board _^_en // board, keyboard | ||||
box (_ _^_en // box, inbox, outbox | box (_ _^_en // box, inbox, outbox | ||||
bugg _^_en // debugger | bugg _^_en // debugger | ||||
toma) c (_ | toma) c (_ | ||||
se) c (ond g // seconde secondaire | se) c (ond g // seconde secondaire | ||||
c k // recoin donc | c k // recoin donc | ||||
zin) c (_ g // zinc | |||||
cient (_ sit2 // ils appr�ient, remercient. | cient (_ sit2 // ils appr�ient, remercient. | ||||
effi) cient sjA~ // coefficient | effi) cient sjA~ // coefficient | ||||
_y) en (_ En | _y) en (_ En | ||||
iew) er (X er2 | iew) er (X er2 | ||||
_m) e (ga e | _m) e (ga e | ||||
app) en (di E~ // appendice | |||||
// group e: English section | // group e: English section | ||||
_C) y (_ _^_en | _C) y (_ _^_en | ||||
C) y (e_ _^_en | C) y (e_ _^_en | ||||
%C) y (_ _^_en | %C) y (_ _^_en | ||||
//@CAC) y (_ _^_en | |||||
@CeC) y (_ _^_en | |||||
nC) y (_ _^_en | nC) y (_ _^_en | ||||
yze _^_en | yze _^_en | ||||
_#-ikai Ai | _#-ikai Ai | ||||
_#-éhez e:hEz | _#-éhez e:hEz | ||||
_#-ához a:hoz | _#-ához a:hoz | ||||
_#-ikének e:nEk | |||||
_#-ikának a:nAk | |||||
(1-e) elseje $text $alt2 | (1-e) elseje $text $alt2 | ||||
(1-én) elsején $text $alt2 | (1-én) elsején $text $alt2 | ||||
(1-jén) elsején $text $alt2 | (1-jén) elsején $text $alt2 | ||||
(00-tól) nul:Anul:a:to:l | (00-tól) nul:Anul:a:to:l | ||||
(0-n) nul:a:n | (0-n) nul:a:n | ||||
(00-n) nul:Anul:a:n | (00-n) nul:Anul:a:n | ||||
(0-ról) nul:a:R2o:l | |||||
(1-gyet) EJ:Et | (1-gyet) EJ:Et | ||||
(1-gyes) EJ:ES | (1-gyes) EJ:ES | ||||
(2-őt) kEt:Y:t | (2-őt) kEt:Y:t | ||||
(5-től) Yt:Y:l | (5-től) Yt:Y:l | ||||
(5-től) YtYdike:tY:l $alt2 | (5-től) YtYdike:tY:l $alt2 | ||||
(5-t) YtYt | (5-t) YtYt | ||||
(5-ször) Yts:YR2 | |||||
(6-al) hAt:Al | (6-al) hAt:Al | ||||
(6-tal) hAt:Al | (6-tal) hAt:Al | ||||
(6-tól) hAt:o:l | (6-tól) hAt:o:l | ||||
_20e hus | _20e hus | ||||
(10-szer) ti:s:ER2 | (10-szer) ti:s:ER2 | ||||
(10-szeres) ti:s:ER2ES | (10-szeres) ti:s:ER2ES | ||||
(10-t) tizEt | |||||
//special number exceptions | //special number exceptions | ||||
téli $alt | téli $alt | ||||
végén $alt | végén $alt | ||||
elején $alt | elején $alt | ||||
folyamán $alt | |||||
úton $alt | |||||
út $alt | |||||
// accent names | // accent names | ||||
_lig ligAtu:R2A | _lig ligAtu:R2A | ||||
ellen $unstressend // against | ellen $unstressend // against | ||||
//elé $u // before | //elé $u // before | ||||
óta $alt $alt3 // since. Not a bug both $alt $alt3 attribute, | |||||
óta $unstressend $alt $alt3 // since. Not a bug both $alt $alt3 attribute, | |||||
//because if only a year is present, need spokening normal number, not | //because if only a year is present, need spokening normal number, not | ||||
//ordinal number. For example: | //ordinal number. For example: | ||||
//2004. óta meaning since 2004 and need spokening normal number. | //2004. óta meaning since 2004 and need spokening normal number. | ||||
látszott $unstressend | látszott $unstressend | ||||
látszanak $unstressend | látszanak $unstressend | ||||
látszotok $unstressend | látszotok $unstressend | ||||
körül $unstressend $alt3 | |||||
körül $unstressend $alt $alt3 | |||||
dőlt $unstressend | dőlt $unstressend | ||||
vér $unstressend | vér $unstressend | ||||
sót $unstressend | sót $unstressend | ||||
állnak $unstressend | állnak $unstressend | ||||
idején $unstressend | idején $unstressend | ||||
néznek $unstressend | néznek $unstressend | ||||
érezte $unstressend | |||||
sért $unstressend | |||||
adózású $unstressend | |||||
kötelezni $unstressend | |||||
lehetőség $unstressend | |||||
mondtuk $unstressend | |||||
kellene $unstressend | |||||
szerte $unstressend | |||||
hozta $unstressend | |||||
kezdte $unstressend | |||||
lökte $unstressend | |||||
benne $unstressend | |||||
fenn $unstressend | |||||
elő $unstressend | |||||
javasolták $unstressend | |||||
kezdjen $unstressend | |||||
látta $unstressend | |||||
látták $unstressend | |||||
nyomát $unstressend | |||||
került $unstressend | |||||
várták $unstressend | |||||
közbe $unstressend | |||||
látott $unstressend | |||||
tartanak $unstressend | |||||
ejt $unstressend | |||||
önnek $unstressend | |||||
álljon $unstressend | |||||
szálljon $unstressend | |||||
üljön $unstressend | |||||
jónak $unstressend | |||||
hisz $unstressend | |||||
elől $unstressend | |||||
vágy $unstressend | |||||
vitték $unstressend | |||||
küldött $unstressend | |||||
mentén $unstressend | |||||
venni $unstressend | |||||
múlik $unstressend | |||||
indít $unstressend | |||||
nála $unstressend | |||||
vizsgálata $unstressend | |||||
vizsgálatot $unstressend | |||||
indítottak $unstressend | |||||
vizsgált $unstressend | |||||
javult $unstressend | |||||
része $unstressend | |||||
írni $unstressend | |||||
téren $unstressend | |||||
terén $unstressend | |||||
menni $unstressend | |||||
fogja $unstressend | |||||
teszik $unstressend | |||||
tömni $unstressend | |||||
nyel $unstressend | |||||
érzi $unstressend | |||||
annak $unstressend | |||||
dolog $unstressend | |||||
számít $unstressend | |||||
aránya $unstressend | |||||
helyzetük $unstressend | |||||
kifogásolták $unstressend | |||||
kifogásolta $unstressend | |||||
fogalmaz $unstressend | |||||
szóló $unstressend | |||||
gyártott $unstressend | |||||
írta $unstressend | |||||
rúgták $unstressend | |||||
esett $unstressend | |||||
marad $unstressend | |||||
tulajdonú $unstressend | |||||
KFT $unstressend | |||||
folytatja $unstressend | |||||
államokban $unstressend | |||||
című $unstressend | |||||
senkit $unstressend | |||||
abban $unstressend | |||||
tegyük $unstressend | |||||
szar $unstressend | |||||
gond $unstressend | |||||
megy $unstressend | |||||
ebből $unstressend | |||||
abból $unstressend | |||||
ebben $unstressend | |||||
mondom $unstressend | |||||
akar $unstressend | |||||
akarsz $unstressend | |||||
távra $unstressend | |||||
jog $unstressend | |||||
járunk $unstressend | |||||
szólni $unstressend | |||||
ró $unstressend | |||||
kérni $unstressend | |||||
építést $unstressend | |||||
adni $unstressend | |||||
részén $unstressend | |||||
érni $unstressend | |||||
lap $unstressend | |||||
írja $unstressend | |||||
írtak $unstressend | |||||
stressz $unstressend | |||||
nyújtózni $unstressend | |||||
éve $unstressend | |||||
tartott $unstressend | |||||
attól $unstressend | |||||
utast $unstressend | |||||
szint $unstressend | |||||
minőségű $unstressend | |||||
beszélt $unstressend | |||||
kerületben $unstressend | |||||
gáz $unstressend | |||||
épült $unstressend | |||||
építésű $unstressend | |||||
együttes $unstressend | |||||
távon $unstressend | |||||
híg $unstressend | |||||
szőr $unstressend | |||||
diagnosztizálható $unstressend | |||||
működik $unstressend | |||||
hat $unstressend | |||||
mutatnak $unstressend | |||||
rés $unstressend | |||||
szélén $unstressend | |||||
lógott $unstressend | |||||
tűnő $unstressend | |||||
kötni $unstressend | |||||
lopni $unstressend | |||||
döntöttem $unstressend | |||||
szerzett $unstressend | |||||
érted $unstressend | |||||
járni $unstressend | |||||
döntöttek $unstressend | |||||
írt $unstressend | |||||
// word pairs | // word pairs | ||||
voltam $u // to be, past | voltam $u // to be, past | ||||
voltál $u | voltál $u | ||||
volt $u $alt3 | |||||
volt $unstressend $alt3 | |||||
voltunk $u | voltunk $u | ||||
voltatok $u | voltatok $u | ||||
voltak $u | |||||
voltak $unstressend | |||||
leszek $u // to be, future | leszek $u // to be, future | ||||
leszel $u | leszel $u | ||||
(hu-n) hun | (hu-n) hun | ||||
(USA-ban) usában | (USA-ban) usában | ||||
(USA-ba) usába | (USA-ba) usába | ||||
(pc-n) pécén |
tö) bb (féle b | tö) bb (féle b | ||||
jo) bbr (a bR2 | jo) bbr (a bR2 | ||||
tö) bbr (e bR2 | tö) bbr (e bR2 | ||||
kise) bb (ség b | |||||
tö) bb (száz b | |||||
tö) bb (száz b | |||||
.group c | .group c | ||||
c ts | c ts | ||||
cselé) ds (ég tS: | cselé) ds (ég tS: | ||||
föl) d (szegély d | föl) d (szegély d | ||||
stran) d (szezon d | stran) d (szezon d | ||||
_hol) d (sarló d | |||||
mó) d (sor d | |||||
csalá) d (segít d | |||||
.group dz | .group dz | ||||
fogó) dz (kod ts | fogó) dz (kod ts | ||||
se) gg (be g | se) gg (be g | ||||
pro) g (gyak g | pro) g (gyak g | ||||
se) ggr (e gR2 | se) ggr (e gR2 | ||||
arcüre) g (gyulladás g | |||||
.group gy | .group gy | ||||
gy J | gy J | ||||
huszone) gy (edik J: | huszone) gy (edik J: | ||||
je) gy (ért J | je) gy (ért J | ||||
harmince) gy (edik J: | harmince) gy (edik J: | ||||
étvá) gy (javít J | |||||
.group h | .group h | ||||
h h | h h | ||||
t) í (zes i | t) í (zes i | ||||
sz) í (vel i: | sz) í (vel i: | ||||
_t) í (zük i | _t) í (zük i | ||||
_sz) í (vattak i | |||||
_sz) í (vattákk i | |||||
_sz) í (vató i | |||||
.group j | .group j | ||||
j j | j j | ||||
szennye) s (zsá S | szennye) s (zsá S | ||||
alvá) s (zavar S | alvá) s (zavar S | ||||
magatartá) s (zavar S | magatartá) s (zavar S | ||||
erőforrá) s (zabál S | |||||
működé) s (zava S | |||||
.group ss | .group ss | ||||
ssz ss2 | ssz ss2 | ||||
hirdeté) ssz (erve Ss | hirdeté) ssz (erve Ss | ||||
páncélo) ssz Ss | páncélo) ssz Ss | ||||
hajtá) ssz (erű Ss | hajtá) ssz (erű Ss | ||||
sorva) ssz (ák s: | |||||
.group sz | .group sz | ||||
sz s | sz s | ||||
ö) t (jegyű t | ö) t (jegyű t | ||||
ha) t (jegyű t | ha) t (jegyű t | ||||
hé) t (jegyű t | hé) t (jegyű t | ||||
zár) t (sorú t | |||||
skó) t (juhász t | |||||
szerete) t (szolgálat t | |||||
ú) t (jelzés t | |||||
vizsgála) t (sor t | |||||
dagana) t (sej t | |||||
tábláza) t (sor t | |||||
.group ts | .group ts | ||||
ts (_S2 tS //general rule with word end of ts letters | ts (_S2 tS //general rule with word end of ts letters |
badder $alt | badder $alt | ||||
bagger $alt | bagger $alt | ||||
baker $alt | baker $alt | ||||
baster $alt | |||||
beender $alt | beender $alt | ||||
belemmer $alt | belemmer $alt | ||||
beter $alt | beter $alt | ||||
bibber $alt | bibber $alt | ||||
bitter $alt | |||||
bladder $alt | bladder $alt | ||||
blader $alt | blader $alt | ||||
blaker $alt | blaker $alt | ||||
bolder $alt | bolder $alt | ||||
bolster $alt | bolster $alt | ||||
boter $alt | boter $alt | ||||
broeder $alt | |||||
buffer $alt | buffer $alt | ||||
bulder $alt | bulder $alt | ||||
bulldozer $alt | bulldozer $alt | ||||
bumper $alt | bumper $alt | ||||
bunker $alt | bunker $alt | ||||
charter $alt | |||||
cijfer $alt | cijfer $alt | ||||
cluster $alt | |||||
computer kOmpj'ut@r $alt // ?? "$2 $alt" doesn't work | |||||
consuminder $alt | |||||
counter $alt | |||||
cover k8v@r $alt | |||||
dabber $alt | |||||
daver $alt | |||||
deemstar $alt | |||||
dender $alt | |||||
dobber $alt | |||||
dokter $alt | |||||
donder $alt | donder $alt | ||||
donker $alt | |||||
dotter $alt | |||||
duister $alt | |||||
dwater $alt | dwater $alt | ||||
eergister $alt | |||||
eier $alt | eier $alt | ||||
emmer $alt | |||||
ender $alt | ender $alt | ||||
enter $alt | |||||
erger $alt | |||||
etter $alt | |||||
filter $alt | filter $alt | ||||
fladder $alt | |||||
flakker $alt | |||||
flikker $alt | |||||
flipper $alt | |||||
flodder $alt | |||||
flonker $alt | |||||
flotter $alt | |||||
fluister $alt | |||||
foeter $alt | |||||
folder $alt | |||||
folter $alt | |||||
gabber $alt | |||||
gader $alt | |||||
geester $alt | geester $alt | ||||
gemoeder $alt | gemoeder $alt | ||||
gibber $alt | |||||
gister $alt | |||||
glibber $alt | |||||
glimmer $alt | |||||
glinster $alt | |||||
glitter $alt | |||||
glunder $alt | |||||
goeder $alt | |||||
halter $alt | |||||
hamer $alt | hamer $alt | ||||
hamster $alt | |||||
haper $alt | |||||
helder $alt | |||||
herinner $alt | |||||
herover $alt | |||||
hinder $alt | |||||
hoender $alt | hoender $alt | ||||
honger $alt | |||||
huiver $alt | |||||
hunker $alt | |||||
ijver $alt | |||||
ijzer $alt | |||||
imker $alt | |||||
inburger $alt | |||||
inkader $alt | |||||
jakker $alt | jakker $alt | ||||
jammer $alt | jammer $alt | ||||
joeker $alt | |||||
kader $alt | |||||
kaffer $alt | |||||
kalefater $alt | |||||
kalver $alt | kalver $alt | ||||
kamfer $alt | |||||
kanker $alt | kanker $alt | ||||
kaper $alt | |||||
kaver $alt | kaver $alt | ||||
keilder $alt | |||||
kenter $alt | |||||
keper $alt | |||||
kerker $alt | |||||
ketter $alt | |||||
keuter $alt | |||||
kicker $alt | |||||
kieper $alt | |||||
kinder $alt | kinder $alt | ||||
kladder $alt | kladder $alt | ||||
klapper $alt | |||||
klater $alt | |||||
klauter $alt | |||||
klaver $alt | |||||
kledder $alt | |||||
klepper $alt | |||||
kletter $alt | |||||
kleuter $alt | |||||
klieder $alt | |||||
klinker $alt | |||||
klodder $alt | klodder $alt | ||||
kluister $alt | |||||
knapper $alt | |||||
knetter $alt | |||||
kneuter $alt | |||||
knikker $alt | |||||
knipper $alt | |||||
knisper $alt | |||||
knister $alt | |||||
koekeloer $alt | koekeloer $alt | ||||
koester $alt | |||||
koeter $alt | |||||
koffer $alt | |||||
koker $alt | |||||
kolder $alt | |||||
kommer $alt | kommer $alt | ||||
koper $alt | |||||
kuier $alt | kuier $alt | ||||
kwetter $alt | |||||
labber $alt | |||||
lager $alt | |||||
lammer $alt | lammer $alt | ||||
laser $alt | |||||
laster $alt | laster $alt | ||||
lauwer $alt | |||||
lazer $alt | lazer $alt | ||||
lebber $alt | lebber $alt | ||||
leder $alt // gelederen | leder $alt // gelederen | ||||
leger $alt | leger $alt | ||||
lekker $alt | |||||
lemmer $alt | |||||
lepper $alt | |||||
ler $alt | ler $alt | ||||
letter $alt | letter $alt | ||||
leuter $alt | |||||
lever $alt | lever $alt | ||||
lieder $alt | lieder $alt | ||||
lobber $alt | |||||
lodder $alt | |||||
lommer $alt | |||||
louter $alt | |||||
lubber $alt | lubber $alt | ||||
luier $alt | |||||
luimer $alt | |||||
luister $alt | luister $alt | ||||
mager $alt | |||||
marmer $alt | |||||
meander $alt | |||||
meerder $alt | |||||
meester $alt | |||||
meier $alt | |||||
mekker $alt | |||||
mieter $alt | |||||
mijmer $alt | |||||
millimeter $alt | |||||
minder $alt | |||||
modder $alt | modder $alt | ||||
moeder $alt | moeder $alt | ||||
moker $alt | |||||
monster $alt | monster $alt | ||||
mopper $alt | |||||
nader $alt | nader $alt | ||||
neder $alt | |||||
nuchter $alt | |||||
nummer $alt | nummer $alt | ||||
ober $alt | |||||
offer $alt | |||||
onder $alt | |||||
orber $alt | |||||
ouder $alt | ouder $alt | ||||
over $alt | |||||
palaver $alt | |||||
pantser $alt | pantser $alt | ||||
pauper $alt | |||||
peiger $alt | peiger $alt | ||||
peper $alt | |||||
peuter $alt | peuter $alt | ||||
pieker $alt | |||||
pieter $alt | |||||
pinkster $alt | |||||
pleister $alt | pleister $alt | ||||
pletter $alt | |||||
ploeter $alt | |||||
plunder $alt | |||||
poeder $alt | poeder $alt | ||||
poeier $alt | poeier $alt | ||||
poker $alt | |||||
polder $alt | polder $alt | ||||
puber $alt | |||||
pulver $alt | |||||
purper $alt | |||||
rader $alt | rader $alt | ||||
raster $alt | raster $alt | ||||
redder $alt | redder $alt | ||||
ridder $alt | ridder $alt | ||||
rooster $alt | |||||
rubber $alt | |||||
ruiter $alt | |||||
runder $alt | runder $alt | ||||
sakker $alt | |||||
schamper $alt | |||||
schater $alt | |||||
schemer $alt | |||||
schetter $alt | |||||
schilder $alt | schilder $alt | ||||
schipper $alt | |||||
schitter $alt | |||||
schouder $alt | |||||
schutter $alt | |||||
sidder $alt | |||||
sjacher $alt | |||||
skeeler $alt | |||||
skelter $alt | |||||
slechter $alt | |||||
slenter $alt | slenter $alt | ||||
slidder $alt | |||||
slinger $alt | slinger $alt | ||||
slobber $alt | |||||
slodder $alt | |||||
sloeber $alt | |||||
sluier $alt | |||||
sluimer $alt | |||||
snater $alt | |||||
snipper $alt | snipper $alt | ||||
snotter $alt | |||||
snuister $alt | |||||
sober $alt | |||||
sodemieter $alt | sodemieter $alt | ||||
somber $alt | |||||
spetter $alt | |||||
spijker $alt | |||||
splinter $alt | splinter $alt | ||||
sputter $alt | sputter $alt | ||||
steiger $alt | |||||
stekker $alt | |||||
stotter $alt | |||||
stuiter $alt | |||||
stumper $alt | |||||
sudder $alt | |||||
suiker $alt | suiker $alt | ||||
supporter $alt | |||||
tater $alt | |||||
teder $alt | |||||
teister $alt | |||||
temper $alt | |||||
tetter $alt | |||||
teuter $alt | |||||
timmer $alt | timmer $alt | ||||
tover $alt | tover $alt | ||||
treiter $alt | |||||
trompetter $alt | |||||
tuier $alt | |||||
tutter $alt | |||||
twitter $alt | |||||
uier $alt | |||||
vinger $alt | vinger $alt | ||||
vlieger $alt | |||||
vlinder $alt | |||||
vlotter $alt | |||||
voeder $alt | |||||
volker $alt | volker $alt | ||||
vorder $alt | vorder $alt | ||||
waaier $alt | |||||
wakker $alt | wakker $alt | ||||
wapper $alt | |||||
water $alt | water $alt | ||||
wedijver $alt | |||||
wegwijzer $alt | wegwijzer $alt | ||||
wester $alt | |||||
wijder $alt | |||||
wilder $alt | |||||
winter $alt | |||||
wipper $alt | |||||
woeker $alt | |||||
wonder $alt | wonder $alt | ||||
zeker $alt | |||||
zever $alt | zever $alt | ||||
zilver $alt | |||||
zinder $alt | |||||
zolder $alt | |||||
zomer $alt | |||||
zonder $alt | zonder $alt | ||||
zuiver $alt | zuiver $alt | ||||
zwabber $alt | |||||
zwakker $alt | |||||
zwanger $alt | zwanger $alt | ||||
// words where -age is [a:Q@] not French ['a:Z@] | // words where -age is [a:Q@] not French ['a:Z@] | ||||
drage $alt | drage $alt | ||||
hedentendage $alt | hedentendage $alt | ||||
outillage utij'a:Z@ | outillage utij'a:Z@ | ||||
vrijage vre:j'a:Z@ | vrijage vre:j'a:Z@ | ||||
// stress on final -et | |||||
facet $2 | |||||
pincet $2 | |||||
cachet kAS'E | |||||
crochet krOS'E | |||||
manchet mAnS'Et | |||||
planchet plAnS'Et | |||||
pochet pOS'Et | |||||
cadet $2 | |||||
kadet $2 | |||||
biljet $2 | |||||
sajet $2 | |||||
sujet syZ'Et | |||||
banket $2 | |||||
boeket $2 | |||||
briket $2 | |||||
etiket $3 | |||||
klinket klINk'Et | |||||
koket $2 | |||||
kroket $2 | |||||
loket $2 | |||||
musket $2 | |||||
pakket $2 | |||||
parket $2 | |||||
piket $2 | |||||
raket $2 | |||||
winket $2 | |||||
amulet $3 | |||||
ballet $2 | |||||
cabriolet ka:briol'Et | |||||
corselet $3 | |||||
couplet kupl'Et | |||||
doublet dubl'Et | |||||
epaulet e:po:l'Et | |||||
filet fil'e: | |||||
gilet Zil'Et | |||||
kotelet $3 | |||||
omelet $3 | |||||
palet $2 | |||||
pamflet $2 | |||||
pistolet pisto:l'Et | |||||
poulet pul'Et | |||||
reglet re:Ql'Et | |||||
skelet sk@l'Et | |||||
tablet $2 | |||||
toilet tv#Al'Et | |||||
violet $3 | |||||
bajonet $3 | |||||
cabinet $3 | |||||
carnet $2 | |||||
castagnet kAstAn^'Et | |||||
kabinet $3 | |||||
klarinet $3 | |||||
kornet $2 | |||||
marionet $4 | |||||
sonnet $2 | |||||
spinet $2 | |||||
vignet vIn^'Et | |||||
karpet $2 | |||||
lampet $2 | |||||
pipet $2 | |||||
toupet tup'Et | |||||
trompet $2 | |||||
baret $2 | |||||
cabaret ka:ba:r'Et | |||||
floret $2 | |||||
lazaret $3 | |||||
minaret $3 | |||||
portret $2 | |||||
sigaret $3 | |||||
closet klo:z'Et | |||||
corset $2 | |||||
falset $2 | |||||
kwartet $2 | |||||
kwintet $2 | |||||
motet $2 | |||||
nonet $2 | |||||
octet $2 | |||||
septet $2 | |||||
sextet $2 | |||||
brevet br@v'Et | |||||
corvet $2 | |||||
servet $2 | |||||
buffet byf'Et | |||||
budget b8dZ'Et | |||||
rozet $2 | |||||
sorbet $2 | |||||
duet dy'Et | |||||
jacquet Zak'Et | |||||
menuet me:ny'Et | |||||
silhouet silu'Et | |||||
tourniquet turnik'Et | |||||
amorette $3 | |||||
amourette a:mu*'Et@ | |||||
anisette a:niz'Et@ | |||||
brunette $2 | |||||
cassette $2 | |||||
chambrette Sambr'Et@ | |||||
coquette ko:k'Et@ | |||||
couchette kuS'Et | |||||
courgette kurZ'Et | |||||
diskette $2 | |||||
estafette $3 | |||||
etiquette e:tik'Et@ | |||||
kokette $2 | |||||
maisonnette mEzOn'Et@ | |||||
majorette $3 | |||||
maquette ma:k'Et@ | |||||
modinette $3 | |||||
musette $2 | |||||
pirouette pi*uv#'Et@ | |||||
pochette pOS'Et | |||||
operette o:p@r'Et@ | |||||
raclette $2 | |||||
roulette rul'Et@ | |||||
soubrette subr'Et@ | |||||
suffragette syfra:Z'Et@ | |||||
ultraviolette 8ltra:vio:l'Et@ | |||||
vedette v@d'Et@ | |||||
violette $3 | |||||
wasserette $3 | |||||
// pronunciation exceptions | // pronunciation exceptions | ||||
aangrijpend $2 | aangrijpend $2 | ||||
agenda $2 | |||||
amnestie $3 | |||||
bourgondier burx'o:ndi:@r | bourgondier burx'o:ndi:@r | ||||
circuit sIrku'i | circuit sIrku'i | ||||
computer $2 | |||||
chalet Sa:lE | |||||
champagne SAmp'An^@ | |||||
champignon SAmpij'On | |||||
chanson SA~s'O~ | |||||
chapiter $2 | |||||
charade $2 // ?? what is plural | |||||
chassis SAs'i | |||||
chat tSEt | |||||
check tSEk | |||||
chiffon Sif'On | |||||
contour ko:nt'ur | contour ko:nt'ur | ||||
dynastie $3 | |||||
eucharistie $4 | |||||
ingewikkeld $3 | ingewikkeld $3 | ||||
ingrijpend $2 | ingrijpend $2 | ||||
ingeval $3 | ingeval $3 | ||||
ongrondwettig $3 | ongrondwettig $3 | ||||
proces $2 | proces $2 | ||||
renaissance rEne:s'A~s@ | renaissance rEne:s'A~s@ | ||||
sacristie $3 | |||||
tegenaan $3 | tegenaan $3 | ||||
tegenin $3 | tegenin $3 | ||||
tegenover $3 | tegenover $3 | ||||
tegennatuur $4 | tegennatuur $4 | ||||
tegenstrijdig $3 | tegenstrijdig $3 | ||||
tegenwoordig $3 | tegenwoordig $3 | ||||
travestie $3 | |||||
waarschijnlijk $2 | waarschijnlijk $2 | ||||
// names | // names | ||||
charlotte $2 | |||||
Inge IN@ | Inge IN@ | ||||
Ingeborg INe:bOrx | Ingeborg INe:bOrx | ||||
Ingmar INmAr | Ingmar INmAr |
ages (_S1 s | ages (_S1 s | ||||
age (_$w_alt a:Q@ | age (_$w_alt a:Q@ | ||||
aire (_ 'E:r | aire (_ 'E:r | ||||
@) ant (_ 'Ant | |||||
@) a (de_ 'a: | |||||
@) a (ta_ 'a: | |||||
.group b | .group b | ||||
b b // auto-devoice at end-of-word | b b // auto-devoice at end-of-word | ||||
bb b | |||||
b) b | |||||
bs (_N ps | bs (_N ps | ||||
&) baar (_ =ba:r | &) baar (_ =ba:r | ||||
c k | c k | ||||
ch x | ch x | ||||
_) ch S | _) ch S | ||||
_) ch (arit x | |||||
_) ch (ador tS | |||||
_) ch (ao x | |||||
_) chang (e SA~Z | |||||
_) chaperon S,Ap@rO~n | |||||
_) charg (@ SArZ | |||||
_) ch (ari x | |||||
_) ch (arter tS | _) ch (arter tS | ||||
_) chau (ffe S%o: | |||||
_) chau (vin S,o: | |||||
_) ch (emi x | _) ch (emi x | ||||
_) cheque SEk | |||||
_) cherry tSEri | |||||
_) chi (cane S%i | |||||
_) ch (ip tS | _) ch (ip tS | ||||
_) ch (olest x | |||||
_) ch (lo x | |||||
_) ch (ole x | |||||
_) cho (que SO | |||||
_) ch (or x | |||||
_) ch (r x | _) ch (r x | ||||
&) che (_ =S | |||||
ck k | ck k | ||||
cieel S'e:l | |||||
ciële S'e:l@ | |||||
coach ko:tS | |||||
.group d | .group d | ||||
d d // auto-devoice at end-of-word | d d // auto-devoice at end-of-word | ||||
dd d | |||||
d) d | |||||
dt t | dt t | ||||
ds (_N ts | ds (_N ts | ||||
ee e: | ee e: | ||||
eeuw eU | eeuw eU | ||||
eu Y: | eu Y: | ||||
@) ee (l_ 'e: | |||||
@) ee (m_ 'e: | |||||
eau o: //words with French origin | |||||
@) ee (_ 'e: | |||||
@) ee (X_ 'e: | |||||
@) ee (r_ 'I: | @) ee (r_ 'I: | ||||
@) ee (rt_ 'I: | @) ee (rt_ 'I: | ||||
@) ee (rd_ 'I: | @) ee (rd_ 'I: | ||||
it) eit (_ 'EIt | it) eit (_ 'EIt | ||||
&) el (_ @l | &) el (_ @l | ||||
&) eld (_ @ld | &) eld (_ @ld | ||||
&) ele (_ @l@ | |||||
&) ele (_ 'e:l@ | |||||
&) em (_ @m | &) em (_ @m | ||||
&) en (_S2q @n | |||||
&) en (_S2qd @n | |||||
&) ens (_S3q @ns | &) ens (_S3q @ns | ||||
&) end (_ @nd | &) end (_ @nd | ||||
&) ende (_ @nd@ | &) ende (_ @nd@ | ||||
@) ent (_ 'Ent | |||||
&) er (_ @r | &) er (_ @r | ||||
&) ere (_ @r@ | &) ere (_ @r@ | ||||
&) er (en_$p_alt @r // where 'eren' is not a verb ending | &) er (en_$p_alt @r // where 'eren' is not a verb ending | ||||
eren (_ 'I:r@n | eren (_ 'I:r@n | ||||
&) es (_ @s | &) es (_ @s | ||||
eau o: //words with French origin | |||||
@) etten (_S3 @n | |||||
@) eur (_ 'Y:r | |||||
_) er (@P2 Er | _) er (@P2 Er | ||||
@) e (raar_ @ | @) e (raar_ @ | ||||
&) e (nB@ @ | |||||
&) e (nB@ E2 | |||||
id) e (nt E | id) e (nt E | ||||
&) e (rC@ @ | |||||
&) e (rC@ E2 | |||||
.group f | .group f | ||||
f f | f f | ||||
ff f | |||||
f) f | |||||
.group g | .group g | ||||
_) ge (@P2 Q@ | _) ge (@P2 Q@ | ||||
_) gee Qe: | _) gee Qe: | ||||
gener (aal Q,e:n@r | |||||
gelijk Q@lEIk | gelijk Q@lEIk | ||||
_) geu QY: | _) geu QY: | ||||
_) ge (ven Qe: | _) ge (ven Qe: | ||||
C) h (K | C) h (K | ||||
_) her (@P3 hEr | _) her (@P3 hEr | ||||
_) her (en hI:r | |||||
.group i | .group i | ||||
m) ie (_ 'i | m) ie (_ 'i | ||||
p) ie (_ 'i | p) ie (_ 'i | ||||
ie (f_ 'i | |||||
ie (r_ 'i | |||||
&) ica (_ =ika: | |||||
ie (X 'i | |||||
ie (rd_ 'i | ie (rd_ 'i | ||||
@) ig (_S2d @x | @) ig (_S2d @x | ||||
@) ige (_ @Q@ | @) ige (_ @Q@ | ||||
_) in (gP2 'In | |||||
@) ij (n_ 'EI | |||||
_) in (C@P2 'In | |||||
// _) in (gP2 'In | |||||
io (nage iO | io (nage iO | ||||
@) isch (_ =is | @) isch (_ =is | ||||
@) ische (_ =is@ | @) ische (_ =is@ | ||||
@) ist (_ 'Ist | |||||
.group j | .group j | ||||
.group k | .group k | ||||
k k | k k | ||||
kk k | |||||
k) k | |||||
_) koning k'o:nIN // in compounds | _) koning k'o:nIN // in compounds | ||||
_) koningin ko:nIQ'In | _) koningin ko:nIQ'In | ||||
.group l | .group l | ||||
l l | l l | ||||
ll l | |||||
l) l | |||||
&) lijk (_S4 l@k | &) lijk (_S4 l@k | ||||
&) lijke (_S5 l@k@ | &) lijke (_S5 l@k@ | ||||
&) laan (_S4 la:n | &) laan (_S4 la:n | ||||
.group m | .group m | ||||
m m | m m | ||||
mm m | |||||
m) m | |||||
manage (ment ma:nIdZ | |||||
_) mee (@P3 m'e: | |||||
.group n | .group n | ||||
n n | n n | ||||
nn n | |||||
n) n | |||||
ng N | ng N | ||||
nj n^ | nj n^ | ||||
_) na (C@@P2 n'a: | |||||
.group o | .group o | ||||
o o: | o o: | ||||
ou VU | ou VU | ||||
ou (rage u | ou (rage u | ||||
oo (X 'o: | |||||
telef) oo (n 'o: | telef) oo (n 'o: | ||||
_) op (@@P2 'Op | |||||
_) open (@P4 'o:p@n | |||||
_) over (@P4 'o:v@r | |||||
.group on | .group on | ||||
_) onge (val OnQ@ | _) onge (val OnQ@ | ||||
.group p | .group p | ||||
p p | p p | ||||
pp p | |||||
p) p | |||||
_) ph f | _) ph f | ||||
ph (K f | ph (K f | ||||
qu kv | qu kv | ||||
@) qu (eer k | @) qu (eer k | ||||
@) qu (eren_ k | @) qu (eren_ k | ||||
@) que (_ k | |||||
.group r | .group r | ||||
.group s | .group s | ||||
s s | s s | ||||
ss s | |||||
s) s | |||||
sch sx | sch sx | ||||
sch (_ s | sch (_ s | ||||
sch (e_ s | sch (e_ s | ||||
.group t | .group t | ||||
t t | t t | ||||
tt t | |||||
tie (_ tsi | |||||
c) tie (_ si | |||||
t) t | |||||
tie (_ =tsi | |||||
c) tie (_ =si | |||||
k) tie (_ =si | |||||
p) tie (_ =si | |||||
s) tie (_ =ti | |||||
cra) tie (_ ts'i | |||||
tj t; | tj t; | ||||
tsj tS | tsj tS | ||||
_) th t | _) th t | ||||
t (hav t | t (hav t | ||||
_) toe (@P3 t'u | _) toe (@P3 t'u | ||||
_) team t'i:m | |||||
team (_ ti:m | |||||
.group te | .group te | ||||
_) tegen (P5 t'e:Q@n | _) tegen (P5 t'e:Q@n | ||||
uw yU | uw yU | ||||
uw (_ yU | uw (_ yU | ||||
_) uit (@P3 'Wyt | |||||
.group v | .group v | ||||
v v | v v | ||||
_) ver (@P3 v@r | _) ver (@P3 v@r | ||||
_) ver (sie_ vEr | _) ver (sie_ vEr | ||||
_) ver (der_ vEr | _) ver (der_ vEr | ||||
_) voort (@P5 v'O:rt | |||||
.group w | .group w | ||||
w (X w | w (X w | ||||
w (CK w | w (CK w | ||||
_) weg (@P3 v#'Ex | |||||
.group x | .group x | ||||
x ks | x ks | ||||
.group y | .group y | ||||
y i | y i | ||||
y (CK I | |||||
y (x I | |||||
.group z | .group z |
aquela $u+ | aquela $u+ | ||||
daquele d&k'ely $u+ $nounf | daquele d&k'ely $u+ $nounf | ||||
?1 que ky $u | |||||
?2 que ke $u | |||||
que $u // pronunciation is in pt_rules | |||||
// possessive adjectives | // possessive adjectives | ||||
meu $u+ $nounf | meu $u+ $nounf | ||||
sua $u+ | sua $u+ | ||||
seus $u+ | seus $u+ | ||||
suas $u+ | suas $u+ | ||||
?2 nosso $u+ n'OsU | |||||
?2 nosso $u+ // n'OsU | |||||
?2 nossa $u+ n'Os& | ?2 nossa $u+ n'Os& | ||||
?2 nossos $u+ n'OsUs | ?2 nossos $u+ n'OsUs | ||||
?2 nossas $u+ n'Os&s | ?2 nossas $u+ n'Os&s | ||||
page p'eIdZ | page p'eIdZ | ||||
?2 pior pi'Or | ?2 pior pi'Or | ||||
?2 piores pi'O*is | ?2 piores pi'O*is | ||||
preço $alt2 | |||||
python p'aIT&~N | python p'aIT&~N | ||||
queda $alt | |||||
?1 readme r'i:dmi: | ?1 readme r'i:dmi: | ||||
?1 sapi s,ap'i | ?1 sapi s,ap'i | ||||
?1 scanner sk'En&r | ?1 scanner sk'En&r |
e (co_ E | e (co_ E | ||||
e (ctA_ E | e (ctA_ E | ||||
e (ctAm_ E | e (ctAm_ E | ||||
e (çA_ E | |||||
e (çAm_ E | |||||
e (de_ E | e (de_ E | ||||
e (dem_ E | e (dem_ E | ||||
qü kw | qü kw | ||||
qu (Y k | qu (Y k | ||||
qu (K ku | qu (K ku | ||||
?2 _) que (_K ke | |||||
_) que (_ ky | |||||
?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 |
garant g%aR'ant | garant g%aR'ant | ||||
gata gA:ta | gata gA:ta | ||||
glöm glWm | glöm glWm | ||||
guide g'aId | |||||
guider g'aIdER | |||||
guid (e g'ajd | |||||
group _^_EN | group _^_EN | ||||
.group h | .group h | ||||
.group o | .group o | ||||
o u: | o u: | ||||
o (CC O | |||||
//sort | |||||
o (C% U | o (C% U | ||||
o (CC O | |||||
pr) o (b %O | |||||
o (bb O | o (bb O | ||||
o (dd O | |||||
o (mm O | |||||
o (pp O | |||||
o (ss O | |||||
o (tt O | |||||
o (ff O | |||||
o (rC u: | |||||
o (rr O | |||||
o (ll O | |||||
o (m_ O | |||||
d) o (k O | |||||
o (rk O | |||||
o (rg O | |||||
o (ck O | |||||
f) o (n 'o: | |||||
pr) o (c %U | pr) o (c %U | ||||
pr) o (cent %O | |||||
och 'Ok | |||||
s) o (ci %U | s) o (ci %U | ||||
o (ck O | |||||
g) o (d u: | |||||
k) o (d o: | |||||
bl) o (d 'u: | |||||
pr) o (d %O | |||||
o (dd O | |||||
o (ff O | |||||
l) o (g 'o: | l) o (g 'o: | ||||
l) o (v 'o: | |||||
kr) o (g u: | |||||
l) o (gg 'O | l) o (gg 'O | ||||
b) o (x 'O | |||||
s) o (r 'O | |||||
k) o (pi 'O | |||||
f) o (rm 'O | |||||
_) o (j O | |||||
pr) oj Osx' | pr) oj Osx' | ||||
o (ns U | |||||
b) o (k u: | |||||
d) o (k O | |||||
k) o (k 'u: | |||||
l) o (k %U | l) o (k %U | ||||
g) o (r U | |||||
nn) o (ns O | |||||
kr) o (k u: | |||||
p) o (lis %O | |||||
o (ll O | |||||
k) o (lu %O | |||||
o (m_ O | |||||
o (mm O | |||||
d) o (n O | |||||
f) o (n 'o: | |||||
g) o (n O | |||||
l) o (n O | |||||
kr) o (n u: | |||||
ss) o (n O | ss) o (n O | ||||
C) o (rs O | |||||
k) o (rt O | |||||
b) o (rt O | |||||
o (ni 'o: | |||||
o (ns U | |||||
k) o (ns O | |||||
nn) o (ns O | |||||
operat OpERat | |||||
k) o (pi 'O | |||||
o (pp O | |||||
p) o (pu O | |||||
g) o (r U | |||||
s) o (r 'O | |||||
lk) o (r o: | |||||
o (rC u: | |||||
n) o (r_ O | n) o (r_ O | ||||
t) o (r_ O | |||||
s) o (r_ O | s) o (r_ O | ||||
t) o (r_ O | |||||
rs) o (rd u: | rs) o (rd u: | ||||
o (rde o: | o (rde o: | ||||
b) o (st u: | |||||
b) o (k u: | |||||
kr) o (k u: | |||||
kr) o (g u: | |||||
kr) o (n u: | |||||
f) o (tb u: | |||||
pr) o (v u: | |||||
osparat u:spA:Rat | |||||
och 'Ok | |||||
k) o (ns O | |||||
pr) o (cent %O | |||||
p) o (lis %O | |||||
p) o (pu O | |||||
g) o (n O | |||||
sp) o (rt O | |||||
o (rg O | |||||
o (rk O | |||||
f) o (rm 'O | |||||
st) o (rm O | |||||
inf) o (rmati %O | |||||
o (rr O | |||||
C) o (rs O | |||||
b) o (rt O | |||||
k) o (rt O | |||||
pp) o (rt O | pp) o (rt O | ||||
sp) o (rt O | |||||
upp) o (rt o: | upp) o (rt o: | ||||
l) o (n O | |||||
d) o (n O | |||||
pr) o (b %O | |||||
pr) o (d %O | |||||
k) o (lu %O | |||||
inf) o (rmati %O | |||||
k) o (d o: | |||||
lk) o (r o: | |||||
g) o (d u: | |||||
_) o (j O | |||||
o (ni 'o: | |||||
m) o (t 'u: | |||||
k) o (k 'u: | |||||
bl) o (d 'u: | |||||
k) o (rv O | k) o (rv O | ||||
osparat u:spA:Rat | |||||
o (ss O | |||||
b) o (st u: | |||||
m) o (t 'u: | |||||
f) o (tb u: | |||||
o (tt O | |||||
l) o (v 'o: | |||||
pr) o (v u: | |||||
n) o (vell %O | n) o (vell %O | ||||
st) o (rm O | |||||
operat OpERat | |||||
b) o (x 'O | |||||
//endsort | |||||
.group p | .group p | ||||
p p | p p |
// exceptions | // exceptions | ||||
பாபு $alt // initial ப as [b] | பாபு $alt // initial ப as [b] | ||||
பகவதி $alt | |||||
பானம் $alt | பானம் $alt | ||||
பாணம் $alt | பாணம் $alt | ||||
பாறம் $alt | பாறம் $alt | ||||
பலத்தின் $alt | பலத்தின் $alt | ||||
பைக்ல $alt | பைக்ல $alt | ||||
பாவ்லா $alt | பாவ்லா $alt | ||||
பீச்சில் $alt | |||||
பீல் fi:l | |||||
பலத்தால் $alt | |||||
புக் $alt | |||||
பீர் $alt | |||||
போயிங் $alt | |||||
பலத்தாலான $alt | |||||
பெஞ்ச் $alt | |||||
பெஞ்சு $alt | |||||
(பி . ஏ) bije: | (பி . ஏ) bije: | ||||
தீரமுள்ள $alt | தீரமுள்ள $alt | ||||
தீரமற்ற $alt | தீரமற்ற $alt | ||||
தலாய் $alt | தலாய் $alt | ||||
தேசிங்கு $alt | |||||
தேச $alt | |||||
தேசப் $alt | |||||
தானம் $alt | தானம் $alt | ||||
தீரமும் $alt | தீரமும் $alt | ||||
தீரத்தோடு $alt | தீரத்தோடு $alt | ||||
தவத்தில் $alt | தவத்தில் $alt | ||||
தவத்தின் $alt | தவத்தின் $alt | ||||
தவத்தினால் $alt | தவத்தினால் $alt | ||||
திம் $alt | |||||
தேவதா $alt | |||||
தெனம் $alt | |||||
// initial ட | // initial ட | ||||
கில்லி $alt | கில்லி $alt | ||||
காந்தி $alt | காந்தி $alt | ||||
கிரி $alt | கிரி $alt | ||||
கோமதி $alt | |||||
கயா $alt | கயா $alt | ||||
காயத்ரி $alt | காயத்ரி $alt | ||||
கட $alt | கட $alt | ||||
காந்தம் $alt | காந்தம் $alt | ||||
கான $alt | கான $alt | ||||
கோத்திர $alt | கோத்திர $alt | ||||
கும்முன்னு $alt | |||||
கூகுல் $alt | |||||
கேட் $alt | |||||
கேட்டில் $alt | |||||
கின் $alt | |||||
// p as [f] | // p as [f] |
.L01 ஷ் ஸ் ட் | .L01 ஷ் ஸ் ட் | ||||
// ப is p when preceded by these | // ப is p when preceded by these | ||||
.L02 ட் ற் ல் ஷ் ஸ் | |||||
.L02 ட் ற் ஷ் ஸ் | |||||
// consonants | // consonants | ||||
//sort | //sort | ||||
_) க (ங்கா gV | _) க (ங்கா gV | ||||
_) க (ங்காரு kV | |||||
_) க (ங்கை gV | _) க (ங்கை gV | ||||
_) க (டகட gV | _) க (டகட gV | ||||
_) க (டப்பாரை gV | _) க (டப்பாரை gV | ||||
_) க (ந்தர்வ gV | _) க (ந்தர்வ gV | ||||
_) க (னத் gV | _) க (னத் gV | ||||
_) க (னம gV | _) க (னம gV | ||||
_) க (ப்பெ gV | |||||
_) க (ப்பென்ர gV | _) க (ப்பென்ர gV | ||||
_) க (மகம gV | _) க (மகம gV | ||||
_) க (ம்பீர gV | _) க (ம்பீர gV | ||||
க (ாரன k | க (ாரன k | ||||
க (ாரர k | க (ாரர k | ||||
_) க (ிடுகிடு g | _) க (ிடுகிடு g | ||||
_) க (ின்னென்ற g | |||||
_) க (ிரிஜா g | _) க (ிரிஜா g | ||||
_) க (ிரிதர g | _) க (ிரிதர g | ||||
_) க (ிருகஸ்தர g | |||||
_) க (ிருஹஸ்தர g | |||||
_) கி (ரேக்க g | |||||
_) க (ீதல k | _) க (ீதல k | ||||
_) க (ீத்த k | _) க (ீத்த k | ||||
_) க (ுகன g | _) க (ுகன g | ||||
_) க (ுடியாத்த g | _) க (ுடியாத்த g | ||||
_) க (ுணங் g | _) க (ுணங் g | ||||
_) க (ுணத் g | _) க (ுணத் g | ||||
_) க (ுணநல g | |||||
_) க (ுணப்பட g | _) க (ுணப்பட g | ||||
_) க (ுணம g | _) க (ுணம g | ||||
_) க (ுணவான g | |||||
_) க (ுணாதிசய g | _) க (ுணாதிசய g | ||||
_) க (ுண்டடி g | _) க (ுண்டடி g | ||||
_) க (ுண்டன g | _) க (ுண்டன g | ||||
_) குண்டாந்த (டி gun.d.a:ntV | _) குண்டாந்த (டி gun.d.a:ntV | ||||
_) க (ுண்டாய g | _) க (ுண்டாய g | ||||
_) க (ுண்டு g | _) க (ுண்டு g | ||||
_) க (ுண்டை g | |||||
_) க (ுதிக் g | _) க (ுதிக் g | ||||
_) க (ுதிச் g | _) க (ுதிச் g | ||||
_) க (ுதித் g | _) க (ுதித் g | ||||
_) க (ும்பல g | _) க (ும்பல g | ||||
_) க (ும்மிடிப்பூண் g | _) க (ும்மிடிப்பூண் g | ||||
_) க (ும்மிருட்ட g | _) க (ும்மிருட்ட g | ||||
_) க (ும்மெ g | |||||
_) க (ுருக்கள g | _) க (ுருக்கள g | ||||
_) க (ுருதேவ g | _) க (ுருதேவ g | ||||
_) க (ுருநா g | _) க (ுருநா g | ||||
_) க (ுருபூஜை g | |||||
_) க (ுருமார g | _) க (ுருமார g | ||||
_) க (ுருரா g | _) க (ுருரா g | ||||
_) க (ுருவா g | _) க (ுருவா g | ||||
_) க (ூர்க்கா g | _) க (ூர்க்கா g | ||||
_) க (ெட்டி g | _) க (ெட்டி g | ||||
_) க (ெட்டிரு k | _) க (ெட்டிரு k | ||||
_) கெள gaU | |||||
_) கெள (ம்ப kel.V | |||||
_) க (ேட்டிலிருந்த g | |||||
_) க (ேட்டுக்கு g | |||||
_) க (ேலி g | _) க (ேலி g | ||||
_) கோக (ிலா go:k | |||||
_) க (ோகுல g | _) க (ோகுல g | ||||
_) க (ோதாவரி g | _) க (ோதாவரி g | ||||
_) க (ோதுமை g | _) க (ோதுமை g | ||||
_) க (ோபிநா g | _) க (ோபிநா g | ||||
_) க (ோபிய g | _) க (ோபிய g | ||||
_) க (ோபுர g | _) க (ோபுர g | ||||
_) க (ோமதி g | |||||
_) க (ோர_ g | _) க (ோர_ g | ||||
_) க (ோர_மாட்ட k | _) க (ோர_மாட்ட k | ||||
_) க (ோர_முடிய k | _) க (ோர_முடிய k | ||||
_) க (ௌ g | _) க (ௌ g | ||||
_) கௌட (ில்ய kaUt. | _) கௌட (ில்ய kaUt. | ||||
_) க (ௌட்டில்ய k | _) க (ௌட்டில்ய k | ||||
_) க் (ரூப g | |||||
//endsort | //endsort | ||||
//sort | //sort | ||||
அலை) க (டல kV | அலை) க (டல kV | ||||
சமையல்) க (ட் kV | சமையல்) க (ட் kV | ||||
_கால) க (ட்ட kV | |||||
_கல்) க (ண்ட kV | _கல்) க (ண்ட kV | ||||
_நற்) க (தி gV | _நற்) க (தி gV | ||||
வீண்) க (தை kV | வீண்) க (தை kV | ||||
_கல்) க (த்தா kV | _கல்) க (த்தா kV | ||||
கொல்) க (த்தா kV | கொல்) க (த்தா kV | ||||
மோ) க (ன HV | மோ) க (ன HV | ||||
_வீண்) க (னவ kV | |||||
_வெல்) க (ம kV | |||||
தின) க (ர kV | தின) க (ர kV | ||||
மது) க (ர kV | மது) க (ர kV | ||||
திவா) க (ர kV | திவா) க (ர kV | ||||
வீண்) க (ஷ்ட kV | வீண்) க (ஷ்ட kV | ||||
ம) க (ா H | ம) க (ா H | ||||
_தாலு) க (ா k | _தாலு) க (ா k | ||||
_நேர்) க (ாணல k | |||||
_வலை) க (ாப் k | |||||
தொல்) க (ாப்பி k | தொல்) க (ாப்பி k | ||||
மூல) க (ாரண k | மூல) க (ாரண k | ||||
_சம) க (ால k | |||||
அந்திம) க (ால k | அந்திம) க (ால k | ||||
கோயில்) க (ாளை k | கோயில்) க (ாளை k | ||||
_கல்) க (ி k | _கல்) க (ி k | ||||
வால்மீ) க (ி k | |||||
_ம) க (ிந்த H | _ம) க (ிந்த H | ||||
மோ) க (ினி H | மோ) க (ினி H | ||||
_ம) க (ிமை H | _ம) க (ிமை H | ||||
_) கி (ராதக k | _) கி (ராதக k | ||||
_) கி (ராம g | _) கி (ராம g | ||||
_) கி (ரீட k | _) கி (ரீட k | ||||
_) கி (ரீன்லாந்த g | |||||
ங்) க (ிரு g | ங்) க (ிரு g | ||||
கிரு (ஷ் kri | கிரு (ஷ் kri | ||||
_) கி (ரைண்டர g | _) கி (ரைண்டர g | ||||
_) கி (ரௌண்ட g | |||||
இங்) கி (லீஷ் g | |||||
கி (லேச k | கி (லேச k | ||||
_) கி (ளாஸ g | _) கி (ளாஸ g | ||||
_வட) க (ிழ k | _வட) க (ிழ k | ||||
க (ுல k | க (ுல k | ||||
_அங்) க (ுல g | _அங்) க (ுல g | ||||
_) குல்க (ந்த gulkV | _) குல்க (ந்த gulkV | ||||
_ஓ) க (ே k | |||||
நீல) க (ேசி k | நீல) க (ேசி k | ||||
புலி) க (ேசி k | புலி) க (ேசி k | ||||
குண்டல) க (ேசி k | குண்டல) க (ேசி k | ||||
க (ொண்ட k | க (ொண்ட k | ||||
க (ொள் k | க (ொள் k | ||||
வீண்) க (ோப k | வீண்) க (ோப k | ||||
_ஷா) க் (_ k | |||||
துர்) க்க ggV# | துர்) க்க ggV# | ||||
மார்) க்க ggV# | மார்) க்க ggV# | ||||
மூர்) க்க ggV# | மூர்) க்க ggV# | ||||
வைரா) க்க (ிய gg | வைரா) க்க (ிய gg | ||||
_வி) க்க (ிரக gg | _வி) க்க (ிரக gg | ||||
கு) க்கி (ராம gg | கு) க்கி (ராம gg | ||||
அணு) க்க (ுண்ட gg | |||||
ஜன) க்க (ும்பல gg | ஜன) க்க (ும்பல gg | ||||
_எல) க்டிரானிக் (ஸ kt.ira:nik | |||||
அ) க (்டோபர k | அ) க (்டோபர k | ||||
வி) க்ட (ோரியா kt. // victoria | வி) க்ட (ோரியா kt. // victoria | ||||
_எலெ) க்ட்ரிக (ல kt.rikV | |||||
வி) க (்ரம k | வி) க (்ரம k | ||||
ஆ) க (்ரோஷ k | ஆ) க (்ரோஷ k | ||||
_கால) க (ட்ட kV | |||||
_வலை) க (ாப் k | |||||
கோபா) க்க (ினி gg | |||||
//endsort | //endsort | ||||
//sort | //sort | ||||
_) ச (க்கரவர்த்தி tSV | _) ச (க்கரவர்த்தி tSV | ||||
சங்க (ர s.VNkV | சங்க (ர s.VNkV | ||||
_) ச (ட்னி tSV | |||||
ச (ண்பக s.V | ச (ண்பக s.V | ||||
ச (ண்மு s.V | ச (ண்மு s.V | ||||
_) ச (துர் tSV | _) ச (துர் tSV | ||||
_) ச (த்ரு tSV | |||||
ச (ந்திர tSV | ச (ந்திர tSV | ||||
_) ச (ப்பாத்தி tSV | _) ச (ப்பாத்தி tSV | ||||
_) சரசு (வதி sVrVs | |||||
அருணா) ச (ல tSV | |||||
ச (ாந்தி s. | ச (ாந்தி s. | ||||
_தே) ச (ாந்திர s | _தே) ச (ாந்திர s | ||||
_) ச (ான்ஸ tS | _) ச (ான்ஸ tS | ||||
_) ச (ாமுண்ட tS | _) ச (ாமுண்ட tS | ||||
_) ச (ாய்ஸ tS | |||||
சமா) ச (ார tS | சமா) ச (ார tS | ||||
_) ச (ார்ஜை tS | |||||
_) ச (ார்ஜ்_ tS | |||||
_) ச (ாளுக்கிய tS | |||||
_) சிக (ாகோ tSik | |||||
_) ச (ிட்டாக tS | _) ச (ிட்டாக tS | ||||
_) ச (ிட்டாட்ட tS | _) ச (ிட்டாட்ட tS | ||||
_) ச (ிட்டி tS | _) ச (ிட்டி tS | ||||
_) ச (ிதம்பர tS | _) ச (ிதம்பர tS | ||||
_) ச (ித்தப்ப tS | _) ச (ித்தப்ப tS | ||||
_) ச (ித்தப்பிரமை s | _) ச (ித்தப்பிரமை s | ||||
_) ச (ித்திர tS | |||||
வி) ச (ித்திர tS | வி) ச (ித்திர tS | ||||
_) ச (ித்திரவதை tS | |||||
_) ச (ித்ரவதை tS | |||||
_) ச (ித்ரா tS | _) ச (ித்ரா tS | ||||
சு) சித (்ரா tSit | சு) சித (்ரா tSit | ||||
_) சி (நே s | _) சி (நே s | ||||
_) ச (ின் tS | _) ச (ின் tS | ||||
சி (ரம s | சி (ரம s | ||||
_) சிரு (ஷ்டி sri | _) சிரு (ஷ்டி sri | ||||
_) ச (ீன tS | |||||
_) ச (ீன_ tS | |||||
_) ச (ீனத்து tS | |||||
_) ச (ீனப் tS | |||||
_) ச (ீனா tS | |||||
_) ச (ீனாவ tS | |||||
_) ச (ீனிவா s | _) ச (ீனிவா s | ||||
சீ (னிவாச sri: | சீ (னிவாச sri: | ||||
_) ச (ீன்_ s | |||||
_ஈ) சு s | _ஈ) சு s | ||||
_) ச (ுடிதார tS | |||||
_) சு (லோக s | |||||
கே) சு (வ s | கே) சு (வ s | ||||
மே) சு (வ s | மே) சு (வ s | ||||
வி) சு (வ s | வி) சு (வ s | ||||
_சனீ) சு (வர s | _சனீ) சு (வர s | ||||
இராவணே) சு (வர s | இராவணே) சு (வர s | ||||
ராவணே) சு (வர s | ராவணே) சு (வர s | ||||
_) சுவர்க்க svVrggV# | |||||
_) சு (வாச s | _) சு (வாச s | ||||
சு (வாதீன s | சு (வாதீன s | ||||
சு (வாமி s | சு (வாமி s | ||||
_) ச (ெட்டியார tS | _) ச (ெட்டியார tS | ||||
ச (ெண்பக s. | ச (ெண்பக s. | ||||
_) ச (ென்னை tS | _) ச (ென்னை tS | ||||
_) ச (ெல்லக்குட்டி tS | |||||
_) ச (ெல்லத்துக்கு tS | |||||
_) ச (ெல்லத்தை tS | |||||
_) ச (ெல்லம tS | _) ச (ெல்லம tS | ||||
_) ச (ெஸ் tS | _) ச (ெஸ் tS | ||||
_) ச (ேரி tS | _) ச (ேரி tS | ||||
_) ச (ைனாவ tS | |||||
_) ச (ௌதரி tS | |||||
//endsort | //endsort | ||||
ட்ட (B t.t. | ட்ட (B t.t. | ||||
ஷ்) ட t.V | ஷ்) ட t.V | ||||
ஷ்) ட (B t. | ஷ்) ட (B t. | ||||
_) டாக்ட (ர d.a:kt.V | |||||
_) ட (ோக்கியோ t. | |||||
//sort | |||||
ிங்) ட (ன் t.V // -ington | ிங்) ட (ன் t.V // -ington | ||||
_) ட (ாக்க t. // talkies | |||||
_) டிராக்ட (ர t.ira:gt.V | |||||
_) ட (ைம்_ t. | |||||
டெலிப (ோன t.elif | |||||
_) ட (ம்ப்ளர t.V | _) ட (ம்ப்ளர t.V | ||||
_) ட (யரில t.V | |||||
_) ட (யர் t.V | |||||
_) ட (வர t.V | |||||
_) ட (வல t.V | |||||
_) ட (வுன t.V | |||||
_) ட (ாக்க t. // talkies | |||||
_) டாக்ட (ர d.a:kt.V | |||||
_) டாக (்ஸி t.a:k | |||||
_) ட (ிஃபன t. | |||||
_) ட (ிக்க t. | _) ட (ிக்க t. | ||||
_) டி (யூசன t. | |||||
_) டி (யூஷன t. | |||||
_) டிராக்ட (ர t.ira:gt.V | |||||
_) ட (ிராம t. | _) ட (ிராம t. | ||||
_) ட (வுன t.V | |||||
_) டென்டுல்க (ர t.ent.UlkV | |||||
_) டி (ராவல t. | |||||
_) டி (ராவெல t. | |||||
_) டிரேயின (ை t.re:jn | _) டிரேயின (ை t.re:jn | ||||
_) ட (ியூஷன t. | |||||
_) ட (ிவிய t. | _) ட (ிவிய t. | ||||
_) ட (வல t.V | |||||
_) ட (வர t.V | |||||
_) டென்டுல்க (ர t.ent.UlkV | |||||
_) டெம்ப (ர t.empV | |||||
டெலிப (ோன t.elif | |||||
_) ட (ெலிவிஷன t. | |||||
_) ட (ேப t. | _) ட (ேப t. | ||||
_) டாக (்ஸி t.a:k | |||||
_) ட (ேஸ்ட t. | |||||
_) ட (ைம்_ t. | |||||
_) ட (ோக்கியோ t. | |||||
_ல) ட்ட d.d.V# | _ல) ட்ட d.d.V# | ||||
_) ட (யர் t.V | |||||
_) ட (யரில t.V | |||||
_) ட் (ராவல t. | |||||
_) ட் (ராவெல t. | |||||
_பெ) ட் (ரோ t. | |||||
_ஹி) ட் (லர t. | |||||
//endsort | |||||
.group ண | .group ண | ||||
_) த (க்க்ஷிண dV | _) த (க்க்ஷிண dV | ||||
_) த (க்ஷிணா dV | _) த (க்ஷிணா dV | ||||
_) த (சகண்ட dV | _) த (சகண்ட dV | ||||
_) த (சரத dV | |||||
_) த (சரதர dV | _) த (சரதர dV | ||||
_) த (சரா dV | _) த (சரா dV | ||||
_) த (சை dV | _) த (சை dV | ||||
_) த (டிJ_மாட dV | _) த (டிJ_மாட dV | ||||
_) த (டிக்க dV | _) த (டிக்க dV | ||||
_) த (டித்த dV | _) த (டித்த dV | ||||
_) த (டிமாட dV | |||||
_) த (டியன dV | _) த (டியன dV | ||||
_) த (டியர dV | _) த (டியர dV | ||||
_) த (ட்சன dV | _) த (ட்சன dV | ||||
_) த (ண்டிப்ப dV | _) த (ண்டிப்ப dV | ||||
_) த (ண்டிப்பா dV | _) த (ண்டிப்பா dV | ||||
_) த (ண்டியுங்கள dV | _) த (ண்டியுங்கள dV | ||||
_) த (ண்டோரா dV | |||||
_) தத்த (ியா dVdd | |||||
_) த (னகோடி dV | _) த (னகோடி dV | ||||
_) த (னசேகரன dV | _) த (னசேகரன dV | ||||
_) த (னன்ஜெயன dV | _) த (னன்ஜெயன dV | ||||
_) த (னுஷ dV | _) த (னுஷ dV | ||||
_) த (ன்மந்திரி dV | _) த (ன்மந்திரி dV | ||||
_) த (ன்ராஜ dV | _) த (ன்ராஜ dV | ||||
_) தபதப dVbVdVbV# | |||||
_) த (மயந்தி dV | _) த (மயந்தி dV | ||||
_) த (ம்பதி dV | _) த (ம்பதி dV | ||||
_) த (ம்பிடி dV | _) த (ம்பிடி dV | ||||
_) த (ருமி dV | _) த (ருமி dV | ||||
_) த (ர்க dV | _) த (ர்க dV | ||||
_) த (ர்பார dV | _) த (ர்பார dV | ||||
_) த (ர்பூச dV | |||||
_) த (ர்பை dV | _) த (ர்பை dV | ||||
_) த (ர்ம dV | _) த (ர்ம dV | ||||
_) த (லித் dV | _) த (லித் dV | ||||
_) த (ானத் d | _) த (ானத் d | ||||
_) த (ானிய d | _) த (ானிய d | ||||
_) த (ானுவ d | _) த (ானுவ d | ||||
_) த (ாமோதர d | |||||
_) த (ாம்_தூம d | _) த (ாம்_தூம d | ||||
_) த (ாயாதி d | _) த (ாயாதி d | ||||
_) த (ாரணி d | _) த (ாரணி d | ||||
_) த (ாவணி d | _) த (ாவணி d | ||||
_) த (ாவா d | _) த (ாவா d | ||||
_) த (ிகில d | _) த (ிகில d | ||||
_) த (ிகுதிகு d | |||||
_) த (ிக்கில d | _) த (ிக்கில d | ||||
_) த (ிக்கு d | _) த (ிக்கு d | ||||
_) த (ிக்கு_முக்க t | _) த (ிக்கு_முக்க t | ||||
_) திக்பி (ரமை digb | _) திக்பி (ரமை digb | ||||
_) த (ிக்விஜய d | _) த (ிக்விஜய d | ||||
_) த (ிசை d | _) த (ிசை d | ||||
_) திடசங்கல்ப did.VsVNgVlpV# | |||||
_) த (ிடப d | _) த (ிடப d | ||||
_) த (ிடம d | _) த (ிடம d | ||||
_) த (ிடீ d | _) த (ிடீ d | ||||
_) த (ினம d | _) த (ினம d | ||||
_) த (ினுச d | _) த (ினுச d | ||||
_) த (ினேஷ d | _) த (ினேஷ d | ||||
_) த (ிம்ம d | |||||
_) தி (யான dj | _) தி (யான dj | ||||
_) த (ிரவ d | _) த (ிரவ d | ||||
_) த (ிரவிய d | _) த (ிரவிய d | ||||
_) தி (ராவிட d | _) தி (ராவிட d | ||||
_) த (ிரௌபதி d | _) த (ிரௌபதி d | ||||
_) த (ில்லி d | _) த (ில்லி d | ||||
_) த (ில்லு_ d | |||||
_) த (ில்லு_முல்லு t | |||||
_) த (ிவச d | _) த (ிவச d | ||||
_) த (ிவாகர d | _) த (ிவாகர d | ||||
_) த (ிவான d | _) த (ிவான d | ||||
_) த (ிவ்ய d | _) த (ிவ்ய d | ||||
_) த (ீட்சித d | |||||
_) த (ீட்சை d | _) த (ீட்சை d | ||||
_) த (ீப d | _) த (ீப d | ||||
_) த (ீப்ப t | _) த (ீப்ப t | ||||
_) த (ுச்சாதனன d | _) த (ுச்சாதனன d | ||||
_) த (ுட்ட d | _) த (ுட்ட d | ||||
_) த (ுபாய d | _) த (ுபாய d | ||||
_) த (ுரதிருஷ்ட d | |||||
_) த (ுரதிர்ஷ்ட d | _) த (ுரதிர்ஷ்ட d | ||||
_) த (ுராசை d | _) த (ுராசை d | ||||
_) த (ுரியோதனன d | _) த (ுரியோதனன d | ||||
_) த (ுரியோதனா d | |||||
_) த (ுருவங் d | _) த (ுருவங் d | ||||
_) த (ுருவத் d | _) த (ுருவத் d | ||||
_) த (ுரை d | _) த (ுரை d | ||||
_) த (ுரோண d | _) த (ுரோண d | ||||
_) த (ுர் d | _) த (ுர் d | ||||
_) து (வந்த_ d | _) து (வந்த_ d | ||||
_) து (வார d | |||||
_) துவாப (ர dva:pV | |||||
_) துவ (ார dv | |||||
_) த (ுஷ் d | _) த (ுஷ் d | ||||
_) த (ூசி d | _) த (ூசி d | ||||
_) த (ூப d | _) த (ூப d | ||||
_) த (ூம d | _) த (ூம d | ||||
_) த (ூர d | _) த (ூர d | ||||
_) த (ூரிகை t | |||||
_) த (ூர்_ t | |||||
_) த (ூர்ந் t | |||||
_) த (ூர்வ t | |||||
_) த (ூஷணை d | _) த (ூஷணை d | ||||
_) த (ூஷித்த d | _) த (ூஷித்த d | ||||
_) த (ெய்வ d | _) த (ெய்வ d | ||||
_) த (ேக d | _) த (ேக d | ||||
_) த (ேக்க t | _) த (ேக்க t | ||||
_) த (ேசத்தார d | |||||
_) த (ேசத்தில d | |||||
_) த (ேசாந்திர d | |||||
_) த (ேச d | |||||
_) த (ேவகான d | _) த (ேவகான d | ||||
_) த (ேவகி d | _) த (ேவகி d | ||||
_) த (ேவக் d | |||||
_) த (ேவதை d | _) த (ேவதை d | ||||
_) த (ேவன d | _) த (ேவன d | ||||
_) த (ேவராட்டி d | _) த (ேவராட்டி d | ||||
_) த (ேவேந் d | _) த (ேவேந் d | ||||
_) த (ைரிய d | _) த (ைரிய d | ||||
_) த (ொனி d | _) த (ொனி d | ||||
_) த (ொபதொப d | |||||
_) த (ொபுக் d | _) த (ொபுக் d | ||||
_) த (ொம் d | _) த (ொம் d | ||||
_) த (ோசை d | _) த (ோசை d | ||||
_கீழ்) த (ட்ட tV | _கீழ்) த (ட்ட tV | ||||
_மேல்) த (ட்ட tV | _மேல்) த (ட்ட tV | ||||
முட்டாள்) த (ன tV | முட்டாள்) த (ன tV | ||||
_கௌ) த (மி tV | |||||
_கீ) த (ா t | _கீ) த (ா t | ||||
_சீ) த (ா t | _சீ) த (ா t | ||||
_ல) த (ா t | _ல) த (ா t | ||||
_வினி) த (ா t | _வினி) த (ா t | ||||
_புஷ்பல) த (ா t | _புஷ்பல) த (ா t | ||||
பிரேமல) த (ா t | பிரேமல) த (ா t | ||||
_மும்) த (ாஜ t | |||||
_சும) த (ி t | _சும) த (ி t | ||||
_சாந்) த (ி t | _சாந்) த (ி t | ||||
_சுகந்) த (ி t | _சுகந்) த (ி t | ||||
யு) த்த ddV# | யு) த்த ddV# | ||||
பு) த்த (ன ddV | பு) த்த (ன ddV | ||||
பு) த்த (ர ddV | பு) த்த (ர ddV | ||||
_விரு) த்தாச (ல dda:tSV | |||||
அ) த்த (ாசி dd | |||||
பு) த்த (ி dd | பு) த்த (ி dd | ||||
அயோ) த்த (ி dd | அயோ) த்த (ி dd | ||||
சில) த்த (ினங் dd | சில) த்த (ினங் dd | ||||
உ) த்த (ியோக dd | உ) த்த (ியோக dd | ||||
பு) த்த (ிர tt | பு) த்த (ிர tt | ||||
சமு) த்த (ிர dd | சமு) த்த (ிர dd | ||||
_உப) த்த (ிர dd | |||||
_சுப) த்த (ிர dd | |||||
_ரு) த்த (ிர dd | _ரு) த்த (ிர dd | ||||
_ரௌ) த்த (ிர dd | _ரௌ) த்த (ிர dd | ||||
_தேச) த்து (ரோகி td | |||||
_வி) த்து (வான d | |||||
_முக) த்து (வார dd | _முக) த்து (வார dd | ||||
அ) த்த (ெய்வ dd | அ) த்த (ெய்வ dd | ||||
குல) த்த (ெய்வ dd | குல) த்த (ெய்வ dd | ||||
ச) த (்ரு t | ச) த (்ரு t | ||||
த) த (்ரூப t | த) த (்ரூப t | ||||
பா) த (்ரூம t | பா) த (்ரூம t | ||||
_கௌ) த (மி tV | |||||
//endsort | //endsort | ||||
ப் (ப p | ப் (ப p | ||||
ப்) ப pV | ப்) ப pV | ||||
ப்) ப (B p | ப்) ப (B p | ||||
L02) ப pV | |||||
L02) ப (B p | |||||
L02) ப pV# | |||||
குஷ்) ப (ு b | குஷ்) ப (ு b | ||||
ம) ப pV | ம) ப pV | ||||
//sort | //sort | ||||
_) ப (கவதி bV | |||||
_) ப (கவன bV | |||||
_) ப (கவான bV | _) ப (கவான bV | ||||
_) ப (காசுர bV | _) ப (காசுர bV | ||||
_) ப (கிரங்க bV | _) ப (கிரங்க bV | ||||
_) ப (கிஷ்க bV | _) ப (கிஷ்க bV | ||||
_) ப (கீர bV | _) ப (கீர bV | ||||
_) ப (க்கெட் bV | _) ப (க்கெட் bV | ||||
_) ப (க்கென்ற bV | |||||
_) பக் (த bVk | _) பக் (த bVk | ||||
_) ப (ங்கம bV | _) ப (ங்கம bV | ||||
_) ப (ங்களா bV | _) ப (ங்களா bV | ||||
_) ப (ங்கார bV | _) ப (ங்கார bV | ||||
_) ப (சவகல்யாண bV | |||||
_) ப (ஜ bV | _) ப (ஜ bV | ||||
_) ப (ட்சண bV | _) ப (ட்சண bV | ||||
_) ப (ட்சிக்க bV | _) ப (ட்சிக்க bV | ||||
_) ப (ட்சிப்ப bV | _) ப (ட்சிப்ப bV | ||||
_) ப (ட்ஜெட் bV | |||||
_) ப (ட்டன bV | _) ப (ட்டன bV | ||||
_) ப (ட்டன_ pV | _) ப (ட்டன_ pV | ||||
_) ப (தில bV | _) ப (தில bV | ||||
_) பத்த (ிரகாளி bVdd | _) பத்த (ிரகாளி bVdd | ||||
_) ப (த்திரப் bV | |||||
_) ப (த்திரமா bV | _) ப (த்திரமா bV | ||||
_) ப (ந்தங்கள bV | _) ப (ந்தங்கள bV | ||||
_) ப (ந்தத் bV | _) ப (ந்தத் bV | ||||
_) ப (ந்தப் bV | |||||
_) ப (ந்தம bV | _) ப (ந்தம bV | ||||
_) ப (ந்துக்கள bV | _) ப (ந்துக்கள bV | ||||
_) பந்த (ுலு bVnt | |||||
_) ப (ந்துவ bV | _) ப (ந்துவ bV | ||||
_) ப (ந்தோபஸ்த bV | _) ப (ந்தோபஸ்த bV | ||||
_) ப (னியன bV | _) ப (னியன bV | ||||
_) ப (லிபீட bV | _) ப (லிபீட bV | ||||
_) ப (லிய bV | _) ப (லிய bV | ||||
_) ப (லூன bV | _) ப (லூன bV | ||||
_) பல்ட (ி bVlt. | |||||
_) ப (வாணி bV | _) ப (வாணி bV | ||||
_) ப (வானி bV | _) ப (வானி bV | ||||
_) பவுண்ட (ன faUn.t.V | _) பவுண்ட (ன faUn.t.V | ||||
_) ப (ாகத b | _) ப (ாகத b | ||||
_) ப (ாகம b | _) ப (ாகம b | ||||
_) ப (ாக்கிய b | _) ப (ாக்கிய b | ||||
_) பாக்த (ாத ba:gd | |||||
_) ப (ாங்க் b | _) ப (ாங்க் b | ||||
_) ப (ாசு b | _) ப (ாசு b | ||||
_) ப (ாசுர p | _) ப (ாசுர p | ||||
_) ப (ாரம b | _) ப (ாரம b | ||||
_) ப (ாரம்பரிய p | _) ப (ாரம்பரிய p | ||||
_) ப (ார்கவி b | _) ப (ார்கவி b | ||||
_) ப (ார்மசி f | |||||
_) ப (ார்மஸி f | |||||
_) ப (ார்ம f | |||||
_) ப (ாலக b | _) ப (ாலக b | ||||
_) ப (ாலக்காட p | _) ப (ாலக்காட p | ||||
_) ப (ாலச b | _) ப (ாலச b | ||||
_) ப (ாவனை b | _) ப (ாவனை b | ||||
_) ப (ாவிக்கிற b | _) ப (ாவிக்கிற b | ||||
_) ப (ாவித்த b | _) ப (ாவித்த b | ||||
_) ப (ாவிப்பத b | |||||
_) ப (ாவிப்பதா b | _) ப (ாவிப்பதா b | ||||
_) ப (ாவிப்பதி b | _) ப (ாவிப்பதி b | ||||
_) ப (ாவிப்பது b | _) ப (ாவிப்பது b | ||||
_) ப (ிக்கு b | _) ப (ிக்கு b | ||||
_) ப (ிக்ஷு b | _) ப (ிக்ஷு b | ||||
_) ப (ிக்ஷூ b | _) ப (ிக்ஷூ b | ||||
_) ப (ிசினஸ b | |||||
_) ப (ின்லாந்த f | |||||
_) ப (ிம்ப b | _) ப (ிம்ப b | ||||
_) ப (ிரகதீ b | _) ப (ிரகதீ b | ||||
_) ப (ிரகஸ்பதி b | _) ப (ிரகஸ்பதி b | ||||
_) ப (ிரம்ம b | _) ப (ிரம்ம b | ||||
_) ப (ிரம்மை b | _) ப (ிரம்மை b | ||||
_) பி (ரான்ஸ f | |||||
_) ப (ிரித்தானி b | _) ப (ிரித்தானி b | ||||
_) ப (ிரியாணி b | _) ப (ிரியாணி b | ||||
_) ப (ில்டிங் b | _) ப (ில்டிங் b | ||||
_) ப (ிஸினஸ b | _) ப (ிஸினஸ b | ||||
_) ப (ிஸ்கோத் b | _) ப (ிஸ்கோத் b | ||||
_) ப (ீகார b | |||||
_) ப (ீச்சு b | |||||
_) ப (ீஜிங b | _) ப (ீஜிங b | ||||
_) ப (ீடி b | _) ப (ீடி b | ||||
_) ப (ீடிகை p | _) ப (ீடிகை p | ||||
_) ப (ீம b | _) ப (ீம b | ||||
_) ப (ீரங்கி b | _) ப (ீரங்கி b | ||||
_) ப (ீராமணர b | _) ப (ீராமணர b | ||||
_) ப (ீஹார b | |||||
_) ப (ுக்கென்ற b | |||||
_) ப (ுக்தி b | _) ப (ுக்தி b | ||||
_) ப (ுக்ல b | |||||
_) ப (ுஜ b | _) ப (ுஜ b | ||||
_) ப (ுட்டி b | _) ப (ுட்டி b | ||||
_) ப (ுதன b | _) ப (ுதன b | ||||
_) ப (ூதகணங்க b | _) ப (ூதகணங்க b | ||||
_) ப (ூதங் b | _) ப (ூதங் b | ||||
_) ப (ூதத் b | _) ப (ூதத் b | ||||
_) ப (ூதபாண்டிய b | |||||
_) ப (ூதம b | _) ப (ூதம b | ||||
_) ப (ூதவுடம்ப b | |||||
_) ப (ூதாகார b | _) ப (ூதாகார b | ||||
_) ப (ூதேவி b | _) ப (ூதேவி b | ||||
_) பூப (தி bu:pV | |||||
_) ப (ூபாள b | _) ப (ூபாள b | ||||
_) ப (ூமாதேவி b | _) ப (ூமாதேவி b | ||||
_) ப (ூமி b | _) ப (ூமி b | ||||
_) ப (ூலோக b | _) ப (ூலோக b | ||||
_) ப (ெங்களூர b | _) ப (ெங்களூர b | ||||
_) ப (ெஞ்சா b | |||||
_) ப (ெஞ்சி b | |||||
_) ப (ெட்ரூம b | _) ப (ெட்ரூம b | ||||
_) ப (ெர்னார்ட b | |||||
_) ப (ெர்முடா b | |||||
_) ப (ெர்லிங b | _) ப (ெர்லிங b | ||||
_) ப (ெல் b | _) ப (ெல் b | ||||
_) ப (ெஸ்ட் b | _) ப (ெஸ்ட் b | ||||
_) ப (ோபால b | _) ப (ோபால b | ||||
_) ப (ௌதிக b | _) ப (ௌதிக b | ||||
_) ப (ௌத்த b | _) ப (ௌத்த b | ||||
_) ப் (ராவ b | |||||
//endsort | //endsort | ||||
//sort | //sort | ||||
இயல்) ப (+ bV# | |||||
சங்கல்) ப pV# | |||||
_விகல்) ப pV# | |||||
அநுதா) ப (+ bV# | |||||
பரிதா) ப (+ bV# | பரிதா) ப (+ bV# | ||||
அனுதா) ப (+ bV# | அனுதா) ப (+ bV# | ||||
நன்) ப (கல pV | நன்) ப (கல pV | ||||
வட) ப (குதி pV | வட) ப (குதி pV | ||||
தென்) ப (குதி pV | தென்) ப (குதி pV | ||||
ப (க்கK pV | ப (க்கK pV | ||||
பரம) ப (க்த bV | |||||
க) ப (ட bV | க) ப (ட bV | ||||
கரம்) ப (ட pV | கரம்) ப (ட pV | ||||
ப (டி pV | ப (டி pV | ||||
@) ப (ட்ச+ pV | @) ப (ட்ச+ pV | ||||
ப (ண pV | ப (ண pV | ||||
_சிவ) ப (த pV | _சிவ) ப (த pV | ||||
_கல்) ப (தரு pV | |||||
கஜ) பதி pVti | கஜ) பதி pVti | ||||
கண) பதி pVti | கண) பதி pVti | ||||
பசு) பத (ி pVt | பசு) பத (ி pVt | ||||
அம்பிகா) பதி pVti | அம்பிகா) பதி pVti | ||||
வளையா) பதி pVti | வளையா) பதி pVti | ||||
வேங்கட) பதி pVti | வேங்கட) பதி pVti | ||||
_புகு) ப (திகை pV | |||||
மின்) ப (திப்ப+ pV | மின்) ப (திப்ப+ pV | ||||
காண்) பத (ில bVd | காண்) பத (ில bVd | ||||
_முன்) ப (திவ pV | |||||
பதை) ப (தை pV | பதை) ப (தை pV | ||||
_க) ப (த் bV | _க) ப (த் bV | ||||
வீர) ப (த்தினி pV | வீர) ப (த்தினி pV | ||||
கல்) ப (னா pV | கல்) ப (னா pV | ||||
_கம்) ப (னி pV | |||||
நிரு) ப (மா pV | நிரு) ப (மா pV | ||||
அனு) ப (மா pV | அனு) ப (மா pV | ||||
_க) ப (ம்_ bV | _க) ப (ம்_ bV | ||||
வட) ப (ழ pV | வட) ப (ழ pV | ||||
வீண்) ப (ழி pV | வீண்) ப (ழி pV | ||||
_தீ) ப (ா p | _தீ) ப (ா p | ||||
முதற்) ப (ாக b | |||||
உ) ப (ாசனை p | உ) ப (ாசனை p | ||||
சமன்) ப (ாட p | சமன்) ப (ாட p | ||||
முரன்) ப (ாட p | முரன்) ப (ாட p | ||||
தண்ட) ப (ாணி p | |||||
ப (ாண்டி p | ப (ாண்டி p | ||||
ப (ாதை p | ப (ாதை p | ||||
ச) பாபதி ba:pVti | ச) பாபதி ba:pVti | ||||
_டீ) ப (ாய் p | |||||
எதிர்) ப (ார p | எதிர்) ப (ார p | ||||
_சிவ) ப (ாலன b | |||||
_கா) ப (ாலி b | _கா) ப (ாலி b | ||||
தொடர்) ப (ால் b | |||||
முக) ப (ாவ b | முக) ப (ாவ b | ||||
அட) ப (ாவ p | அட) ப (ாவ p | ||||
வீண்) ப (ாவ p | வீண்) ப (ாவ p | ||||
அடி) ப (ாவி p | அடி) ப (ாவி p | ||||
_நவ) ப (ாஷ p | |||||
வாதா) ப (ி p | |||||
கோ) ப (ி p | கோ) ப (ி p | ||||
_பசி) ப (ிக் f | |||||
_முன்) ப (ின்_ p | _முன்) ப (ின்_ p | ||||
_) ப (ிப்ரவரி f | _) ப (ிப்ரவரி f | ||||
ஆ) ப (ிரிக்க f | |||||
போஜனப்) பி (ரியர p | |||||
உடன்) ப (ிற p | உடன்) ப (ிற p | ||||
ப (ிறகு+ p | ப (ிறகு+ p | ||||
தேய்) ப (ிறை p | தேய்) ப (ிறை p | ||||
சிறு) ப (ிள்ளை p | சிறு) ப (ிள்ளை p | ||||
ஆண்) ப (ிள்ளை p | ஆண்) ப (ிள்ளை p | ||||
பெண்) ப (ிள்ளை p | பெண்) ப (ிள்ளை p | ||||
_திம்) ப (ு p | |||||
_அன்) ப (ுட b | |||||
_மார்) ப (ுட b | |||||
வில்லி) ப (ுத்தூர p | |||||
ம்) ப (ுரா b | ம்) ப (ுரா b | ||||
இன்) ப (ுற b | இன்) ப (ுற b | ||||
_துன்) ப (ுற b | _துன்) ப (ுற b | ||||
இளம்) ப (ெண் p | இளம்) ப (ெண் p | ||||
ப (ெருமான p | ப (ெருமான p | ||||
ப (ெற p // ?? end-of-word + suffix ?? | ப (ெற p // ?? end-of-word + suffix ?? | ||||
_கை) ப (ேசி p | |||||
_செல்) ப (ேசி p | |||||
அலை) ப (ேசி p | |||||
தொலை) ப (ேசி p | |||||
வீண்) ப (ேச்ச p | வீண்) ப (ேச்ச p | ||||
_வெல்) ப (ேர f | |||||
ப (ேரில்_ p | ப (ேரில்_ p | ||||
ப (ேர்_ p | ப (ேர்_ p | ||||
வன்) ப (ொருள் p | |||||
மென்) ப (ொருள் p | |||||
வீண்) ப (ொழுத p | வீண்) ப (ொழுத p | ||||
ப (ோக_ p | ப (ோக_ p | ||||
ப (ோகவில்லை_ p | ப (ோகவில்லை_ p | ||||
ப (ோகிற p | ப (ோகிற p | ||||
ப (ோகும்_ p | ப (ோகும்_ p | ||||
_வீண்) ப (ோக்க p | _வீண்) ப (ோக்க p | ||||
_மார்) ப (ோட b | |||||
_சத்தம்) ப (ோட p | _சத்தம்) ப (ோட p | ||||
ப (ோதிலும்+ p | ப (ோதிலும்+ p | ||||
ப (ோது+ p | ப (ோது+ p | ||||
மன) ப்பி (ரமை bb | மன) ப்பி (ரமை bb | ||||
துர்) ப்ப (ோதனை bb | துர்) ப்ப (ோதனை bb | ||||
கம்) ப்யூட (ர pjU:t.V | கம்) ப்யூட (ர pjU:t.V | ||||
மென்) ப (ொருள் p | |||||
வன்) ப (ொருள் p | |||||
அருள்) ப (ாலி b | |||||
//endsort | //endsort | ||||
// If ப+ appearing in the middle of a word is followed by ட+ | // If ப+ appearing in the middle of a word is followed by ட+ | ||||
_) பி (ரச்சனை p | _) பி (ரச்சனை p | ||||
_) பிரச (்னை prVtS | _) பிரச (்னை prVtS | ||||
_) பி (ரஜ p | _) பி (ரஜ p | ||||
_) பிர (ண்ட்ஸ fre | |||||
பி (ரத p | பி (ரத p | ||||
_) பி (ரதம p | _) பி (ரதம p | ||||
_) பி (ரதர்_ b | _) பி (ரதர்_ b | ||||
_) பி (ரஸ்தா p | _) பி (ரஸ்தா p | ||||
_) பி (ரஹலாத p | _) பி (ரஹலாத p | ||||
_) பி (ராகார p | _) பி (ராகார p | ||||
_) பி (ராகிருத p | |||||
_) பி (ராக்கள b | _) பி (ராக்கள b | ||||
_) பி (ராட்வே b | |||||
_) பி (ராண_ p | _) பி (ராண_ p | ||||
_) பி (ராணன p | _) பி (ராணன p | ||||
_) பி (ராணி p | _) பி (ராணி p | ||||
_) பி (ரியாவை p | _) பி (ரியாவை p | ||||
_) பிரு (கன்நளை bri | _) பிரு (கன்நளை bri | ||||
_) பிரு (ந்தா bri | _) பிரு (ந்தா bri | ||||
_) பி (ரெஞ்சு f | |||||
_) பி (ரெண்ட்ஸ f | |||||
_) பி (ரே p | _) பி (ரே p | ||||
_) பி (ரோகிதர p | _) பி (ரோகிதர p | ||||
_) பி (ளாட்பார p | _) பி (ளாட்பார p | ||||
// musical notes | // musical notes | ||||
சா) ப (ா p | சா) ப (ா p | ||||
ரி) ப (K pV | |||||
// ரி) ப (K pV | |||||
ரீ) ப (K pV | ரீ) ப (K pV | ||||
ரி) ப (ா p | ரி) ப (ா p | ||||
ரீ) ப (ா p | ரீ) ப (ா p | ||||
_க) ப (ால b | _க) ப (ால b | ||||
_கா) ப (ந்து bV | _கா) ப (ந்து bV | ||||
சு) ப்ப bbV# | சு) ப்ப bbV# | ||||
மகா) ப (ாரத b | |||||
_) ப (ோனை f | _) ப (ோனை f | ||||
_) ப (ோட்டோ f | _) ப (ோட்டோ f | ||||
.group இ | .group இ | ||||
//sort | //sort | ||||
இ i | இ i | ||||
_) இ (யேச | |||||
_) இ (ரகசிய // silent | _) இ (ரகசிய // silent | ||||
_) இ (ரசாயன | _) இ (ரசாயன | ||||
_) இ (ரசிக்க | |||||
_) இ (ரத்த | _) இ (ரத்த | ||||
_) இ (ராக | |||||
_) இ (ராஜ | _) இ (ராஜ | ||||
_) இ (ராணி | _) இ (ராணி | ||||
_) இ (ராணுவ | _) இ (ராணுவ | ||||
_) இ (ராத்த | _) இ (ராத்த | ||||
_) இ (ராம | _) இ (ராம | ||||
_) இ (ராயபுர | |||||
_) இ (ராவண | _) இ (ராவண | ||||
_) இ (ராஷ்டிர | |||||
_) இ (லகுவாக | _) இ (லகுவாக | ||||
_) இ (லட்சண | _) இ (லட்சண | ||||
_) இ (லட்சிய // silent | _) இ (லட்சிய // silent | ||||
ஐ aI | ஐ aI | ||||
ஒ o | ஒ o | ||||
ஒள (வை aU // bad scanning | |||||
ஒள (ஷத aU | |||||
ஒள (டத aU | |||||
ஓ o: | ஓ o: | ||||
ஔ aU | ஔ aU | ||||
ஔி ol.i // for bad scanning of books | |||||
// combining vowels | // combining vowels | ||||
ூ u: | ூ u: | ||||
ெ e | ெ e | ||||
_ம) ெள (ன aU // bad scanning | |||||
_ம) ெள (ஸ aU // bad scanning | |||||
_ச) ெள aU | |||||
_ப) ெள aU | |||||
ே e: | ே e: | ||||
ோ o: | ோ o: | ||||
ௌ aU | ௌ aU | ||||
_த) ௌி el.i // for bad scanning | |||||
் // virama | ் // virama |
罪 zui4 | 罪 zui4 | ||||
衰 shuai1 | 衰 shuai1 | ||||
暄 xuan1 | 暄 xuan1 | ||||
個 ge4 | |||||
個 ge5 | |||||
頻 pin2 | 頻 pin2 | ||||
嗎 ma5 | 嗎 ma5 | ||||
也 ye3 | 也 ye3 | ||||
注 zhu4 | 注 zhu4 | ||||
问 wen4 | 问 wen4 | ||||
质 zhi4 | 质 zhi4 | ||||
个 ge4 | |||||
个 ge5 | |||||
猬 wei5 | 猬 wei5 | ||||
便 bian4 | 便 bian4 | ||||
烁 shuo4 | 烁 shuo4 |
<a href="http://en.wikipedia.org/wiki/Vowel">http://en.wikipedia.org/wiki/Vowel</a> | <a href="http://en.wikipedia.org/wiki/Vowel">http://en.wikipedia.org/wiki/Vowel</a> | ||||
<P> | <P> | ||||
In many cases it should be fairly easy to add a rough implementation of a new language, hopefully | In many cases it should be fairly easy to add a rough implementation of a new language, hopefully | ||||
enough to be intelligible.<br> | |||||
enough to be intelligible.<p> | |||||
After that it's a gradual process of improvement to: | After that it's a gradual process of improvement to: | ||||
<ul> | <ul> | ||||
<li>Make the spelling-to-phoneme translation rules more accurate, including the position of stressed | <li>Make the spelling-to-phoneme translation rules more accurate, including the position of stressed |
<p> | <p> | ||||
<dt> | <dt> | ||||
<strong>-s <integer></strong><br> | <strong>-s <integer></strong><br> | ||||
<dd>Sets the speed in words-per-minute (approximate values for the default English voice, others may differ slightly). The default value is 170. I generally use a faster speed | |||||
of 190. Range 80 to 390. Larger value are rounded down to the maximum. | |||||
<dd>Sets the speed in words-per-minute (approximate values for the default English voice, others may differ slightly). The default value is 175. I generally use a faster speed | |||||
of 200. Range 80 to 450. Larger value are rounded down to the maximum. | |||||
<p> | <p> | ||||
<dt> | <dt> | ||||
<strong>-b <integer></strong><br> | <strong>-b <integer></strong><br> | ||||
<p> | <p> | ||||
<dt> | <dt> | ||||
<strong>-q</strong><br><dd> | <strong>-q</strong><br><dd> | ||||
Quiet. No sound is generated. This may be useful with the -x option. | |||||
Quiet. No sound is generated. This may be useful with options such as -x and --pho. | |||||
<p> | <p> | ||||
<dt> | <dt> | ||||
<strong>-v <voice filename>[+<variant>]</strong><br> | <strong>-v <voice filename>[+<variant>]</strong><br> | ||||
<dt> | <dt> | ||||
<strong>-x</strong><br> | <strong>-x</strong><br> | ||||
<dd>The phoneme mnemonics, into which the input text is translated, are | <dd>The phoneme mnemonics, into which the input text is translated, are | ||||
shown on stdout. | |||||
written to stdout. | |||||
<p> | <p> | ||||
<dt> | <dt> | ||||
<strong>-X</strong><br> | <strong>-X</strong><br> | ||||
<dd> | <dd> | ||||
The same as <strong>--compile</strong>, but source line numbers from the *_rules file are included. These are included in the rules trace when the <strong>-X</strong> option is used. | The same as <strong>--compile</strong>, but source line numbers from the *_rules file are included. These are included in the rules trace when the <strong>-X</strong> option is used. | ||||
<p> | <p> | ||||
<dt><strong>--ipa</strong><br> | |||||
<dd> | |||||
Writes phonemes to stdout, using the International Phonetic Alphabet (IPA). | |||||
<p> | |||||
<dt><strong>--path [="<directory path>"]</strong><br> | <dt><strong>--path [="<directory path>"]</strong><br> | ||||
<dd> | <dd> | ||||
Specifies the directory which contains the espeak-data directory. | Specifies the directory which contains the espeak-data directory. | ||||
<p> | <p> | ||||
<dt><strong>--pho</strong><br> | |||||
<dd> | |||||
When used with an mbrola voice (eg. -v mb-en1), it writes mbrola phoneme data (.pho file format) to stdout. This includes the mbrola phoneme names with duration and pitch information, in a form which is suitable as input to this mbrola voice. The --phonout option can be used to write this data to a file. | |||||
<p> | |||||
<dt><strong>--phonout [="<filename>"]</strong><br> | <dt><strong>--phonout [="<filename>"]</strong><br> | ||||
<dd> | <dd> | ||||
If specified, mbrola phoneme data, and also the output from -x and -X options is written to this file, rather than stdout. | |||||
If specified, the output from -x, -X, --ipa, and --pho options is written to this file, rather than to stdout. | |||||
<p> | <p> | ||||
<dt><strong>--punct [="<characters>"]</strong><br> | <dt><strong>--punct [="<characters>"]</strong><br> | ||||
<dd> | <dd> | ||||
Speaks the names of punctuation characters when they are encountered in the text. If <characters> are given, then only those listed punctuation characters are spoken, eg. <code> --punct=".,;?"</code> | Speaks the names of punctuation characters when they are encountered in the text. If <characters> are given, then only those listed punctuation characters are spoken, eg. <code> --punct=".,;?"</code> | ||||
<p> | <p> | ||||
<dt><strong>--split [="<minutes>"]</strong><br> | |||||
<dt><strong>--split [=<minutes>]</strong><br> | |||||
<dd> | <dd> | ||||
Used with <strong>-w</strong>, it starts a new WAV file every <code><minutes></code> minutes, at the next sentence boundary. | Used with <strong>-w</strong>, it starts a new WAV file every <code><minutes></code> minutes, at the next sentence boundary. | ||||
<p> | <p> | ||||
<dd>Lists the available voices.<br> | <dd>Lists the available voices.<br> | ||||
If =<language code> is present then only those voices which are suitable for that language are listed.<br> | If =<language code> is present then only those voices which are suitable for that language are listed.<br> | ||||
<code>--voices=mbrola</code> lists the voices which use mbrola diphone voices. These are not included in the default <code>--voices</code> list<br> | <code>--voices=mbrola</code> lists the voices which use mbrola diphone voices. These are not included in the default <code>--voices</code> list<br> | ||||
<code>--voices=variant</code> lists the voice variants (voice modifiers).<br> | |||||
<code>--voices=variant</code> lists the available voice variants (voice modifiers).<br> | |||||
</dl> | </dl> | ||||
<p> <hr> | <p> <hr> |
<td><strong>N</strong></td> | <td><strong>N</strong></td> | ||||
<td>Only use this rule if the word is not a retranslation after removing a suffix.</td> | <td>Only use this rule if the word is not a retranslation after removing a suffix.</td> | ||||
</tr> | </tr> | ||||
<tr> | |||||
<td><strong>T</strong></td> | |||||
<td>Only use this rule if the word in found in the *_list file with the <b>$alt</b> attribute.</td> | |||||
</tr> | |||||
<tr> | <tr> | ||||
<td><strong>#</strong></td> | <td><strong>#</strong></td> | ||||
<td>(English specific) change the next "e" into a special character "E"</td> | <td>(English specific) change the next "e" into a special character "E"</td> | ||||
</tr> | </tr> | ||||
<tr> | |||||
<td><strong>$w_alt<br>$w_alt2<br>$w_alt3</strong></td> | |||||
<td>Only use this rule if the word is found in the *_list file with the <b>$alt</b>, <b>$alt2</b> or <b>$alt3</b> attribute respectively.</td> | |||||
</tr> | |||||
<tr> | |||||
<td><strong>$p_alt<br>$p_alt2<br>$p_alt3</strong></td> | |||||
<td>Only use this rule if the part-word, up to and including the pre and match parts of this rule, is found in the *_list file with the <b>$alt</b>, <b>$alt2</b> or <b>$alt3</b> attribute respectively.</td> | |||||
</tr> | |||||
</tbody> | </tbody> | ||||
</table> | </table> | ||||
</ul> | </ul> | ||||
</pre> | </pre> | ||||
S and P must be at the end of the <post> string. | S and P must be at the end of the <post> string. | ||||
<p> | <p> | ||||
S<number> may be followed by additonal letters (eg. S2ei ). Some of these are probably specific to English, but similar functions could be used for other languages. | |||||
S<number> may be followed by additonal letters (eg. S2ei ). Some of these are probably specific to English, but similar functions could be made for other languages. | |||||
<ul><table> | <ul><table> | ||||
<tbody> | <tbody> | ||||
<td>$hasdot</td> | <td>$hasdot</td> | ||||
<td>Use this pronunciation if the word is followed by a dot. (This attribute also implies $dot).</td> | <td>Use this pronunciation if the word is followed by a dot. (This attribute also implies $dot).</td> | ||||
</tr> | </tr> | ||||
<tr> | |||||
<td>$sentence</td> | |||||
<td>The rule only applies if the clause includes end-of-sentence (i.e. it is not terminated by a comma). For example, "$atend $sentence" means that the rule only applies at the end of a sentence.</td> | |||||
</tr> | |||||
<tr> | <tr> | ||||
<td>$abbrev</td> | <td>$abbrev</td> | ||||
<td>This has two meanings.<br> 1. If there is no phoneme string: Speak the word as individual letters, even if it contains a vowel (eg. "abc" should be spoken as "a" "b" "c").<br>2. If there is a phoneme string: This word is capitalized because it is an abbreviation and capitalization does indicate emphasis (if the "emphasize all-caps" is on).</td> | |||||
<td>This has two meanings.<br> 1. If there is no phoneme string: Speak the word as individual letters, even if it contains a vowel (eg. "abc" should be spoken as "a" "b" "c").<br>2. If there is a phoneme string: This word is capitalized because it is an abbreviation and capitalization does not indicate emphasis (if the "emphasize all-caps" is on).</td> | |||||
</tr> | </tr> | ||||
<tr> | <tr> | ||||
<td> </td> | <td> </td> | ||||
<tr> | <tr> | ||||
<td>$accent</td> | <td>$accent</td> | ||||
<td>Used for the pronunciation of a single alphabetic character. The character name is spoken as the base-letter name plus the accent (diacritic) name. eg. It can be used to specify that "â" is spoken as "a" "circumflex".</td> | <td>Used for the pronunciation of a single alphabetic character. The character name is spoken as the base-letter name plus the accent (diacritic) name. eg. It can be used to specify that "â" is spoken as "a" "circumflex".</td> | ||||
</tr> | |||||
<tr> | |||||
<td>$combine</td> | |||||
<td>This word is treated as though it is combined with the following word with a hyphen. This may be subject to fuither conditions for certain languages.</td> | |||||
</tr> | </tr> | ||||
<tr> | <tr> | ||||
<td>$alt $alt2</td> | |||||
<td>$alt $alt2 $alt3</td> | |||||
<td>These are language specific. Their use should be described in the language's **_list file</td> | <td>These are language specific. Their use should be described in the language's **_list file</td> | ||||
</tr> | </tr> | ||||
<tr> | <tr> |
<h3><A href="add_language.html">Adding a Language</A></h3> | <h3><A href="add_language.html">Adding a Language</A></h3> | ||||
How to add or improve a language. | How to add or improve a language. | ||||
<h3><A href="phonemes.html">Phonemes</A></h3> | <h3><A href="phonemes.html">Phonemes</A></h3> | ||||
The list of phoneme mnemonics, for use in the Pronunciation Dictionary. | |||||
The list of phoneme mnemonics for English, for use in the Pronunciation Dictionary. | |||||
<h3><A href="phontab.html">Phoneme Tables</A></h3> | <h3><A href="phontab.html">Phoneme Tables</A></h3> | ||||
The tables of the phonemes used by each language, with their properties and sound production. | The tables of the phonemes used by each language, with their properties and sound production. | ||||
<h3><A href="intonation.html">Intonation</A></h3> | |||||
Different intonation "tunes" may be defined for different languages for clauses which end in full-stop, comma, question-mark, and exclamation-mark. | |||||
<h3><A href="speak_lib.h">eSpeak Libary API</A></h3> | <h3><A href="speak_lib.h">eSpeak Libary API</A></h3> | ||||
API definition and header file for a shared library version of eSpeak. | API definition and header file for a shared library version of eSpeak. | ||||
<h3><A href="ssml.html">Markup tags</A></h3> | <h3><A href="ssml.html">Markup tags</A></h3> |
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> | |||||
<html> | |||||
<head> | |||||
<title>eSpeak: Phoneme tables</title> | |||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> | |||||
</head> | |||||
<body> | |||||
<A href="docindex.html">Back</A> | |||||
<hr> | |||||
<h2>INTONATION</h2> | |||||
<hr> | |||||
In eSpeak's standard intonation model, a "tune" is applied to each clause depending on its punctuation. Other intonation models may be used for some languages, such as tone languages. | |||||
<p> | |||||
Named tunes are defined in the text file: <b><code>phsource/intonation</code></b>. This file must be compiled for use by eSpeak by using the espeakedit program, using the menu option: <b><code>Compile -> Compile intonation data</code></b>. | |||||
<h3>Clauses</h3> | |||||
The tunes which are used for a language can be specified by using a <b><code>tunes</code></b> statement in a voice file in <b><code>espeak-data/voices</code></b>. eg: | |||||
<p> | |||||
<code>tunes s1 c1 q1 e1</code> | |||||
<p> | |||||
It's parameters are four tune names which are used for clauses which end in: | |||||
<ol> | |||||
<li>Full-stop. | |||||
<li>Comma. | |||||
<li>Question mark. | |||||
<li>Exclamation mark. | |||||
</ol> | |||||
<p> | |||||
A clause consists of the following parts: | |||||
<ul> | |||||
<li>Pre-head.<br>These are any unstressed syllables before the first stressed syllable. | |||||
<p> | |||||
<li>Head.<br>This is the part from the first stressed syllable up to the last syllable before the nucleus. | |||||
<p> | |||||
<li>Nucleus.<br>This is stressed syllable which is the focus of the clause. eSpeak chooses the last stressed syllable of the clause. | |||||
<p> | |||||
<li>Tail.<br>These are the syllables after the nucleus. | |||||
</ul> | |||||
<p> | |||||
<h3>Tune definitions</h3> | |||||
Here is an example tune definition from the file <b><code>phsource/intonation</code></b>. | |||||
<p> | |||||
<pre> | |||||
tune s1 | |||||
prehead 46 57 | |||||
headenv fall 16 | |||||
head 4 80 55 -8 -5 | |||||
headextend 0 63 38 13 0 | |||||
nucleus fall 70 18 24 12 | |||||
nucleus0 fall 64 8 | |||||
endtune | |||||
</pre> | |||||
<p> | |||||
It contains: | |||||
<dl> | |||||
<dt><strong>tune</strong> <tune name> | |||||
<dd> | |||||
Starts the definition of a tune. The <b><code>tune name</code></b> can be used in a <b><code>tunes</code></b> statements in voice files. | |||||
<p> | |||||
<dt><strong>endtune</strong> <tune name> | |||||
<dd> | |||||
Ends the definition of a tune. | |||||
<p> | |||||
<dt><strong>prehead</strong> <start pitch> <end pitch> | |||||
<dd> | |||||
Gives the pitch path for any series of unstressed syllables before the first stressed syllable. | |||||
<p> | |||||
<dt><strong>headenv</strong> <envelope> <height> | |||||
<dd> | |||||
Gives the pitch envelope which is used for stressed syllables in the head (before the nucleus), including <b><code>onset</code></b> and <b><code>headlast</code></b> syllables if these are specified. <b><code>height</code></b> gives a pitch range for the envelope. | |||||
<p> | |||||
<dt><strong>head</strong> <steps> <start pitch> <end pitch> <unstressed start> <unstressed end> | |||||
<dd> | |||||
<b><code>start pitch</code></b> and <b><code>end pitch</code></b> give a pitch path for the stressed syllables of the head. <b><code>steps</code></b> is the maximum number of stressed syllables for which this applies. If there are additional stressed syllables, then the <b><code>headextend</code></b> statement is used for them.<p> | |||||
<b><code>unstressed start</code></b> and <b><code>unstressed end</code></b> give a pitch path for unstressed syllables between two stressed syllables. Their values are relative to the pitch of the previous stressed syllable. Values are usually negative, meaning that the unstressed syllables have lower pitch than the previous stressed syllable. | |||||
<p> | |||||
<dt><strong>headextend</strong> <percentage list> | |||||
<dd> | |||||
If the head contains more stressed syllables than is specified by <b><code>steps</code></b>, then <b><code>percentage list</code></b> is used. It contains up to 8 numbers which are used repeatedly for the additional stressed syllables. A value of 0 corresponds to the lower the <b><code>start pitch</code></b> and <b><code>end pitch</code></b> values of the <b><code>head</code></b> statement. 100 corresponds to the higher value. Negative values and values greater than 100 are allowed. | |||||
<p> | |||||
<dt><strong>nucleus</strong> <envelope> <top pitch> <bottom pitch> <tail start> <tail end> | |||||
<dd> | |||||
This gives the pitch envelope and pitch range of the last stressed syllable of the clause. <b><code>tail start</code></b> and <b><code>tail end</code></b> give a pitch path for the unstressed syllables which are after the last stressed syllable. | |||||
<p> | |||||
<dt><strong>nucleus0</strong> <envelope> <top pitch> <bottom pitch> | |||||
<dd> | |||||
This is used instead of <b><code>nucleus</code></b> if there are no unstressed syllables after the last stressed syllable. In this case, the pitch changes of the nucleus and the tail and both included in the nucleus. | |||||
</dl> | |||||
<p> | |||||
The following attributes may also be included: | |||||
<dl> | |||||
<dt><strong>onset</strong> <pitch> <unstressed start> <unstressed end> | |||||
<dd> | |||||
This specifies the pitch for the first stressed syllable of the head. If the <b><code>onset</code></b> statement is present, then the <b><code>head</code></b> statement used for the stressed syllables after the first. | |||||
<p> | |||||
<dt><strong>headlast</strong> <pitch> <unstressed start> <unstressed end> | |||||
<dd> | |||||
This specifies the pitch for the last stressed syllable of the head (i.e. the stressed syllable before the nucleus). | |||||
<p> | |||||
</dl> |
</ol> | </ol> | ||||
<h3>Linux Installation</h3> | <h3>Linux Installation</h3> | ||||
I don't think there's a Linux shared library version of Mbrola (equivalent to mbrola.dll), so eSpeak has to pipe phoneme data to the command-line Mbrola. | |||||
From eSpeak version 1.44 onwards, eSpeak calls the mbrola program directly, rather than passing phoneme data to it using a pipe. | |||||
<ol> | <ol> | ||||
<li>To install the Linux Mbrola binary, download: | <li>To install the Linux Mbrola binary, download: | ||||
<a href="http://www.tcts.fpms.ac.be/synthesis/mbrola/bin/pclinux/mbr301h.zip"> http://www.tcts.fpms.ac.be/synthesis/mbrola/bin/pclinux/mbr301h.zip</a>. | <a href="http://www.tcts.fpms.ac.be/synthesis/mbrola/bin/pclinux/mbr301h.zip"> http://www.tcts.fpms.ac.be/synthesis/mbrola/bin/pclinux/mbr301h.zip</a>. | ||||
Unpack the archive, and copy and rename the file: <code>mbrola-linux-i386</code> to | |||||
Unpack the archive, and copy and rename the file from: <code>mbrola-linux-i386</code> to | |||||
<code>mbrola</code> somewhere in your executable path (eg. <code>/usr/bin/mbrola</code> ). | <code>mbrola</code> somewhere in your executable path (eg. <code>/usr/bin/mbrola</code> ). | ||||
<p> | <p> | ||||
<li>Get the en1 voice from: | <li>Get the en1 voice from: | ||||
<a href="http://www.tcts.fpms.ac.be/synthesis/mbrola/mbrcopybin.html"> http://www.tcts.fpms.ac.be/synthesis/mbrola/mbrcopybin.html</a>. | <a href="http://www.tcts.fpms.ac.be/synthesis/mbrola/mbrcopybin.html"> http://www.tcts.fpms.ac.be/synthesis/mbrola/mbrcopybin.html</a>. | ||||
Unpack the archive, and copy the "<b>en1</b>" data file (not the whole "en1" | Unpack the archive, and copy the "<b>en1</b>" data file (not the whole "en1" | ||||
directory) somewhere convenient (eg. <code>/usr/share/mbrola/en1</code> ). | |||||
directory) to <code>/usr/share/mbrola/en1</code>.<p>eSpeak will look for mbrola voices firstly in <code>espeak-data/mbrola</code> and then in <code>/usr/share/mbrola</code> | |||||
<p> | <p> | ||||
<li>If you use the eSpeak voice "<b>mb-en1</b>" then eSpeak will generate | |||||
Mbrola phoneme data on its stdout. You can pipe this into Mbrola. | |||||
<p> | |||||
<code>espeak -v mb-en1 -f textfile | mbrola -e /usr/share/mbrola/en1 - | |||||
test.wav</code> | |||||
<p> | |||||
will put the Mbrola speech output into a WAV file. Or you can pipe the output from Mbrola through aplay: | |||||
<p> | |||||
<code>espeak -v mb-en1 -f textfile | mbrola -e /usr/share/mbrola/en1 - - | aplay -r16000 -fS16</code> | |||||
<p> | |||||
The -e option prevents Mbrola from stopping if it finds a combination | |||||
of phonemes which it doesn't recognise. | |||||
<p> | |||||
Some mbrola voices (de5, de6) use a sample rate of 22050 Hz. These need -r22050 rather than -r16000. | |||||
<li>If you use the eSpeak voice such as "<b>mb-en1</b>" then eSpeak will use the mbrola "en1" voice, eg:<br> | |||||
<code>espeak -v mb-en1 "Hello world" | |||||
</code> | |||||
<p><p> | |||||
To generate mbrola phoneme data (.pho file) you can use:<br> | |||||
<code>espeak -v mb-en1 -q --pho "Hello world"</code> | |||||
<br>or<br> | |||||
<code>espeak -v mb-en1 -q --pho --phonout=out.pho "Hello world"</code> | |||||
</ol> | </ol> | ||||
<h3>Mbrola Voice Files</h3> | <h3>Mbrola Voice Files</h3> | ||||
<head> | <head> | ||||
<title>eSpeak: Phoneme tables</title> | <title>eSpeak: Phoneme tables</title> | ||||
<meta name="GENERATOR" content="Quanta Plus"> | |||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> | <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> | ||||
</head> | </head> | ||||
<body> | <body> | ||||
<tr><TD><b>rhotic</b></TD><td>(C) An "r" type consonant.</td></tr> | <tr><TD><b>rhotic</b></TD><td>(C) An "r" type consonant.</td></tr> | ||||
<tr><TD><b>unstressed</b></TD><td>(V) This vowel is always unstressed, unless explicitly marked otherwise.</td></tr> | <tr><TD><b>unstressed</b></TD><td>(V) This vowel is always unstressed, unless explicitly marked otherwise.</td></tr> | ||||
<tr><TD><b>nolink</b></TD><td>Prevent any linking from the previous phoneme.</td></tr> | <tr><TD><b>nolink</b></TD><td>Prevent any linking from the previous phoneme.</td></tr> | ||||
<tr><TD><b>nopause</b></TD><td>Used in a <code>liquid</code> or <code>nasal</code> phoneme to prevent eSpeak inserting a short pause if a word starts with this phoneme and the previous word ends with a vowel.</td></tr> | |||||
<tr><TD><b>trill</b></TD><td>(C) Apply trill to the voicing.</td></tr> | <tr><TD><b>trill</b></TD><td>(C) Apply trill to the voicing.</td></tr> | ||||
</table> | </table> | ||||
</dl> | </dl> | ||||
<dt><strong>length</strong> <length> | <dt><strong>length</strong> <length> | ||||
<dd>The relative length of the phoneme, typically about 140 for a short vowel and from 200 to 300 for a long vowel or diphong. A length() instruction is needed for vowels. It is optional for consonants. | <dd>The relative length of the phoneme, typically about 140 for a short vowel and from 200 to 300 for a long vowel or diphong. A length() instruction is needed for vowels. It is optional for consonants. | ||||
<p> | <p> | ||||
<dt><strong>ipa</strong> <ipa string> | |||||
<dd>In many cases, eSpeak makes IPA (International Phonetic Alpbabet) phoneme names automatically from eSpeak phoneme names. If this is not correct, then the phoneme definition can include an <b>ipa</b> instruction to specify the correct IPA name. IPA strings may include non-ascii characters. They may also include characters specified by their character codes in the form U+ followed by 4 hexadecimal digits. For example a string: aU+0303 indicates 'a' with a 'combining tilde'. | |||||
<p> | |||||
<dt><strong>WAV</strong>(<wav file>, <amplitude>) | <dt><strong>WAV</strong>(<wav file>, <amplitude>) | ||||
<dd> <wav file> is a path to a WAV file (22 kHz, 16 bits, mono) within <code>phsource/</code> which will be played to produce the sound. This method is used for unvoiced consonants. <wavefile> does not include a .WAV filename extension, although the file to which it refers may or may not have one.<br> | <dd> <wav file> is a path to a WAV file (22 kHz, 16 bits, mono) within <code>phsource/</code> which will be played to produce the sound. This method is used for unvoiced consonants. <wavefile> does not include a .WAV filename extension, although the file to which it refers may or may not have one.<br> | ||||
<amplitude> is optional. It is a percentage change to the amplitude of the WAV file. So, <code>WAV(ufric/s, 50)</code> means: play file 'ufric/s.wav' at 50% amplitude. | <amplitude> is optional. It is a percentage change to the amplitude of the WAV file. So, <code>WAV(ufric/s, 50)</code> means: play file 'ufric/s.wav' at 50% amplitude. | ||||
<p> | <p> | ||||
<dt><strong>FMT</strong>(<vowel file>) | |||||
<dd><vowel file> is a path to a file (within <code>phsource/</code>) which defines how to generate the sound (a vowel or voiced consonant) from a sequence of formant values. Vowel files are made using the espeakedit program. | |||||
<dt><strong>FMT</strong>(<vowel file>, <amplitude>) | |||||
<dd><vowel file> is a path to a file (within <code>phsource/</code>) which defines how to generate the sound (a vowel or voiced consonant) from a sequence of formant values. Vowel files are made using the espeakedit program.<br> | |||||
<amplitude> is optional. It is a percentage change to the amplitude of the sound which is synthesized from the FMT() instruction. | |||||
<p> | <p> | ||||
<dt><strong>FMT</strong>(<vowel file>) <strong>addWav</strong>(<wav file>, <amplitude>) | |||||
<dt><strong>FMT</strong>(<vowel file>, <amplitude>) <strong>addWav</strong>(<wav file>, <amplitude>) | |||||
<dd>For voiced consonants, a FMT() instruction may be followed by an addWav() instruction. addWav() has the same format as a WAV() instruction, but the WAV file is mixed with the sound which is synthesized from the FMT() instruction. | <dd>For voiced consonants, a FMT() instruction may be followed by an addWav() instruction. addWav() has the same format as a WAV() instruction, but the WAV file is mixed with the sound which is synthesized from the FMT() instruction. | ||||
<p> | <p> | ||||
<dt><strong>VowelStart</strong>(<vowel file>, <length adjust>) | <dt><strong>VowelStart</strong>(<vowel file>, <length adjust>) |
#ifndef SPEAK_LIB_H | #ifndef SPEAK_LIB_H | ||||
#define SPEAK_LIB_H | #define SPEAK_LIB_H | ||||
/*************************************************************************** | /*************************************************************************** | ||||
* Copyright (C) 2005 to 2007 by Jonathan Duddington * | |||||
* Copyright (C) 2005 to 2010 by Jonathan Duddington * | |||||
* email: [email protected] * | * email: [email protected] * | ||||
* * | * * | ||||
* This program is free software; you can redistribute it and/or modify * | * This program is free software; you can redistribute it and/or modify * | ||||
/*************************************************************/ | /*************************************************************/ | ||||
#include <stdio.h> | #include <stdio.h> | ||||
#include <stddef.h> | |||||
#define ESPEAK_API_REVISION 3 | |||||
#define ESPEAK_API_REVISION 5 | |||||
/* | /* | ||||
Revision 2 | Revision 2 | ||||
Added parameter "options" to eSpeakInitialize() | Added parameter "options" to eSpeakInitialize() | ||||
Revision 3 | Revision 3 | ||||
Added espeakWORDGAP to espeak_PARAMETER | Added espeakWORDGAP to espeak_PARAMETER | ||||
Revision 4 | |||||
Added flags parameter to espeak_CompileDictionary() | |||||
Revision 5 | |||||
Added espeakCHARS_16BIT | |||||
*/ | */ | ||||
/********************/ | /********************/ | ||||
/* Initialization */ | /* Initialization */ | ||||
typedef enum { | typedef enum { | ||||
espeakEVENT_LIST_TERMINATED = 0, // Retrieval mode: terminates the event list. | espeakEVENT_LIST_TERMINATED = 0, // Retrieval mode: terminates the event list. | ||||
espeakEVENT_WORD = 1, // Start of word | espeakEVENT_WORD = 1, // Start of word | ||||
espeakEVENT_SENTENCE, // Start of sentence | |||||
espeakEVENT_MARK, // Mark | |||||
espeakEVENT_PLAY, // Audio element | |||||
espeakEVENT_END, // End of sentence | |||||
espeakEVENT_MSG_TERMINATED, // End of message | |||||
espeakEVENT_PHONEME // Phoneme, if enabled in espeak_Initialize() | |||||
espeakEVENT_SENTENCE = 2, // Start of sentence | |||||
espeakEVENT_MARK = 3, // Mark | |||||
espeakEVENT_PLAY = 4, // Audio element | |||||
espeakEVENT_END = 5, // End of sentence or clause | |||||
espeakEVENT_MSG_TERMINATED = 6, // End of message | |||||
espeakEVENT_PHONEME = 7, // Phoneme, if enabled in espeak_Initialize() | |||||
espeakEVENT_SAMPLERATE = 8 // internal use, set sample rate | |||||
} espeak_EVENT_TYPE; | } espeak_EVENT_TYPE; | ||||
#define espeakCHARS_UTF8 1 | #define espeakCHARS_UTF8 1 | ||||
#define espeakCHARS_8BIT 2 | #define espeakCHARS_8BIT 2 | ||||
#define espeakCHARS_WCHAR 3 | #define espeakCHARS_WCHAR 3 | ||||
#define espeakCHARS_16BIT 4 | |||||
#define espeakSSML 0x10 | #define espeakSSML 0x10 | ||||
#define espeakPHONEMES 0x100 | #define espeakPHONEMES 0x100 | ||||
#endif | #endif | ||||
espeak_ERROR espeak_Key(const char *key_name); | espeak_ERROR espeak_Key(const char *key_name); | ||||
/* Speak the name of a keyboard key. | /* Speak the name of a keyboard key. | ||||
Currently this just speaks the "key_name" as given | |||||
If key_name is a single character, it speaks the name of the character. | |||||
Otherwise, it speaks key_name as a text string. | |||||
Return: EE_OK: operation achieved | Return: EE_OK: operation achieved | ||||
EE_BUFFER_FULL: the command can not be buffered; | EE_BUFFER_FULL: the command can not be buffered; | ||||
relative=1 Sets a relative value of the parameter. | relative=1 Sets a relative value of the parameter. | ||||
parameter: | parameter: | ||||
espeakRATE: speaking speed in word per minute. | |||||
espeakRATE: speaking speed in word per minute. Values 80 to 450. | |||||
espeakVOLUME: volume in range 0-100 0=silence | |||||
espeakVOLUME: volume in range 0-200 or more. | |||||
0=silence, 100=normal full volume, greater values may produce amplitude compression or distortion | |||||
espeakPITCH: base pitch, range 0-100. 50=normal | espeakPITCH: base pitch, range 0-100. 50=normal | ||||
value=0 No phoneme output (default) | value=0 No phoneme output (default) | ||||
value=1 Output the translated phoneme symbols for the text | value=1 Output the translated phoneme symbols for the text | ||||
value=2 as (1), but also output a trace of how the translation was done (matching rules and list entries) | value=2 as (1), but also output a trace of how the translation was done (matching rules and list entries) | ||||
value=3 as (1), but produces IPA rather than ascii phoneme names | |||||
stream output stream for the phoneme symbols (and trace). If stream=NULL then it uses stdout. | stream output stream for the phoneme symbols (and trace). If stream=NULL then it uses stdout. | ||||
*/ | */ | ||||
#ifdef __cplusplus | #ifdef __cplusplus | ||||
extern "C" | extern "C" | ||||
#endif | #endif | ||||
void espeak_CompileDictionary(const char *path, FILE *log); | |||||
void espeak_CompileDictionary(const char *path, FILE *log, int flags); | |||||
/* Compile pronunciation dictionary for a language which corresponds to the currently | /* Compile pronunciation dictionary for a language which corresponds to the currently | ||||
selected voice. The required voice should be selected before calling this function. | selected voice. The required voice should be selected before calling this function. | ||||
path: The directory which contains the language's '_rules' and '_list' files. | path: The directory which contains the language's '_rules' and '_list' files. | ||||
'path' should end with a path separator character ('/'). | 'path' should end with a path separator character ('/'). | ||||
log: Stream for error reports and statistics information. If log=NULL then stderr will be used. | log: Stream for error reports and statistics information. If log=NULL then stderr will be used. | ||||
flags: Bit 0: include source line information for debug purposes (This is displayed with the | |||||
-X command line option). | |||||
*/ | */ | ||||
/***********************/ | /***********************/ | ||||
/* Voice Selection */ | /* Voice Selection */ | ||||
The list is terminated by a NULL pointer | The list is terminated by a NULL pointer | ||||
If voice_spec is NULL then all voices are listed. | If voice_spec is NULL then all voices are listed. | ||||
If voice spec is give, then only the voices which are compatible with the voice_spec | |||||
If voice spec is given, then only the voices which are compatible with the voice_spec | |||||
are listed, and they are listed in preference order. | are listed, and they are listed in preference order. | ||||
*/ | */ | ||||
Any unrecognised tags are ignored.<p> | Any unrecognised tags are ignored.<p> | ||||
The following tags case a sentence break.<br> | The following tags case a sentence break.<br> | ||||
<b><br> | <b><br> | ||||
<dd> | |||||
<li> | <li> | ||||
<img> | <img> | ||||
<td> | <td> | ||||
<h4> | <h4> | ||||
<hr> | <hr> | ||||
</b><p> | </b><p> | ||||
Text between the following tags is ignored.<br> | |||||
<b><script> ... </script> <br> | |||||
<style> ... </style> <br> | |||||
</b><p> | |||||
</body> | </body> | ||||
</html> | </html> |
65 phoneme tables | |||||
66 phoneme tables | |||||
new total | new total | ||||
base 107 107 | base 107 107 | ||||
consonants 9 115 | consonants 9 115 | ||||
en-wi 30 148 | en-wi 30 148 | ||||
af 39 136 | af 39 136 | ||||
cy 29 132 | cy 29 132 | ||||
de 38 139 | |||||
de 37 138 | |||||
eo 13 114 | eo 13 114 | ||||
jbo 2 114 | jbo 2 114 | ||||
nci 3 123 | nci 3 123 | ||||
ta 21 153 | ta 21 153 | ||||
hu 24 121 | hu 24 121 | ||||
lv 29 125 | lv 29 125 | ||||
nl 24 125 | |||||
pl 20 118 | |||||
sk 28 133 | |||||
cs 6 133 | |||||
hr 25 138 | |||||
mk 3 139 | |||||
sr 14 138 | |||||
nl 25 126 | |||||
pl 22 120 | |||||
sk 28 135 | |||||
cs 6 135 | |||||
hr 25 140 | |||||
mk 3 141 | |||||
sr 14 140 | |||||
it 18 126 | it 18 126 | ||||
la 21 124 | la 21 124 | ||||
es 10 123 | es 10 123 | ||||
pt 29 138 | pt 29 138 | ||||
pt-pt 20 138 | pt-pt 20 138 | ||||
ro 36 146 | ro 36 146 | ||||
el 8 123 | |||||
el 9 123 | |||||
grc 12 127 | grc 12 127 | ||||
sv 22 127 | sv 22 127 | ||||
no 28 132 | no 28 132 | ||||
id 15 125 | id 15 125 | ||||
sq 33 126 | sq 33 126 | ||||
hy 23 117 | hy 23 117 | ||||
da 24 120 | |||||
da 27 120 | |||||
rw 15 130 | rw 15 130 | ||||
ml 13 151 | ml 13 151 | ||||
ne 18 157 | ne 18 157 | ||||
pa 14 151 | pa 14 151 | ||||
prs 8 111 | prs 8 111 | ||||
sl 7 133 | |||||
sl 10 135 | |||||
gd 6 107 | gd 6 107 | ||||
bg 10 119 | |||||
nso 8 107 | |||||
bg 10 121 | |||||
nso 12 111 | |||||
ht 11 140 | ht 11 140 | ||||
az 10 127 | az 10 127 | ||||
ak 8 109 | |||||
Data file Used by | Data file Used by | ||||
b/b [b] base | b/b [b] base | ||||
[l/] fr | [l/] fr | ||||
l/l_@ [l/3] base | l/l_@ [l/3] base | ||||
[l/] fr | [l/] fr | ||||
l/l@ [h&w] base | |||||
l/l@ [hæy] base | |||||
[l#] base | [l#] base | ||||
[l] fr | [l] fr | ||||
[l/2] fr | [l/2] fr | ||||
[K] nso | |||||
l/L1_aL [l/] base | l/L1_aL [l/] base | ||||
[l/] de | [l/] de | ||||
l/L1_eL [l/] base | l/L1_eL [l/] base | ||||
l/L2_uL [l/2] base | l/L2_uL [l/2] base | ||||
l/l_3 [l/] de | l/l_3 [l/] de | ||||
l/l_4 [ll] sq | l/l_4 [ll] sq | ||||
l/la [h&w] base | |||||
l/la [hæy] base | |||||
[l#] base | [l#] base | ||||
[l] fr | [l] fr | ||||
[l/2] fr | [l/2] fr | ||||
[K] nso | |||||
l/l_a [l/3] base | l/l_a [l/3] base | ||||
[l/] fr | [l/] fr | ||||
l/le [h&w] base | |||||
l/le [hæy] base | |||||
[l#] base | [l#] base | ||||
[l] fr | [l] fr | ||||
[l/2] fr | [l/2] fr | ||||
[K] nso | |||||
l/l_e [l/3] base | l/l_e [l/3] base | ||||
[l/] fr | [l/] fr | ||||
l/L_eL_af [&] af | l/L_eL_af [&] af | ||||
[&:] af | [&:] af | ||||
l/l_front [L] sq | l/l_front [L] sq | ||||
l/l_front_ [l/4] sq | l/l_front_ [l/4] sq | ||||
l/li [h&w] base | |||||
l/li [hæy] base | |||||
[l#] base | [l#] base | ||||
[l] fr | [l] fr | ||||
[l/2] fr | [l/2] fr | ||||
[l] zh | [l] zh | ||||
[K] nso | |||||
l/l_i [l/3] base | l/l_i [l/3] base | ||||
[l/] fr | [l/] fr | ||||
[i] sq | [i] sq | ||||
ll/_ll [L] bg | ll/_ll [L] bg | ||||
l/l_long [l] base | l/l_long [l] base | ||||
[l] fr | [l] fr | ||||
l/lo [h&w] base | |||||
l/lo [hæy] base | |||||
[l#] base | [l#] base | ||||
[l] fr | [l] fr | ||||
[l/2] fr | [l/2] fr | ||||
[K] nso | |||||
l/l_o [l/3] base | l/l_o [l/3] base | ||||
[l/] fr | [l/] fr | ||||
l^/l_rfx [l.] base | l^/l_rfx [l.] base | ||||
l/lu [h&w] base | |||||
l/lu [hæy] base | |||||
[l#] base | [l#] base | ||||
[l] fr | [l] fr | ||||
[l/2] fr | [l/2] fr | ||||
[K] nso | |||||
l/l_u [l/3] base | l/l_u [l/3] base | ||||
[l/] fr | [l/] fr | ||||
l/l_vi [l] vi | l/l_vi [l] vi | ||||
[l] fr | [l] fr | ||||
[l] hu | [l] hu | ||||
[ll] sq | [ll] sq | ||||
[K] nso | |||||
m/_m [m] base | m/_m [m] base | ||||
m/m_ [m] base | m/m_ [m] base | ||||
m/m@ [m] base | m/m@ [m] base | ||||
[n#] is | [n#] is | ||||
[n] zh | [n] zh | ||||
r/@_ [V#] de | r/@_ [V#] de | ||||
[V3#] de | |||||
r2/r2@ [r-] en | r2/r2@ [r-] en | ||||
r2/r2a [r-] en | r2/r2a [r-] en | ||||
r2/r2e [r-] en | r2/r2e [r-] en | ||||
[r] ro | [r] ro | ||||
[r] ru | [r] ru | ||||
r/V_ [V#] de | r/V_ [V#] de | ||||
[V1#] de | |||||
r/V_2_ [V#] de | r/V_2_ [V#] de | ||||
[V2#] de | |||||
r/xr [r] base | r/xr [r] base | ||||
[R3] base | [R3] base | ||||
[r-] en | [r-] en | ||||
[z2] fr | [z2] fr | ||||
[s] es | [s] es | ||||
[z] sq | [z] sq | ||||
[s] da | |||||
ufric/s_ [s] base | ufric/s_ [s] base | ||||
[z] base | [z] base | ||||
[s2] consonants | [s2] consonants | ||||
ufric/s! [s] base | ufric/s! [s] base | ||||
[s] fr | [s] fr | ||||
[s] es | [s] es | ||||
[s] da | |||||
ufric/s_continue [s2] consonants | ufric/s_continue [s2] consonants | ||||
[s2] lv | [s2] lv | ||||
ufric/sh [S] base | ufric/sh [S] base | ||||
ufric/th [T] base | ufric/th [T] base | ||||
ufric/th_ [T] base | ufric/th_ [T] base | ||||
ufric/tl# [tl#] is | ufric/tl# [tl#] is | ||||
ufric/tlh [K] nso | |||||
ufric/x [x] base | ufric/x [x] base | ||||
[kh] vi | [kh] vi | ||||
ufric/x2 [x2] af | ufric/x2 [x2] af | ||||
ustop/p [p] base | ustop/p [p] base | ||||
[p2] fr | [p2] fr | ||||
[p] zhy | [p] zhy | ||||
[p] da | |||||
ustop/p_ [p] base | ustop/p_ [p] base | ||||
[ph] consonants | [ph] consonants | ||||
[p] fr | [p] fr | ||||
[p] lv | [p] lv | ||||
[p] sk | [p] sk | ||||
[p] sq | [p] sq | ||||
[p] da | |||||
ustop/pr [p] base | ustop/pr [p] base | ||||
[p-] consonants | [p-] consonants | ||||
[ph] consonants | [ph] consonants | ||||
[p] base2 | [p] base2 | ||||
[p] da | |||||
ustop/p_unasp [p] base | ustop/p_unasp [p] base | ||||
[p-] consonants | [p-] consonants | ||||
[p] base2 | [p] base2 | ||||
[p] sk | [p] sk | ||||
[p] zh | [p] zh | ||||
[p] sq | [p] sq | ||||
[p] da | |||||
ustop/p_unasp_ [p-] consonants | ustop/p_unasp_ [p-] consonants | ||||
[p] base2 | [p] base2 | ||||
[p] fr | [p] fr | ||||
[dh.] hi | [dh.] hi | ||||
[th.] hi | [th.] hi | ||||
[t] zhy | [t] zhy | ||||
[t] da | |||||
ustop/t_ [t] base | ustop/t_ [t] base | ||||
[t] en-us | [t] en-us | ||||
[t] fr | [t] fr | ||||
[t] lv | [t] lv | ||||
[t] sk | [t] sk | ||||
[t] el | |||||
[th] zh | [th] zh | ||||
ustop/t_dnt [t] base | ustop/t_dnt [t] base | ||||
[t[] base | [t[] base | ||||
[t;] pl | [t;] pl | ||||
ustop/tr [t] base | ustop/tr [t] base | ||||
[t] en-us | [t] en-us | ||||
[t] da | |||||
ustop/ts [ts] consonants | ustop/ts [ts] consonants | ||||
[dz] consonants | [dz] consonants | ||||
[ts] hu | [ts] hu | ||||
[t.] hi | [t.] hi | ||||
[t] lv | [t] lv | ||||
[t] sk | [t] sk | ||||
[t] el | |||||
ustop/t_short_ [t] fr | ustop/t_short_ [t] fr | ||||
ustop/tsh_pzd [tS;] zh | ustop/tsh_pzd [tS;] zh | ||||
ustop/tsh_pzd_unasp [tS;] zh | ustop/tsh_pzd_unasp [tS;] zh | ||||
ustop/ts_sr [tS;] sr | ustop/ts_sr [tS;] sr | ||||
[dZ;] sr | [dZ;] sr | ||||
ustop/ts_unasp [ts] zh | ustop/ts_unasp [ts] zh | ||||
ustop/t_unasp2 [t] zh | |||||
ustop/t_unasp2 [t] el | |||||
[t] zh | |||||
vdiph/0i [OI] pt | vdiph/0i [OI] pt | ||||
[OI] grc | [OI] grc | ||||
[OI] vi | [OI] vi | ||||
[aU] la | [aU] la | ||||
[aau] zhy | [aau] zhy | ||||
vdiph/aau_3 [aU] hi | vdiph/aau_3 [aU] hi | ||||
[aU] ta | |||||
[aU] ne | [aU] ne | ||||
vdiph/aau_4 [aU] vi | vdiph/aau_4 [aU] vi | ||||
vdiph/aau_6 [aU] de | vdiph/aau_6 [aU] de | ||||
vdiph/aoo [aU] en-us | vdiph/aoo [aU] en-us | ||||
vdiph/au [aU] en | vdiph/au [aU] en | ||||
[aU] af | [aU] af | ||||
[aU] ta | |||||
[a:U] vi | [a:U] vi | ||||
[aU] prs | [aU] prs | ||||
vdiph/au# [aU] en-sc | vdiph/au# [aU] en-sc | ||||
[O~] fr | [O~] fr | ||||
vnasal/oo_n2 [O~] en | vnasal/oo_n2 [O~] en | ||||
[O~] hi | [O~] hi | ||||
[O~] nl | |||||
[o] zh | [o] zh | ||||
vnasal/oo_n3 [O~] pl | vnasal/oo_n3 [O~] pl | ||||
vnasal/u_n [U~] hi | vnasal/u_n [U~] hi | ||||
[a] it | [a] it | ||||
[a] zh | [a] zh | ||||
[a] id | [a] id | ||||
[a] sl | |||||
[a] bg | [a] bg | ||||
vowel/a# [a] base2 | vowel/a# [a] base2 | ||||
[a/] base2 | [a/] base2 | ||||
[A] pt | [A] pt | ||||
[a] pt-pt | [a] pt-pt | ||||
[a] ro | [a] ro | ||||
[a] el | |||||
[a] da | [a] da | ||||
[a] rw | [a] rw | ||||
vowel/a#_2 [A] nl | vowel/a#_2 [A] nl | ||||
[a/] sq | [a/] sq | ||||
[3] da | [3] da | ||||
[a] ml | [a] ml | ||||
vowel/a_4 [a/] el | |||||
vowel/a_4 [a] el | |||||
[a] vi | [a] vi | ||||
vowel/a#_4 [a:] nl | vowel/a#_4 [a:] nl | ||||
[a] tr | [a] tr | ||||
[a:] hi | [a:] hi | ||||
[a] ne | [a] ne | ||||
[a] pa | [a] pa | ||||
[a] ak | |||||
vowel/@_bck [@] hi | vowel/@_bck [@] hi | ||||
[@/] hi | [@/] hi | ||||
[@] zh | [@] zh | ||||
[e] ku | [e] ku | ||||
vowel/e_5 [i] en-sc | vowel/e_5 [i] en-sc | ||||
vowel/e_6 [e] ht | vowel/e_6 [e] ht | ||||
[e] ak | |||||
vowel/e_8 [E:] de | vowel/e_8 [E:] de | ||||
[e] fr | [e] fr | ||||
vowel/ee [E] en-n | vowel/ee [E] en-n | ||||
[E] vi | [E] vi | ||||
vowel/ee_4 [E] sq | vowel/ee_4 [E] sq | ||||
vowel/ee_5 [E] en | vowel/ee_5 [E] en | ||||
[E] ak | |||||
vowel/ee_6 [&] sk | vowel/ee_6 [&] sk | ||||
[E3] sv | [E3] sv | ||||
[E] ku | [E] ku | ||||
[i] ne | [i] ne | ||||
[i] prs | [i] prs | ||||
[i] nso | [i] nso | ||||
[i] ak | |||||
vowel/i# [y:] cy | vowel/i# [y:] cy | ||||
vowel/i_2 [i2] de | vowel/i_2 [i2] de | ||||
[i:] de | [i:] de | ||||
[I] no | [I] no | ||||
[I] tr | [I] tr | ||||
[I] pa | [I] pa | ||||
[i] sl | |||||
vowel/ii#_3 [I2] en-us | vowel/ii#_3 [I2] en-us | ||||
vowel/ii_4 [I2] en | vowel/ii_4 [I2] en | ||||
[I] en-us | [I] en-us | ||||
[o:] ml | [o:] ml | ||||
[o:] pa | [o:] pa | ||||
[o] sl | [o] sl | ||||
[o] ak | |||||
vowel/o_2 [o:] cy | vowel/o_2 [o:] cy | ||||
[o:] hi | [o:] hi | ||||
[o:] hu | [o:] hu | ||||
[O] cy | [O] cy | ||||
[o] cs | [o] cs | ||||
[0] da | [0] da | ||||
[O] ak | |||||
vowel/oo_3 [O] af | vowel/oo_3 [O] af | ||||
vowel/oo_4 [O] base2 | vowel/oo_4 [O] base2 | ||||
[0] en-wm | [0] en-wm | ||||
[u] ml | [u] ml | ||||
[u:] ml | [u:] ml | ||||
[u] prs | [u] prs | ||||
[u] ak | |||||
vowel/u# [u:] en-sc | vowel/u# [u:] en-sc | ||||
[Y] tr | [Y] tr | ||||
vowel/u_2 [u1] fi | vowel/u_2 [u1] fi | ||||
[u] ro | [u] ro | ||||
[u] is | [u] is | ||||
[u] tr | [u] tr | ||||
[u] sl | |||||
[u] bg | [u] bg | ||||
vowel/u#_2 [u-] sv | vowel/u#_2 [u-] sv | ||||
vowel/u#_3 [U] ta | vowel/u#_3 [U] ta |
endphoneme | endphoneme | ||||
// don't weaken consonants at end of word or before a stop | |||||
phoneme s | |||||
vls alv frc sibilant | |||||
voicingswitch z | |||||
lengthmod 3 | |||||
Vowelin f1=0 f2=1700 -300 300 f3=-100 80 | |||||
Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20 | |||||
IF nextPh(p) OR nextPh(t) OR nextPh(k) THEN | |||||
WAV(ufric/s!) | |||||
ENDIF | |||||
WAV(ufric/s) | |||||
endphoneme | |||||
phoneme p | |||||
vls blb stop | |||||
voicingswitch b | |||||
lengthmod 2 | |||||
Vowelin f1=0 f2=1000 -50 -100 f3=-200 80 amp=11 | |||||
Vowelout f1=0 f2=1000 -500 -350 f3=-300 80 rms=22 | |||||
IF nextPh(isPause2) THEN | |||||
WAV(ustop/p_unasp) | |||||
ELIF nextPh(r) THEN | |||||
WAV(ustop/pr, 70) | |||||
ELIF nextPh(R) OR nextPh(R2) THEN | |||||
WAV(ustop/pr) | |||||
ELIF nextPh(@-) THEN | |||||
WAV(ustop/p_unasp) | |||||
ELIF nextPh(l) THEN | |||||
WAV(ustop/pl) | |||||
ENDIF | |||||
WAV(ustop/p) | |||||
endphoneme | |||||
phoneme t | |||||
vls alv stop | |||||
voicingswitch d | |||||
lengthmod 2 | |||||
Vowelin f1=0 f2=1700 -300 300 f3=-100 80 | |||||
Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20 | |||||
IF nextPh(r) OR nextPh(R) OR nextPh(R2) THEN | |||||
WAV(ustop/tr) | |||||
ENDIF | |||||
WAV(ustop/t, 90) | |||||
endphoneme | |||||
import_phoneme fr/A~ | import_phoneme fr/A~ | ||||
endphoneme | endphoneme | ||||
phoneme O~ | |||||
vowel starttype #o endtype #o | |||||
length 190 | |||||
FMT(vnasal/oo_n2) | |||||
endphoneme | |||||
// Diphthongs | // Diphthongs | ||||
//=========== | //=========== |
endphoneme | endphoneme | ||||
// TESTING | |||||
phoneme V1# | |||||
liquid | |||||
lengthmod 7 | |||||
IF nextPhW(isVowel) THEN | |||||
ChangePhoneme(r") | |||||
ENDIF | |||||
FMT(r/V_) | |||||
endphoneme | |||||
phoneme V2# // used for 'r' after a vowel (to create a diphthong) | |||||
liquid | |||||
lengthmod 7 | |||||
IF nextPhW(isVowel) THEN | |||||
ChangePhoneme(r") | |||||
ENDIF | |||||
FMT(r/V_2_) | |||||
endphoneme | |||||
phoneme V3# | |||||
liquid | |||||
lengthmod 7 | |||||
IF nextPhW(isVowel) THEN | |||||
ChangePhoneme(r") | |||||
ENDIF | |||||
FMT(r/@_) | |||||
endphoneme | |||||
phoneme UR | phoneme UR | ||||
vowel starttype #u endtype #@ | vowel starttype #u endtype #@ | ||||
ipa ʊɐ | ipa ʊɐ | ||||
endphoneme | endphoneme | ||||
phoneme r2 | |||||
vcd alv flp | |||||
IF prevPhW(isVowel) THEN | |||||
ChangePhoneme(*) | |||||
ENDIF | |||||
InsertPhoneme(@-) | |||||
ChangePhoneme(*) | |||||
endphoneme | |||||
phoneme oU // for English words | |||||
import_phoneme en-us/oU | |||||
endphoneme | |||||
// translate from English to German phonemes | // translate from English to German phonemes | ||||
E E | E E | ||||
e: e: | e: e: | ||||
e@ E: r | e@ E: r | ||||
eI e: | |||||
eI e j | |||||
i I | i I | ||||
I I | I I | ||||
I2 I | I2 I | ||||
O@ O : r | O@ O : r | ||||
o@ O : r | o@ O : r | ||||
OI OY | OI OY | ||||
oU o: | |||||
oU oU | |||||
O~ O n | O~ O n | ||||
U U | U U | ||||
u: u: | u: u: |
//==================================================== | //==================================================== | ||||
phoneme a/ | |||||
vowel starttype #@ endtype #@ | |||||
phoneme a | |||||
vowel starttype #a endtype #a | |||||
length 180 | length 180 | ||||
FMT(vowel/a_4) | |||||
IF thisPh(isWordEnd) AND thisPh(isNotStressed) AND nextPh(a) THEN | |||||
ChangePhoneme(NULL) | |||||
ENDIF | |||||
IF thisPh(isDiminished) THEN | |||||
FMT(vowel/a_4) | |||||
ENDIF | |||||
FMT(vowel/a_2) | |||||
endphoneme | endphoneme | ||||
phoneme e | phoneme e | ||||
vowel starttype #e endtype #e | vowel starttype #e endtype #e | ||||
length 180 | length 180 | ||||
Vowelin f1=1 f2=1600 -300 300 f3=-100 80 amp=11 | Vowelin f1=1 f2=1600 -300 300 f3=-100 80 amp=11 | ||||
Vowelout f1=0 f2=1600 -300 250 f3=-100 80 rms=20 | Vowelout f1=0 f2=1600 -300 250 f3=-100 80 rms=20 | ||||
IF nextPh(isPause2) THEN | IF nextPh(isPause2) THEN | ||||
WAV(ustop/t_) | |||||
WAV(ustop/t_unasp2) | |||||
ENDIF | ENDIF | ||||
WAV(ustop/t_short, 80) | |||||
WAV(ustop/t_unasp2) | |||||
endphoneme | endphoneme | ||||
WAV(ustop/k_unasp, 70) | WAV(ustop/k_unasp, 70) | ||||
endphoneme | endphoneme | ||||
phoneme r | |||||
import_phoneme base/R2 | |||||
endphoneme | |||||
phoneme dz | phoneme dz | ||||
import_phoneme consonants/dz | |||||
CALL consonants/dz | |||||
voicingswitch ts | voicingswitch ts | ||||
ipa dʑ | |||||
endphoneme | |||||
phoneme ts; | |||||
CALL base/tS; | |||||
voicingswitch dz; | |||||
ipa tɕ | |||||
endphoneme | |||||
phoneme dz; | |||||
import_phoneme base/dZ; | |||||
voicingswitch ts; | |||||
endphoneme | endphoneme | ||||
phoneme U | phoneme U | ||||
vowel starttype #u endtype #u | vowel starttype #u endtype #u | ||||
length 140 | length 140 | ||||
IF thisPh(isWordEnd) AND nextPh(isVowel) THEN | |||||
ChangePhoneme(w) | |||||
ENDIF | |||||
FMT(vowel/uu_bck) | FMT(vowel/uu_bck) | ||||
endphoneme | endphoneme | ||||
phoneme aI | phoneme aI | ||||
vowel starttype #a endtype #i | vowel starttype #a endtype #i | ||||
length 230 | |||||
length 280 | |||||
FMT(vdiph/ai_8) | FMT(vdiph/ai_8) | ||||
endphoneme | endphoneme | ||||
phoneme aU | phoneme aU | ||||
vowel starttype #a endtype #u | vowel starttype #a endtype #u | ||||
length 200 | |||||
FMT(vdiph/aau_3) | |||||
length 260 | |||||
FMT(vdiph/au) | |||||
endphoneme | endphoneme | ||||
ChangePhoneme(l) | ChangePhoneme(l) | ||||
ENDIF | ENDIF | ||||
CALL vowelstart_l | |||||
PrevVowelEndings | PrevVowelEndings | ||||
VowelEnding(l/L2_@L, -60) | VowelEnding(l/L2_@L, -60) | ||||
VowelEnding(l/L2_aL, -50) | VowelEnding(l/L2_aL, -50) | ||||
ENDIF | ENDIF | ||||
IF nextPh(isPause2) THEN | IF nextPh(isPause2) THEN | ||||
FMT(voc/z_) addWav(ufric/s_, 85) | |||||
FMT(voc/z_) addWav(ufric/s_, 70) | |||||
ENDIF | ENDIF | ||||
FMT(voc/z) addWav(ufric/s_) | |||||
FMT(voc/z) addWav(ufric/s_, 85) | |||||
endphoneme | endphoneme | ||||
phonemetable az tr | phonemetable az tr | ||||
include ph_azerbaijani | include ph_azerbaijani | ||||
phonemetable ak base | |||||
include ph_akan |
// 13.02.10 jonsd: Changed for eSpeak version 1.43 | // 13.02.10 jonsd: Changed for eSpeak version 1.43 | ||||
// 13.08.10 jonsd: Added Q lines. Use Address to set the displacement in phondata file. | |||||
#include <stdio.h> | #include <stdio.h> | ||||
#include <stdlib.h> | #include <stdlib.h> | ||||
#include <string.h> | #include <string.h> | ||||
#include <ctype.h> | |||||
#include <sys/types.h> | #include <sys/types.h> | ||||
#if defined(BYTE_ORDER) && BYTE_ORDER == BIG_ENDIAN | #if defined(BYTE_ORDER) && BYTE_ORDER == BIG_ENDIAN | ||||
void usage (const char *program_name); | void usage (const char *program_name); | ||||
int xread; // prevent compiler warning from fread() | |||||
int main (int argc, char *argv[]) | int main (int argc, char *argv[]) | ||||
const char *manifest) | const char *manifest) | ||||
{//========================================================== | {//========================================================== | ||||
FILE *in, *mfest, *out; | FILE *in, *mfest, *out; | ||||
int displ; | |||||
char line[1024]; | char line[1024]; | ||||
unsigned char buf_4[4]; | unsigned char buf_4[4]; | ||||
exit (1); | exit (1); | ||||
} | } | ||||
fread (buf_4, 4, 1, in); | |||||
fwrite (buf_4, 4, 1, out); | |||||
xread = fread(buf_4, 4, 1, in); | |||||
fwrite(buf_4, 4, 1, out); | |||||
while (fgets (line, sizeof(line), mfest)) | |||||
{ | |||||
if(!isupper(line[0])) continue; | |||||
sscanf(&line[2],"%x",&displ); | |||||
fseek(in, displ, SEEK_SET); | |||||
while (fgets (line, 1024, mfest)) { | |||||
if (line[0] == 'S') { | if (line[0] == 'S') { | ||||
SPECT_SEQ buf_spect; | SPECT_SEQ buf_spect; | ||||
size_t ix; | size_t ix; | ||||
int n; | int n; | ||||
fread (&buf_spect.length, 2, 1, in); | |||||
fread (&buf_spect.n_frames, 1, 1, in); | |||||
xread = fread (&buf_spect.length, 2, 1, in); | |||||
xread = fread (&buf_spect.n_frames, 1, 1, in); | |||||
fseek (in, -3, SEEK_CUR); | fseek (in, -3, SEEK_CUR); | ||||
ix = (char *)(&buf_spect.frame[buf_spect.n_frames]) - | ix = (char *)(&buf_spect.frame[buf_spect.n_frames]) - | ||||
(char *)(&buf_spect); | (char *)(&buf_spect); | ||||
ix = (ix+3) & 0xfffc; | ix = (ix+3) & 0xfffc; | ||||
fread (&buf_spect, ix, 1, in); | |||||
xread = fread (&buf_spect, ix, 1, in); | |||||
buf_spect.length = (short) SWAP_USHORT (buf_spect.length); | buf_spect.length = (short) SWAP_USHORT (buf_spect.length); | ||||
for (n = 0; n < buf_spect.n_frames; n++) { | for (n = 0; n < buf_spect.n_frames; n++) { | ||||
int length; | int length; | ||||
char *wave_data; | char *wave_data; | ||||
fread (buf_4, 4, 1, in); | |||||
xread = fread (buf_4, 4, 1, in); | |||||
fwrite (buf_4, 4, 1, out); | fwrite (buf_4, 4, 1, out); | ||||
length = buf_4[1] * 256 + buf_4[0]; | length = buf_4[1] * 256 + buf_4[0]; | ||||
exit (1); | exit (1); | ||||
} | } | ||||
fread (wave_data, 1, length, in); | |||||
xread = fread (wave_data, 1, length, in); | |||||
fwrite (wave_data, 1, length, out); | fwrite (wave_data, 1, length, out); | ||||
pos = ftell (in); | pos = ftell (in); | ||||
else if (line[0] == 'E') { | else if (line[0] == 'E') { | ||||
char env_buf[128]; | char env_buf[128]; | ||||
fread (env_buf, 1, 128, in); | |||||
xread = fread (env_buf, 1, 128, in); | |||||
fwrite (env_buf, 1, 128, out); | fwrite (env_buf, 1, 128, out); | ||||
} | } | ||||
} | } | ||||
exit (1); | exit (1); | ||||
} | } | ||||
fread (buf_4, 4, 1, in); // skip first 4 bytes | |||||
xread = fread (buf_4, 4, 1, in); // skip first 4 bytes | |||||
fwrite(buf_4, 4, 1, out); | fwrite(buf_4, 4, 1, out); | ||||
while (! feof (in)) { | while (! feof (in)) { | ||||
exit (1); | exit (1); | ||||
} | } | ||||
fread (buf_8, 4, 1, in); | |||||
xread = fread (buf_8, 4, 1, in); | |||||
fwrite (buf_8, 4, 1, out); | fwrite (buf_8, 4, 1, out); | ||||
n_phoneme_tables = buf_8[0]; | n_phoneme_tables = buf_8[0]; | ||||
int n_phonemes, j; | int n_phonemes, j; | ||||
char tab_name[N_PHONEME_TAB_NAME]; | char tab_name[N_PHONEME_TAB_NAME]; | ||||
fread (buf_8, 8, 1, in); | |||||
xread = fread (buf_8, 8, 1, in); | |||||
fwrite (buf_8, 8, 1, out); | fwrite (buf_8, 8, 1, out); | ||||
n_phonemes = buf_8[0]; | n_phonemes = buf_8[0]; | ||||
fread (tab_name, N_PHONEME_TAB_NAME, 1, in); | |||||
xread = fread (tab_name, N_PHONEME_TAB_NAME, 1, in); | |||||
fwrite (tab_name, N_PHONEME_TAB_NAME, 1, out); | fwrite (tab_name, N_PHONEME_TAB_NAME, 1, out); | ||||
for (j = 0; j < n_phonemes; j++) { | for (j = 0; j < n_phonemes; j++) { | ||||
PHONEME_TAB table; | PHONEME_TAB table; | ||||
fread (&table, sizeof (PHONEME_TAB), 1, in); | |||||
xread = fread (&table, sizeof (PHONEME_TAB), 1, in); | |||||
table.mnemonic = SWAP_UINT (table.mnemonic); | table.mnemonic = SWAP_UINT (table.mnemonic); | ||||
table.phflags = SWAP_UINT (table.phflags); | table.phflags = SWAP_UINT (table.phflags); |
[Setup] | [Setup] | ||||
AppName=eSpeak | AppName=eSpeak | ||||
AppVerName=eSpeak version 1.43.24 | |||||
AppVerName=eSpeak version 1.44.01 | |||||
AppCopyright=Licensed under GNU General Public License version 3. (See file License.txt for details). | AppCopyright=Licensed under GNU General Public License version 3. (See file License.txt for details). | ||||
WindowVisible=yes | WindowVisible=yes | ||||
Source: "License.txt"; DestDir: "{app}"; | Source: "License.txt"; DestDir: "{app}"; | ||||
[Registry] | [Registry] | ||||
;Root: HKLM; Subkey: "Software\Microsoft\Speech\Voices\Tokens\eSpeak_5"; Flags: deletekey uninsdeletekey | |||||
Root: HKLM; Subkey: "Software\Microsoft\Speech\PhoneConverters\Tokens\eSpeak"; Flags: deletekey uninsdeletekey | Root: HKLM; Subkey: "Software\Microsoft\Speech\PhoneConverters\Tokens\eSpeak"; Flags: deletekey uninsdeletekey | ||||
lang_main := language and $3ff; | lang_main := language and $3ff; | ||||
Result := 'en'; | Result := 'en'; | ||||
// translation from microsoft codes to language codes | |||||
// Translation from microsoft codes to language codes | |||||
// Used to set default voices for inatallation. | |||||
case lang_main of | case lang_main of | ||||
//$02: Result := 'bg'; | |||||
$03: Result := 'ca'; | $03: Result := 'ca'; | ||||
$04: Result := 'zh'; | $04: Result := 'zh'; | ||||
$05: Result := 'cs'; | $05: Result := 'cs'; | ||||
$0e: Result := 'hu'; | $0e: Result := 'hu'; | ||||
$0f: Result := 'is'; | $0f: Result := 'is'; | ||||
$10: Result := 'it'; | $10: Result := 'it'; | ||||
$12: Result := 'ko'; | |||||
//$12: Result := 'ko'; | |||||
$13: Result := 'nl'; | $13: Result := 'nl'; | ||||
$14: Result := 'no'; | $14: Result := 'no'; | ||||
$15: Result := 'pl'; | $15: Result := 'pl'; | ||||
$26: Result := 'lv'; | $26: Result := 'lv'; | ||||
$2a: Result := 'vi'; | $2a: Result := 'vi'; | ||||
$2b: Result := 'hy'; | $2b: Result := 'hy'; | ||||
$2d: Result := 'eu'; | |||||
//$2c: Result := 'az'; | |||||
//$2d: Result := 'eu'; | |||||
$2f: Result := 'mk'; | $2f: Result := 'mk'; | ||||
$36: Result := 'af'; | $36: Result := 'af'; | ||||
$39: Result := 'hi'; | $39: Result := 'hi'; | ||||
$41: Result := 'sw'; | $41: Result := 'sw'; | ||||
$49: Result := 'ta'; | $49: Result := 'ta'; | ||||
$4b: Result := 'kn'; | |||||
$50: Result := 'mn'; | |||||
//$4b: Result := 'kn'; | |||||
//$50: Result := 'mn'; | |||||
$52: Result := 'cy'; | $52: Result := 'cy'; | ||||
$61: Result := 'ne'; | |||||
$87: Result := 'rw'; | |||||
//$61: Result := 'ne'; | |||||
//$87: Result := 'rw'; | |||||
end; | end; | ||||
// is there a match on the full language code? | // is there a match on the full language code? | ||||
lang1 := Copy(voice,8,6); // eg. mb-de4-en, return 'en' | lang1 := Copy(voice,8,6); // eg. mb-de4-en, return 'en' | ||||
end; | end; | ||||
// Used to set the correct Microsoft language code in the registry | |||||
// when a SAPI5 voice is installed. | |||||
case lang1 of | case lang1 of | ||||
'af': value := $436; | 'af': value := $436; | ||||
'az': value := $42c; | |||||
'bg': value := $402; | |||||
'bs': value := $41a; // should be $141a but Jaws crashes on startup | 'bs': value := $41a; // should be $141a but Jaws crashes on startup | ||||
'ca': value := $403; | 'ca': value := $403; | ||||
'cs': value := $405; | 'cs': value := $405; |
[Setup] | [Setup] | ||||
AppName=eSpeakEdit | AppName=eSpeakEdit | ||||
AppVerName=eSpeakEdit version 1.43.24 | |||||
AppVerName=eSpeakEdit version 1.44.01 | |||||
DefaultDirName={pf}\eSpeak | DefaultDirName={pf}\eSpeak | ||||
DefaultGroupName=eSpeak | DefaultGroupName=eSpeak | ||||
OutputBaseFilename=setup_espeakedit | OutputBaseFilename=setup_espeakedit | ||||
Name: "{group}\espeakedit"; Filename: "{app}\espeakedit.exe"; WorkingDir: "{app}"; Flags: runmaximized | Name: "{group}\espeakedit"; Filename: "{app}\espeakedit.exe"; WorkingDir: "{app}"; Flags: runmaximized | ||||
Name: "{group}\Uninstall espeakedit"; Filename: "{uninstallexe}" | Name: "{group}\Uninstall espeakedit"; Filename: "{uninstallexe}" | ||||
[InstallDelete] | |||||
Type: filesandordirs; Name: "{app}\phsource\vowelcharts" | |||||
[Files] | [Files] | ||||
Source: "espeakedit.exe"; DestDir: "{app}" | Source: "espeakedit.exe"; DestDir: "{app}" |
// return the events | // return the events | ||||
for(event=events; (event->type != 0) && (n_Events < N_EVENTS); event++) | for(event=events; (event->type != 0) && (n_Events < N_EVENTS); event++) | ||||
{ | { | ||||
audio_latest = event->audio_position + audio_offset; | audio_latest = event->audio_position + audio_offset; | ||||
if((event->type == espeakEVENT_WORD) && (event->length > 0)) | if((event->type == espeakEVENT_WORD) && (event->length > 0)) | ||||
int rate; | int rate; | ||||
static int rate_table[21] = {80,100,115,124,133,142,151,159,168,174,180, | |||||
187,196,208,220,240,270,300,335,369,390 }; | |||||
static int rate_table[21] = {80,110,124,133,142,151,159,168,174,180,187, | |||||
196,208,220,240,270,300,335,369,390,450 }; | |||||
rate = new_rate + master_rate; | rate = new_rate + master_rate; | ||||
if(rate < -10) rate = -10; | if(rate < -10) rate = -10; |
// | // | ||||
VS_VERSION_INFO VERSIONINFO | VS_VERSION_INFO VERSIONINFO | ||||
FILEVERSION 1,0,42,00 | |||||
PRODUCTVERSION 1,0,42,00 | |||||
FILEVERSION 1,0,44,00 | |||||
PRODUCTVERSION 1,0,44,00 | |||||
FILEFLAGSMASK 0x3fL | FILEFLAGSMASK 0x3fL | ||||
#ifdef _DEBUG | #ifdef _DEBUG | ||||
FILEFLAGS 0x1L | FILEFLAGS 0x1L | ||||
VALUE "Comments", "\0" | VALUE "Comments", "\0" | ||||
VALUE "CompanyName", "Jonathan Duddington\0" | VALUE "CompanyName", "Jonathan Duddington\0" | ||||
VALUE "FileDescription", "Text to Speech\0" | VALUE "FileDescription", "Text to Speech\0" | ||||
VALUE "FileVersion", "1, 0,42,00\0" | |||||
VALUE "InternalName", "espeak1.42\0" | |||||
VALUE "FileVersion", "1, 0,44,00\0" | |||||
VALUE "InternalName", "espeak1.44\0" | |||||
VALUE "LegalCopyright", "Copyright (c) Jonathan Duddington\0" | VALUE "LegalCopyright", "Copyright (c) Jonathan Duddington\0" | ||||
VALUE "LegalTrademarks", "\0" | VALUE "LegalTrademarks", "\0" | ||||
VALUE "OriginalFilename", "espeak_sapi.dll\0" | VALUE "OriginalFilename", "espeak_sapi.dll\0" | ||||
VALUE "PrivateBuild", "\0" | VALUE "PrivateBuild", "\0" | ||||
VALUE "ProductName", "espeak TTS\0" | VALUE "ProductName", "espeak TTS\0" | ||||
VALUE "ProductVersion", "1, 0, 42, 00\0" | |||||
VALUE "ProductVersion", "1, 0, 44, 00\0" | |||||
VALUE "SpecialBuild", "\0" | VALUE "SpecialBuild", "\0" | ||||
END | END | ||||
END | END |
displ = ftell(f_phdata); | displ = ftell(f_phdata); | ||||
seq_out.n_frames=0; | seq_out.n_frames=0; | ||||
seq_out.flags=0; | |||||
seq_out.sqflags=0; | |||||
seq_out.length_total=0; | seq_out.length_total=0; | ||||
total = 0; | total = 0; | ||||
if(klatt_flag) | if(klatt_flag) | ||||
{ | { | ||||
seqk_out.n_frames = seq_out.n_frames; | seqk_out.n_frames = seq_out.n_frames; | ||||
seqk_out.flags = seq_out.flags; | |||||
seqk_out.sqflags = seq_out.sqflags; | |||||
seqk_out.length_total = seq_out.length_total; | seqk_out.length_total = seq_out.length_total; | ||||
ix = (char *)(&seqk_out.frame[seqk_out.n_frames]) - (char *)(&seqk_out); | ix = (char *)(&seqk_out.frame[seqk_out.n_frames]) - (char *)(&seqk_out); | ||||
displ = ftell(f_phdata); | displ = ftell(f_phdata); | ||||
fseek(f,12,SEEK_SET); | fseek(f,12,SEEK_SET); | ||||
fread(buf,1,128,f); | |||||
fwrite(buf,1,128,f_phdata); | |||||
if(fread(buf,128,1,f) == 0) | |||||
{ | |||||
error("Failed to read envelope: %s",fname); | |||||
} | |||||
fwrite(buf,128,1,f_phdata); | |||||
if(n_envelopes < N_ENVELOPES) | if(n_envelopes < N_ENVELOPES) | ||||
{ | { | ||||
wxFileName filename = wxFileName(filepath); | wxFileName filename = wxFileName(filepath); | ||||
strcpy(mbrola_voice,filename.GetName().mb_str(wxConvLocal)); | strcpy(mbrola_voice,filename.GetName().mb_str(wxConvLocal)); | ||||
sprintf(buf,"%s/mbrola_ph/%s_phtrans",path_home,mbrola_voice); | sprintf(buf,"%s/mbrola_ph/%s_phtrans",path_home,mbrola_voice); | ||||
if((f_out = fopen(buf,"w")) == NULL) | |||||
if((f_out = fopen(buf,"wb")) == NULL) | |||||
{ | { | ||||
wxLogError(_T("Can't write to: ")+wxString(buf,wxConvLocal)); | wxLogError(_T("Can't write to: ")+wxString(buf,wxConvLocal)); | ||||
return; | return; | ||||
PITCHfall, 64, 8, | PITCHfall, 64, 8, | ||||
PITCHfall, 70, 18, 24, 12, | PITCHfall, 70, 18, 24, 12, | ||||
PITCHfall, 70, 18, 24, 12, 0, | PITCHfall, 70, 18, 24, 12, 0, | ||||
{0,0,0,0,0,0,0,0,0,0} | |||||
{0,0,0,0,0,0,0,0}, 0 | |||||
}; | }; | ||||
#define N_TUNE_NAMES 100 | #define N_TUNE_NAMES 100 |
} | } | ||||
tr->data_dictlist = Alloc(size); | tr->data_dictlist = Alloc(size); | ||||
fread(tr->data_dictlist,size,1,f); | |||||
size = fread(tr->data_dictlist,1,size,f); | |||||
fclose(f); | fclose(f); | ||||
0x252,0x31,0x32,0x25c,0x34,0x35,0x36,0x37,0x275,0x39,0x2d0,0x2b2,0x3c,0x3d,0x3e,0x294, | 0x252,0x31,0x32,0x25c,0x34,0x35,0x36,0x37,0x275,0x39,0x2d0,0x2b2,0x3c,0x3d,0x3e,0x294, | ||||
0x259,0x251,0x3b2,0xe7,0xf0,0x25b,0x46,0x262,0x127,0x26a,0x25f,0x4b,0x4c,0x271,0x14b,0x254, | 0x259,0x251,0x3b2,0xe7,0xf0,0x25b,0x46,0x262,0x127,0x26a,0x25f,0x4b,0x4c,0x271,0x14b,0x254, | ||||
0x3a6,0x263,0x280,0x283,0x3b8,0x28a,0x28c,0x153,0x3c7,0xf8,0x292,0x32a,0x5c,0x5d,0x5e,0x5f, | 0x3a6,0x263,0x280,0x283,0x3b8,0x28a,0x28c,0x153,0x3c7,0xf8,0x292,0x32a,0x5c,0x5d,0x5e,0x5f, | ||||
0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f, | |||||
0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x261,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f, | |||||
0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x7b,0x7c,0x7d,0x303,0x7f | 0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x7b,0x7c,0x7d,0x303,0x7f | ||||
}; | }; | ||||
} | } | ||||
*output++ = 0; | *output++ = 0; | ||||
return; | |||||
} /* end of SetWordStress */ | } /* end of SetWordStress */ | ||||
if(match1.points > 0) | if(match1.points > 0) | ||||
{ | { | ||||
if(word_flags & FLAG_UNPRON_TEST) | |||||
return(match1.end_type | 1); | |||||
if((match1.phonemes[0] == phonSWITCH) && ((word_flags & FLAG_DONT_SWITCH_TRANSLATOR)==0)) | if((match1.phonemes[0] == phonSWITCH) && ((word_flags & FLAG_DONT_SWITCH_TRANSLATOR)==0)) | ||||
{ | { | ||||
// an instruction to switch language, return immediately so we can re-translate | // an instruction to switch language, return immediately so we can re-translate | ||||
return(0); | return(0); | ||||
} | } | ||||
if(word_flags & FLAG_UNPRON_TEST) | |||||
return(match1.end_type | 1); | |||||
match1.end_type &= ~SUFX_UNPRON; | match1.end_type &= ~SUFX_UNPRON; | ||||
if((match1.end_type != 0) && (end_phonemes != NULL)) | if((match1.end_type != 0) && (end_phonemes != NULL)) |
MyFrame::~MyFrame(void) | MyFrame::~MyFrame(void) | ||||
{//==================== | {//==================== | ||||
myframe->Show(false); | |||||
myframe->Iconize(false); // os=Windows, get the non-iconsized size | |||||
myframe->GetPosition(&frame_x, &frame_y); | myframe->GetPosition(&frame_x, &frame_y); | ||||
myframe->GetSize(&frame_w, &frame_h); | myframe->GetSize(&frame_w, &frame_h); | ||||
} | } | ||||
if(msg != NULL) | if(msg != NULL) | ||||
{ | { | ||||
f = fopen(fname,"r"); | f = fopen(fname,"r"); | ||||
fread(msg,len,1,f); | |||||
len = fread(msg,1, len, f); | |||||
fclose(f); | fclose(f); | ||||
msg[len] = 0; | msg[len] = 0; | ||||
msg_string = wxString(msg,wxConvUTF8); | msg_string = wxString(msg,wxConvUTF8); |
* GNU General Public License for more details. | * GNU General Public License for more details. | ||||
*/ | */ | ||||
#include "speech.h" | |||||
#ifdef INCLUDE_MBROLA | |||||
#include <stdarg.h> | #include <stdarg.h> | ||||
#include <stdio.h> | #include <stdio.h> | ||||
#include <unistd.h> | #include <unistd.h> | ||||
{ | { | ||||
mbr_errorbuf[0] = 0; | mbr_errorbuf[0] = 0; | ||||
} | } | ||||
#endif // INCLUDE_MBROLA |
int hundreds; | int hundreds; | ||||
int tensunits; | int tensunits; | ||||
int x; | int x; | ||||
int ix; | |||||
int exact; | int exact; | ||||
int ordinal; | int ordinal; | ||||
char string[12]; // for looking up entries in **_list | char string[12]; // for looking up entries in **_list | ||||
ph_hundred_and[0] = 0; // don't put 'and' after 'hundred' if there's 'and' between tens and units | ph_hundred_and[0] = 0; // don't put 'and' after 'hundred' if there's 'and' between tens and units | ||||
} | } | ||||
} | } | ||||
else | |||||
{ | |||||
if(ph_ordinal2[0] != 0) | |||||
{ | |||||
ix = strlen(buf1); | |||||
if((ix > 0) && (buf1[ix-1] == phonPAUSE_SHORT)) | |||||
buf1[ix-1] = 0; // remove pause before addding ordinal suffix | |||||
strcpy(buf2, ph_ordinal2); | |||||
} | |||||
} | |||||
sprintf(ph_out,"%s%s%s",buf1,ph_hundred_and,buf2); | sprintf(ph_out,"%s%s%s",buf1,ph_hundred_and,buf2); | ||||
int TranslateNumber(Translator *tr, char *word1, char *ph_out, unsigned int *flags, WORD_TAB *wtab, int control) | int TranslateNumber(Translator *tr, char *word1, char *ph_out, unsigned int *flags, WORD_TAB *wtab, int control) | ||||
{//============================================================================================================= | {//============================================================================================================= | ||||
if(option_sayas == SAYAS_DIGITS1) | |||||
if((option_sayas == SAYAS_DIGITS1) || (wtab[0].flags & FLAG_INDIVIDUAL_DIGITS)) | |||||
return(0); // speak digits individually | return(0); // speak digits individually | ||||
if(tr->langopts.numbers != 0) | if(tr->langopts.numbers != 0) |
fclose(f); | fclose(f); | ||||
return(4); | return(4); | ||||
} | } | ||||
fread(p,length,1,f); | |||||
length = fread(p,1,length,f); | |||||
fclose(f); | fclose(f); | ||||
remove(fname_temp); | remove(fname_temp); | ||||
else | else | ||||
if(punct_count < 4) | if(punct_count < 4) | ||||
{ | { | ||||
sprintf(buf,"\001+15S"); | |||||
sprintf(buf,"\001+10S"); | |||||
while(punct_count-- > 0) | while(punct_count-- > 0) | ||||
{ | { | ||||
sprintf(buf2," %s",punctname); | sprintf(buf2," %s",punctname); | ||||
strcat(buf, buf2); | strcat(buf, buf2); | ||||
} | } | ||||
sprintf(buf2," \001-15S"); | |||||
sprintf(buf2," \001-10S"); | |||||
strcat(buf, buf2); | strcat(buf, buf2); | ||||
} | } | ||||
else | else | ||||
{"x-slow",60}, | {"x-slow",60}, | ||||
{"slow",80}, | {"slow",80}, | ||||
{"medium",100}, | {"medium",100}, | ||||
{"fast",120}, | |||||
{"x-fast",150}, | |||||
{"fast",125}, | |||||
{"x-fast",160}, | |||||
{NULL, -1}}; | {NULL, -1}}; | ||||
static const MNEM_TAB mnem_pitch[] = { | static const MNEM_TAB mnem_pitch[] = { | ||||
int stressed_word = 0; | int stressed_word = 0; | ||||
int end_clause_after_tag = 0; | int end_clause_after_tag = 0; | ||||
int end_clause_index = 0; | int end_clause_index = 0; | ||||
const char *p; | |||||
wchar_t xml_buf[N_XML_BUF+1]; | wchar_t xml_buf[N_XML_BUF+1]; | ||||
#define N_XML_BUF2 20 | #define N_XML_BUF2 20 |
if(wpm > 1000) | if(wpm > 1000) | ||||
{ | { | ||||
// TESTING | // TESTING | ||||
test = wpm / 1000; | |||||
// test = wpm / 1000; | |||||
wpm = wpm % 1000; | wpm = wpm % 1000; | ||||
} | } | ||||
#endif | #endif |
#include <stdio.h> | #include <stdio.h> | ||||
#include <stddef.h> | #include <stddef.h> | ||||
#define ESPEAK_API_REVISION 5 | |||||
#define ESPEAK_API_REVISION 6 | |||||
/* | /* | ||||
Revision 2 | Revision 2 | ||||
Added parameter "options" to eSpeakInitialize() | Added parameter "options" to eSpeakInitialize() | ||||
Revision 5 | Revision 5 | ||||
Added espeakCHARS_16BIT | Added espeakCHARS_16BIT | ||||
Revision 6 | |||||
Added macros: espeakRATE_MINIMUM, espeakRATE_MAXIMUM, espeakRATE_NORMAL | |||||
*/ | */ | ||||
/********************/ | /********************/ | ||||
/* Initialization */ | /* Initialization */ | ||||
/********************/ | /********************/ | ||||
// values for 'value' in espeak_SetParameter(espeakRATE, value, 0), nominally in words-per-minute | |||||
#define espeakRATE_MINIMUM 80 | |||||
#define espeakRATE_MAXIMUM 450 | |||||
#define espeakRATE_NORMAL 175 | |||||
typedef enum { | typedef enum { | ||||
espeakEVENT_LIST_TERMINATED = 0, // Retrieval mode: terminates the event list. | espeakEVENT_LIST_TERMINATED = 0, // Retrieval mode: terminates the event list. | ||||
relative=1 Sets a relative value of the parameter. | relative=1 Sets a relative value of the parameter. | ||||
parameter: | parameter: | ||||
espeakRATE: speaking speed in word per minute. | |||||
espeakRATE: speaking speed in word per minute. Values 80 to 450. | |||||
espeakVOLUME: volume in range 0-100 0=silence | |||||
espeakVOLUME: volume in range 0-200 or more. | |||||
0=silence, 100=normal full volume, greater values may produce amplitude compression or distortion | |||||
espeakPITCH: base pitch, range 0-100. 50=normal | espeakPITCH: base pitch, range 0-100. 50=normal | ||||
// conditional compilation options | // conditional compilation options | ||||
#define INCLUDE_KLATT | #define INCLUDE_KLATT | ||||
#define INCLUDE_MBROLA | |||||
#if defined(BYTE_ORDER) && BYTE_ORDER == BIG_ENDIAN | #if defined(BYTE_ORDER) && BYTE_ORDER == BIG_ENDIAN | ||||
#define ARCH_BIG | #define ARCH_BIG |
* <http://www.gnu.org/licenses/>. * | * <http://www.gnu.org/licenses/>. * | ||||
***************************************************************************/ | ***************************************************************************/ | ||||
#include "StdAfx.h" | #include "StdAfx.h" | ||||
#include <stdio.h> | #include <stdio.h> | ||||
#include "translate.h" | #include "translate.h" | ||||
#include "voice.h" | #include "voice.h" | ||||
int option_mbrola_phonemes; | |||||
#ifdef INCLUDE_MBROLA | |||||
extern int Read4Bytes(FILE *f); | extern int Read4Bytes(FILE *f); | ||||
extern void SetPitch2(voice_t *voice, int pitch1, int pitch2, int *pitch_base, int *pitch_range); | extern void SetPitch2(voice_t *voice, int pitch1, int pitch2, int *pitch_base, int *pitch_range); | ||||
extern unsigned char *outbuf; | extern unsigned char *outbuf; | ||||
static MBROLA_TAB *mbrola_tab = NULL; | static MBROLA_TAB *mbrola_tab = NULL; | ||||
static int mbrola_control = 0; | static int mbrola_control = 0; | ||||
int option_mbrola_phonemes; | |||||
espeak_ERROR LoadMbrolaTable(const char *mbrola_voice, const char *phtrans, int srate) | espeak_ERROR LoadMbrolaTable(const char *mbrola_voice, const char *phtrans, int srate) | ||||
// mbrola voice file not found, look in /usr/share | // mbrola voice file not found, look in /usr/share | ||||
sprintf(path,"/usr/share/mbrola/%s",mbrola_voice); | sprintf(path,"/usr/share/mbrola/%s",mbrola_voice); | ||||
} | } | ||||
if(GetFileLength(path) <= 0) | |||||
{ | |||||
// mbrola voice file not found, look in /usr/share | |||||
sprintf(path,"/usr/share/mbrola/voices/%s",mbrola_voice); | |||||
} | |||||
#endif | #endif | ||||
#ifdef PLATFORM_WINDOWS | #ifdef PLATFORM_WINDOWS | ||||
if(load_MBR() == FALSE) // load mbrola.dll | if(load_MBR() == FALSE) // load mbrola.dll | ||||
// read eSpeak's mbrola phoneme translation data, eg. en1_phtrans | // read eSpeak's mbrola phoneme translation data, eg. en1_phtrans | ||||
sprintf(path,"%s/mbrola_ph/%s",path_home,phtrans); | sprintf(path,"%s/mbrola_ph/%s",path_home,phtrans); | ||||
size = GetFileLength(path); | size = GetFileLength(path); | ||||
if((f_in = fopen(path,"r")) == NULL) { | |||||
if((f_in = fopen(path,"rb")) == NULL) { | |||||
close_MBR(); | close_MBR(); | ||||
return(EE_NOT_FOUND); | return(EE_NOT_FOUND); | ||||
} | } | ||||
{ | { | ||||
*pw++ = Read4Bytes(f_in); | *pw++ = Read4Bytes(f_in); | ||||
} | } | ||||
fread(mbrola_tab,size,1,f_in); | |||||
size = fread(mbrola_tab,1,size,f_in); | |||||
fclose(f_in); | fclose(f_in); | ||||
setVolumeRatio_MBR((float)(mbrola_control & 0xff) /16.0f); | setVolumeRatio_MBR((float)(mbrola_control & 0xff) /16.0f); | ||||
reset_MBR(); | reset_MBR(); | ||||
} | } | ||||
#else // INCLUDE_MBROLA | |||||
// mbrola interface is not compiled, provide dummy functions. | |||||
espeak_ERROR LoadMbrolaTable(const char *mbrola_voice, const char *phtrans, int srate) | |||||
{ | |||||
return(EE_INTERNAL_ERROR); | |||||
} | |||||
int MbrolaGenerate(PHONEME_LIST *phoneme_list, int *n_ph, int resume) | |||||
{ | |||||
return(0); | |||||
} | |||||
int MbrolaFill(int length, int resume) | |||||
{ | |||||
return(0); | |||||
} | |||||
void MbrolaReset(void) | |||||
{ | |||||
} | |||||
#endif // INCLUDE_MBROLA |
#include "translate.h" | #include "translate.h" | ||||
#include "wave.h" | #include "wave.h" | ||||
const char *version_string = "1.43.63 02.Aug.10"; | |||||
const int version_phdata = 0x014361; | |||||
const char *version_string = "1.44.04 14.Sep.10"; | |||||
const int version_phdata = 0x014404; | |||||
int option_device_number = -1; | int option_device_number = -1; | ||||
FILE *f_logespeak = NULL; | FILE *f_logespeak = NULL; |
int command; | int command; | ||||
do { | do { | ||||
word = embedded_list[(*embix)++]; | |||||
word = embedded_list[*embix]; | |||||
value = word >> 8; | value = word >> 8; | ||||
command = word & 0x7f; | command = word & 0x7f; | ||||
if(command == 0) | |||||
return; // error | |||||
(*embix)++; | |||||
switch(command & 0x1f) | switch(command & 0x1f) | ||||
{ | { | ||||
case EMBED_S: // speed | case EMBED_S: // speed | ||||
DoSpect2(ph, 0, &fmtp, p, 0); | DoSpect2(ph, 0, &fmtp, p, 0); | ||||
if(p->synthflags & SFLAG_LENGTHEN) | if(p->synthflags & SFLAG_LENGTHEN) | ||||
{ | { | ||||
DoPause(20,0); | |||||
DoPause(25,1); | |||||
DoSpect2(ph, 0, &fmtp, p, 0); | DoSpect2(ph, 0, &fmtp, p, 0); | ||||
} | } | ||||
} | } |
typedef struct { // 44 bytes | |||||
typedef struct { // 64 bytes | |||||
short frflags; | short frflags; | ||||
short ffreq[7]; | short ffreq[7]; | ||||
unsigned char length; | unsigned char length; | ||||
unsigned char klattp2[5]; // continuation of klattp[], Avp, Fric, FricBP, Turb | unsigned char klattp2[5]; // continuation of klattp[], Avp, Fric, FricBP, Turb | ||||
unsigned char klatt_ap[7]; // Klatt parallel amplitude | unsigned char klatt_ap[7]; // Klatt parallel amplitude | ||||
unsigned char klatt_bp[7]; // Klatt parallel bandwidth /2 | unsigned char klatt_bp[7]; // Klatt parallel bandwidth /2 | ||||
unsigned char spare; // pad to multiple of 4 bytes | |||||
} frame_t; // with extra Klatt parameters for parallel resonators | } frame_t; // with extra Klatt parameters for parallel resonators | ||||
typedef struct { // 44 bytes | typedef struct { // 44 bytes | ||||
short frflags; | short frflags; | ||||
short ffreq[7]; | short ffreq[7]; | ||||
unsigned char fright[3]; // width/4 f0-2 | unsigned char fright[3]; // width/4 f0-2 | ||||
unsigned char bw[4]; // Klatt bandwidth BNZ /2, f1,f2,f3 | unsigned char bw[4]; // Klatt bandwidth BNZ /2, f1,f2,f3 | ||||
unsigned char klattp[5]; // AV, FNZ, Tilt, Aspr, Skew | unsigned char klattp[5]; // AV, FNZ, Tilt, Aspr, Skew | ||||
} frame_t2; // TESTING | |||||
#ifdef deleted | |||||
typedef struct { | |||||
short frflags; | |||||
unsigned char length; | |||||
unsigned char rms; | |||||
short ffreq[9]; | |||||
unsigned char fheight[9]; | |||||
unsigned char fwidth[6]; // width/4 | |||||
unsigned char fright[6]; // width/4 | |||||
unsigned char fwidth6, fright6; | |||||
unsigned char klattp[N_KLATTP]; | |||||
} frame_t; | |||||
typedef struct { // 43 bytes | |||||
short frflags; | |||||
unsigned char length; | |||||
unsigned char rms; | |||||
short ffreq[9]; | |||||
unsigned char fheight[9]; | |||||
unsigned char fwidth[6]; // width/4 | |||||
unsigned char fright[6]; // width/4 | |||||
} frame_t2; // the original, without Klatt additions, used for file "phondata" | |||||
#endif | |||||
} frame_t2; // without the extra Klatt parameters | |||||
typedef struct { | typedef struct { | ||||
short length_total; // not used | short length_total; // not used | ||||
unsigned char n_frames; | unsigned char n_frames; | ||||
unsigned char flags; | |||||
unsigned char sqflags; | |||||
frame_t2 frame[N_SEQ_FRAMES]; // max. frames in a spectrum sequence | frame_t2 frame[N_SEQ_FRAMES]; // max. frames in a spectrum sequence | ||||
} SPECT_SEQ; // sequence of espeak formant frames | } SPECT_SEQ; // sequence of espeak formant frames | ||||
typedef struct { | typedef struct { | ||||
short length_total; // not used | short length_total; // not used | ||||
unsigned char n_frames; | unsigned char n_frames; | ||||
unsigned char flags; | |||||
unsigned char sqflags; | |||||
frame_t frame[N_SEQ_FRAMES]; // max. frames in a spectrum sequence | frame_t frame[N_SEQ_FRAMES]; // max. frames in a spectrum sequence | ||||
} SPECT_SEQK; // sequence of klatt formants frames | } SPECT_SEQK; // sequence of klatt formants frames | ||||
unsigned char split_tail_end; | unsigned char split_tail_end; | ||||
unsigned char split_tune; | unsigned char split_tune; | ||||
unsigned char spare[10]; | |||||
unsigned char spare[8]; | |||||
int spare2; // the struct length should be a multiple of 4 bytes | |||||
} TUNE; | } TUNE; | ||||
extern int n_tunes; | extern int n_tunes; |
tr->data_dictrules = NULL; // language_1 translation rules file | tr->data_dictrules = NULL; // language_1 translation rules file | ||||
tr->data_dictlist = NULL; // language_2 dictionary lookup file | tr->data_dictlist = NULL; // language_2 dictionary lookup file | ||||
tr->transpose_min = 0; | |||||
tr->transpose_min = 'a'; | |||||
tr->transpose_max = 'z'; | |||||
tr->frequent_pairs = NULL; | tr->frequent_pairs = NULL; | ||||
// only need lower case | // only need lower case | ||||
tr->langopts.replace_chars = NULL; | tr->langopts.replace_chars = NULL; | ||||
tr->langopts.ascii_language = ""; // Non-Latin alphabet languages, use this language to speak Latin words, default is English | tr->langopts.ascii_language = ""; // Non-Latin alphabet languages, use this language to speak Latin words, default is English | ||||
SetLengthMods(tr,201); | SetLengthMods(tr,201); | ||||
// tr->langopts.length_mods = length_mods_en; | // tr->langopts.length_mods = length_mods_en; | ||||
// tr->langopts.length_mods0 = length_mods_en0; | // tr->langopts.length_mods0 = length_mods_en0; | ||||
tr->langopts.thousands_sep = ','; | tr->langopts.thousands_sep = ','; | ||||
tr->langopts.decimal_sep = '.'; | tr->langopts.decimal_sep = '.'; | ||||
tr->langopts.break_numbers = BREAK_THOUSANDS; // 1000, 1000,000 1,000,000 etc | tr->langopts.break_numbers = BREAK_THOUSANDS; // 1000, 1000,000 1,000,000 etc | ||||
tr->langopts.max_digits = 14; | |||||
memcpy(tr->punct_to_tone, punctuation_to_tone, sizeof(tr->punct_to_tone)); | memcpy(tr->punct_to_tone, punctuation_to_tone, sizeof(tr->punct_to_tone)); | ||||
tr->letter_bits_offset = OFFSET_CYRILLIC; | tr->letter_bits_offset = OFFSET_CYRILLIC; | ||||
memset(tr->letter_bits,0,sizeof(tr->letter_bits)); | memset(tr->letter_bits,0,sizeof(tr->letter_bits)); | ||||
SetLetterBits(tr,0,ru_vowels); | |||||
SetLetterBits(tr,LETTERGP_A,ru_vowels); | |||||
SetLetterBits(tr,1,ru_soft); | SetLetterBits(tr,1,ru_soft); | ||||
SetLetterBits(tr,2,ru_consonants); | SetLetterBits(tr,2,ru_consonants); | ||||
SetLetterBits(tr,3,ru_hard); | SetLetterBits(tr,3,ru_hard); | ||||
SetLetterBits(tr,4,ru_nothard); | SetLetterBits(tr,4,ru_nothard); | ||||
SetLetterBits(tr,5,ru_voiced); | SetLetterBits(tr,5,ru_voiced); | ||||
SetLetterBits(tr,6,ru_ivowels); | SetLetterBits(tr,6,ru_ivowels); | ||||
SetLetterBits(tr,7,ru_vowels); | |||||
SetLetterBits(tr,LETTERGP_VOWEL2,ru_vowels); | |||||
} // end of SetCyrillicLetters | } // end of SetCyrillicLetters | ||||
static const short stress_lengths_da[8] = {160,140, 200,200, 0,0, 220,230}; | static const short stress_lengths_da[8] = {160,140, 200,200, 0,0, 220,230}; | ||||
SetupTranslator(tr,stress_lengths_da,NULL); | SetupTranslator(tr,stress_lengths_da,NULL); | ||||
tr->transpose_min = 'a'; | |||||
tr->transpose_max = 'z'; | |||||
tr->langopts.stress_rule = STRESSPOSN_1L; | tr->langopts.stress_rule = STRESSPOSN_1L; | ||||
tr->langopts.param[LOPT_PREFIXES] = 1; | |||||
SetLetterVowel(tr,'y'); | SetLetterVowel(tr,'y'); | ||||
tr->langopts.numbers = NUM_DECIMAL_COMMA | NUM_SWAP_TENS | NUM_HUNDRED_AND | NUM_OMIT_1_HUNDRED | NUM_ORDINAL_DOT | NUM_1900 | NUM_ROMAN | NUM_ROMAN_CAPITALS | NUM_ROMAN_ORDINAL; | tr->langopts.numbers = NUM_DECIMAL_COMMA | NUM_SWAP_TENS | NUM_HUNDRED_AND | NUM_OMIT_1_HUNDRED | NUM_ORDINAL_DOT | NUM_1900 | NUM_ROMAN | NUM_ROMAN_CAPITALS | NUM_ROMAN_ORDINAL; | ||||
} | } | ||||
static const short stress_lengths_en[8] = {182,140, 220,220, 0,0, 248,275}; | static const short stress_lengths_en[8] = {182,140, 220,220, 0,0, 248,275}; | ||||
SetupTranslator(tr,stress_lengths_en,NULL); | SetupTranslator(tr,stress_lengths_en,NULL); | ||||
tr->transpose_min = 'a'; | |||||
tr->transpose_max = 'z'; | |||||
tr->langopts.stress_rule = STRESSPOSN_1L; | tr->langopts.stress_rule = STRESSPOSN_1L; | ||||
tr->langopts.stress_flags = 0x08; | tr->langopts.stress_flags = 0x08; | ||||
tr->langopts.numbers = NUM_HUNDRED_AND | NUM_ROMAN | NUM_1900; | tr->langopts.numbers = NUM_HUNDRED_AND | NUM_ROMAN | NUM_1900; | ||||
tr->letter_bits_offset = OFFSET_GREEK; | tr->letter_bits_offset = OFFSET_GREEK; | ||||
memset(tr->letter_bits,0,sizeof(tr->letter_bits)); | memset(tr->letter_bits,0,sizeof(tr->letter_bits)); | ||||
SetLetterBits(tr,LETTERGP_A,el_vowels); | SetLetterBits(tr,LETTERGP_A,el_vowels); | ||||
SetLetterBits(tr,LETTERGP_VOWEL2,el_vowels); | |||||
SetLetterBits(tr,LETTERGP_B,el_voiceless); | SetLetterBits(tr,LETTERGP_B,el_voiceless); | ||||
SetLetterBits(tr,LETTERGP_C,el_consonants); | SetLetterBits(tr,LETTERGP_C,el_consonants); | ||||
SetLetterBits(tr,LETTERGP_Y,el_fvowels); // front vowels: ε η ι υ | SetLetterBits(tr,LETTERGP_Y,el_fvowels); // front vowels: ε η ι υ | ||||
tr->letter_bits_offset = OFFSET_ARMENIAN; | tr->letter_bits_offset = OFFSET_ARMENIAN; | ||||
memset(tr->letter_bits,0,sizeof(tr->letter_bits)); | memset(tr->letter_bits,0,sizeof(tr->letter_bits)); | ||||
SetLetterBits(tr,LETTERGP_A,hy_vowels); | SetLetterBits(tr,LETTERGP_A,hy_vowels); | ||||
SetLetterBits(tr,LETTERGP_VOWEL2,hy_vowels); | |||||
SetLetterBits(tr,LETTERGP_C,hy_consonants); | SetLetterBits(tr,LETTERGP_C,hy_consonants); | ||||
tr->langopts.max_initial_consonants = 6; | tr->langopts.max_initial_consonants = 6; | ||||
tr->langopts.numbers = NUM_DECIMAL_COMMA | NUM_OMIT_1_HUNDRED; | tr->langopts.numbers = NUM_DECIMAL_COMMA | NUM_OMIT_1_HUNDRED; | ||||
SetupTranslator(tr,stress_lengths_mk,stress_amps_mk); | SetupTranslator(tr,stress_lengths_mk,stress_amps_mk); | ||||
tr->charset_a0 = charsets[5]; // ISO-8859-5 | tr->charset_a0 = charsets[5]; // ISO-8859-5 | ||||
tr->letter_groups[0] = vowels_cyrillic; | |||||
tr->letter_groups[0] = tr->letter_groups[7] = vowels_cyrillic; | |||||
tr->langopts.stress_rule = STRESSPOSN_3R; // antipenultimate | tr->langopts.stress_rule = STRESSPOSN_3R; // antipenultimate | ||||
tr->langopts.numbers = NUM_DECIMAL_COMMA | NUM_AND_UNITS | NUM_OMIT_1_HUNDRED | NUM_OMIT_1_THOUSAND | NUM_DFRACTION_2; | tr->langopts.numbers = NUM_DECIMAL_COMMA | NUM_AND_UNITS | NUM_OMIT_1_HUNDRED | NUM_OMIT_1_THOUSAND | NUM_DFRACTION_2; | ||||
tr->langopts.param[LOPT_PREFIXES] = 1; | tr->langopts.param[LOPT_PREFIXES] = 1; | ||||
tr->langopts.param[LOPT_REGRESSIVE_VOICING] = 0x10; // devoice at end of word | tr->langopts.param[LOPT_REGRESSIVE_VOICING] = 0x10; // devoice at end of word | ||||
SetLetterVowel(tr,'y'); | SetLetterVowel(tr,'y'); | ||||
tr->langopts.numbers = NUM_DECIMAL_COMMA | NUM_SWAP_TENS | NUM_OMIT_1_HUNDRED | NUM_ALLOW_SPACE | NUM_1900 | NUM_ORDINAL_DOT; | tr->langopts.numbers = NUM_DECIMAL_COMMA | NUM_SWAP_TENS | NUM_OMIT_1_HUNDRED | NUM_ALLOW_SPACE | NUM_1900 | NUM_ORDINAL_DOT; | ||||
tr->langopts.ordinal_indicator = "e"; | tr->langopts.ordinal_indicator = "e"; | ||||
memcpy(tr->stress_lengths,stress_lengths_nl,sizeof(tr->stress_lengths)); | memcpy(tr->stress_lengths,stress_lengths_nl,sizeof(tr->stress_lengths)); | ||||
tr->langopts.stress_flags = 0x20; | tr->langopts.stress_flags = 0x20; | ||||
tr->langopts.param[LOPT_REGRESSIVE_VOICING] = 0x13; | tr->langopts.param[LOPT_REGRESSIVE_VOICING] = 0x13; | ||||
tr->langopts.numbers = NUM_DECIMAL_COMMA | NUM_ALLOW_SPACE | NUM_SWAP_TENS | NUM_OMIT_1_HUNDRED | NUM_DFRACTION_2 | NUM_ORDINAL_DOT | NUM_ROMAN; | tr->langopts.numbers = NUM_DECIMAL_COMMA | NUM_ALLOW_SPACE | NUM_SWAP_TENS | NUM_OMIT_1_HUNDRED | NUM_DFRACTION_2 | NUM_ORDINAL_DOT | NUM_ROMAN; | ||||
tr->langopts.numbers2 = 0x100; // plural forms of millions etc | |||||
tr->langopts.thousands_sep = ' '; // don't allow dot as thousands separator | tr->langopts.thousands_sep = ' '; // don't allow dot as thousands separator | ||||
SetLetterVowel(tr,'r'); | SetLetterVowel(tr,'r'); | ||||
break; | break; | ||||
tr->langopts.stress_rule = STRESSPOSN_1L; | tr->langopts.stress_rule = STRESSPOSN_1L; | ||||
tr->langopts.word_gap = 0x21; // length of a final vowel is less dependent on the next consonant, don't merge consonant with next word | tr->langopts.word_gap = 0x21; // length of a final vowel is less dependent on the next consonant, don't merge consonant with next word | ||||
// tr->langopts.vowel_pause = 4; | // tr->langopts.vowel_pause = 4; | ||||
tr->letter_groups[0] = vowels_vi; | |||||
tr->letter_groups[0] = tr->letter_groups[7] = vowels_vi; | |||||
tr->langopts.tone_language = 1; // Tone language, use CalcPitches_Tone() rather than CalcPitches() | tr->langopts.tone_language = 1; // Tone language, use CalcPitches_Tone() rather than CalcPitches() | ||||
tr->langopts.unstressed_wd1 = 2; | tr->langopts.unstressed_wd1 = 2; | ||||
tr->langopts.numbers = NUM_DECIMAL_COMMA | NUM_HUNDRED_AND | NUM_DFRACTION_4; | tr->langopts.numbers = NUM_DECIMAL_COMMA | NUM_HUNDRED_AND | NUM_DFRACTION_4; |
int word_length; | int word_length; | ||||
int ix; | int ix; | ||||
char *p; | |||||
int pfix; | int pfix; | ||||
int n_chars; | int n_chars; | ||||
unsigned int dictionary_flags[2]; | unsigned int dictionary_flags[2]; | ||||
unsigned int dictionary_flags2[2]; | unsigned int dictionary_flags2[2]; | ||||
int end_type=0; | int end_type=0; | ||||
int prefix_type=0; | int prefix_type=0; | ||||
int prefix_stress; | |||||
char *wordx; | char *wordx; | ||||
char phonemes[N_WORD_PHONEMES]; | char phonemes[N_WORD_PHONEMES]; | ||||
char *ph_limit; | char *ph_limit; | ||||
while(((length < 3) && (length > 0))|| (word_length > 1 && Unpronouncable(tr,wordx))) | while(((length < 3) && (length > 0))|| (word_length > 1 && Unpronouncable(tr,wordx))) | ||||
{ | { | ||||
char *p; | |||||
// This word looks "unpronouncable", so speak letters individually until we | // This word looks "unpronouncable", so speak letters individually until we | ||||
// find a remainder that we can pronounce. | // find a remainder that we can pronounce. | ||||
emphasize_allcaps = 0; | emphasize_allcaps = 0; | ||||
/* determine stress pattern for this word */ | /* determine stress pattern for this word */ | ||||
/******************************************/ | /******************************************/ | ||||
/* NOTE: this also adds a single PAUSE if the previous word ended | |||||
in a primary stress, and this one starts with one */ | |||||
if(prefix_flags || (strchr(prefix_phonemes,phonSTRESS_P)!=NULL)) | |||||
prefix_stress = 0; | |||||
for(p = prefix_phonemes; *p != 0; p++) | |||||
{ | |||||
if((*p == phonSTRESS_P) || (*p == phonSTRESS_P2)) | |||||
{ | |||||
prefix_stress = *p; | |||||
} | |||||
} | |||||
if(prefix_flags || (prefix_stress != 0)) | |||||
{ | { | ||||
if((tr->langopts.param[LOPT_PREFIXES]) || (prefix_type & SUFX_T)) | if((tr->langopts.param[LOPT_PREFIXES]) || (prefix_type & SUFX_T)) | ||||
{ | { | ||||
return(flags); | return(flags); | ||||
} | } | ||||
if(flags & FLAG_COMBINE) | |||||
if((flags & FLAG_COMBINE) && !(wtab[1].flags & FLAG_PHONEMES)) | |||||
{ | { | ||||
char *p2; | char *p2; | ||||
int ok = 1; | int ok = 1; | ||||
// ?? Option to set the word-stress according to language1 rules eg. lang=fr) | // ?? Option to set the word-stress according to language1 rules eg. lang=fr) | ||||
if(ChangeEquivalentPhonemes(tr, switch_phonemes, (char *)p)) | if(ChangeEquivalentPhonemes(tr, switch_phonemes, (char *)p)) | ||||
{ | { | ||||
// Phonemes have been converted from the foreign language to the native language | |||||
switch_phonemes = -1; | switch_phonemes = -1; | ||||
} | } | ||||
{ | { | ||||
strcpy(dictionary_name, old_dictionary_name); | strcpy(dictionary_name, old_dictionary_name); | ||||
SelectPhonemeTable(voice->phoneme_tab_ix); | SelectPhonemeTable(voice->phoneme_tab_ix); | ||||
// leave switch_phonemes set, but use the original phoneme table number. | |||||
// This will suppress LOPT_REGRESSIVE_VOICING | |||||
switch_phonemes = voice->phoneme_tab_ix; // original phoneme table | |||||
} | } | ||||
} | } | ||||
char *p; | char *p; | ||||
int j, k; | int j, k; | ||||
int n_digits; | int n_digits; | ||||
int individual_digits; | |||||
int charix_top=0; | int charix_top=0; | ||||
short charix[N_TR_SOURCE+4]; | short charix[N_TR_SOURCE+4]; | ||||
for(p=source; *p != 0; p++) | for(p=source; *p != 0; p++) | ||||
fputc(*p, f_logespeak); | fputc(*p, f_logespeak); | ||||
fprintf(f_logespeak,"ENDCLAUSE\n"); | fprintf(f_logespeak,"ENDCLAUSE\n"); | ||||
fflush(f_logespeak); | |||||
} | } | ||||
p = source; | |||||
charix[charix_top+1] = 0; | charix[charix_top+1] = 0; | ||||
charix[charix_top+2] = 0x7fff; | charix[charix_top+2] = 0x7fff; | ||||
words[word_count].pre_pause = 8; | words[word_count].pre_pause = 8; | ||||
if(word_count > 0) | if(word_count > 0) | ||||
{ | { | ||||
words[word_count-1].flags |= FLAG_LAST_WORD; | |||||
ix = word_count-1; | |||||
while((ix > 0) && (IsBracket(sbuf[words[ix].start]))) | |||||
ix--; // the last word is a bracket, mark the previous word as last | |||||
words[ix].flags |= FLAG_LAST_WORD; | |||||
// FLAG_NOSPACE check to avoid recognizing .mr -mr | // FLAG_NOSPACE check to avoid recognizing .mr -mr | ||||
if((terminator & CLAUSE_DOT) && !(words[word_count-1].flags & FLAG_NOSPACE)) | if((terminator & CLAUSE_DOT) && !(words[word_count-1].flags & FLAG_NOSPACE)) | ||||
words[word_count-1].flags |= FLAG_HAS_DOT; | words[word_count-1].flags |= FLAG_HAS_DOT; | ||||
char *pn; | char *pn; | ||||
char *pw; | char *pw; | ||||
int nw; | int nw; | ||||
char number_buf[60]; | |||||
WORD_TAB num_wtab[15]; // copy of 'words', when splitting numbers into parts | |||||
char number_buf[150]; | |||||
WORD_TAB num_wtab[50]; // copy of 'words', when splitting numbers into parts | |||||
// start speaking at a specified word position in the text? | // start speaking at a specified word position in the text? | ||||
count_words++; | count_words++; | ||||
{ | { | ||||
// Languages with 100000 numbers. Remove thousands separators so that we can insert them again later | // Languages with 100000 numbers. Remove thousands separators so that we can insert them again later | ||||
pn = number_buf; | pn = number_buf; | ||||
while(pn < &number_buf[sizeof(number_buf)-3]) | |||||
while(pn < &number_buf[sizeof(number_buf)-20]) | |||||
{ | { | ||||
if(iswdigit(*pw)) | if(iswdigit(*pw)) | ||||
{ | { | ||||
for(n_digits=0; iswdigit(word[n_digits]); n_digits++); // count consecutive digits | for(n_digits=0; iswdigit(word[n_digits]); n_digits++); // count consecutive digits | ||||
if((n_digits > 4) && (word[0] != '0')) | |||||
if(n_digits > 4) | |||||
{ | { | ||||
// word is entirely digits, insert commas and break into 3 digit "words" | // word is entirely digits, insert commas and break into 3 digit "words" | ||||
number_buf[0] = ' '; | number_buf[0] = ' '; | ||||
pn = &number_buf[1]; | pn = &number_buf[1]; | ||||
nx = n_digits; | nx = n_digits; | ||||
nw = 0; | nw = 0; | ||||
individual_digits = 0; | |||||
if((n_digits > tr->langopts.max_digits) || (word[0] == '0')) | |||||
words[ix].flags |= FLAG_INDIVIDUAL_DIGITS; | |||||
while(pn < &number_buf[sizeof(number_buf)-3]) | |||||
while(pn < &number_buf[sizeof(number_buf)-20]) | |||||
{ | { | ||||
if(!isdigit(c = *pw++) && (c != tr->langopts.decimal_sep)) | if(!isdigit(c = *pw++) && (c != tr->langopts.decimal_sep)) | ||||
break; | break; |
#define FLAG_HAS_DOT 0x10000 // dot after this word | #define FLAG_HAS_DOT 0x10000 // dot after this word | ||||
#define FLAG_COMMA_AFTER 0x20000 // comma after this word | #define FLAG_COMMA_AFTER 0x20000 // comma after this word | ||||
#define FLAG_MULTIPLE_SPACES 0x40000 // word is preceded by multiple spaces, newline, or tab | #define FLAG_MULTIPLE_SPACES 0x40000 // word is preceded by multiple spaces, newline, or tab | ||||
#define FLAG_INDIVIDUAL_DIGITS 0x80000 // speak number as individual digits | |||||
#define FLAG_SUFFIX_VOWEL 0x08000000 // remember an initial vowel from the suffix | #define FLAG_SUFFIX_VOWEL 0x08000000 // remember an initial vowel from the suffix | ||||
#define FLAG_NO_TRACE 0x10000000 // passed to TranslateRules() to suppress dictionary lookup printout | #define FLAG_NO_TRACE 0x10000000 // passed to TranslateRules() to suppress dictionary lookup printout | ||||
#define PUNCT_SAY_NAME 0x200000 | #define PUNCT_SAY_NAME 0x200000 | ||||
#define CLAUSE_DOT 0x400000 | #define CLAUSE_DOT 0x400000 | ||||
#define CLAUSE_NONE 0 + 0x04000 | |||||
#define CLAUSE_PARAGRAPH 70 + 0x80000 | |||||
#define CLAUSE_EOF 40 + 0x90000 | |||||
#define CLAUSE_VOICE 0 + 0x24000 | |||||
#define CLAUSE_PERIOD 40 + 0x80000 | |||||
#define CLAUSE_COMMA 20 + 0x41000 | |||||
#define CLAUSE_SHORTCOMMA 4 + 0x41000 | |||||
#define CLAUSE_SHORTFALL 4 + 0x40000 | |||||
#define CLAUSE_QUESTION 40 + 0x82000 | |||||
#define CLAUSE_EXCLAMATION 45 + 0x83000 | |||||
#define CLAUSE_COLON 30 + 0x40000 | |||||
#define CLAUSE_SEMICOLON 30 + 0x41000 | |||||
#define CLAUSE_NONE ( 0 + 0x04000) | |||||
#define CLAUSE_PARAGRAPH (70 + 0x80000) | |||||
#define CLAUSE_EOF (40 + 0x90000) | |||||
#define CLAUSE_VOICE ( 0 + 0x24000) | |||||
#define CLAUSE_PERIOD (40 + 0x80000) | |||||
#define CLAUSE_COMMA (20 + 0x41000) | |||||
#define CLAUSE_SHORTCOMMA ( 4 + 0x41000) | |||||
#define CLAUSE_SHORTFALL ( 4 + 0x40000) | |||||
#define CLAUSE_QUESTION (40 + 0x82000) | |||||
#define CLAUSE_EXCLAMATION (45 + 0x83000) | |||||
#define CLAUSE_COLON (30 + 0x40000) | |||||
#define CLAUSE_SEMICOLON (30 + 0x41000) | |||||
#define SAYAS_CHARS 0x12 | #define SAYAS_CHARS 0x12 | ||||
#define SAYAS_GLYPHS 0x13 | #define SAYAS_GLYPHS 0x13 | ||||
int min_roman; | int min_roman; | ||||
int thousands_sep; | int thousands_sep; | ||||
int decimal_sep; | int decimal_sep; | ||||
int max_digits; // max number of digits which can be spoken as an integer number (rather than individual digits) | |||||
const char *ordinal_indicator; // UTF-8 string | const char *ordinal_indicator; // UTF-8 string | ||||
// bit 0, accent name before the letter name, bit 1 "capital" after letter name | // bit 0, accent name before the letter name, bit 1 "capital" after letter name |
phtrans[0] = 0; | phtrans[0] = 0; | ||||
sscanf(p,"%s %s %d",name,phtrans,&srate); | sscanf(p,"%s %s %d",name,phtrans,&srate); | ||||
LoadMbrolaTable(name,phtrans,srate); | |||||
if(LoadMbrolaTable(name,phtrans,srate) != EE_OK) | |||||
{ | |||||
fprintf(stderr,"mbrola voice not found\n"); | |||||
} | |||||
voice->samplerate = srate; | voice->samplerate = srate; | ||||
} | } | ||||
break; | break; | ||||
case V_FAST: | case V_FAST: | ||||
Read8Numbers(p,speed.fast_settings); | Read8Numbers(p,speed.fast_settings); | ||||
SetSpeed(2); | |||||
SetSpeed(3); | |||||
break; | break; | ||||
default: | default: | ||||
new_translator = SelectTranslator(translator_name); | new_translator = SelectTranslator(translator_name); | ||||
} | } | ||||
SetSpeed(1); // for speed_percent | |||||
SetSpeed(3); // for speed_percent | |||||
for(ix=0; ix<N_PEAKS; ix++) | for(ix=0; ix<N_PEAKS; ix++) | ||||
{ | { |
prog_log_table = (PHONEME_PROG_LOG *)malloc(ix); | prog_log_table = (PHONEME_PROG_LOG *)malloc(ix); | ||||
if(prog_log_table == NULL) | if(prog_log_table == NULL) | ||||
return; | return; | ||||
fread(prog_log_table, 1, ix, f_prog_log); | |||||
ix = fread(prog_log_table, 1, ix, f_prog_log); | |||||
fclose(f_prog_log); | fclose(f_prog_log); | ||||
prog_log_end = prog_log_table + ix; | prog_log_end = prog_log_table + ix; | ||||
n_prog_log = ix / sizeof(PHONEME_PROG_LOG); | n_prog_log = ix / sizeof(PHONEME_PROG_LOG); |
int wcmdq_tail=0; | int wcmdq_tail=0; | ||||
// pitch,speed, | // pitch,speed, | ||||
int embedded_default[N_EMBEDDED_VALUES] = {0,50,175,100,50, 0,0, 0,175,0,0,0,0,0,0}; | |||||
int embedded_default[N_EMBEDDED_VALUES] = {0, 50,175,100,50, 0, 0, 0,175,0,0,0,0,0,0}; | |||||
static int embedded_max[N_EMBEDDED_VALUES] = {0,0x7fff,600,300,99,99,99, 0,600,0,0,0,0,4,0}; | static int embedded_max[N_EMBEDDED_VALUES] = {0,0x7fff,600,300,99,99,99, 0,600,0,0,0,0,4,0}; | ||||
#define N_CALLBACK_IX N_WAV_BUF-2 // adjust this delay to match display with the currently spoken word | #define N_CALLBACK_IX N_WAV_BUF-2 // adjust this delay to match display with the currently spoken word |