Remove pause before <say-as> if it's at the beginning of a sentence. Added --split=<minutes> command-line option. Splits output WAV file (at sentence boundaries). Fix: espeakEVENT_SENTENCE events were missing. git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@121 d46cf337-b52f-0410-862d-fd96e6ae7743master
scholtz skO:lts | scholtz skO:lts | ||||
schoor sko@r | schoor sko@r | ||||
schutte skWt@ | schutte skWt@ | ||||
sebastian s@bastian | |||||
servaas s@rfA:s | servaas s@rfA:s | ||||
shakespeare _^_EN | shakespeare _^_EN | ||||
stephan ste@fan | stephan ste@fan | ||||
primate $2 | primate $2 | ||||
rebelleer r@b@le@r | rebelleer r@b@le@r | ||||
retireer r@t@re@:r | |||||
rededele re@d@de@l@ | |||||
renaissance rEn@s'A~ns | |||||
retoriek r@tur'ik | retoriek r@tur'ik | ||||
rimpeling rImp@l@N | rimpeling rImp@l@N | ||||
rinkink $2 | rinkink $2 | ||||
roterende rut'e@r@nd@ | roterende rut'e@r@nd@ | ||||
rukkerig rWk@r@x2 | rukkerig rWk@r@x2 | ||||
salami sal'A:mi | |||||
salute sal'yt@ | salute sal'yt@ | ||||
samelewing sA:m@l,e@v@N | samelewing sA:m@l,e@v@N | ||||
sanhedrin sanh'e@dr@n | sanhedrin sanh'e@dr@n | ||||
sedertdien $3 | sedertdien $3 | ||||
sektore $2 | sektore $2 | ||||
sinagoge s@n@x2o@x2@ | sinagoge s@n@x2o@x2@ | ||||
senatore s@nat'o@r@ | |||||
singenot sInx2@nOt | singenot sInx2@nOt | ||||
skares skA:r@s | skares skA:r@s | ||||
skepsele skEps@l@ | skepsele skEps@l@ | ||||
skuldelas skWld@las | |||||
s'n s@n $u | s'n s@n $u | ||||
spaghetti sp%agEt%i | spaghetti sp%agEt%i | ||||
sobere s'o@b@r@ | sobere s'o@b@r@ | ||||
sononder sOn_On@r | sononder sOn_On@r | ||||
sonop sOn_Op | sonop sOn_Op | ||||
sover so@f&r | sover so@f&r | ||||
spesmaas $2 | |||||
stabiel stab'il | stabiel stab'il | ||||
staccato $2 | staccato $2 | ||||
//maintainer: Willem van der Walt | |||||
//maintainer: Willem van der Walt | |||||
// email: [email protected] | // email: [email protected] | ||||
// tel: +27 12 8413996 | // tel: +27 12 8413996 | ||||
// Meraka Institute, CSIR | // Meraka Institute, CSIR | ||||
_) as (ke %as // move default stress: askeet/askete/asketies/askese | _) as (ke %as // move default stress: askeet/askete/asketies/askese | ||||
a (spersie %a // move default stress: aspersie and compounds | a (spersie %a // move default stress: aspersie and compounds | ||||
assist %as@st // assistent/e/assisteer | assist %as@st // assistent/e/assisteer | ||||
assiste (_ %as'Ist@ // rassiste stress and last e sound | |||||
r) assis (K %asIs // rassis/-te/-ties/-me | |||||
atel (jee %at@L // fix vowel sounds and stress: ateljee and compounds | atel (jee %at@L // fix vowel sounds and stress: ateljee and compounds | ||||
C) athe (rina %at@ // Catherina/Katherina | C) athe (rina %at@ // Catherina/Katherina | ||||
at (lant %at // move default stress: Atlanties/-e/Atlantis | at (lant %at // move default stress: Atlanties/-e/Atlantis | ||||
bek (m b&k // fix e sound: geelbekmalmot/langbekmaande/skeerbekmuis | bek (m b&k // fix e sound: geelbekmalmot/langbekmaande/skeerbekmuis | ||||
bekk (+ b&k // exception to be (C%+ bE | bekk (+ b&k // exception to be (C%+ bE | ||||
bek (_ b&k // exception to be (C%+ bE | bek (_ b&k // exception to be (C%+ bE | ||||
bek (h b&k // e sound: compounds of bek fld. by h: haasbekhond/skewebekhuisies | |||||
beken b@kEn // 2nd e sound: oorbekend/welbekende | beken b@kEn // 2nd e sound: oorbekend/welbekende | ||||
@) beker (_ be@k@r // compounds ending with -beker | @) beker (_ be@k@r // compounds ending with -beker | ||||
r) be (lK b&l // fix e sound: deurbel/oorbel | r) be (lK b&l // fix e sound: deurbel/oorbel | ||||
@) cel (_ _^_EN // words ending in cel is English | @) cel (_ _^_EN // words ending in cel is English | ||||
@) cle (_ _^_EN // words ending in cle is English | @) cle (_ _^_EN // words ending in cle is English | ||||
cliché kl%iSe@ // cliché/-s | cliché kl%iSe@ // cliché/-s | ||||
chirurg S@r'Wrx2 | |||||
chirurg S@rWrx2 | |||||
chirurg (ie_N S@r%Wrx2 // stress to end: chirurgie | chirurg (ie_N S@r%Wrx2 // stress to end: chirurgie | ||||
_) ci (prA si // fix i sound: Ciprus/Ciprioties/-e | _) ci (prA si // fix i sound: Ciprus/Ciprioties/-e | ||||
coke k@Uk // coke/cokebottel/cokeblikkie and similar | coke k@Uk // coke/cokebottel/cokeblikkie and similar | ||||
naald) e (C @ // fix e sound: naaldekoker/-kussing/-werk, etc. | naald) e (C @ // fix e sound: naaldekoker/-kussing/-werk, etc. | ||||
noord) e (C @ // fix e sound: noordewind and compounds | noord) e (C @ // fix e sound: noordewind and compounds | ||||
olw) e (C @ // fix e sound: golweslag/wolwedans | olw) e (C @ // fix e sound: golweslag/wolwedans | ||||
ros) e (CA @ // fix e sound: rosegeur/roseweg | |||||
speld) e (C @ // fix e sound: speldekop/-kussing/-punt, etc. | |||||
spok) e (C @ // fix e sound: compounds beginning with spoke: spokebeeld/-lywe/-dans | |||||
blak) e (r @ // fix e sound: blakerend/-e/blakering | blak) e (r @ // fix e sound: blakerend/-e/blakering | ||||
skilf) e (r @ // fix e sound: skilferagtig/skilferdeeg/-kors/afgeskilferde/verskilfering | skilf) e (r @ // fix e sound: skilferagtig/skilferdeeg/-kors/afgeskilferde/verskilfering | ||||
syf) e (r @ // fix e sound: (be-/in-/ont-/uitsyfering | syf) e (r @ // fix e sound: (be-/in-/ont-/uitsyfering | ||||
@C) erf (_ &rf // fix e sound: bokerf and similar | |||||
@C) erwe (_ &rv@ // fix e sound: plurals: randerwe and similar | |||||
CAC) e (rkK & // fix e sound: deurgewerk; exception to: CAC) e (CC | CAC) e (rkK & // fix e sound: deurgewerk; exception to: CAC) e (CC | ||||
CAp) e (rkC @ // fix e sound: hiperkrities/koperkleurig/koperknope | CAp) e (rkC @ // fix e sound: hiperkrities/koperkleurig/koperknope | ||||
CAw) e (rkA & // buitewerker/bywerking/genadewerking/grondbewerking/klerewerker/nawerking... | CAw) e (rkA & // buitewerker/bywerking/genadewerking/grondbewerking/klerewerker/nawerking... | ||||
yw) e (rA @ // fix e sound: beywering/skryweragtig | |||||
_) e (rosie %e@ // move default stress: erosie and compounds | _) e (rosie %e@ // move default stress: erosie and compounds | ||||
Cien) e (rC@ @ // fix e sound: opsienersamp/tienerstatus and many similar compounds | Cien) e (rC@ @ // fix e sound: opsienersamp/tienerstatus and many similar compounds | ||||
@) erts (_ _&rts // fix e sound of many compounds ending in erts | @) erts (_ _&rts // fix e sound of many compounds ending in erts | ||||
@mp) e (lC@ @ // fix e sound: dompeldoop/-koker/-verwarmer/drumpeltrapper/pampelmoes/rimpelpapier... | @mp) e (lC@ @ // fix e sound: dompeldoop/-koker/-verwarmer/drumpeltrapper/pampelmoes/rimpelpapier... | ||||
@k) e (lde_ @ // fix e sound: gekronkelde/(ge/ver)kreukelde | @k) e (lde_ @ // fix e sound: gekronkelde/(ge/ver)kreukelde | ||||
mp) e (lde_ @ // fix e sound: gemompelde/oorrompelde/verskrompelde and similar | mp) e (lde_ @ // fix e sound: gemompelde/oorrompelde/verskrompelde and similar | ||||
Ap) e (ling @ // fix e sound: skepeling/compounds of sypeling | |||||
@C) e (lk_ & // fix e sound: many compounds ending in kelk/melk | @C) e (lk_ & // fix e sound: many compounds ending in kelk/melk | ||||
@C) e (lke_ & // fix e sound: many compounds ending in -elke: blomkelke, etc. | @C) e (lke_ & // fix e sound: many compounds ending in -elke: blomkelke, etc. | ||||
uiC) e (K @ // fix e sound in wrds like: bruidegom/druipeling/duinebesie/duisendpoot/kruisement... | uiC) e (K @ // fix e sound in wrds like: bruidegom/druipeling/duinebesie/duisendpoot/kruisement... | ||||
ks) eer 'e@r // annekseer/indekseer/lakseer/takseer and their compounds | ks) eer 'e@r // annekseer/indekseer/lakseer/takseer and their compounds | ||||
ss) eer 'e@r // but many words cont. sseer take stress: adresseer, etc. | ss) eer 'e@r // but many words cont. sseer take stress: adresseer, etc. | ||||
Cv) eer e@r // stress: (hoender/volstruisveer/dryfveer | Cv) eer e@r // stress: (hoender/volstruisveer/dryfveer | ||||
ouv) eer e@r // restore default stress: pouveer/makouveer | |||||
AAv) eer e@r // restore default stress: pouveer/makouveer/horlosieveer/kraaiveer/rooiveer | |||||
w) eer e@r // stress may vary in words containing weer: lugafweer/donderweer | w) eer e@r // stress may vary in words containing weer: lugafweer/donderweer | ||||
u) eer 'e@r // aktueer/konstrueer/salueer, etc. | u) eer 'e@r // aktueer/konstrueer/salueer, etc. | ||||
effek %e@fEk // move default stress and fix e sound: effek/-te/-tief | effek %e@fEk // move default stress and fix e sound: effek/-te/-tief | ||||
e (r & | e (r & | ||||
Ank) e (r@ @ // ankerpaal/kankerlyer/donkerbril | Ank) e (r@ @ // ankerpaal/kankerlyer/donkerbril | ||||
rp) e (rCC @ // fix e sound: ontwerpersbaadjie/purperkleurig, etc. | rp) e (rCC @ // fix e sound: ontwerpersbaadjie/purperkleurig, etc. | ||||
_rasp) e (rC@ @ // fix e sound in rasper- compounds: raspertong/-vyl, etc. | |||||
lew) e (ns @ | lew) e (ns @ | ||||
&d) e (r@ @ // not initial or final syllable | &d) e (r@ @ // not initial or final syllable | ||||
essen (si %isEn // fix e sounds: essensie/essensieel/essensiële | essen (si %isEn // fix e sounds: essensie/essensieel/essensiële | ||||
komp) e (t@ @ // kompetisie/s/uitklopkompetisie/inkompetensie | komp) e (t@ @ // kompetisie/s/uitklopkompetisie/inkompetensie | ||||
een (drag@ %e@n // eendrag has stress on 1st slb, but eendragtig and similar on 2nd | een (drag@ %e@n // eendrag has stress on 1st slb, but eendragtig and similar on 2nd | ||||
eenge 'e@nx2@ | |||||
een (malig %e@n // move default stress: eenmalig/-e/-heid | een (malig %e@n // move default stress: eenmalig/-e/-heid | ||||
een (parig %e@n // move default stress: eenparig/-e/-heid | een (parig %e@n // move default stress: eenparig/-e/-heid | ||||
_) een (stemm %e@n // move default stress: eenstemmig/-e/-heid | _) een (stemm %e@n // move default stress: eenstemmig/-e/-heid | ||||
_) este (t %Este@ // fix stress and vowel sounds: esteties/-e/estetika | _) este (t %Este@ // fix stress and vowel sounds: esteties/-e/estetika | ||||
hip) e (r @ | hip) e (r @ | ||||
_) er (b &r' // erbarm/ing | _) er (b &r' // erbarm/ing | ||||
_) er (k &r' // erkenbaar/erkenning | |||||
erke (n %&rkE // fix stress and e sounds: erken/-ning/(self)erkende | |||||
_) er (v &r' // ervaar/ervare/ervarings/ervaringe | _) er (v &r' // ervaar/ervare/ervarings/ervaringe | ||||
&) ere (_ @r@ | &) ere (_ @r@ | ||||
@l) ere (_ e@r@ // fix e sound: staanlere/toonlere | @l) ere (_ e@r@ // fix e sound: staanlere/toonlere | ||||
@) enswaar (dig @nsv'A:r // noemenswaardige/bejammerenswaardig | @) enswaar (dig @nsv'A:r // noemenswaardige/bejammerenswaardig | ||||
@C) ent (K 'Ent // orent/student/presidentsrede | @C) ent (K 'Ent // orent/student/presidentsrede | ||||
en) ent (_ Ent // restore default stress: koppenent/voetenent | en) ent (_ Ent // restore default stress: koppenent/voetenent | ||||
pr) ent (+ Ent // default stress for compounds of prent | |||||
@s) ent (rA Ent // winkelsentrum/studentesentrum, etc. | @s) ent (rA Ent // winkelsentrum/studentesentrum, etc. | ||||
@C) ent (e_ 'Ent // plurals of some of the above | @C) ent (e_ 'Ent // plurals of some of the above | ||||
C) er (tyd @r // tegelykertyd/kindertyd/indertyd | C) er (tyd @r // tegelykertyd/kindertyd/indertyd | ||||
A) goog (_ x2'o@x2 // demagoog/pedagoog | A) goog (_ x2'o@x2 // demagoog/pedagoog | ||||
gor (dyn x2%Or // move default stress: gordyn and compounds | gor (dyn x2%Or // move default stress: gordyn and compounds | ||||
A) goë x2'u@ // demagoë/pedagoë | A) goë x2'u@ // demagoë/pedagoë | ||||
grade (ring x2r%ade@ // fix stress and vowel sounds: gradering and many compounds | |||||
gra (fiek x2r%a // fix stress and a sound: grafiek/-e /lyngrafiek, etc. | gra (fiek x2r%a // fix stress and a sound: grafiek/-e /lyngrafiek, etc. | ||||
gra (fiet x2r%a // fix stress and a sound: grafiet and compounds | gra (fiet x2r%a // fix stress and a sound: grafiet and compounds | ||||
grama (doe x2r%am%a // move default stress: gramadoela/-s and compounds | grama (doe x2r%am%a // move default stress: gramadoela/-s and compounds | ||||
hart (stogte_ h%art // move default stress: hartstogtelik | hart (stogte_ h%art // move default stress: hartstogtelik | ||||
hart (stogte_N hart // restore default stress: hartstogte | hart (stogte_N hart // restore default stress: hartstogte | ||||
he (bre h%i // fix stress and 1st e sound: Hebreër/-s | he (bre h%i // fix stress and 1st e sound: Hebreër/-s | ||||
heen (gaan he@n // split -n/g-: heengaan/-refrein | |||||
heeren (grac he@r@n // fix eng sounds: Heerengracht/-straat | heeren (grac he@r@n // fix eng sounds: Heerengracht/-straat | ||||
heerser he@rs@r // fix e sound in compounds: heersers(drang/geslag/klas/mag/ras/volk) | heerser he@rs@r // fix e sound in compounds: heersers(drang/geslag/klas/mag/ras/volk) | ||||
heet (hoofdi h%e@t // move default stress: heethoofdig/-e/-heid | heet (hoofdi h%e@t // move default stress: heethoofdig/-e/-heid | ||||
h) i (dro i //hidro in compounds | h) i (dro i //hidro in compounds | ||||
_) i (ko %i // move default stress: ikoon/ikone | _) i (ko %i // move default stress: ikoon/ikone | ||||
_) in (aCemP2 'In_ //inasem/inademing, etc. | _) in (aCemP2 'In_ //inasem/inademing, etc. | ||||
self) in (C@ _@n // selfingenome/-nheid/selfinkeer, etc. | |||||
_) in (a@P2 In // inakkuraat/inaktief/inaktiwiteit | _) in (a@P2 In // inakkuraat/inaktief/inaktiwiteit | ||||
_) iese (C ,is@ // iesegrimmig and derivitives | _) iese (C ,is@ // iesegrimmig and derivitives | ||||
ieterma (g %it@rm%a // fix stress and a sound: ietermagô | ieterma (g %it@rm%a // fix stress and a sound: ietermagô | ||||
klein (sieli kl%eIn // move default stress: kleinsielig/-e/-heid | klein (sieli kl%eIn // move default stress: kleinsielig/-e/-heid | ||||
_) kamele kam'e@l@ // kamele teenoor skamele | _) kamele kam'e@l@ // kamele teenoor skamele | ||||
karakter kar'akt@r | karakter kar'akt@r | ||||
_er) ken kEn // E sound in erkEn | |||||
ken (merken k%En | ken (merken k%En | ||||
@) keurig k'Y@r@x2 // kieskeurig/noukeurig/(on)willekeurig and derivitives | @) keurig k'Y@r@x2 // kieskeurig/noukeurig/(on)willekeurig and derivitives | ||||
_) ki (ta k%i // move default stress: kitaar and compounds | _) ki (ta k%i // move default stress: kitaar and compounds | ||||
klou (sule kl%@U // move default stress: klousule/-s | klou (sule kl%@U // move default stress: klousule/-s | ||||
kklere =kl'e@r@ | kklere =kl'e@r@ | ||||
knip (A knIp? // knipogie/geknipoog/ | knip (A knIp? // knipogie/geknipoog/ | ||||
_) krag (A kr''ax2_ // kragaanleg/-eenheid/-installasie/-onderbreking/-opwekker | |||||
kra (gie krA: // but: kragie/-s | |||||
kre (diet kr@ // move default stress: krediet/-kaart/-balans, etc. | kre (diet kr@ // move default stress: krediet/-kaart/-balans, etc. | ||||
kre (dit kr%E // fix e sound: krediteer/akkreditasie | kre (dit kr%E // fix e sound: krediteer/akkreditasie | ||||
kreme (tart kr@m@ // fix stress and e sounds: kremetart and compounds | kreme (tart kr@m@ // fix stress and e sounds: kremetart and compounds | ||||
kabeljou kab@lj'@U //kabeljou and compounds | kabeljou kab@lj'@U //kabeljou and compounds | ||||
kabinet k%ab%inEt // kabinet/drankkabinet/kabinetsvergadering | kabinet k%ab%inEt // kabinet/drankkabinet/kabinetsvergadering | ||||
ka (d@ k%a // stress and 1st a: kadawer-/kadet-/kado/kadot(jie)/kadriel,etc. | |||||
_) ka (d@ k%a // stress and 1st a: kadawer-/kadet-/kado/kadot(jie)/kadriel,etc. | |||||
ka (der kA: // restore stress on long a: kader/-s and compounds | ka (der kA: // restore stress on long a: kader/-s and compounds | ||||
kad (mium kad // fix stress and d sound: kadmium and compounds | kad (mium kad // fix stress and d sound: kadmium and compounds | ||||
kafe (te k%af@ // fix stress and vowel sounds: kafeteria and compounds | kafe (te k%af@ // fix stress and vowel sounds: kafeteria and compounds | ||||
konsertina k%Ons@rtin%a // fix stress and vowel sounds: konsertina/-musiek and similar | konsertina k%Ons@rtin%a // fix stress and vowel sounds: konsertina/-musiek and similar | ||||
konside (rA k%Ons@d@ // fix vowel sounds: konsiderasie/konsidereer | konside (rA k%Ons@d@ // fix vowel sounds: konsiderasie/konsidereer | ||||
konsist k%Ons@st // konsistorie and compounds/konsistensie | konsist k%Ons@st // konsistorie and compounds/konsistensie | ||||
konso (nant k%Ons%u // fix stress and 2nd o sound: konsonant/-e and compounds | |||||
konstabel k%OnstA:b@l // (hof/hoof/verkeers)konstabel/-s, etc. | konstabel k%OnstA:b@l // (hof/hoof/verkeers)konstabel/-s, etc. | ||||
konsul (A k%Ons%Wl // konsulaat/konsulate/konsulêr | konsul (A k%Ons%Wl // konsulaat/konsulate/konsulêr | ||||
kon (sul kOn // restore default stress: konsul and compounds | kon (sul kOn // restore default stress: konsul and compounds | ||||
ment m'Ent | ment m'Ent | ||||
mental (iteit m,Ental // fix stress: mentaliteit/sentimentaliteit and compounds | mental (iteit m,Ental // fix stress: mentaliteit/sentimentaliteit and compounds | ||||
mentjie m'EiNci // monumentjie/dokumentjies | mentjie m'EiNci // monumentjie/dokumentjies | ||||
me (riete m@ // move default stress: meriete and compounds | |||||
merino m@rin%u // fix stress and vowel sounds: merino/-skaap/-ram, etc. | merino m@rin%u // fix stress and vowel sounds: merino/-skaap/-ram, etc. | ||||
me (rrie mE // fix e sound: merrie/-s/perdemerrie and similar compounds | me (rrie mE // fix e sound: merrie/-s/perdemerrie and similar compounds | ||||
AAs) mes (_ mEs // fix last e sound in compounds like kombuismes | AAs) mes (_ mEs // fix last e sound in compounds like kombuismes | ||||
n (q N | n (q N | ||||
n (x N | n (x N | ||||
ng N | ng N | ||||
ee) n (g n // split -ng-: beengewas/druipsteengrot/gemeengoed/leengeld/steengroewe/teengif... | |||||
ei) n (g n // breingrootte/kleingeld/kleingoed | ei) n (g n // breingrootte/kleingeld/kleingoed | ||||
eu) n (g n // dreungeluid/kreungeluid/steungeluid/steungewend | eu) n (g n // dreungeluid/kreungeluid/steungeluid/steungewend | ||||
oo) n (g n // hoongelag/loongeld/telefoongesprek/woongeriewe and similar | oo) n (g n // hoongelag/loongeld/telefoongesprek/woongeriewe and similar | ||||
Cui) n (g n // basuingeskal/bruingebrand/bruingeel/tuingereedskap/tuingewas/tuingrond | Cui) n (g n // basuingeskal/bruingebrand/bruingeel/tuingereedskap/tuingewas/tuingrond | ||||
y) n (g n // fyngoud/hooflyngesprek/langtermyngroei/kaplyngrens | y) n (g n // fyngoud/hooflyngesprek/langtermyngroei/kaplyngrens | ||||
ë) n (g n // split -ng-: reëngeluid/-geur/-gogga/-gordel/seëngebed | |||||
&) n (gat n // split "ng": mangat/-e/woongat/-e/opwengat/-e | &) n (gat n // split "ng": mangat/-e/woongat/-e/opwengat/-e | ||||
ng (eer Nx2 // diftongeer/gedistingeerde/rangeer and compounds | ng (eer Nx2 // diftongeer/gedistingeerde/rangeer and compounds | ||||
n (_g N | n (_g N | ||||
on (tugtig %On // fix stress and avoid ont prefix: ontugtig/-e/-heid | on (tugtig %On // fix stress and avoid ont prefix: ontugtig/-e/-heid | ||||
on (tug On // stress on 1st slb and avoid ont prefix: ontug/-pleger... | on (tug On // stress on 1st slb and avoid ont prefix: ontug/-pleger... | ||||
on (twyfel %On // "ont" not prefix: ontwyfelbaar/-bare/-baarheid | on (twyfel %On // "ont" not prefix: ontwyfelbaar/-bare/-baarheid | ||||
on (tyd %On // ontydig and derivitives | |||||
_) on (tyd %On // ontydig and derivitives | |||||
_) onuit (@P5 On_Yyt // fix stress: onuitblusbaar/onuithou(d)baar/onuitputlik/onuitroeibaar/onuitspreekbaar | _) onuit (@P5 On_Yyt // fix stress: onuitblusbaar/onuithou(d)baar/onuitputlik/onuitroeibaar/onuitspreekbaar | ||||
_) on (uitge@++P2 On_ // fix stress: onuitgedoof/onuitgegee/onuitgekeer/onuitgeloot/onuitgemaak... | _) on (uitge@++P2 On_ // fix stress: onuitgedoof/onuitgegee/onuitgekeer/onuitgeloot/onuitgemaak... | ||||
_) on (wAs 'On // onwis/onwys | _) on (wAs 'On // onwis/onwys | ||||
paro (di p%ar%u // fix stress and vowel sounds: parodie and compounds | paro (di p%ar%u // fix stress and vowel sounds: parodie and compounds | ||||
parti (tu p%art@ // fix stress and i sound: partituur/partiture and compounds | parti (tu p%art@ // fix stress and i sound: partituur/partiture and compounds | ||||
pa (tat p@ // patat/warmpatat/wurgpatat | pa (tat p@ // patat/warmpatat/wurgpatat | ||||
patie (K p%at'i //words ending in patie has stress at end + a sound/simpatiek | |||||
patie (KN p%at'i //words ending in patie has stress at end + a sound/simpatiek | |||||
@) paties p'A:tis // fix stress and a sound: simpaties/-e | |||||
para (C ,para //paralel, paragraaf etc. | para (C ,para //paralel, paragraaf etc. | ||||
parade (K p@rA:d@ // parade and compounds | parade (K p@rA:d@ // parade and compounds | ||||
par (C@ p%ar // (ge)parkeer/parkeerplek/party(keer/maal...)/parfuum/parmantig | |||||
_) par (C@ p%ar // (ge)parkeer/parkeerplek/party(keer/maal...)/parfuum/parmantig | |||||
pars (C pars // restore default stress: parsbalie/-kuip/-tyd, etc. | pars (C pars // restore default stress: parsbalie/-kuip/-tyd, etc. | ||||
_) pas (AA pas // pasaangeër/pasoortreding | _) pas (AA pas // pasaangeër/pasoortreding | ||||
pas (op p%as // pasop/pasoppens | pas (op p%as // pasop/pasoppens | ||||
proto (C pro@tu // protokol/prototipe | proto (C pro@tu // protokol/prototipe | ||||
provi (and pr%o@v%i // fix stress and v sound: proviand/-meester, etc. | provi (and pr%o@v%i // fix stress and v sound: proviand/-meester, etc. | ||||
ps (igA s // psigologie/kinderpsigoloog | ps (igA s // psigologie/kinderpsigoloog | ||||
psalm p@sal@m // schwa between p and s | |||||
_) psalm p@sal@m // schwa between p and s | |||||
psalmis p@s%al@mIs // move default stress: psalmis/-te | psalmis p@s%al@mIs // move default stress: psalmis/-te | ||||
pub (li p%Wb | pub (li p%Wb | ||||
puntener p%Wnt@ne@r // stress and 2nd e sound: puntenerig and derivitives | puntener p%Wnt@ne@r // stress and 2nd e sound: puntenerig and derivitives | ||||
pu (pil p%y // move default stress: pupil/-le and compounds | pu (pil p%y // move default stress: pupil/-le and compounds | ||||
puri (tein p%yr@ // fix stress and i sound: puritein/-e/-se | |||||
.group q | .group q | ||||
radio r'A:di;u:- | radio r'A:di;u:- | ||||
raffinade (r r%af%in%ad@ // fix stress and 2nd a sound: raffinadery/-e and compounds | raffinade (r r%af%in%ad@ // fix stress and 2nd a sound: raffinadery/-e and compounds | ||||
rake (t rak'E // raket/te/tennisraket | rake (t rak'E // raket/te/tennisraket | ||||
ram (pokker r%am // move default stress: rampokker/-s/-ig | |||||
ramp (salig r%amp // move default stress | ramp (salig r%amp // move default stress | ||||
ramp (spoed@ r%amp // move default stress: rampspoedig and derivitives | ramp (spoed@ r%amp // move default stress: rampspoedig and derivitives | ||||
_) rand (A@ rant_ // fix d sound and insert pause: randafwerking/-akker/-eier | |||||
ra (nonkel r@ // fix stress and a sound: ranonkel/-s/ranonkelrooi, etc. | ra (nonkel r@ // fix stress and a sound: ranonkel/-s/ranonkelrooi, etc. | ||||
ra (ntsoen r%a // move default stress: rantsoen and compounds | ra (ntsoen r%a // move default stress: rantsoen and compounds | ||||
ra (pier r%a // move default stress: rapier/-e and compounds | |||||
_) ra (pport r%a // fix stress: rapport/skoolrapport/rapportryer | _) ra (pport r%a // fix stress: rapport/skoolrapport/rapportryer | ||||
rasse ras@ // e sound of compounds starting with rasse | rasse ras@ // e sound of compounds starting with rasse | ||||
ribbe (tj r'Ibi | ribbe (tj r'Ibi | ||||
riete rit@ // fix e sound: merietelys/rietedak, etc. | |||||
rinne (w r@n@ // move default stress: (ge/ver)rinneweer/-de/-der | rinne (w r@n@ // move default stress: (ge/ver)rinneweer/-de/-der | ||||
_) ri (o r%i // move default stress: riool and compounds/riolering | _) ri (o r%i // move default stress: riool and compounds/riolering | ||||
ris (kant r@s // move default stress: riskant/-e | |||||
ritme rItm@ // fix e sound in ritmes/ritmespeler | ritme rItm@ // fix e sound in ritmes/ritmespeler | ||||
ritu (A r@t%y // ritueel/rituele/ritualisties | ritu (A r@t%y // ritueel/rituele/ritualisties | ||||
roersel rurs@l // fix stress and e sound: roersele and compounds of roersel | |||||
_) rol (A rOl? // oprolaksie/roloorvleueling | _) rol (A rOl? // oprolaksie/roloorvleueling | ||||
roetine r%utin@ // stress: roetine/-basis/-besoek/-kontrole... | roetine r%utin@ // stress: roetine/-basis/-besoek/-kontrole... | ||||
ro (ja r%u // fix stress and o sound: rojaal/rojale | |||||
_) roode r'o@d@ //roodepoort and other names | _) roode r'o@d@ //roodepoort and other names | ||||
roman r%uman | roman r%uman | ||||
ron (dawel r%On // move default stress: rondawel/-s/-tjie | ron (dawel r%On // move default stress: rondawel/-s/-tjie | ||||
rond (r rOnt // grondreuk/grondrel/rondreis/-rol/-ry | rond (r rOnt // grondreuk/grondrel/rondreis/-rol/-ry | ||||
rondom rOnt_%Om // rondom/rondomheen/rondomstaner | rondom rOnt_%Om // rondom/rondomheen/rondomstaner | ||||
rolprent rOlprEnt // rolprent/rolprentvertoning and other compounds | |||||
rondom (tali r%Ont%Om // fix stress and d sound: rondomtalie/-s/rondomtaliemeul, etc. | |||||
roulette r%ulEt // fix stress and vowel sounds: roulette/-speler/-tafel | roulette r%ulEt // fix stress and vowel sounds: roulette/-speler/-tafel | ||||
ru (briek r%W // move default stress: rubriek/-skrywer, etc. | ru (briek r%W // move default stress: rubriek/-skrywer, etc. | ||||
rugby rWgbi | rugby rWgbi | ||||
_) rede (C re@d@ // redevoerder/redekawel and similar | _) rede (C re@d@ // redevoerder/redekawel and similar | ||||
redeneer r@d@n'e@r // redeneer/geredeneer/beredeneer/beredeneerde | redeneer r@d@n'e@r // redeneer/geredeneer/beredeneer/beredeneerde | ||||
reden (ACA r@d@n' // redenasie/s | reden (ACA r@d@n' // redenasie/s | ||||
rede (ry r%e@d@ // move default stress: redery/-e and compounds | |||||
_) redi (gA r%Ed%i // redigeer/geredigeer/-de/ongeredigeerde | _) redi (gA r%Ed%i // redigeer/geredigeer/-de/ongeredigeerde | ||||
refor (m r@f%Or // gereformeerde/reformering/reformasie | refor (m r@f%Or // gereformeerde/reformering/reformasie | ||||
re (frein r@ // move default stress: refrein/-e | re (frein r@ // move default stress: refrein/-e | ||||
C) re (gat r@ // fix e sound: fregat/-te and compounds/harregat | C) re (gat r@ // fix e sound: fregat/-te and compounds/harregat | ||||
regime (_ r@Zi:m // regime/-s and compounds | regime (_ r@Zi:m // regime/-s and compounds | ||||
regi (ment r@x2@ // fix stress and e and i sounds: regement/-e and compounds | |||||
reg (ist r@x2 // registrasie/-nommer/register/bevolkingsregister | reg (ist r@x2 // registrasie/-nommer/register/bevolkingsregister | ||||
regle (ment r@x2l@ // fix stress and e sounds: reglement/-e and compounds | |||||
regverdig r&x2f'&rd@x2 // regverdig/onregverdige/regverdigheid - verwyder uit af_list | regverdig r&x2f'&rd@x2 // regverdig/onregverdige/regverdigheid - verwyder uit af_list | ||||
reklame r@klA:m@ // fix stress and e sounds: reklame and many compounds | reklame r@klA:m@ // fix stress and e sounds: reklame and many compounds | ||||
re (kru r@ // move stress from 1st slb | re (kru r@ // move stress from 1st slb | ||||
_) re (la r@ // relaas/relase/relasie and compounds | _) re (la r@ // relaas/relase/relasie and compounds | ||||
rele (van r@l@ // relevansie/relevant and derivitives | rele (van r@l@ // relevansie/relevant and derivitives | ||||
reli (gi r@l@ // fix stress and e sound: religie/-ë/religieus | |||||
rem (_ rEm // handrem/kabeltrem/kragrem/noodrem/skyfrem/stadstrem/veiligheidsrem | rem (_ rEm // handrem/kabeltrem/kragrem/noodrem/skyfrem/stadstrem/veiligheidsrem | ||||
C) re (n_ rE //tydren, fietsren etc. | C) re (n_ rE //tydren, fietsren etc. | ||||
re (nA r@ // move stress from 1st slb.: renoster | re (nA r@ // move stress from 1st slb.: renoster | ||||
relase r@lA:s@ // relase/s | relase r@lA:s@ // relase/s | ||||
rele (gA r@l@ // relegeer/relegasie | rele (gA r@l@ // relegeer/relegasie | ||||
repet rEp@t | repet rEp@t | ||||
republiek r@pWbl'ik // republiek/e/ie/sowjetrepubliek | |||||
republiek r@p%Wblik // republiek/e/ie | |||||
republi (k r@p%Wbl%i // move default stress: republikein/-e/-se | |||||
&) rering (_ re@r@N //strukturering, demonstrering etc. | &) rering (_ re@r@N //strukturering, demonstrering etc. | ||||
reso (lusie r%Es%O // fix stress and vowel sounds: resolusie/-s and compounds | |||||
resul (tA r@sWl' // resultaat/resultate/eksamenresultaat... | resul (tA r@sWl' // resultaat/resultate/eksamenresultaat... | ||||
resep r@sEp // resep/resepte/resepteboek | resep r@sEp // resep/resepte/resepteboek | ||||
reserwe r@z'&rv@ | reserwe r@z'&rv@ | ||||
respek (teer r@sp%Ek // stress to end | respek (teer r@sp%Ek // stress to end | ||||
&) rele (_ r'e@l@ | &) rele (_ r'e@l@ | ||||
&A) reel (_ r'e@l // stress: immoreel/kultureel/struktureel/tekstureel/temporeel | &A) reel (_ r'e@l // stress: immoreel/kultureel/struktureel/tekstureel/temporeel | ||||
reti (re r@t@ // fix stress and vowel sounds: retireer/retirerende | |||||
_) retro (@ r%Etr%u // fix stress and vowel sounds: many words beginning with retro-: retrogressie/-f, etc. | |||||
re (ü r%i_ // fix stress and e sound, insert pause: reünie/-s and compounds/reünifikasie | |||||
.group s | .group s | ||||
s (japie s // dorpsjapie/plaasjapie/stadsjapie | s (japie s // dorpsjapie/plaasjapie/stadsjapie | ||||
@) sj (aar sj // diensjaar/lewensjaar/begrotingsjaar | @) sj (aar sj // diensjaar/lewensjaar/begrotingsjaar | ||||
@) sj (aCA sj // apartheidsjare/oesjare/beroepsjaloesie | @) sj (aCA sj // apartheidsjare/oesjare/beroepsjaloesie | ||||
@) s (joern s // split -sj-: fabrieks-/reis-/skeepsjournaal, etc. | |||||
sigare (t s@x2%arE // fix vowel sounds and move default stress | sigare (t s@x2%arE // fix vowel sounds and move default stress | ||||
sig (a@ s@x2 // sigaar/sigare/sigaardosie | sig (a@ s@x2 // sigaar/sigare/sigaardosie | ||||
_) si (klo s%i // fix stress and i sound: sikloon/siklone/sikloop/siklope | |||||
siklu (s siklW // siklus and many compounds | siklu (s siklW // siklus and many compounds | ||||
silhoe (A s@l%uw // silhoeët/-te/-teer | silhoe (A s@l%uw // silhoeët/-te/-teer | ||||
sili (nd s@lI // silinder(s)/silinderkoppe | sili (nd s@lI // silinder(s)/silinderkoppe | ||||
si (napK s@ // fix stress and i sound: sinaps/-esinapties | |||||
_) si (noC s@ // fix stress and i sound: sinode and compounds/sinops/sinop;ties | |||||
sin (takC s@n // move default stress: sintaksis/sintakties | |||||
sinteties s@nte@tis // sinteties/e/fotosinteties/-e | sinteties s@nte@tis // sinteties/e/fotosinteties/-e | ||||
si (viel s@ // move default stress and fix i sound: siviel/-e | si (viel s@ // move default stress and fix i sound: siviel/-e | ||||
s (iën S | s (iën S | ||||
_) sa (ff sa'' // move default stress: saffier and compounds/saffraan/-agtig/-peer | _) sa (ff sa'' // move default stress: saffier and compounds/saffraan/-agtig/-peer | ||||
sag (moe s%ax2 // move default stress: sagmoedig/-e/-heid | sag (moe s%ax2 // move default stress: sagmoedig/-e/-heid | ||||
salaris s@lA:r@s // salaris/aanvangsalaris/salarisskaal/-uitbetaling | salaris s@lA:r@s // salaris/aanvangsalaris/salarisskaal/-uitbetaling | ||||
sal (mander s%al // fix stress: salmander/-s/klipsalmander | |||||
salo (n s%alO // eetsalon/haarkappersalon | salo (n s%alO // eetsalon/haarkappersalon | ||||
sal (peter s%al // move default stress: salpeter and compounds | |||||
_) sam (b s%am // move default stress: sambok/-kke/sambreel/sambrele and compounds | _) sam (b s%am // move default stress: sambok/-kke/sambreel/sambrele and compounds | ||||
_) same (@P4 s'A:m@ // samekoms/sameswering | _) same (@P4 s'A:m@ // samekoms/sameswering | ||||
_) same (hA@ s%A:m@ // stress: (on)samehangend/samehorig/-e/-heid, but samehang | _) same (hA@ s%A:m@ // stress: (on)samehangend/samehorig/-e/-heid, but samehang | ||||
samel (C sA:m@l // versamelde: see rule:_) same (@P4 s'A:m@ | samel (C sA:m@l // versamelde: see rule:_) same (@P4 s'A:m@ | ||||
samen (+ sA:m@n // gesamentlik/-e | samen (+ sA:m@n // gesamentlik/-e | ||||
_) san (da s%an // move default stress: sandaal/-tjies/sandale | _) san (da s%an // move default stress: sandaal/-tjies/sandale | ||||
sara (se s%ar%a // move default stress: saraseen and compounds/sarasene | |||||
_) sar (d s%ar // sardien/-blikkie/sardinies/sardyne | _) sar (d s%ar // sardien/-blikkie/sardinies/sardyne | ||||
sar (kA s%ar // move default stress: sarkasme/sarkasties/sarkoom | sar (kA s%ar // move default stress: sarkasme/sarkasties/sarkoom | ||||
sa (rong s%a // fix stress and a sound: sarong/-s | |||||
sa (tir s%a // move default stress: satire/satiries/-e | sa (tir s%a // move default stress: satire/satiries/-e | ||||
_) schu (C Su // fix u sound: Schubert/Schultz/Schumann/Schumacher | _) schu (C Su // fix u sound: Schubert/Schultz/Schumann/Schumacher | ||||
_) sede se@d@ // sede/-s|-preek | _) sede se@d@ // sede/-s|-preek | ||||
se (duk s@ // fix stress and e sound: seduksie/-s/seduktief | |||||
sei (soen s%eI // move default stress: seisoen and compounds | sei (soen s%eI // move default stress: seisoen and compounds | ||||
seker se@k@r // versekering/sekerheid/onsekerheid/sekere | seker se@k@r // versekering/sekerheid/onsekerheid/sekere | ||||
se (ko s@ // sekond/sekonde/sekondes/sekondant | se (ko s@ // sekond/sekonde/sekondes/sekondant | ||||
_) se (kre s@ // fix e sound: (ge)(kon)sekreer/sekreet/sekresie | _) se (kre s@ // fix e sound: (ge)(kon)sekreer/sekreet/sekresie | ||||
se (ku s@ // sekuriteit/sekuur | se (ku s@ // sekuriteit/sekuur | ||||
seku (l s%Ek%y // sekulër/sekulariseer | seku (l s%Ek%y // sekulër/sekulariseer | ||||
sekwe (strA s%Ekw@ // fix e sounds: sekwestrasie/sekwestreer and compounds | |||||
sela (kant s%e@l@ // fix stress and vowel sounds: selakant/-e | sela (kant s%e@l@ // fix stress and vowel sounds: selakant/-e | ||||
selder (y s%&ld@r // move default stress: seldery and compounds | |||||
&) sele (_ s'e@l@ | &) sele (_ s'e@l@ | ||||
no) sele (_ s@l@ // e sounds in onnosele | no) sele (_ s@l@ // e sounds in onnosele | ||||
self (stan s%&lf // move default stress: selfstandig/-e/-heid | self (stan s%&lf // move default stress: selfstandig/-e/-heid | ||||
seli (ba s%El%i // move default stress and fix e sound: selibaat/selibate | seli (ba s%El%i // move default stress and fix e sound: selibaat/selibate | ||||
@) sellig s'&l@x2 // move default stress: een-/twee-/...-/meer-/veelsellig/-e | @) sellig s'&l@x2 // move default stress: een-/twee-/...-/meer-/veelsellig/-e | ||||
se (llin s%&' // stress on 'in: (met)gesellin/-ne/-netjie, etc. | se (llin s%&' // stress on 'in: (met)gesellin/-ne/-netjie, etc. | ||||
sello (fa s%&l@ // fix stress and vowel sounds: sellofaan and compounds | |||||
_) selon (sC s@lo~n // fix stress and e, nasalise o: selonspampoen/-roos/-rose, etc. | _) selon (sC s@lo~n // fix stress and e, nasalise o: selonspampoen/-roos/-rose, etc. | ||||
@) sel (wig s'&l // stress: (ver)eenselwig and derivitives | @) sel (wig s'&l // stress: (ver)eenselwig and derivitives | ||||
polisie) se (lK s& // fix e sound: polisiesel/-le | polisie) se (lK s& // fix e sound: polisiesel/-le | ||||
semi (na s%Em%i // seminaar/seminare/seminarium | semi (na s%Em%i // seminaar/seminare/seminarium | ||||
sening se@n@N // sening/haaksening/heupsening | sening se@n@N // sening/haaksening/heupsening | ||||
_) se (ni@ s@ // fix stress and e sound: seniel/-e/seniliteit | |||||
_) senior s''i:ni@r // default stress; fix vowl sounds: senior and compounds starting with senior | _) senior s''i:ni@r // default stress; fix vowl sounds: senior and compounds starting with senior | ||||
senior (itei s%i:n%i%Or // fix vowel sounds: senioriteit | senior (itei s%i:n%i%Or // fix vowel sounds: senioriteit | ||||
_) sen (tra@ s%En // exception to default stress rule: sentraal/sentrale | _) sen (tra@ s%En // exception to default stress rule: sentraal/sentrale | ||||
_) ser (e@ s@r // fix stress and 1st e sound: sereen/serene | _) ser (e@ s@r // fix stress and 1st e sound: sereen/serene | ||||
sere (moni s%Er@ // seremonie/-meester/huwelikseremonie/seremonieel | sere (moni s%Er@ // seremonie/-meester/huwelikseremonie/seremonieel | ||||
_) se (ring s@ // fix stress and e sound: sering/-boom/-bloeisels, etc. | |||||
ser (sant s@r // move default stress: sersant and compounds | ser (sant s@r // move default stress: sersant and compounds | ||||
ser (vet s@r // servet and compounds, e.g. servetring | ser (vet s@r // servet and compounds, e.g. servetring | ||||
ses (uur sEs_ // fix e sound and insert short break: sesuur/-nuus, etc. | ses (uur sEs_ // fix e sound and insert short break: sesuur/-nuus, etc. | ||||
simp (to s@m // move default stress and drop p: simptoom/simptome/simptomaties | simp (to s@m // move default stress and drop p: simptoom/simptome/simptomaties | ||||
si (nnig s'I // sinnig in compounds has stress: dubbelsinnig/geheimsinnig/kranksinnig | si (nnig s'I // sinnig in compounds has stress: dubbelsinnig/geheimsinnig/kranksinnig | ||||
siniste (r s@nIst@ // sinister/sinistere/sinisters | siniste (r s@nIst@ // sinister/sinistere/sinisters | ||||
sipre (K siprE // fix stress and i sound: sipres/-se/bergsipres/sipresboom | |||||
sipre (K s%iprE // fix stress and i sound: sipres/-se/bergsipres/sipresboom | |||||
sirene s@re@n@ // move default stress and fix vowel sounds: sirene/-s/-lied/-sang | sirene s@re@n@ // move default stress and fix vowel sounds: sirene/-s/-lied/-sang | ||||
si (troen s@ // move default stress: sitroen and compounds | |||||
skade skA:d@ // elik suffix rule breaks a sound of (on)skadelik | skade skA:d@ // elik suffix rule breaks a sound of (on)skadelik | ||||
skadu skA:dy // skaduagtig/skadutjie | skadu skA:dy // skaduagtig/skadutjie | ||||
skaker (ing sk%ake@r // skakering/-s/kleurskakering | skaker (ing sk%ake@r // skakering/-s/kleurskakering | ||||
skan (da sk%an // move default stress: skandaal/skandale/skandalig and compounds | skan (da sk%an // move default stress: skandaal/skandale/skandalig and compounds | ||||
_) skar (C sk%ar // move default stress: skarlaken/skarminkel/skarnier and many compounds | _) skar (C sk%ar // move default stress: skarlaken/skarminkel/skarnier and many compounds | ||||
skarrel skar@l // restore default stress: (ge)skarrel/-ing | skarrel skar@l // restore default stress: (ge)skarrel/-ing | ||||
ska (vot sk%a // fix stress and a sound: skavot and compounds | |||||
_) ske (let sk@ // fix stress and 1st e sound: skelet and compounds | _) ske (let sk@ // fix stress and 1st e sound: skelet and compounds | ||||
skemer ske@m@r // fix 2nd e in many compounds and derivitives of skemer- | skemer ske@m@r // fix 2nd e in many compounds and derivitives of skemer- | ||||
sker (muts sk%&r // move default stress: (ge)skermutsel/skermutseling/-e | sker (muts sk%&r // move default stress: (ge)skermutsel/skermutseling/-e | ||||
skerpi (oen sk%&rp%i // move default stress: skerpioen/-e and compounds | skerpi (oen sk%&rp%i // move default stress: skerpioen/-e and compounds | ||||
skilder (y sk@ld@r // move stress to y: skildery and compounds like skilderymuseum | skilder (y sk@ld@r // move stress to y: skildery and compounds like skilderymuseum | ||||
skisofr (e sk%is%ufr // fix stress and o sound: skisofreen/skisofrene | |||||
sko (lier sk%o@ // move default stress: skolier/-e | sko (lier sk%o@ // move default stress: skolier/-e | ||||
skoppel (maa sk%Op@l // move default stress: skoppelmaai/-e/-er/-s | skoppel (maa sk%Op@l // move default stress: skoppelmaai/-e/-er/-s | ||||
skuld (erken skWlt_ // fix d sound: skulderkenning/-s/-erkentenis | |||||
skyn (hei sk%eIn // move default stress: skynheilig/-e/-heid | skyn (hei sk%eIn // move default stress: skynheilig/-e/-heid | ||||
_) slag sl'ax2 | _) slag sl'ax2 | ||||
sla (vin sl%a // move default stress and shorten a sound: slavin/-ne and compounds | sla (vin sl%a // move default stress and shorten a sound: slavin/-ne and compounds | ||||
slop (emmer slOp_ // fix o sound and insert pause: slopemmer/-s | |||||
@) sering s'e@r@N // analisering/kategorisering | @) sering s'e@r@N // analisering/kategorisering | ||||
@) ses (_ s@s // fix 2 slb. words ending in ses | @) ses (_ s@s // fix 2 slb. words ending in ses | ||||
sma (rag sm%a // fix stress and a sound: smarag/-te | |||||
snel (_ sn&l // fix e: aansnel/agternasnel/blitssnel/heengesnel/koppesnel/nasnel/verbysnel | snel (_ sn&l // fix e: aansnel/agternasnel/blitssnel/heengesnel/koppesnel/nasnel/verbysnel | ||||
sodom (iet s,o@dOm // fix stress | sodom (iet s,o@dOm // fix stress | ||||
so (ffleu s%u // move default stress and fix o sound: suffleur/soffleuse | |||||
soewe (nier s%uv@ // move default stress: soewenier/-e/-s | |||||
_) soie so@?i // soiets/soiemand | _) soie so@?i // soiets/soiemand | ||||
_) sol (da s%Ol // move default stress: soldaat/soldate and compounds | _) sol (da s%Ol // move default stress: soldaat/soldate and compounds | ||||
sol (dy s%Ol // fix stress: soldy and compounds | sol (dy s%Ol // fix stress: soldy and compounds | ||||
so (lie s%O // stress and o sound: solied/-e | so (lie s%O // stress and o sound: solied/-e | ||||
so (lid s%O // konsolidasie/solidariteit | so (lid s%O // konsolidasie/solidariteit | ||||
sonant sun'ant // fix stress and o sound: sonant/dissonant/konsonant | |||||
so (natA s%u // move default stress and fix o sound: sonate/-s and compounds | so (natA s%u // move default stress and fix o sound: sonate/-s and compounds | ||||
sonne (t s%unE // fix stress and vowel sounds: sonnet/-te/sonnetvorm | sonne (t s%unE // fix stress and vowel sounds: sonnet/-te/sonnetvorm | ||||
so (nnetjie++ sO // but: sonnetjie/wintersonnetjie | so (nnetjie++ sO // but: sonnetjie/wintersonnetjie | ||||
so (pra s%u // move default stress and fix o sound: sopraan/soprane | so (pra s%u // move default stress and fix o sound: sopraan/soprane | ||||
sou (ffleu s%u // move default stress and fix o sound: suffleur/soffleuse | |||||
span (dab sp%an // move default stress: spandabel/-rig, etc. | span (dab sp%an // move default stress: spandabel/-rig, etc. | ||||
span (jAA sp%an // move default stress: Spanjaard/-e/Spanjool | span (jAA sp%an // move default stress: Spanjaard/-e/Spanjool | ||||
span (spek sp%an // move default stress: spanspek/-ke/-kie and compounds | span (spek sp%an // move default stress: spanspek/-ke/-kie and compounds | ||||
_) spar (ta@ sp%ar // move default stress: spartaan/-s/spartane | |||||
spartel spart@l // fix stress and e sound: spartel/-end/-ing | spartel spart@l // fix stress and e sound: spartel/-end/-ing | ||||
_) spat (a spat_ // fix stress, a sound and insert pause: spataar/spatare | |||||
spek (takel sp%Ek // move default stress: spektakel/-s | spek (takel sp%Ek // move default stress: spektakel/-s | ||||
spelagtig sp&l'ax2t@x2 // skouspelagtig/e/heid/klugspelagtig | spelagtig sp&l'ax2t@x2 // skouspelagtig/e/heid/klugspelagtig | ||||
e) spel (_ sp&l //klokkespel/snarespel/driespel/hokkiespel/puntespel/putjiespel | e) spel (_ sp&l //klokkespel/snarespel/driespel/hokkiespel/puntespel/putjiespel | ||||
C) spel (_ sp&l // many compounds ending in spel after consonant | C) spel (_ sp&l // many compounds ending in spel after consonant | ||||
&) spele (_ sp'e@l@ | &) spele (_ sp'e@l@ | ||||
spese (ry sp@s@ // spesery and compounds and derivitives | spese (ry sp@s@ // spesery and compounds and derivitives | ||||
_) spes (ma sp%Es // move default stress: spesmaas/spesmase | |||||
_) spi (ra sp%i // move default stress: spiraal and compounds/spirale/spirakel/spirant, etc. | _) spi (ra sp%i // move default stress: spiraal and compounds/spirale/spirakel/spirant, etc. | ||||
spits (von sp@ts // move default stress: spitsvondig/-e/-heid | |||||
spoed (@ sput // spoedaflewering/spoedeisend/spoedorder | spoed (@ sput // spoedaflewering/spoedeisend/spoedorder | ||||
spoed (ig spud // spoedig/-lik/-er/-ste | spoed (ig spud // spoedig/-lik/-er/-ste | ||||
_) spon (ta sp%On // move default stress: spontaan/spontane | _) spon (ta sp%On // move default stress: spontaan/spontane | ||||
sproke spro@k@ // see rule: pro (CA pr%u : aangesprokene/onbesproke, etc. | sproke spro@k@ // see rule: pro (CA pr%u : aangesprokene/onbesproke, etc. | ||||
self (_ s'&lf // myself/vanself | self (_ s'&lf // myself/vanself | ||||
// self s'&lf | // self s'&lf | ||||
sewe (C s'e@v@ // sewejarige/standerdseweklas | |||||
K) sewe (C s'e@v@ // sewejarige/standerdseweklas | |||||
september s@pt'Emb@r | september s@pt'Emb@r | ||||
@) sief (_ s'if // massief/aggressief/passief/intensief | @) sief (_ s'if // massief/aggressief/passief/intensief | ||||
@) siewe (_ s'iv@ // massiewe/aggressiewe/passiewe/intensiewe | @) siewe (_ s'iv@ // massiewe/aggressiewe/passiewe/intensiewe | ||||
_) sim (bA s@m // move default stress: simbool/simbole/simbolies/-e/simbaal/simbale | _) sim (bA s@m // move default stress: simbool/simbole/simbolies/-e/simbaal/simbale | ||||
simbo (liek s@mb%u // fix stress and vowel sounds: simboliek and compounds | simbo (liek s@mb%u // fix stress and vowel sounds: simboliek and compounds | ||||
simme (trie s@me@ // fix stress and e sound: simmetries/-e | simme (trie s@me@ // fix stress and e sound: simmetries/-e | ||||
simme (trie_N s@m@ // but stress to end: simmetrie | |||||
simpo (siA s@mpo@ // fix stress and o sound: simposium/simposia and compounds | simpo (siA s@mpo@ // fix stress and o sound: simposium/simposia and compounds | ||||
// sioe Si'u | // sioe Si'u | ||||
si (o Si // fisiologie/-logiese/-loog | |||||
sio (ne Siu' // emosioneel/emosionele/rasioneel/rasionele, etc. | |||||
@) si (o Si // fisiologie/-logiese/-loog | |||||
@) sio (ne Siu' // emosioneel/emosionele/rasioneel/rasionele, etc. | |||||
@) sipale sip'A:l@ // move default stress: munisipale/partisipale | @) sipale sip'A:l@ // move default stress: munisipale/partisipale | ||||
si (pier s@ // fix stress and i sound: sipier and compounds | |||||
sist (e s@st // fix stress and vowel sounds: sisteem/sisteme | sist (e s@st // fix stress and vowel sounds: sisteem/sisteme | ||||
siste (mat s@st@ // fix e sounds: sistematies/-e | siste (mat s@st@ // fix e sounds: sistematies/-e | ||||
situasie sItSu'A:si | situasie sItSu'A:si | ||||
spesialis (A spESialis | spesialis (A spESialis | ||||
spesialis spESal'Is | spesialis spESal'Is | ||||
spesi (f sp%Es%I // spesifiek/spesifiseer | spesi (f sp%Es%I // spesifiek/spesifiseer | ||||
@) spre (ken spr'e@ // stress: vanselfsprekend | |||||
@@) spre (ken spr'e@ // stress: vanselfsprekend | |||||
stede (C ste@d@ // fix e sounds of many compounds and derivitives containing stede | stede (C ste@d@ // fix e sounds of many compounds and derivitives containing stede | ||||
dubbel) ste (r st& // fix e sound: dubbelster/-re | dubbel) ste (r st& // fix e sound: dubbelster/-re | ||||
dwaal) ste (r st& // fix e sound: dwaalster/-re | dwaal) ste (r st& // fix e sound: dwaalster/-re | ||||
dwerg) ste (r st& // fix e sound: dwergster/-re | dwerg) ste (r st& // fix e sound: dwergster/-re | ||||
nd) ste (r st& // fix e sound: aandster/oggendster | nd) ste (r st& // fix e sound: aandster/oggendster | ||||
pool) ste (r st& // fix e sound: poolster | pool) ste (r st& // fix e sound: poolster | ||||
see) ste (r st& // fix e sound: seester/-re/seesterpunte and similar compounds | |||||
_) ste (ri st%E // fix stress and e sound: steriel/-e/steriliteit | _) ste (ri st%E // fix stress and e sound: steriel/-e/steriliteit | ||||
stimu (lA st@m%y // move default stress and fix i sound: stimuleer/stimulering/stimulasie | stimu (lA st@m%y // move default stress and fix i sound: stimuleer/stimulering/stimulasie | ||||
_) sub (a sWb_ // subagent/subartikel/subatomies, etc. | _) sub (a sWb_ // subagent/subartikel/subatomies, etc. | ||||
ste (land st@ // fix e sound: vasteland and several compounds | ste (land st@ // fix e sound: vasteland and several compounds | ||||
@) stel (iC st@l // eersteling/gunsteling/wellusteling/worsteling/eerstelig and compounds | @) stel (iC st@l // eersteling/gunsteling/wellusteling/worsteling/eerstelig and compounds | ||||
@) ste (llen st'& // belangstellendes/gerusstellend/regstellende/teleurstellend | @) ste (llen st'& // belangstellendes/gerusstellend/regstellende/teleurstellend | ||||
saam) ste (llen st& // restore default stress: saamstellend/-e | |||||
teen) ste (llen st& // restore default stress: teenstellend | teen) ste (llen st& // restore default stress: teenstellend | ||||
@) stelik st@l@k // oostelik/christelik/beestelik | @) stelik st@l@k // oostelik/christelik/beestelik | ||||
ste (l st& | ste (l st& | ||||
stok (A stOk? // stokagtig/stokinsek/stokoud | stok (A stOk? // stokagtig/stokinsek/stokoud | ||||
stok (e sto@k // stoker/-y | stok (e sto@k // stoker/-y | ||||
storm stOr@-m | storm stOr@-m | ||||
strategie strat@x2'i | |||||
strategie str%at@x2i // fix stress and vowel sounds: strategie and compounds | |||||
strategies str%ate@x2is // fix stress and vowel sounds: strategies/-e | |||||
streke stre@k@ | streke stre@k@ | ||||
studen (t st%ydEn // fix stress: student/regstudent/studentesentrum, etc. | studen (t st%ydEn // fix stress: student/regstudent/studentesentrum, etc. | ||||
stu (de st%y // fix stress and e sound: bestuderend/bestudering | stu (de st%y // fix stress and e sound: bestuderend/bestudering | ||||
t (t | t (t | ||||
t (_dN // final t, and next word starts with d | t (_dN // final t, and next word starts with d | ||||
A) tch _^_EN // clutch/pitch/bitch | A) tch _^_EN // clutch/pitch/bitch | ||||
tabak tab'ak; | |||||
tabak t%abak; | |||||
ta (blet t%a // move default stress: tablet/-te and compounds | ta (blet t%a // move default stress: tablet/-te and compounds | ||||
tafe (re t%af@ // fix vowel sounds: tafereel/taferele and compounds | tafe (re t%af@ // fix vowel sounds: tafereel/taferele and compounds | ||||
@) talig t'A:l@x2 // Anderstalig/tweetalig | @) talig t'A:l@x2 // Anderstalig/tweetalig | ||||
&) treding tre@d@N // betreding/uittreding | &) treding tre@d@N // betreding/uittreding | ||||
@) treer tr'e@r // this slb always takes stress; many words | @) treer tr'e@r // this slb always takes stress; many words | ||||
tref (afs trEf_ // fix e sound and insert short pause: trefafstand/-e | tref (afs trEf_ // fix e sound and insert short pause: trefafstand/-e | ||||
trens (_ tre~ns // fix e sound and nasalise: trens/-snytrens and similar | |||||
tre (k tr& | tre (k tr& | ||||
trekker tr&k@r // voortrekkerleier/Voortrekkerstraat/salaristrekkersvergadering | trekker tr&k@r // voortrekkerleier/Voortrekkerstraat/salaristrekkersvergadering | ||||
terror (is t%Er%ur // terroris/-te/-isme/-istiese | terror (is t%Er%ur // terroris/-te/-isme/-istiese | ||||
_) ter (s t%&r // tersake/terselfdertyd/tersluiks/terstond/tersyde | _) ter (s t%&r // tersake/terselfdertyd/tersluiks/terstond/tersyde | ||||
tese (_ t'e@s@ //sintese, and others | tese (_ t'e@s@ //sintese, and others | ||||
teses (_ t'e@s@s // sinteses and similar | |||||
tesi (s te@s@ // tesis/-se and compounds | tesi (s te@s@ // tesis/-se and compounds | ||||
A) teur t'Y@r // outeur/ouditeur/operateur | A) teur t'Y@r // outeur/ouditeur/operateur | ||||
k) teur t'Y@r // akteur/inspekteur | k) teur t'Y@r // akteur/inspekteur | ||||
m) u (skiet %W //change stress for muskiet compounds | m) u (skiet %W //change stress for muskiet compounds | ||||
n) uwe (C yv@ // nuwelinge/nuwemaan | n) uwe (C yv@ // nuwelinge/nuwemaan | ||||
n) uw yv // nuwigheid/nuwighede | n) uw yv // nuwigheid/nuwighede | ||||
r) uwe (C yv@ // gruweldaad/-rolprent/-verhaal.../struweling | |||||
Cr) uwe (C yv@ // gruweldaad/-rolprent/-verhaal.../struweling | |||||
.group v | .group v | ||||
va (doek fa // stress on 1st slb.: vadoek/-e | va (doek fa // stress on 1st slb.: vadoek/-e | ||||
vagina vax2ina // fix v sound and shorten a sound: vagina/-s | vagina vax2ina // fix v sound and shorten a sound: vagina/-s | ||||
vagin (A@ v%ax2%in // move default stress: vaginale and similar | vagin (A@ v%ax2%in // move default stress: vaginale and similar | ||||
vakansie f@k'ansi | |||||
vakansie f@kansi | |||||
va (ku v%a // fix stress and v sound: vakuum and compounds/vakume/evakueer | va (ku v%a // fix stress and v sound: vakuum and compounds/vakume/evakueer | ||||
vak (unie fak_ // restore default stress, insert short pause: vakunie and compounds | vak (unie fak_ // restore default stress, insert short pause: vakunie and compounds | ||||
va (llei f%a // fix stress and a sound: vallei/-e and compounds | va (llei f%a // fix stress and a sound: vallei/-e and compounds | ||||
vergete f@rx2'e@t@ // vergeterig/vergetelheid | vergete f@rx2'e@t@ // vergeterig/vergetelheid | ||||
_) vergewe f@rx2e@v@ // vergewe/vergewend/-e | _) vergewe f@rx2e@v@ // vergewe/vergewend/-e | ||||
vering f'e@r@N //motivering preservering etc. | vering f'e@r@N //motivering preservering etc. | ||||
@C) vers (_ f&rs // teksvers/slotvers/kindervers and similar | |||||
@C) vers (e_ f&rs // plurals of words like the above | |||||
@) vers (_ f&rs // teksvers/slotvers/kindervers and similar | |||||
@) vers (e_ f&rs // plurals of words like the above | |||||
ver (sie_ f&:r //words ending in versie | ver (sie_ f&:r //words ending in versie | ||||
ver (sies_ f&:r //words ending in versies | ver (sies_ f&:r //words ending in versies | ||||
ver (flent f@r // verflenter and derivitives; see rule: verf (C f&rf | ver (flent f@r // verflenter and derivitives; see rule: verf (C f&rf | ||||
veronderste (l f@rOn@rst'& // stress: veronderstel/-ling | veronderste (l f@rOn@rst'& // stress: veronderstel/-ling | ||||
_) verse (b f'&:rs@ | _) verse (b f'&:rs@ | ||||
C) verse (_ f&rs@ | C) verse (_ f&rs@ | ||||
A) verse (_ v'&rs@ | |||||
KA) verse (_ v'&rs@ | |||||
vers (r f&rs // fix stress and e sound: versreël/-rym/-ritme | vers (r f&rs // fix stress and e sound: versreël/-rym/-ritme | ||||
_) veronge (@P7 f@r'O:Nx2@ | _) veronge (@P7 f@r'O:Nx2@ | ||||
verbete f@rb'e@t@ // verbete/verbetenheid | verbete f@rb'e@t@ // verbete/verbetenheid |
: ; b c d dZ f g | : ; b c d dZ f g | ||||
h j k l L m n N | h j k l L m n N | ||||
n^ p r R s S t t2 | n^ p r R s S t t2 | ||||
tS v w z Z z2 | |||||
tS v w z Z z2 z3 | |||||
Dictionary hi_dict | Dictionary hi_dict | ||||
Dictionary nl_dict | Dictionary nl_dict | ||||
8 @ @- A a: E e: EI | 8 @ @- A a: E e: EI | ||||
eU i I O o: u VU Wy | |||||
y Y: yU | |||||
eU i I O O: o: u VU | |||||
Wy y Y: yU | |||||
* : ; b C d f g | * : ; b C d f g | ||||
h j k l m n N n^ | h j k l m n N n^ | ||||
p Q r s S s; t tS | |||||
p Q r s S S; t tS | |||||
v v2 w x z | v v2 w x z | ||||
* b d d; dZ f g h | * b d d; dZ f g h | ||||
j k l l^ m n N n^ | j k l l^ m n N n^ | ||||
p r R R^ R^/ s S t | p r R R^ R^/ s S t | ||||
t; tS ts v w x z Z | |||||
t; tS ts v x z Z | |||||
Dictionary sv_dict | Dictionary sv_dict | ||||
t tS v w x z Z | t tS v w x z Z | ||||
Dictionary th_dict | |||||
a a: e E: i i: o O | |||||
O: u y | |||||
c d h k l m n N | |||||
p s t | |||||
Dictionary hbs_dict | Dictionary hbs_dict | ||||
& @ @2 a A a: aI aU | & @ @2 a A a: aI aU |
| |||||
// This file in UTF8 encoded | // This file in UTF8 encoded | ||||
// 2006-11-18 Gilles Casse <[email protected]> | // 2006-11-18 Gilles Casse <[email protected]> | ||||
_3 tRw'a | _3 tRw'a | ||||
_4 k'atR | _4 k'atR | ||||
_5 s'E~c | _5 s'E~c | ||||
_6 s'is | |||||
_6 s'iz3 | |||||
six siz2 | six siz2 | ||||
_7 s'Et | _7 s'Et | ||||
_8 'w^it | _8 'w^it | ||||
_9 n'@f | _9 n'@f | ||||
_10 d'is | |||||
_10 d'iz3 | |||||
dix diz2 | dix diz2 | ||||
_11 O~z | _11 O~z | ||||
_12 d'uz | _12 d'uz | ||||
_23 v'E~t:tRw'a | _23 v'E~t:tRw'a | ||||
_24 v'E~tk'atR | _24 v'E~tk'atR | ||||
_25 v'E~ts'E~c | _25 v'E~ts'E~c | ||||
_26 v'E~ts'is | |||||
_26 v'E~ts'iz3 | |||||
_27 v'E~ts'Et | _27 v'E~ts'Et | ||||
_28 v'E~tw^it | _28 v'E~tw^it | ||||
_29 v'E~tn'@f | _29 v'E~tn'@f | ||||
puisque $u $brk | puisque $u $brk | ||||
quand $u $brk | quand $u $brk | ||||
que $u $brk | que $u $brk | ||||
qui $u $brk | |||||
qui $u $brk $verbf | |||||
quoique $u $brk | quoique $u $brk | ||||
si $u $brk | si $u $brk | ||||
elles $u+ $verbf | elles $u+ $verbf | ||||
ils $u+ $verbf | ils $u+ $verbf | ||||
on $u $verbf | on $u $verbf | ||||
me $u | |||||
te $u | |||||
se $u | |||||
me $u $verbf | |||||
te $u $verbf | |||||
se $u $verbf | |||||
ce $u $nounf | ce $u $nounf | ||||
ces sEz2 $u $nounf | ces sEz2 $u $nounf | ||||
sa $u+ $nounf | sa $u+ $nounf | ||||
son $u+ $nounf | son $u+ $nounf | ||||
ses sEz2 $u+ $nounf | ses sEz2 $u+ $nounf | ||||
notre $u+ | |||||
votre $u+ | |||||
notre $u+ $nounf | |||||
votre $u+ $nounf | |||||
leur $u+ | leur $u+ | ||||
nos $u+ | |||||
vos $u+ | |||||
nos $u+ $nounf | |||||
vos $u+ $nounf | |||||
leurs $u+ | leurs $u+ | ||||
// prepositions | // prepositions | ||||
durant $brk | durant $brk | ||||
// negative | // negative | ||||
ne $u | |||||
ne $u $verbf | |||||
// questions | // questions | ||||
où $pause | où $pause | ||||
// pronunciation exceptions | // pronunciation exceptions | ||||
divers div'Erz2 | |||||
scient si | scient si | ||||
bénéficient benefisi $verb | bénéficient benefisi $verb | ||||
président pRezid'A~ | président pRezid'A~ | ||||
président pRezidt2 $verb | président pRezidt2 $verb | ||||
résident Rezid'A~ | résident Rezid'A~ | ||||
résident Rezidt2 $verb | résident Rezidt2 $verb | ||||
évident evid'A~ | |||||
récipient Resipj'A~ | |||||
►évident evid'A~ | |||||
évident evidt2 $verb | évident evidt2 $verb | ||||
couvent k'uvt2 $verb | couvent k'uvt2 $verb | ||||
concurrent kO~kyR'A~ | concurrent kO~kyR'A~ | ||||
récurrent RekyR'A~ | récurrent RekyR'A~ | ||||
ferment fErm'A~ | ferment fErm'A~ | ||||
ferment f'Ermt2 $verb | ferment f'Ermt2 $verb | ||||
parent paR'A~ | |||||
parent p'art2 $verb | |||||
sergent sErZ'A~ | sergent sErZ'A~ | ||||
serment sErm'A~ | serment sErm'A~ | ||||
serpent sErp'A~ | serpent sErp'A~ | ||||
torrent tOR'A~ | |||||
// MAIN WORD DICTIONARY | // MAIN WORD DICTIONARY | ||||
bus bys | bus bys | ||||
choeur kWr | choeur kWr | ||||
discident disidA~ | discident disidA~ | ||||
dix diz3 | |||||
echo Eko | echo Eko | ||||
fils fis | fils fis | ||||
haillon _|ajO~ | haillon _|ajO~ | ||||
prudent pRydA~ | prudent pRydA~ | ||||
secret sYkRE | secret sYkRE | ||||
secrets sYkREz2 | secrets sYkREz2 | ||||
six siz3 | |||||
sens sA~s | sens sA~s | ||||
a (ill a | a (ill a | ||||
a (ils_ a | a (ils_ a | ||||
a (il_ a | a (il_ a | ||||
aie (me E // paiement | |||||
aie (me E // paiement | |||||
ai E // aile | ai E // aile | ||||
am (b A~ // jambon | am (b A~ // jambon | ||||
am (p A~ // camp | am (p A~ // camp | ||||
c' s // s | c' s // s | ||||
cch k // bacchanale | cch k // bacchanale | ||||
cc (Y ks // accéder | cc (Y ks // accéder | ||||
cc k // occuper | |||||
cc k // occuper | |||||
ar) ch (ét k // archétype architecte | ar) ch (ét k // archétype architecte | ||||
or) ch (esC k // orchestre | or) ch (esC k // orchestre | ||||
or) ch (iC k // orchidée | or) ch (iC k // orchidée | ||||
sy) ch (o k // psycho | sy) ch (o k // psycho | ||||
_) ch (or k // chorale | _) ch (or k // chorale | ||||
ch (r k // chrétien | ch (r k // chrétien | ||||
ch (l k | |||||
ch (n k | |||||
ch (s k | |||||
ch (to k | |||||
ch (l k | |||||
ch (n k | |||||
ch (s k | |||||
ch (to k | |||||
ch S // chien | ch S // chien | ||||
ck k // nickel | ck k // nickel | ||||
cqu k // grecque | cqu k // grecque | ||||
cq k // pecq | cq k // pecq | ||||
s) c (Y // | |||||
x) c (Y | |||||
s) c (Y // | |||||
x) c (Y | |||||
c (Y s // cède | c (Y s // cède | ||||
ban) c (_ // banc | ban) c (_ // banc | ||||
blan) c (_ // blan | blan) c (_ // blan | ||||
cler) c (_ // leclerc | cler) c (_ // leclerc | ||||
tchou) c (_ | |||||
taba) c (_ | |||||
tchou) c (_ | |||||
taba) c (_ | |||||
se) c (ond g // seconde secondaire | se) c (ond g // seconde secondaire | ||||
c k // recoin donc | c k // recoin donc | ||||
dd d // addition | dd d // addition | ||||
_) d' (P2 d | _) d' (P2 d | ||||
_lan) d (_ d // land | _lan) d (_ d // land | ||||
Clan) d (_ d | |||||
_san) d (_ d | |||||
Csan) d (_ d | |||||
Clan) d (_ d | |||||
_san) d (_ d | |||||
Csan) d (_ d | |||||
_tan) d (_ d // stand | _tan) d (_ d // stand | ||||
Ctan) d (_ d | |||||
Ctan) d (_ d | |||||
Can) d (_ t2 // grand ami, grand marchand | Can) d (_ t2 // grand ami, grand marchand | ||||
Cen) d (_ t2 | |||||
Con) d (_ t2 | |||||
quan) d (_ t2 | |||||
quen) d (_ t2 | |||||
quon) d (_ t2 | |||||
Cen) d (_ t2 | |||||
Con) d (_ t2 | |||||
quan) d (_ t2 | |||||
quen) d (_ t2 | |||||
quon) d (_ t2 | |||||
dt (_ t // Schmidt | dt (_ t // Schmidt | ||||
r) d (_ // lourd placard | r) d (_ // lourd placard | ||||
ee i // meeting | ee i // meeting | ||||
_cl) ef (_ e // clef | _cl) ef (_ e // clef | ||||
ein (C E~ // peindre | ein (C E~ // peindre | ||||
ein (_ E~ | |||||
ein (_ E~ | |||||
e (il E // vieille | e (il E // vieille | ||||
ei E // neige | ei E // neige | ||||
ell El // selle | ell El // selle | ||||
em (me a // femme patiemment | em (me a // femme patiemment | ||||
em (b A~ // décembre | em (b A~ // décembre | ||||
em (m A~ // emmencher | em (m A~ // emmencher | ||||
em (p A~ | |||||
em (p A~ | |||||
en (_ A~ // en | en (_ A~ // en | ||||
en (hA A~n // enharmonique | en (hA A~n // enharmonique | ||||
en (A A~n // enivrer | en (A A~n // enivrer | ||||
en (_A A~n // en avion | en (_A A~n // en avion | ||||
C) en (d_ A~ // comprend dépend | C) en (d_ A~ // comprend dépend | ||||
C) en (ds_ A~ | |||||
qu) en (d_ A~ | |||||
qu) en (ds_ A~ | |||||
C) en (ds_ A~ | |||||
qu) en (d_ A~ | |||||
qu) en (ds_ A~ | |||||
pati) en A~ // patient patience | pati) en A~ // patient patience | ||||
_) en (nu A~ // ennui | _) en (nu A~ // ennui | ||||
C) en (A @n // menu | C) en (A @n // menu | ||||
en (nA E // penne ennemi | en (nA E // penne ennemi | ||||
Ci) en (nA E // mienne | |||||
Ci) en (nA E // mienne | |||||
éC) en (t_ A~ // récent différent élément | éC) en (t_ A~ // récent différent élément | ||||
_C) en (t_ A~ // cent vent lent dent | |||||
_C) en (t_ A~ // cent vent lent dent | |||||
cc) en (t_ A~ // accent | cc) en (t_ A~ // accent | ||||
_jac) en (t_ A~ // sous-jacent | _jac) en (t_ A~ // sous-jacent | ||||
al) en (t_ A~ // talent équivalent | al) en (t_ A~ // talent équivalent | ||||
xcell) en (t_ A~ // excellent | xcell) en (t_ A~ // excellent | ||||
mm) en (t_ A~ | |||||
mm) en (t_ A~ | |||||
em) en (t_ A~ // vitement | em) en (t_ A~ // vitement | ||||
mom) en (t_ A~ // moment | mom) en (t_ A~ // moment | ||||
Aaim) en (t_ A~ | |||||
Caim) en (t_ A~ | |||||
cum) en (t_ A~ | |||||
gum) en (t_ A~ | |||||
lum) en (t_ A~ | |||||
Aaim) en (t_ A~ | |||||
Caim) en (t_ A~ | |||||
cum) en (t_ A~ | |||||
gum) en (t_ A~ | |||||
lum) en (t_ A~ | |||||
rum) en (t_ A~ // prudemment | rum) en (t_ A~ // prudemment | ||||
_cli) en (t_ A~ // client | _cli) en (t_ A~ // client | ||||
_laur) en (t_ A~ | |||||
_mécont) en (t_ A~ | |||||
_cont) en (t_ A~ | |||||
_laur) en (t_ A~ | |||||
_mécont) en (t_ A~ | |||||
_cont) en (t_ A~ | |||||
mpét) en (t_ A~ // compétent | mpét) en (t_ A~ // compétent | ||||
prés) en (t_ A~ | |||||
prés) en (t_ A~ | |||||
_souv) en (t_ A~ // souvent | _souv) en (t_ A~ // souvent | ||||
s_couv) en (t_ // elles couvent | s_couv) en (t_ // elles couvent | ||||
qui_couv) en (t_ | |||||
qui_couv) en (t_ | |||||
_couv) en (t_ A~ // le couvent | _couv) en (t_ A~ // le couvent | ||||
en (t_ // étaient mangent | en (t_ // étaient mangent | ||||
_am) en (_ En // amen | _am) en (_ En // amen | ||||
AA) en (_ E~ | |||||
AA) en (_ E~ | |||||
AC) en (_ E~ // examen | AC) en (_ E~ // examen | ||||
CA) en (_ E~ // rien | CA) en (_ E~ // rien | ||||
CC) en (_ E~ | |||||
CC) en (_ E~ | |||||
en (s_ A~ | |||||
en (CA A~ // pentathlon | |||||
en (CC A~ // entre | |||||
en (s_ A~ | |||||
en (CA A~ // pentathlon | |||||
en (CC A~ // entre | |||||
_C) er (_ ER // fer | _C) er (_ ER // fer | ||||
_Ch) er (_ ER // cher | _Ch) er (_ ER // cher | ||||
_env) er (_ ER | |||||
_hi) er (_ ER // hier | |||||
_env) er (_ ER | |||||
_hi) er (_ ER // hier | |||||
_hiv) er (_ ER // hiver | _hiv) er (_ ER // hiver | ||||
_trav) er (_ ER | |||||
_ti) er (_ ER | |||||
_trav) er (_ ER | |||||
_ti) er (_ ER | |||||
th) er (_ WR // brother | th) er (_ WR // brother | ||||
th) er (s_ WR | |||||
th) er (s_ WR | |||||
w) er (_ WR // power | w) er (_ WR // power | ||||
w) er (s_ WR | |||||
w) er (s_ WR | |||||
er (_ e // parler léger | er (_ e // parler léger | ||||
er (_A eR // parler léger | er (_A eR // parler léger | ||||
er (s_ e | |||||
er (s_ e | |||||
i) ert (_t2 e // requiert | |||||
i) ert (_t2 e // requiert | |||||
d) e (ssous_ @ // dessous | d) e (ssous_ @ // dessous | ||||
d) e (ssus_ @ // dessus | |||||
d) e (ssus_ @ // dessus | |||||
_d) es (bA e | |||||
_d) es (jA e // Desjardins | |||||
_d) es (nA e | |||||
_d) es (bA e | |||||
_d) es (jA e // Desjardins | |||||
_d) es (nA e | |||||
_d) es (qA e // desquels | _d) es (qA e // desquels | ||||
_l) es (qA e // lesquels | _l) es (qA e // lesquels | ||||
_m) es (dA e // mesdames | _m) es (dA e // mesdames | ||||
_m) es (nA e | |||||
Am) es (dA e | |||||
_m) es (nA e | |||||
Am) es (dA e | |||||
Am) es (nA e // Dumesnil | Am) es (nA e // Dumesnil | ||||
d) esh (A ez // Deshormeaux | d) esh (A ez // Deshormeaux | ||||
_r) es (A @s // resaisir resaluer | _r) es (A @s // resaisir resaluer | ||||
_r) e (ss @ // ressembler | |||||
_r) e (stra @ | |||||
_r) e (stre @ | |||||
_r) e (stro @ | |||||
_r) e (ss @ // ressembler | |||||
_r) e (stra @ | |||||
_r) e (stre @ | |||||
_r) e (stro @ | |||||
_r) e (stru @ // restructurer | _r) e (stru @ // restructurer | ||||
-) est (_ Est // -est | -) est (_ Est // -est | ||||
@Cr) es (_C =@ | |||||
rC) es (_C =@ // fortes dames | |||||
@Cr) es (_C =@ | |||||
rC) es (_C =@ // fortes dames | |||||
') eu (_ y // eu | ') eu (_ y // eu | ||||
eu (r_ W // peur | eu (r_ W // peur | ||||
eu (rs_ W // tracteurs | eu (rs_ W // tracteurs | ||||
eu (b @ // meuble | |||||
eu (f @ // neuf | |||||
eu (i @ | |||||
eu (l @ // fieul | |||||
eu (b @ // meuble | |||||
eu (f @ // neuf | |||||
eu (i @ | |||||
eu (l @ // fieul | |||||
eu (n @ // jeune | eu (n @ // jeune | ||||
eu (p @ | |||||
eu (r @ | |||||
eu (v @ | |||||
eu (p @ | |||||
eu (r @ | |||||
eu (v @ | |||||
eu Y // meute tueuse jeu gueuze | eu Y // meute tueuse jeu gueuze | ||||
_) eû y // eût | _) eû y // eût | ||||
ey Ej // asseye | ey Ej // asseye | ||||
ez (_ ez2 // nez mangez chez | ez (_ ez2 // nez mangez chez | ||||
_C) e (_ @ // je te | |||||
_CC) e (_ @ | |||||
_C) e (_ @ // je te | |||||
_CC) e (_ @ | |||||
_qu) e (_ @ // que | _qu) e (_ @ // que | ||||
@Cr) e (_C =@ // quatre pattes | @Cr) e (_C =@ // quatre pattes | ||||
rC) e (_C =@ | |||||
rC) e (_C =@ | |||||
e (_ // montre | e (_ // montre | ||||
g) e (A // mangeons | g) e (A // mangeons | ||||
AC) e (ment // vitement sûrement | AC) e (ment // vitement sûrement | ||||
Aqu) e (ment | |||||
enC) e (ment | |||||
enqu) e (ment | |||||
Aqu) e (ment | |||||
enC) e (ment | |||||
enqu) e (ment | |||||
_d) e (ch @ | |||||
_d) e (Cl @ | |||||
_d) e (Cr @ // degré | |||||
_d) e (ch @ | |||||
_d) e (Cl @ | |||||
_d) e (Cr @ // degré | |||||
_r) e (ch @ // recherche | _r) e (ch @ // recherche | ||||
_r) e (Cl @ | |||||
_r) e (Cr @ // retracer | |||||
_l) e (xA E | |||||
_l) e (CA @ | |||||
_l) e (ChA @ | |||||
_l) e (ClA @ // Leclerc | |||||
_l) e (CrA @ // Lebrun | |||||
tr) e (CA @ | |||||
tr) e (ChA @ | |||||
tr) e (ClA @ | |||||
_r) e (Cl @ | |||||
_r) e (Cr @ // retracer | |||||
_l) e (xA E | |||||
_l) e (CA @ | |||||
_l) e (ChA @ | |||||
_l) e (ClA @ // Leclerc | |||||
_l) e (CrA @ // Lebrun | |||||
tr) e (CA @ | |||||
tr) e (ChA @ | |||||
tr) e (ClA @ | |||||
tr) e (CrA @ // entreprise | tr) e (CrA @ // entreprise | ||||
e (CC E // infect pelle mettre | e (CC E // infect pelle mettre | ||||
e (C_ E | |||||
e (C_ E | |||||
ll) e (m // actuellement guillemets | ll) e (m // actuellement guillemets | ||||
As) e (gA | |||||
As) e (pA | |||||
Ass) e (gA | |||||
As) e (gA | |||||
As) e (pA | |||||
Ass) e (gA | |||||
Ass) e (pA // passeport | Ass) e (pA // passeport | ||||
Av) e (gA // sauvegarde | |||||
Av) e (pA | |||||
Av) e (gA // sauvegarde | |||||
Av) e (pA | |||||
e @ // menue | e @ // menue | ||||
ai) gni n^ // craignions châtaignier | ai) gni n^ // craignions châtaignier | ||||
gn n^ // agneau | gn n^ // agneau | ||||
_quatre_vin) gts (_ z2 // quatre-vingts ans | _quatre_vin) gts (_ z2 // quatre-vingts ans | ||||
_quatrevin) gts (_ z2 | |||||
_quatrevin) gts (_ z2 | |||||
vin) gt (_A t // liaison: vingt ans | vin) gt (_A t // liaison: vingt ans | ||||
vin) gt (_un | |||||
vin) gt (_deux t | |||||
vin) gt (_un | |||||
vin) gt (_deux t | |||||
vin) gt (_trois t //liaison: vingt-trois | vin) gt (_trois t //liaison: vingt-trois | ||||
vin) gt (_quatr t | |||||
vin) gt (_cinq t | |||||
vin) gt (_six t | |||||
vin) gt (_sept t | |||||
vin) gt (_huit t | |||||
vin) gt (_neuf t | |||||
vin) gt (_quatr t | |||||
vin) gt (_cinq t | |||||
vin) gt (_six t | |||||
vin) gt (_sept t | |||||
vin) gt (_huit t | |||||
vin) gt (_neuf t | |||||
gt (_ // vingt doigts | gt (_ // vingt doigts | ||||
gt t // vingtaine doigté | gt t // vingtaine doigté | ||||
ai) gu (il gy // aiguillage | ai) gu (il gy // aiguillage | ||||
in) gu (is gy // linguiste | in) gu (is gy // linguiste | ||||
g (C g | |||||
g (C g | |||||
g (a g // langage | g (a g // langage | ||||
g (u g | |||||
g (â g | |||||
g (o g | |||||
g (û g | |||||
g (u g | |||||
g (â g | |||||
g (o g | |||||
g (û g | |||||
_ran) g (_ // rang | _ran) g (_ // rang | ||||
_san) g (_ // sang | _san) g (_ // sang | ||||
A) ill j // caillou | A) ill j // caillou | ||||
ill ij // famille | ill ij // famille | ||||
a) il (_ j // bail | a) il (_ j // bail | ||||
e) il (_ j | |||||
e) il (_ j | |||||
u) il (_ j // deuil | u) il (_ j // deuil | ||||
imm imm // immaculé | imm imm // immaculé | ||||
.group l | .group l | ||||
_) l (_ El | _) l (_ El | ||||
l l // lit | l l // lit | ||||
ll l // aller | |||||
ll l // aller | |||||
_) l' (P2 l | _) l' (P2 l | ||||
au) lt // hérault | au) lt // hérault | ||||
outi) l (_ // outil | outi) l (_ // outil | ||||
o (ch o // cochon | o (ch o // cochon | ||||
oe (ll wa // moelleux | oe (ll wa // moelleux | ||||
_) oe (C Y // oesophage | |||||
_) oe (C Y // oesophage | |||||
o (eu // soeur oeuf | o (eu // soeur oeuf | ||||
o (eC o // coefficient | o (eC o // coefficient | ||||
_) oi (gnon O // oignons | _) oi (gnon O // oignons | ||||
m) on (_A O~n // mon appui | m) on (_A O~n // mon appui | ||||
s) on (_A O~n | s) on (_A O~n | ||||
t) on (_A O~n | t) on (_A O~n | ||||
z) o (ne_ o // amazone | z) o (ne_ o // amazone | ||||
c) o (ne_ o | c) o (ne_ o | ||||
h) o (ne_ o | h) o (ne_ o | ||||
o (mo o // momo | o (mo o // momo | ||||
o (no o // nono | o (no o // nono | ||||
om) o o // monocorde | om) o o // monocorde | ||||
on) o o // | |||||
on) o o // | |||||
o O // sobre notions émotions | o O // sobre notions émotions | ||||
ph f // phrase | ph f // phrase | ||||
m) ps (_ // temps champs | m) ps (_ // temps champs | ||||
r) ps (_ // corps | |||||
r) ps (_ // corps | |||||
cham) p (_ // contrechamp | cham) p (_ // contrechamp | ||||
_) r (_ ER | _) r (_ ER | ||||
right _^_EN // copyright | right _^_EN // copyright | ||||
_su) rr RR // surréaliste | _su) rr RR // surréaliste | ||||
ou) rr RR // courrai | |||||
rr R // erreur | |||||
r R // rien | |||||
ou) rr RR // courrai | |||||
rre (_ R // barre | |||||
rr R // erreur | |||||
r r // rien | |||||
.group s | .group s | ||||
_) s (_ Es | _) s (_ Es | ||||
t t // bataille | t t // bataille | ||||
t (_ t2 // silent at end of word unless next word starts with a vowel | t (_ t2 // silent at end of word unless next word starts with a vowel | ||||
ts (_S1 z2 // silent at end of word unless next word starts with a vowel | ts (_S1 z2 // silent at end of word unless next word starts with a vowel | ||||
C) t (_ t // compost watt soft script malttact abrupt | |||||
C) t (_ t // compost watt soft script malttact abrupt | |||||
n) t (_ t2 // emprunt | n) t (_ t2 // emprunt | ||||
r) t (_ t2 // fort | r) t (_ t2 // fort | ||||
s) t (ion t // gestion | s) t (ion t // gestion | ||||
t (iel s // partiel patiemment | t (iel s // partiel patiemment | ||||
t (iem s | |||||
t (iem s | |||||
mar) t (ien s // martien vénitienne | mar) t (ien s // martien vénitienne | ||||
i) t (ien s | i) t (ien s | ||||
pa) t (ien s | pa) t (ien s | ||||
o) t (ien s | o) t (ien s | ||||
Cu) t (ie_ s // minutie | |||||
Cu) t (ie_ s // minutie | |||||
Cu) t (ies_ s | Cu) t (ies_ s | ||||
cra) t (ie_ s // démocratie | cra) t (ie_ s // démocratie | ||||
au) x (_ z2 // faux beaux | au) x (_ z2 // faux beaux | ||||
eu) x (_ z2 // jeux | eu) x (_ z2 // jeux | ||||
ou) x (_ z2 // choux genoux | |||||
ou) x (_ z2 // choux genoux | |||||
_au) x (quel // auxquels | _au) x (quel // auxquels | ||||
¾ tRw'a k'aR | ¾ tRw'a k'aR | ||||
© _^_EN | © _^_EN | ||||
® R@ZistR'@d_m'aRk | ® R@ZistR'@d_m'aRk | ||||
i $u+ $pause | i $u+ $pause | ||||
// terminators (include a pause after) | // terminators (include a pause after) | ||||
ku ku_: | ku ku_: | ||||
boi bOI_: | boi bOI_: |
bs (_N ps | bs (_N ps | ||||
_) be (@P2 b@ | _) be (@P2 b@ | ||||
_) bee be: | |||||
_) b (ee+ b | |||||
_) be (ter be: | |||||
_) beu bY: | _) beu bY: | ||||
.group h | .group h | ||||
_) h (_ hA: | |||||
_) h (_ ha: | |||||
h h | h h | ||||
C) h (K | C) h (K | ||||
o (CC O | o (CC O | ||||
o (C_ O | o (C_ O | ||||
o (r o: | o (r o: | ||||
oo (r o: | |||||
oo (r O: // ?? or just for word-final "oor" ? | |||||
ooi o:j | ooi o:j | ||||
oo o: | oo o: | ||||
oe u | oe u | ||||
.group s | .group s | ||||
_) s (_ Es | |||||
s s | s s | ||||
ss s | ss s | ||||
sch s; | |||||
sch S; | |||||
sj S | sj S | ||||
o (nd U | o (nd U | ||||
o (rt U | o (rt U | ||||
o (rd u: // ?? or just for "bord" ? | |||||
o (st U | o (st U | ||||
.group p | .group p |
individuálne $alt | individuálne $alt | ||||
iní $alt | iní $alt | ||||
init $alt | init $alt | ||||
inteligentní $alt | |||||
introvertní $alt | introvertní $alt | ||||
jeden $alt | jeden $alt | ||||
júni $alt | júni $alt | ||||
podeň $alt | podeň $alt | ||||
podísť $alt | podísť $alt | ||||
postihnutí post;ihnuti: | postihnutí post;ihnuti: | ||||
poučení $alt | |||||
poverení $alt | poverení $alt | ||||
požiarne $alt | požiarne $alt | ||||
predeň $alt | predeň $alt | ||||
únie $alt | únie $alt | ||||
únii $alt | únii $alt | ||||
úniu $alt | úniu $alt | ||||
ukrižovaní $alt | |||||
vážení $alt | vážení $alt | ||||
vínečko $alt | vínečko $alt | ||||
vinen $alt | vinen $alt |
b (_ p | b (_ p | ||||
b (_G b | b (_G b | ||||
_) bez (-P4 'bes | |||||
_) bezo (-P5 'bezo | |||||
.group c | .group c | ||||
c ts | c ts | ||||
ch x | ch x | ||||
d (_ t | d (_ t | ||||
d (_G d | d (_G d | ||||
d (e d; | d (e d; | ||||
d (e_ d | |||||
d (i d; | d (i d; | ||||
d (í d; | d (í d; | ||||
d (eT d // word has $alt attribute | d (eT d // word has $alt attribute | ||||
d (iskre d | d (iskre d | ||||
diskre) d (i d | diskre) d (i d | ||||
_ka) d (et d | _ka) d (et d | ||||
_) d (eci d | |||||
d (eci d | |||||
_) d (ece d | |||||
d (isku d | d (isku d | ||||
_pre) d (íď d | _pre) d (íď d | ||||
_pre) d (íd d | _pre) d (íd d | ||||
n (g N | n (g N | ||||
n (k N | n (k N | ||||
n (e n^ | n (e n^ | ||||
n (e_ n | |||||
n (i n^ | n (i n^ | ||||
n (í n^ | n (í n^ | ||||
n (eT n // word has $alt attribute | |||||
n (eT n // word has $alt attribute from sk_list | |||||
n (iT n | n (iT n | ||||
n (íT n | n (íT n | ||||
@C) n (ej_ n | |||||
_) na (-P3 'na // include $alt2 words as stressed prefixes | |||||
n (ent n | n (ent n | ||||
_be) n (ef n | _be) n (ef n | ||||
_) n (eutrál n | _) n (eutrál n | ||||
harmo) n (i n | harmo) n (i n | ||||
_te) n (is n | _te) n (is n | ||||
_) n (ikoti n | |||||
_) n (ikot n | |||||
lí) n (i n | lí) n (i n | ||||
_konkrét) n (e n | _konkrét) n (e n | ||||
_matki) n (e n | _matki) n (e n | ||||
_) n (erv n | _) n (erv n | ||||
natív) n (e n | natív) n (e n | ||||
_) n (ext n | _) n (ext n | ||||
zva) n (ej_ n | |||||
_u) n (i n | |||||
.group ň | .group ň | ||||
ň n^ | ň n^ | ||||
.group p | .group p | ||||
p p | p p | ||||
_) po (-P3 'po | |||||
_) pod (-P4 'pot | |||||
_) pri (-P4 'pRi | |||||
.group q | .group q | ||||
q k | q k | ||||
qu kv | qu kv | ||||
.group s | .group s | ||||
s s | s s | ||||
_) so (-P3 'so | |||||
.group š | .group š | ||||
š S | š S | ||||
.group t | .group t | ||||
t t | t t | ||||
t (e t; | t (e t; | ||||
t (e_ t | |||||
t (i t; | t (i t; | ||||
t (í t; | t (í t; | ||||
t (eT t // word has $alt attribute | t (eT t // word has $alt attribute | ||||
t (iT t | t (iT t | ||||
t (íT t | t (íT t | ||||
_teres) t (ri t | |||||
_) t (erestri t | |||||
t (ik_ t | t (ik_ t | ||||
t (ing t | t (ing t | ||||
_antipa) t (i t | _antipa) t (i t | ||||
ema) t (i t | ema) t (i t | ||||
_) t (imotej t | _) t (imotej t | ||||
a) t (iká t | |||||
_sensi) tí ti: | _sensi) tí ti: | ||||
_dif) tí (n ti: | _dif) tí (n ti: | ||||
_konštruk) tí (v ti: | _konštruk) tí (v ti: | ||||
_jus) tí ti: | _jus) tí ti: | ||||
viknu) tí ti: | viknu) tí ti: | ||||
ales) tí (t ti: | |||||
_sys) te (m te | _sys) te (m te | ||||
_al) te (rn te | _al) te (rn te | ||||
_syn) te ( te | _syn) te ( te | ||||
_li) te (r te | |||||
.group ť | .group ť | ||||
.group v | .group v | ||||
v v | v v | ||||
A) v (K w | |||||
A) v (n v | |||||
A) v (ň v | |||||
v (stať v | |||||
o) v (_ u | |||||
o) v (_ u | |||||
_) vy (@P2 'vi | |||||
.group w | .group w | ||||
w v | w v | ||||
% pertsento | % pertsento | ||||
+ plus | + plus | ||||
// 557 |
43 phoneme tables | |||||
44 phoneme tables | |||||
new total | new total | ||||
base 96 96 | base 96 96 | ||||
base2 24 115 | base2 24 115 | ||||
en_sc 39 146 | en_sc 39 146 | ||||
en_rp 34 144 | en_rp 34 144 | ||||
en_wm 30 144 | en_wm 30 144 | ||||
en_wi 30 144 | |||||
af 38 128 | af 38 128 | ||||
cy 29 122 | cy 29 122 | ||||
de 33 123 | de 33 123 | ||||
eo 13 108 | eo 13 108 | ||||
jbo 4 109 | jbo 4 109 | ||||
fi 40 127 | fi 40 127 | ||||
fr 34 118 | |||||
fr_ca 11 118 | |||||
fr 35 119 | |||||
fr_ca 11 119 | |||||
hi 50 132 | hi 50 132 | ||||
ta 13 134 | ta 13 134 | ||||
hu 23 112 | hu 23 112 | ||||
nl 26 117 | |||||
nl 28 119 | |||||
pl 15 107 | pl 15 107 | ||||
sk 29 125 | sk 29 125 | ||||
cs 6 125 | cs 6 125 | ||||
zhy 40 129 | zhy 40 129 | ||||
zh 61 143 | zh 61 143 | ||||
sw 14 105 | sw 14 105 | ||||
en_wi 30 144 | |||||
th 50 139 | |||||
Data file Used by | Data file Used by | ||||
b/b [b] base | b/b [b] base | ||||
dzh/xdz_pzd [J] base | dzh/xdz_pzd [J] base | ||||
[J2] hi | [J2] hi | ||||
envelope/p_214 [214] zh | envelope/p_214 [214] zh | ||||
[5] th | |||||
envelope/p_451 [3] th | |||||
envelope/p_512 [8] vi | envelope/p_512 [8] vi | ||||
envelope/p_fall [2] vi | envelope/p_fall [2] vi | ||||
[7] vi | [7] vi | ||||
[22] zh | [22] zh | ||||
[33] zh | [33] zh | ||||
[53] zh | [53] zh | ||||
[1] th | |||||
[2] th | |||||
envelope/p_fallrise [4] vi | envelope/p_fallrise [4] vi | ||||
envelope/p_level [1] vi | envelope/p_level [1] vi | ||||
[3] zhy | [3] zhy | ||||
[2] zhy | [2] zhy | ||||
[5] zhy | [5] zhy | ||||
[35] zh | [35] zh | ||||
[4] th | |||||
envelope/vi_5 [5] vi | envelope/vi_5 [5] vi | ||||
envelope/vi_5amp [5] vi | envelope/vi_5amp [5] vi | ||||
envelope/vi_6 [6] vi | envelope/vi_6 [6] vi | ||||
l^/l^ [l^] base | l^/l^ [l^] base | ||||
l/l [l] base | l/l [l] base | ||||
[l] en | [l] en | ||||
[l] en_wi | |||||
[l] af | [l] af | ||||
[l] hu | [l] hu | ||||
[l] sk | [l] sk | ||||
[l] la | [l] la | ||||
[l] pt | [l] pt | ||||
[l;] ro | [l;] ro | ||||
[l] en_wi | |||||
l/_l [l] base | l/_l [l] base | ||||
[l/] base | [l/] base | ||||
[l] en | [l] en | ||||
[l] en_wi | |||||
[l] af | [l] af | ||||
[l/] de | [l/] de | ||||
[l] hu | [l] hu | ||||
[l] pt | [l] pt | ||||
[l;] ro | [l;] ro | ||||
[l] zh | [l] zh | ||||
[l] en_wi | |||||
l/l_ [l/] base | l/l_ [l/] base | ||||
l/l@ [(@)] base | l/l@ [(@)] base | ||||
l/L1_aL [(a)] base | l/L1_aL [(a)] base | ||||
l/lu [(u)] base | l/lu [(u)] base | ||||
l/tl [l] base | l/tl [l] base | ||||
[l] en | [l] en | ||||
[l] en_wi | |||||
[l] af | [l] af | ||||
[l] hu | [l] hu | ||||
[l] sk | [l] sk | ||||
[l] la | [l] la | ||||
[l] pt | [l] pt | ||||
[l;] ro | [l;] ro | ||||
[l] en_wi | |||||
l/xl [(@)] base | l/xl [(@)] base | ||||
[(a)] base | [(a)] base | ||||
[(e)] base | [(e)] base | ||||
[z] base | [z] base | ||||
[s2] fi | [s2] fi | ||||
[z2] fr | [z2] fr | ||||
[z3] fr | |||||
[s2] hu | [s2] hu | ||||
[s] es | [s] es | ||||
[s#] pt | [s#] pt | ||||
[s;] ro | [s;] ro | ||||
ufric/s_pzd_ [s;] base | ufric/s_pzd_ [s;] base | ||||
[z;] base | [z;] base | ||||
ufric/sx_sv [sx] sv | |||||
ufric/sx_sv [Sx] nl | |||||
[sx] sv | |||||
ufric/th [T] base | ufric/th [T] base | ||||
ufric/th_ [T] base | ufric/th_ [T] base | ||||
ufric/tl# [tl#] is | ufric/tl# [tl#] is | ||||
[k] el | [k] el | ||||
[kh] zh | [kh] zh | ||||
[k] sw | [k] sw | ||||
[kh] th | |||||
ustop/ki [c] base | ustop/ki [c] base | ||||
[k] base | [k] base | ||||
[k] base2 | [k] base2 | ||||
[k] el | [k] el | ||||
[k] zhy | [k] zhy | ||||
ustop/k_unasp_ [k] zh | ustop/k_unasp_ [k] zh | ||||
[k] th | |||||
ustop/p [p] base | ustop/p [p] base | ||||
[p] fr | [p] fr | ||||
[ph] hi | [ph] hi | ||||
[p] zhy | [p] zhy | ||||
[ph] th | |||||
ustop/p_ [p] base | ustop/p_ [p] base | ||||
[p] fr | [p] fr | ||||
[ph] hi | [ph] hi | ||||
[p] la | [p] la | ||||
[p;] ro | [p;] ro | ||||
[p] zh | [p] zh | ||||
[p] th | |||||
ustop/p_unasp_ [p] base2 | ustop/p_unasp_ [p] base2 | ||||
[p] fi | [p] fi | ||||
[p] hi | [p] hi | ||||
[t] sk | [t] sk | ||||
[t] el | [t] el | ||||
[th] zh | [th] zh | ||||
[th] th | |||||
ustop/t_dnt [t] base | ustop/t_dnt [t] base | ||||
[t[] base | [t[] base | ||||
[t] base2 | [t] base2 | ||||
[t] sk | [t] sk | ||||
[t] el | [t] el | ||||
ustop/tsh_pzd [tS;] zh | ustop/tsh_pzd [tS;] zh | ||||
[ch] th | |||||
ustop/tsh_pzd_unasp [tS;] zh | ustop/tsh_pzd_unasp [tS;] zh | ||||
[c] th | |||||
ustop/tsh_sr.wav [tS] sr | ustop/tsh_sr.wav [tS] sr | ||||
ustop/ts_pzd [tS;] base | ustop/ts_pzd [tS;] base | ||||
[ts;] base | [ts;] base | ||||
[dZ;] sr | [dZ;] sr | ||||
ustop/ts_unasp [ts] zh | ustop/ts_unasp [ts] zh | ||||
ustop/t_unasp [t] zh | ustop/t_unasp [t] zh | ||||
[t] th | |||||
vdiph/0i [OI] pt | vdiph/0i [OI] pt | ||||
[OI] grc | [OI] grc | ||||
[OI] vi | [OI] vi | ||||
[O:I] th | |||||
vdiph/0i_2 [OI] en_sc | vdiph/0i_2 [OI] en_sc | ||||
[AI] no | |||||
[OI] en_wi | [OI] en_wi | ||||
[AI] no | |||||
vdiph2/e@ [3:] en_sc | vdiph2/e@ [3:] en_sc | ||||
[e@] en_sc | [e@] en_sc | ||||
[e@] en_wi | [e@] en_wi | ||||
vdiph2/e[u [e[u] ro | vdiph2/e[u [e[u] ro | ||||
vdiph2/i@ [i@] en_n | vdiph2/i@ [i@] en_n | ||||
vdiph2/i@_2 [i@] en_wm | vdiph2/i@_2 [i@] en_wm | ||||
vdiph2/ie [ie] fi | |||||
[i@] en_wi | |||||
vdiph2/ie [i@] en_wi | |||||
[ie] fi | |||||
[ia] th | |||||
[i:a] th | |||||
vdiph2/ii@ [i@] en | vdiph2/ii@ [i@] en | ||||
vdiph2/ii@_3 [i@] vi | vdiph2/ii@_3 [i@] vi | ||||
vdiph2/iioo [io] zh | vdiph2/iioo [io] zh | ||||
vdiph2/iu [iU] base2 | vdiph2/iu [iU] base2 | ||||
[iU] vi | [iU] vi | ||||
[iu] zhy | [iu] zhy | ||||
[iU] th | |||||
vdiph2/iu_2 [iu] fi | vdiph2/iu_2 [iu] fi | ||||
vdiph2/iu_3 [iu] af | vdiph2/iu_3 [iu] af | ||||
vdiph2/iu_4 [Iu] cy | vdiph2/iu_4 [Iu] cy | ||||
[u@] zh | [u@] zh | ||||
vdiph2/oa [Oa] ro | vdiph2/oa [Oa] ro | ||||
[ua] zh | [ua] zh | ||||
vdiph2/o_oo [o] is | |||||
[o@] en_wi | |||||
vdiph2/o_oo [o@] en_wi | |||||
[o] is | |||||
vdiph2/u-@ [y@] vi | vdiph2/u-@ [y@] vi | ||||
[y:a] th | |||||
vdiph2/u#@ [U@] en_sc | vdiph2/u#@ [U@] en_sc | ||||
vdiph2/uo [uo] fi | vdiph2/uo [uo] fi | ||||
vdiph2/uu@ [U@] en | vdiph2/uu@ [U@] en | ||||
[U@] en_n | [U@] en_n | ||||
[U@] en_wm | [U@] en_wm | ||||
[u@] vi | [u@] vi | ||||
[ua] th | |||||
[u:a] th | |||||
vdiph2/y#@ [Y@] af | vdiph2/y#@ [Y@] af | ||||
[y@] zh | [y@] zh | ||||
vdiph2/yu [yU] nl | vdiph2/yu [yU] nl | ||||
[AY] cy | [AY] cy | ||||
vdiph/aai_3 [ai] fi | vdiph/aai_3 [ai] fi | ||||
vdiph/aau [au] fi | vdiph/aau [au] fi | ||||
vdiph/aau_2 [aU] de | |||||
vdiph/aau_2 [aU] en_wi | |||||
[aU] de | |||||
[VU] nl | [VU] nl | ||||
[aU] la | [aU] la | ||||
[aau] zhy | [aau] zhy | ||||
[aU] en_wi | |||||
vdiph/aau_3 [aU] hi | vdiph/aau_3 [aU] hi | ||||
vdiph/aau_4 [aU] vi | vdiph/aau_4 [aU] vi | ||||
vdiph/ae [E:] fr_ca | vdiph/ae [E:] fr_ca | ||||
[ai] zh | [ai] zh | ||||
vdiph/ae_2 [aI] en_n | vdiph/ae_2 [aI] en_n | ||||
vdiph/ai [aI] base2 | vdiph/ai [aI] base2 | ||||
[aI] en_wi | |||||
[aI] eo | [aI] eo | ||||
[aI] sk | [aI] sk | ||||
[aI] hr | [aI] hr | ||||
[aI] it | [aI] it | ||||
[aI] pt | [aI] pt | ||||
[a:I] vi | [a:I] vi | ||||
[aI] en_wi | |||||
[aI] th | |||||
[a:I] th | |||||
vdiph/ai_2 [aI] cy | vdiph/ai_2 [aI] cy | ||||
[aY] cy | [aY] cy | ||||
vdiph/ai_3 [aI] no | vdiph/ai_3 [aI] no | ||||
vdiph/au [aU] en | vdiph/au [aU] en | ||||
[aU] af | [aU] af | ||||
[a:U] vi | [a:U] vi | ||||
[aU] th | |||||
[a:U] th | |||||
vdiph/au# [aU] en_sc | vdiph/au# [aU] en_sc | ||||
vdiph/au_2 [aU] en_us | vdiph/au_2 [aU] en_us | ||||
[au] zhy | [au] zhy | ||||
[EU] grc | [EU] grc | ||||
[EU] vi | [EU] vi | ||||
[eu] zhy | [eu] zhy | ||||
[E:U] th | |||||
vdiph/eeu_2 [EU] la | vdiph/eeu_2 [EU] la | ||||
[EU] pt_pt | [EU] pt_pt | ||||
vdiph/eeu_3 [aU] en_n | vdiph/eeu_3 [aU] en_n | ||||
[eU] sk | [eU] sk | ||||
[eU] pt | [eU] pt | ||||
[eU] vi | [eU] vi | ||||
[eU] th | |||||
[e:U] th | |||||
vdiph/eu_2 [eu] fi | vdiph/eu_2 [eu] fi | ||||
vdiph/@i [@:I] th | |||||
vdiph/&i [&i] fi | vdiph/&i [&i] fi | ||||
[aI] hi | [aI] hi | ||||
vdiph/@i_2 [eI] af | vdiph/@i_2 [eI] af | ||||
[oI] it | [oI] it | ||||
[OI] la | [OI] la | ||||
[oI] vi | [oI] vi | ||||
[o:I] th | |||||
vdiph/oi_2 [oI] af | vdiph/oi_2 [oI] af | ||||
vdiph/ooi [OI] en | vdiph/ooi [OI] en | ||||
[OI] en_n | [OI] en_n | ||||
[ui] fi | [ui] fi | ||||
[uI] vi | [uI] vi | ||||
[ui] zhy | [ui] zhy | ||||
[uI] th | |||||
[u:I] th | |||||
vdiph/u-i [yI] vi | vdiph/u-i [yI] vi | ||||
vdiph/ui_2 [uI] af | vdiph/ui_2 [uI] af | ||||
vdiph/ui_3 [uI] cy | vdiph/ui_3 [uI] cy | ||||
vocw/zh_rfx [z.] base | vocw/zh_rfx [z.] base | ||||
voc/z [z] base | voc/z [z] base | ||||
[z2] fr | [z2] fr | ||||
[z3] fr | |||||
[z;] ro | [z;] ro | ||||
voc/z_ [z] base | voc/z_ [z] base | ||||
[z2] fr | [z2] fr | ||||
[z3] fr | |||||
[z;] ro | [z;] ro | ||||
voc/zh [Z] base | voc/zh [Z] base | ||||
[z.] base | [z.] base | ||||
[@] en_rp | [@] en_rp | ||||
[V] cy | [V] cy | ||||
[@4] hi | [@4] hi | ||||
[@] th | |||||
vowel/@- [@-] base | vowel/@- [@-] base | ||||
[r*] hr | [r*] hr | ||||
vowel/& [a] en_rp | vowel/& [a] en_rp | ||||
vowel/3_en [3:] en | vowel/3_en [3:] en | ||||
[e@] en_wm | [e@] en_wm | ||||
[3:] af | [3:] af | ||||
[@:] th | |||||
vowel/@_4 [@] nl | vowel/@_4 [@] nl | ||||
vowel/8_2 [U] en_us | vowel/8_2 [U] en_us | ||||
[8] sv | [8] sv | ||||
[a] it | [a] it | ||||
[a:] la | [a:] la | ||||
[a] zh | [a] zh | ||||
[a] th | |||||
[a:] th | |||||
vowel/a# [a/] base2 | vowel/a# [a/] base2 | ||||
[a2] en_sc | [a2] en_sc | ||||
[a2] en_wi | |||||
[&] sr | [&] sr | ||||
[&] pt | [&] pt | ||||
[&/] pt | [&/] pt | ||||
[a2] en_wi | |||||
vowel/a_2 [a] base2 | vowel/a_2 [a] base2 | ||||
[a] en_wi | |||||
[A:] en_wi | |||||
[A@] en_wi | |||||
[aa] en_wi | |||||
[a] eo | [a] eo | ||||
[a] la | [a] la | ||||
[A] pt | [A] pt | ||||
[a] pt_pt | [a] pt_pt | ||||
[a] ro | [a] ro | ||||
[a:] vi | [a:] vi | ||||
[a] en_wi | |||||
[A:] en_wi | |||||
[A@] en_wi | |||||
[aa] en_wi | |||||
vowel/a#_2 [a] ta | vowel/a#_2 [a] ta | ||||
[&] hr | [&] hr | ||||
[a2] sv | [a2] sv | ||||
[A:] no | [A:] no | ||||
[aa] zhy | [aa] zhy | ||||
[A] zh | [A] zh | ||||
vowel/aa# [a2] fi | |||||
[0] en_wi | |||||
vowel/aa# [0] en_wi | |||||
[a2] fi | |||||
vowel/aa_2 [A:] en | vowel/aa_2 [A:] en | ||||
[A@] en | [A@] en | ||||
[A:] cy | [A:] cy | ||||
[e:] en | [e:] en | ||||
[eI] en_n | [eI] en_n | ||||
[E] en_wm | [E] en_wm | ||||
[E] en_wi | |||||
[eI] en_wi | |||||
[e:] af | [e:] af | ||||
[e:] cy | [e:] cy | ||||
[e] eo | [e] eo | ||||
[e] pt_pt | [e] pt_pt | ||||
[e] grc | [e] grc | ||||
[e] vi | [e] vi | ||||
[E] en_wi | |||||
[eI] en_wi | |||||
[e] th | |||||
[e:] th | |||||
vowel/e# [I] en_sc | vowel/e# [I] en_sc | ||||
[I2] en_sc | [I2] en_sc | ||||
vowel/e_2 [eI] en_sc | vowel/e_2 [eI] en_sc | ||||
vowel/ee_6 [E] en_n | vowel/ee_6 [E] en_n | ||||
[&] sk | [&] sk | ||||
[E3] sv | [E3] sv | ||||
[E] th | |||||
[E:] th | |||||
vowel/e_mid [E] en_rp | vowel/e_mid [E] en_rp | ||||
[e] jbo | [e] jbo | ||||
[E] fr_ca | [E] fr_ca | ||||
[e] ro | [e] ro | ||||
[e] el | [e] el | ||||
[e] sw | [e] sw | ||||
vowel/@_fnt [@2] hr | |||||
[@] en_wi | |||||
vowel/@_fnt [@] en_wi | |||||
[@2] en_wi | [@2] en_wi | ||||
[@2] hr | |||||
vowel/@_hgh [@] en_us | vowel/@_hgh [@] en_us | ||||
[@2] en_us | [@2] en_us | ||||
[@5] en_us | [@5] en_us | ||||
vowel/i [i] base2 | vowel/i [i] base2 | ||||
[i:] en_n | [i:] en_n | ||||
[i] en_wm | [i] en_wm | ||||
[i] en_wi | |||||
[i:] cy | [i:] cy | ||||
[i] eo | [i] eo | ||||
[I] fr | [I] fr | ||||
[i] zhy | [i] zhy | ||||
[i] zh | [i] zh | ||||
[i] sw | [i] sw | ||||
[i] en_wi | |||||
[i] th | |||||
[i:] th | |||||
vowel/i# [i] en_us | vowel/i# [i] en_us | ||||
[i] en_rp | [i] en_rp | ||||
[y:] cy | [y:] cy | ||||
[i] hu | [i] hu | ||||
[I] it | [I] it | ||||
[i] is | [i] is | ||||
vowel/i#_4 [y] th | |||||
[y:] th | |||||
vowel/i_5 [i:] en_sc | vowel/i_5 [i:] en_sc | ||||
vowel/i#_5 [y] pt_pt | vowel/i#_5 [y] pt_pt | ||||
[i/] pt_pt | [i/] pt_pt | ||||
[i] hr | [i] hr | ||||
vowel/i_en [i:] en | vowel/i_en [i:] en | ||||
[i] vi | [i] vi | ||||
vowel/i_fnt [i] hi | |||||
vowel/i_fnt [i:] en_wi | |||||
[i] hi | |||||
[i:] hi | [i:] hi | ||||
[i:] en_wi | |||||
vowel/ii [I] en_rp | vowel/ii [I] en_rp | ||||
[I2] en_rp | [I2] en_rp | ||||
[I] en_wm | [I] en_wm | ||||
[@2] no | [@2] no | ||||
vowel/o [o] base2 | vowel/o [o] base2 | ||||
[o:] en | [o:] en | ||||
[oU] en_wi | |||||
[o:] de | [o:] de | ||||
[o] hi | [o] hi | ||||
[o] ta | [o] ta | ||||
[o:] sv | [o:] sv | ||||
[o] zh | [o] zh | ||||
[u] zh | [u] zh | ||||
[oU] en_wi | |||||
[o] th | |||||
[o:] th | |||||
vowel/o- [o-] zh | vowel/o- [o-] zh | ||||
vowel/o_2 [o:] cy | vowel/o_2 [o:] cy | ||||
[o:] hi | [o:] hi | ||||
vowel/o-_3 [U] en_rp | vowel/o-_3 [U] en_rp | ||||
vowel/o_4 [oU] en_n | vowel/o_4 [oU] en_n | ||||
vowel/o-_4 [o] ro | vowel/o-_4 [o] ro | ||||
vowel/o_6 [O] nl | |||||
vowel/o_5 [O] nl | |||||
vowel/o_6 [O:] nl | |||||
vowel/oe [W] en | vowel/oe [W] en | ||||
[W] af | [W] af | ||||
[W] de | [W] de | ||||
vowel/o_mid [O] fr | vowel/o_mid [O] fr | ||||
[o] hu | [o] hu | ||||
vowel/oo [O:] en_sc | vowel/oo [O:] en_sc | ||||
[O] en_wi | |||||
[O:] en_wi | |||||
[O@] en_wi | |||||
[O] de | [O] de | ||||
[o] eo | [o] eo | ||||
[O] la | [O] la | ||||
[O] sv | [O] sv | ||||
[O] no | [O] no | ||||
[o] zhy | [o] zhy | ||||
[O] en_wi | |||||
[O:] en_wi | |||||
[O@] en_wi | |||||
[O] th | |||||
[O:] th | |||||
vowel/oo_1 [O:] en_n | vowel/oo_1 [O:] en_n | ||||
[O:] en_rp | [O:] en_rp | ||||
[O@] en_rp | [O@] en_rp | ||||
[o] cs | [o] cs | ||||
vowel/oo_3 [O] af | vowel/oo_3 [O] af | ||||
vowel/oo_4 [0] en_wm | vowel/oo_4 [0] en_wm | ||||
[V] en_wi | |||||
[3:] en_wi | |||||
[O:] hi | [O:] hi | ||||
[O] pl | [O] pl | ||||
[O] it | [O] it | ||||
[V] en_wi | |||||
[3:] en_wi | |||||
vowel/oo_5 [O] is | vowel/oo_5 [O] is | ||||
vowel/oo_en [O] en | vowel/oo_en [O] en | ||||
[O:] en | [O:] en | ||||
[3] en_sc | [3] en_sc | ||||
[@r] zh | [@r] zh | ||||
vowelr/V_r [IR] en | vowelr/V_r [IR] en | ||||
vowel/u [u:] cy | |||||
vowel/u [u:] en_wi | |||||
[u:] cy | |||||
[u:] de | [u:] de | ||||
[u] eo | [u] eo | ||||
[U] fr | [U] fr | ||||
[u:] cs | [u:] cs | ||||
[u:] la | [u:] la | ||||
[u] zh | [u] zh | ||||
[u:] en_wi | |||||
[u] th | |||||
[u:] th | |||||
vowel/u# [u-] en | vowel/u# [u-] en | ||||
[u:] en_sc | [u:] en_sc | ||||
vowel/u_2 [u1] fi | vowel/u_2 [u1] fi | ||||
vowel/uu_4 [U] fi | vowel/uu_4 [U] fi | ||||
[U] sv | [U] sv | ||||
vowel/uu_bck [U] en_n | vowel/uu_bck [U] en_n | ||||
[U] en_wi | |||||
[U] fr_ca | [U] fr_ca | ||||
[U] hi | [U] hi | ||||
[u] ta | [u] ta | ||||
[U] pt | [U] pt | ||||
[U] no | [U] no | ||||
[u] zhy | [u] zhy | ||||
[U] en_wi | |||||
vowel/V [3] en_sc | vowel/V [3] en_sc | ||||
vowel/V_2 [V] en | vowel/V_2 [V] en | ||||
[a] af | [a] af |
ENVELOPE | ENVELOPE | ||||
0 33 | 0 33 | ||||
25 16 | |||||
50 0 | |||||
75 50 | |||||
20 15 | |||||
35 3 | |||||
75 40 | |||||
100 100 | 100 100 | ||||
phoneme O | phoneme O | ||||
vowel starttype (o) endtype (o) | vowel starttype (o) endtype (o) | ||||
length 150 | length 150 | ||||
formants vowel/o_5 | |||||
endphoneme | |||||
phoneme O: // for "oor" | |||||
vowel starttype (o) endtype (o) | |||||
length 210 | |||||
formants vowel/o_6 | formants vowel/o_6 | ||||
endphoneme | endphoneme | ||||
endphoneme | endphoneme | ||||
phoneme Sx // Swedish "sj" sound for TESTING | |||||
vls vel frc | |||||
vowelin f1=0 f2=2300 300 400 f3=200 100 | |||||
vowelout f1=0 f2=2300 300 400 f3=200 100 rms=20 | |||||
length 100 | |||||
lengthmod 3 | |||||
wave ufric/sx_sv%60 | |||||
endphoneme | |||||
phoneme A~ | phoneme A~ | ||||
vowel starttype (a) endtype (a) | vowel starttype (a) endtype (a) | ||||
length 160 | |||||
length 170 | |||||
formants vnasal/aa_n3 | formants vnasal/aa_n3 | ||||
endphoneme | endphoneme | ||||
lengthmod 6 | lengthmod 6 | ||||
endphoneme | endphoneme | ||||
phoneme z3 // "six" and "dix". [s] before pause, [z] before vowel, else [] | |||||
beforepause s | |||||
beforenotvowel NULL | |||||
vcd alv frc sibilant | |||||
vowelout f1=0 f2=1700 -300 300 f3=-100 60 len=50 | |||||
formants voc/z+ufric/s_ | |||||
before _ voc/z_+ufric/s_ | |||||
lengthmod 6 | |||||
endphoneme | |||||
phoneme k | phoneme k |
phonemetable en_wm en | phonemetable en_wm en | ||||
include ph_english_wm | include ph_english_wm | ||||
phonemetable en_wi en | |||||
include ph_english_wi | |||||
phonemetable af base | phonemetable af base | ||||
include ph_afrikaans | include ph_afrikaans | ||||
phonemetable sw base | phonemetable sw base | ||||
include ph_swahili | include ph_swahili | ||||
//phonemetable basef base | |||||
//include pf | |||||
//phonemetable f_en basef | |||||
//include pf_english | |||||
phonemetable en_wi en | |||||
include ph_english_wi | |||||
phonemetable th base | |||||
include ph_thai | |||||
Revision 3 | Revision 3 | ||||
Added espeakWORDGAP to espeak_PARAMETER | Added espeakWORDGAP to espeak_PARAMETER | ||||
Revision 4 | |||||
Added flags parameter to espeak_CompileDictionary() | |||||
*/ | */ | ||||
/********************/ | /********************/ | ||||
/* Initialization */ | /* Initialization */ | ||||
espeakEVENT_SENTENCE, // Start of sentence | espeakEVENT_SENTENCE, // Start of sentence | ||||
espeakEVENT_MARK, // Mark | espeakEVENT_MARK, // Mark | ||||
espeakEVENT_PLAY, // Audio element | espeakEVENT_PLAY, // Audio element | ||||
espeakEVENT_END, // End of sentence | |||||
espeakEVENT_END, // End of sentence or clause | |||||
espeakEVENT_MSG_TERMINATED, // End of message | espeakEVENT_MSG_TERMINATED, // End of message | ||||
espeakEVENT_PHONEME // Phoneme, if enabled in espeak_Initialize() | espeakEVENT_PHONEME // Phoneme, if enabled in espeak_Initialize() | ||||
} espeak_EVENT_TYPE; | } espeak_EVENT_TYPE; | ||||
EE_INTERNAL_ERROR. | EE_INTERNAL_ERROR. | ||||
*/ | */ | ||||
/* Note, there is no function to play a sound icon. This would be done by the calling program */ | |||||
/***********************/ | /***********************/ | ||||
#ifdef __cplusplus | #ifdef __cplusplus | ||||
extern "C" | extern "C" | ||||
#endif | #endif | ||||
ESPEAK_API void espeak_CompileDictionary(const char *path, FILE *log); | |||||
ESPEAK_API 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 */ |
#define tVOWELOUT 23 | #define tVOWELOUT 23 | ||||
#define tAPPENDPH 24 // always insert another phoneme (linkout) after this one | #define tAPPENDPH 24 // always insert another phoneme (linkout) after this one | ||||
#define tIMPORTPH 25 | #define tIMPORTPH 25 | ||||
#define tBEFOREPAUSE 26 | |||||
#define tPHONEMENUMBER 29 | #define tPHONEMENUMBER 29 | ||||
#define tPHONEMETABLE 30 | #define tPHONEMETABLE 30 | ||||
{"vowelout",23}, | {"vowelout",23}, | ||||
{"appendph",24}, | {"appendph",24}, | ||||
{"import_phoneme",25}, | {"import_phoneme",25}, | ||||
{"beforepause",26}, | |||||
// flags | // flags | ||||
{"wavef", 0x2000000+phWAVE}, | {"wavef", 0x2000000+phWAVE}, | ||||
ph->alternative_ph = phcode; | ph->alternative_ph = phcode; | ||||
break; | break; | ||||
case tBEFOREPAUSE: | |||||
ph->phflags |= phBEFOREPAUSE; | |||||
if((phcode = NextItem(tPHONEMEMNEM)) == -1) | |||||
phcode = LookupPhoneme(item_string,1); | |||||
ph->link_out = phcode; | |||||
break; | |||||
case tAPPENDPH: | case tAPPENDPH: | ||||
ph->phflags |= phAPPENDPH; // drop through to tLINKOUT | ph->phflags |= phAPPENDPH; // drop through to tLINKOUT | ||||
case tLINKOUT: | case tLINKOUT: |
int samplerate; | int samplerate; | ||||
int quiet = 0; | |||||
unsigned int samples_total = 0; | |||||
unsigned int samples_split = 0; | |||||
unsigned int wavefile_count = 0; | |||||
FILE *f_wavfile = NULL; | FILE *f_wavfile = NULL; | ||||
char wavefile[160]; | |||||
char filetype[5]; | |||||
char wavefile[200]; | |||||
int GetFileLength(const char *filename) | int GetFileLength(const char *filename) | ||||
static void CloseWavFile(int rate) | |||||
//================================ | |||||
static void CloseWavFile() | |||||
//======================== | |||||
{ | { | ||||
unsigned int pos; | unsigned int pos; | ||||
} // end of CloseWavFile | } // end of CloseWavFile | ||||
static int SynthCallback(short *wav, int numsamples, espeak_EVENT *events) | static int SynthCallback(short *wav, int numsamples, espeak_EVENT *events) | ||||
{//======================================================================== | {//======================================================================== | ||||
char fname[210]; | |||||
if(f_wavfile == NULL) return(0); // -q quiet mode | |||||
if(quiet) return(0); // -q quiet mode | |||||
if(wav == NULL) | if(wav == NULL) | ||||
{ | { | ||||
CloseWavFile(samplerate); | |||||
CloseWavFile(); | |||||
return(0); | return(0); | ||||
} | } | ||||
if(samples_split > 0) | |||||
{ | |||||
// start a new WAV file when this limit is reached, at the next sentence boundary | |||||
while(events->type != 0) | |||||
{ | |||||
if((events->type == espeakEVENT_SENTENCE) && (samples_total > samples_split)) | |||||
{ | |||||
CloseWavFile(); | |||||
samples_total = 0; | |||||
} | |||||
events++; | |||||
} | |||||
} | |||||
if(f_wavfile == NULL) | |||||
{ | |||||
sprintf(fname,"%s_%.2d%s",wavefile,++wavefile_count,filetype); | |||||
if(OpenWavFile(fname, samplerate) != 0) | |||||
return(1); | |||||
} | |||||
if(numsamples > 0) | if(numsamples > 0) | ||||
{ | { | ||||
samples_total += numsamples; | |||||
fwrite(wav,numsamples*2,1,f_wavfile); | fwrite(wav,numsamples*2,1,f_wavfile); | ||||
} | } | ||||
return(0); | return(0); | ||||
{"punct", optional_argument, 0, 0x103}, | {"punct", optional_argument, 0, 0x103}, | ||||
{"voices", optional_argument, 0, 0x104}, | {"voices", optional_argument, 0, 0x104}, | ||||
{"stdout", no_argument, 0, 0x105}, | {"stdout", no_argument, 0, 0x105}, | ||||
{"split", optional_argument, 0, 0x106}, | |||||
{0, 0, 0, 0} | {0, 0, 0, 0} | ||||
}; | }; | ||||
int option_index = 0; | int option_index = 0; | ||||
int c; | int c; | ||||
int ix; | int ix; | ||||
int quiet = 0; | |||||
int flag_stdin = 0; | int flag_stdin = 0; | ||||
int flag_compile = 0; | int flag_compile = 0; | ||||
int filesize = 0; | int filesize = 0; | ||||
DisplayVoices(stdout,optarg); | DisplayVoices(stdout,optarg); | ||||
exit(0); | exit(0); | ||||
case 0x106: // -- split | |||||
if(optarg == NULL) | |||||
samples_split = 30; // default 30 minutes | |||||
else | |||||
samples_split = atoi(optarg); | |||||
break; | |||||
default: | default: | ||||
exit(0); | exit(0); | ||||
} | } | ||||
{ | { | ||||
// writing to a file (or no output), we can use synchronous mode | // writing to a file (or no output), we can use synchronous mode | ||||
samplerate = espeak_Initialize(AUDIO_OUTPUT_SYNCHRONOUS,0,NULL,0); | samplerate = espeak_Initialize(AUDIO_OUTPUT_SYNCHRONOUS,0,NULL,0); | ||||
samples_split = (samplerate * samples_split) * 60; | |||||
espeak_SetSynthCallback(SynthCallback); | espeak_SetSynthCallback(SynthCallback); | ||||
if(samples_split) | |||||
{ | |||||
char *extn; | |||||
extn = strrchr(wavefile,'.'); | |||||
if((extn != NULL) && ((wavefile + strlen(wavefile) - extn) <= 4)) | |||||
{ | |||||
strcpy(filetype,extn); | |||||
*extn = 0; | |||||
} | |||||
} | |||||
else | |||||
if(option_waveout) | if(option_waveout) | ||||
{ | { | ||||
if(OpenWavFile(wavefile,samplerate) != 0) | if(OpenWavFile(wavefile,samplerate) != 0) |
else | else | ||||
if(c == 0xff) | if(c == 0xff) | ||||
{ | { | ||||
if(control < 2) | |||||
if((control < 2) || (ix==0)) | |||||
continue; // don't insert pauses | continue; // don't insert pauses | ||||
if(control == 4) | if(control == 4) | ||||
c = phonPAUSE; // pause after each character | c = phonPAUSE; // pause after each character | ||||
if(((count % 3) == 0) || (control == 4)) | if(((count % 3) == 0) || (control == 4)) | ||||
c = phonPAUSE_NOLINK; // pause following a primary stress | |||||
c = phonPAUSE_SHORT; // pause following a primary stress | |||||
else | else | ||||
continue; // remove marker | continue; // remove marker | ||||
} | } | ||||
if((ph_out[0] != 0) && (ph_out[0] != phonSWITCH)) | if((ph_out[0] != 0) && (ph_out[0] != phonSWITCH)) | ||||
{ | { | ||||
int next_char; | int next_char; | ||||
utf8_in(&next_char,&word[n_digits+1],0); | |||||
char *p; | |||||
p = &word[n_digits+1]; | |||||
p += utf8_in(&next_char,p,0); | |||||
if((langopts.numbers & NUM_NOPAUSE) && (next_char == ' ')) | |||||
utf8_in(&next_char,p,0); | |||||
if(!iswalpha(next_char)) | if(!iswalpha(next_char)) | ||||
strcat(ph_out,str_pause); // don't add pause for 100s, 6th, etc. | strcat(ph_out,str_pause); // don't add pause for 100s, 6th, etc. | ||||
} | } |
#define phLONG 0x1000 | #define phLONG 0x1000 | ||||
#define phAPPENDPH 0x2000 // always insert another phoneme (link_out) after this one | #define phAPPENDPH 0x2000 // always insert another phoneme (link_out) after this one | ||||
#define phBRKAFTER 0x4000 // [*] add a post-pause | #define phBRKAFTER 0x4000 // [*] add a post-pause | ||||
#define phBEFOREPAUSE 0x8000 // replace with the link_out phoneme if the next phoneme is a pause | |||||
#define phALTERNATIVE 0x0c00 // bits 10,11 specifying use of alternative_ph | #define phALTERNATIVE 0x0c00 // bits 10,11 specifying use of alternative_ph | ||||
#define phBEFOREVOWEL 0x0000 | #define phBEFOREVOWEL 0x0000 |
} | } | ||||
} | } | ||||
alternative = 0; | |||||
if(ph->alternative_ph > 0) | if(ph->alternative_ph > 0) | ||||
{ | { | ||||
alternative = 0; | |||||
switch(ph->phflags & phALTERNATIVE) | switch(ph->phflags & phALTERNATIVE) | ||||
{ | { | ||||
// This phoneme changes if vowel follows, or doesn't follow, depending on its phNOTFOLLOWS flag | // This phoneme changes if vowel follows, or doesn't follow, depending on its phNOTFOLLOWS flag | ||||
alternative = ph->alternative_ph; | alternative = ph->alternative_ph; | ||||
break; | break; | ||||
} | } | ||||
} | |||||
if(ph->phflags & phBEFOREPAUSE) | |||||
{ | |||||
if(next->type == phPAUSE) | |||||
alternative = ph->link_out; // replace with the link_out phoneme | |||||
} | |||||
if(alternative == 1) | |||||
continue; // NULL phoneme, discard | |||||
if(alternative == 1) | |||||
continue; // NULL phoneme, discard | |||||
if(alternative > 1) | |||||
{ | |||||
PHONEME_TAB *ph2; | |||||
ph2 = ph; | |||||
ph = phoneme_tab[alternative]; | |||||
if(alternative > 1) | |||||
{ | |||||
PHONEME_TAB *ph2; | |||||
ph2 = ph; | |||||
ph = phoneme_tab[alternative]; | |||||
if(ph->type == phVOWEL) | |||||
{ | |||||
plist2->synthflags |= SFLAG_SYLLABLE; | |||||
if(ph2->type != phVOWEL) | |||||
plist2->stress = 0; // change from non-vowel to vowel, make sure it's unstressed | |||||
} | |||||
else | |||||
plist2->synthflags &= ~SFLAG_SYLLABLE; | |||||
if(ph->type == phVOWEL) | |||||
{ | |||||
plist2->synthflags |= SFLAG_SYLLABLE; | |||||
if(ph2->type != phVOWEL) | |||||
plist2->stress = 0; // change from non-vowel to vowel, make sure it's unstressed | |||||
} | } | ||||
else | |||||
plist2->synthflags &= ~SFLAG_SYLLABLE; | |||||
} | } | ||||
if(langopts.param[LOPT_REDUCE_T]) | if(langopts.param[LOPT_REDUCE_T]) | ||||
next2 = phoneme_tab[(plist2+2)->phcode]; | next2 = phoneme_tab[(plist2+2)->phcode]; | ||||
if((insert_ph == 0) && (ph->link_out != 0) && (((plist2+1)->synthflags & SFLAG_EMBEDDED)==0)) | |||||
if((insert_ph == 0) && (ph->link_out != 0) && !(ph->phflags && phBEFOREPAUSE) && (((plist2+1)->synthflags & SFLAG_EMBEDDED)==0)) | |||||
{ | { | ||||
if(ph->phflags & phAPPENDPH) | if(ph->phflags & phAPPENDPH) | ||||
{ | { |
// indexed by (entry num. in punct_chars) + 1 | // indexed by (entry num. in punct_chars) + 1 | ||||
// bits 0-7 pause x 10mS, bits 12-14 intonation type, bit 15 don't need following space or bracket | // bits 0-7 pause x 10mS, bits 12-14 intonation type, bit 15 don't need following space or bracket | ||||
static const unsigned short punct_attributes [] = { 0, | |||||
static const unsigned int punct_attributes [] = { 0, | |||||
CLAUSE_COMMA, CLAUSE_PERIOD, CLAUSE_QUESTION, CLAUSE_EXCLAMATION, CLAUSE_COLON, CLAUSE_SEMICOLON, | CLAUSE_COMMA, CLAUSE_PERIOD, CLAUSE_QUESTION, CLAUSE_EXCLAMATION, CLAUSE_COLON, CLAUSE_SEMICOLON, | ||||
CLAUSE_SEMICOLON, // en-dash | CLAUSE_SEMICOLON, // en-dash | ||||
CLAUSE_SEMICOLON, // em-dash | CLAUSE_SEMICOLON, // em-dash |
extern void Write4Bytes(FILE *f, int value); | |||||
char path_home[N_PATH_HOME]; // this is the espeak-data directory | char path_home[N_PATH_HOME]; // this is the espeak-data directory | ||||
char wavefile[120]; | |||||
char filetype[5]; | |||||
char wavefile[200]; | |||||
int (* uri_callback)(int, const char *, const char *) = NULL; | int (* uri_callback)(int, const char *, const char *) = NULL; | ||||
int (* phoneme_callback)(const char *) = NULL; | int (* phoneme_callback)(const char *) = NULL; | ||||
FILE *f_wave = NULL; | |||||
int quiet = 0; | |||||
unsigned int samples_total = 0; | |||||
unsigned int samples_split = 0; | |||||
unsigned int wavefile_count = 0; | |||||
int end_of_sentence = 0; | |||||
static const char *help_text = | static const char *help_text = | ||||
"\nspeak [options] [\"<words>\"]\n\n" | "\nspeak [options] [\"<words>\"]\n\n" | ||||
} // end of PitchAdjustment | } // end of PitchAdjustment | ||||
static int OpenWaveFile(const char *path, int rate) | |||||
//================================================= | |||||
{ | |||||
// Set the length of 0x7fffffff for --stdout | |||||
// This will be changed to the correct length for -w (write to file) | |||||
static unsigned char wave_hdr[44] = { | |||||
'R','I','F','F',0,0,0,0,'W','A','V','E','f','m','t',' ', | |||||
0x10,0,0,0,1,0,1,0, 9,0x3d,0,0,0x12,0x7a,0,0, | |||||
2,0,0x10,0,'d','a','t','a', 0xff,0xff,0xff,0x7f}; | |||||
if(path == NULL) | |||||
return(2); | |||||
if(strcmp(path,"stdout")==0) | |||||
f_wave = stdout; | |||||
else | |||||
f_wave = fopen(path,"wb"); | |||||
if(f_wave != NULL) | |||||
{ | |||||
fwrite(wave_hdr,1,24,f_wave); | |||||
Write4Bytes(f_wave,rate); | |||||
Write4Bytes(f_wave,rate * 2); | |||||
fwrite(&wave_hdr[32],1,12,f_wave); | |||||
return(0); | |||||
} | |||||
return(1); | |||||
} // end of OpenWaveFile | |||||
static void CloseWaveFile() | |||||
//========================= | |||||
{ | |||||
unsigned int pos; | |||||
if((f_wave == NULL) || (f_wave == stdout)) | |||||
return; | |||||
fflush(f_wave); | |||||
pos = ftell(f_wave); | |||||
fseek(f_wave,4,SEEK_SET); | |||||
Write4Bytes(f_wave,pos - 8); | |||||
fseek(f_wave,40,SEEK_SET); | |||||
Write4Bytes(f_wave,pos - 44); | |||||
fclose(f_wave); | |||||
f_wave = NULL; | |||||
} // end of CloseWaveFile | |||||
void MarkerEvent(int type, unsigned int char_position, int value, unsigned char *out_ptr) | void MarkerEvent(int type, unsigned int char_position, int value, unsigned char *out_ptr) | ||||
{//====================================================================================== | {//====================================================================================== | ||||
// Do nothing in the command-line version. | // Do nothing in the command-line version. | ||||
if(type == 2) | |||||
end_of_sentence = 1; | |||||
} // end of MarkerEvent | } // end of MarkerEvent | ||||
static int WavegenFile(void) | |||||
{//========================= | |||||
int finished; | |||||
unsigned char wav_outbuf[512]; | |||||
char fname[210]; | |||||
out_ptr = out_start = wav_outbuf; | |||||
out_end = wav_outbuf + sizeof(wav_outbuf); | |||||
finished = WavegenFill(0); | |||||
if(f_wave == NULL) | |||||
{ | |||||
sprintf(fname,"%s_%.2d%s",wavefile,++wavefile_count,filetype); | |||||
if(OpenWaveFile(fname, samplerate) != 0) | |||||
return(1); | |||||
} | |||||
if(end_of_sentence) | |||||
{ | |||||
end_of_sentence = 0; | |||||
if(samples_total > samples_split) | |||||
{ | |||||
CloseWaveFile(); | |||||
samples_total = 0; | |||||
} | |||||
} | |||||
if(f_wave != NULL) | |||||
{ | |||||
samples_total += (out_ptr - wav_outbuf)/2; | |||||
fwrite(wav_outbuf, 1, out_ptr - wav_outbuf, f_wave); | |||||
} | |||||
return(finished); | |||||
} // end of WavegenFile | |||||
static void init_path(char *argv0) | static void init_path(char *argv0) | ||||
{//=============================== | {//=============================== | ||||
{"punct", optional_argument, 0, 0x103}, | {"punct", optional_argument, 0, 0x103}, | ||||
{"voices", optional_argument, 0, 0x104}, | {"voices", optional_argument, 0, 0x104}, | ||||
{"stdout", no_argument, 0, 0x105}, | {"stdout", no_argument, 0, 0x105}, | ||||
{"split", optional_argument, 0, 0x106}, | |||||
{0, 0, 0, 0} | {0, 0, 0, 0} | ||||
}; | }; | ||||
int amp = 100; // default | int amp = 100; // default | ||||
int wordgap = 0; | int wordgap = 0; | ||||
int speaking = 0; | int speaking = 0; | ||||
int quiet = 0; | |||||
int flag_stdin = 0; | int flag_stdin = 0; | ||||
int flag_compile = 0; | int flag_compile = 0; | ||||
int pitch_adjustment = 50; | int pitch_adjustment = 50; | ||||
DisplayVoices(stdout,optarg2); | DisplayVoices(stdout,optarg2); | ||||
exit(0); | exit(0); | ||||
case 0x106: // -- split | |||||
if(optarg2 == NULL) | |||||
samples_split = 30; // default 30 minutes | |||||
else | |||||
samples_split = atoi(optarg2); | |||||
break; | |||||
default: | default: | ||||
exit(0); | exit(0); | ||||
} | } | ||||
else | else | ||||
{ | { | ||||
// write sound output to a WAV file | // write sound output to a WAV file | ||||
samples_split = (samplerate * samples_split) * 60; | |||||
if(samples_split) | |||||
{ | |||||
// don't open the wav file until we start generating speech | |||||
char *extn; | |||||
extn = strrchr(wavefile,'.'); | |||||
if((extn != NULL) && ((wavefile + strlen(wavefile) - extn) <= 4)) | |||||
{ | |||||
strcpy(filetype,extn); | |||||
*extn = 0; | |||||
} | |||||
} | |||||
else | |||||
if(OpenWaveFile(wavefile,samplerate) != 0) | if(OpenWaveFile(wavefile,samplerate) != 0) | ||||
{ | { | ||||
fprintf(stderr,"Can't write to output file '%s'\n'",wavefile); | fprintf(stderr,"Can't write to output file '%s'\n'",wavefile); | ||||
SpeakNextClause(NULL,NULL,1); | SpeakNextClause(NULL,NULL,1); | ||||
} | } | ||||
CloseWaveFile(samplerate); | |||||
CloseWaveFile(); | |||||
} | } | ||||
else | else | ||||
{ | { |
espeakEVENT_SENTENCE, // Start of sentence | espeakEVENT_SENTENCE, // Start of sentence | ||||
espeakEVENT_MARK, // Mark | espeakEVENT_MARK, // Mark | ||||
espeakEVENT_PLAY, // Audio element | espeakEVENT_PLAY, // Audio element | ||||
espeakEVENT_END, // End of sentence | |||||
espeakEVENT_END, // End of sentence or clause | |||||
espeakEVENT_MSG_TERMINATED, // End of message | espeakEVENT_MSG_TERMINATED, // End of message | ||||
espeakEVENT_PHONEME // Phoneme, if enabled in espeak_Initialize() | espeakEVENT_PHONEME // Phoneme, if enabled in espeak_Initialize() | ||||
} espeak_EVENT_TYPE; | } espeak_EVENT_TYPE; |
extern int WcmdqUsed(); | extern int WcmdqUsed(); | ||||
extern void FreePhData(); | extern void FreePhData(); | ||||
extern void FreeDictionary(); | extern void FreeDictionary(); | ||||
extern void Write4Bytes(FILE *f, int value); | |||||
extern int wcmdq_head; | extern int wcmdq_head; | ||||
extern int wcmdq_tail; | extern int wcmdq_tail; | ||||
extern int current_source_index; | extern int current_source_index; | ||||
FILE *f_text; | FILE *f_text; | ||||
FILE *f_wave = NULL; | |||||
int (* uri_callback)(int, const char *, const char *) = NULL; | int (* uri_callback)(int, const char *, const char *) = NULL; | ||||
int (* phoneme_callback)(const char *) = NULL; | int (* phoneme_callback)(const char *) = NULL; | ||||
#endif | #endif | ||||
static int OpenWaveFile(const char *path, int rate) | |||||
//================================================= | |||||
{ | |||||
// Set the length of 0x7fffffff for --stdout | |||||
// This will be changed to the correct length for -w (write to file) | |||||
static unsigned char wave_hdr[44] = { | |||||
'R','I','F','F',0,0,0,0,'W','A','V','E','f','m','t',' ', | |||||
0x10,0,0,0,1,0,1,0, 9,0x3d,0,0,0x12,0x7a,0,0, | |||||
2,0,0x10,0,'d','a','t','a', 0xff,0xff,0xff,0x7f}; | |||||
if(path == NULL) | |||||
return(2); | |||||
if(strcmp(path,"stdout")==0) | |||||
f_wave = stdout; | |||||
else | |||||
f_wave = fopen(path,"wb"); | |||||
if(f_wave != NULL) | |||||
{ | |||||
fwrite(wave_hdr,1,24,f_wave); | |||||
Write4Bytes(f_wave,rate); | |||||
Write4Bytes(f_wave,rate * 2); | |||||
fwrite(&wave_hdr[32],1,12,f_wave); | |||||
return(0); | |||||
} | |||||
return(1); | |||||
} // end of OpenWaveFile | |||||
static void CloseWaveFile(int rate) | |||||
//================================= | |||||
{ | |||||
unsigned int pos; | |||||
if((f_wave == NULL) || (f_wave == stdout)) | |||||
return; | |||||
fflush(f_wave); | |||||
pos = ftell(f_wave); | |||||
fseek(f_wave,4,SEEK_SET); | |||||
Write4Bytes(f_wave,pos - 8); | |||||
fseek(f_wave,40,SEEK_SET); | |||||
Write4Bytes(f_wave,pos - 44); | |||||
fclose(f_wave); | |||||
f_wave = NULL; | |||||
} // end of CloseWaveFile | |||||
void MarkerEvent(int type, unsigned int char_position, int value, unsigned char *out_ptr) | void MarkerEvent(int type, unsigned int char_position, int value, unsigned char *out_ptr) | ||||
{//====================================================================================== | {//====================================================================================== | ||||
// Do nothing in the command-line version. | // Do nothing in the command-line version. | ||||
} // end of MarkerEvent | } // end of MarkerEvent | ||||
static int WavegenFile(void) | |||||
{//========================= | |||||
int finished; | |||||
unsigned char wav_outbuf[1024]; | |||||
out_ptr = out_start = wav_outbuf; | |||||
out_end = wav_outbuf + sizeof(wav_outbuf); | |||||
finished = WavegenFill(0); | |||||
if(f_wave != NULL) | |||||
{ | |||||
fwrite(wav_outbuf, 1, out_ptr - wav_outbuf, f_wave); | |||||
} | |||||
return(finished); | |||||
} // end of WavegenFile | |||||
void FillSoundBuf(int size) | void FillSoundBuf(int size) |
int SpeakNextClause(FILE *f_text, const void *text_in, int control); | int SpeakNextClause(FILE *f_text, const void *text_in, int control); | ||||
extern void SetSynth(int length, int modn, frame_t *fr1, frame_t *fr2); | extern void SetSynth(int length, int modn, frame_t *fr1, frame_t *fr2); | ||||
extern int Wavegen(); | |||||
extern void CloseWaveFile2(); | |||||
extern FILE *f_wave; | |||||
static int frame_width; | static int frame_width; | ||||
} // end of PeaksZero | } // end of PeaksZero | ||||
void MakeWaveFile() | |||||
{//================ | |||||
int result=1; | |||||
unsigned char wav_outbuf[1024]; | |||||
while(result != 0) | |||||
{ | |||||
out_ptr = out_start = wav_outbuf; | |||||
out_end = &wav_outbuf[sizeof(wav_outbuf)]; | |||||
result = Wavegen(); | |||||
if(f_wave != NULL) | |||||
fwrite(wav_outbuf, 1, out_ptr - wav_outbuf, f_wave); | |||||
} | |||||
} // end of MakeWaveFile | |||||
SpectSeq::SpectSeq(int n) | SpectSeq::SpectSeq(int n) | ||||
{//====================== | {//====================== | ||||
numframes = n; | numframes = n; | ||||
SetSynth_mS(30,peaks2,peaks0); | SetSynth_mS(30,peaks2,peaks0); | ||||
MakeWaveFile(); | MakeWaveFile(); | ||||
CloseWaveFile(samplerate); | |||||
CloseWaveFile2(); | |||||
PlayWavFile(fname_speech); | PlayWavFile(fname_speech); | ||||
} // end of SpectSeq::MakeWave | } // end of SpectSeq::MakeWave | ||||
#endif | #endif | ||||
} | } | ||||
CloseWaveFile(samplerate); | |||||
CloseWaveFile2(); | |||||
PlayWavFile(fname_speech); | PlayWavFile(fname_speech); | ||||
} // end of SpectFrame::MakeWaveFrame | } // end of SpectFrame::MakeWaveFrame |
#include "translate.h" | #include "translate.h" | ||||
#include "wave.h" | #include "wave.h" | ||||
const char *version_string = "1.30.05 07.Jan.08"; | |||||
const int version_phdata = 0x013005; | |||||
const char *version_string = "1.30.10 13.Jan.08"; | |||||
const int version_phdata = 0x013010; | |||||
int option_device_number = -1; | int option_device_number = -1; | ||||
int WavegenCloseSound(); | int WavegenCloseSound(); | ||||
int WavegenInitSound(); | int WavegenInitSound(); | ||||
void WavegenInit(int rate, int wavemult_fact); | void WavegenInit(int rate, int wavemult_fact); | ||||
int OpenWaveFile(const char *path, int rate); | |||||
void CloseWaveFile(int rate); | |||||
float polint(float xa[],float ya[],int n,float x); | float polint(float xa[],float ya[],int n,float x); | ||||
int WavegenFile(void); | |||||
int WavegenFill(int fill_zeros); | int WavegenFill(int fill_zeros); | ||||
void MarkerEvent(int type, unsigned int char_position, int value, unsigned char *out_ptr); | void MarkerEvent(int type, unsigned int char_position, int value, unsigned char *out_ptr); | ||||
tr->langopts.stress_flags = 0x0024; // don't use secondary stress | tr->langopts.stress_flags = 0x0024; // don't use secondary stress | ||||
tr->langopts.param[LOPT_IT_LENGTHEN] = 1; // remove lengthen indicator from unstressed syllables | tr->langopts.param[LOPT_IT_LENGTHEN] = 1; // remove lengthen indicator from unstressed syllables | ||||
tr->langopts.numbers = 0x1509; | |||||
tr->langopts.numbers = 0x1509 + NUM_NOPAUSE | NUM_ROMAN; | |||||
SetLetterVowel(tr,'y'); | SetLetterVowel(tr,'y'); | ||||
} | } | ||||
break; | break; | ||||
} | } | ||||
break; | break; | ||||
case L('t','h'): // Thai | |||||
{ | |||||
static const short stress_lengths_th[8] = {230,150, 230,230, 230,0, 230,250}; | |||||
static const unsigned char stress_amps_th[] = {22,16, 22,22, 22,22, 22,22 }; | |||||
tr = new Translator; | |||||
SetupTranslator(tr,stress_lengths_th,stress_amps_th); | |||||
tr->langopts.stress_rule = 0; // stress on final syllable of a "word" | |||||
tr->langopts.stress_flags = 1; // don't automatically set diminished stress (may be set in the intonation module) | |||||
tr->langopts.tone_language = 1; // Tone language, use CalcPitches_Tone() rather than CalcPitches() | |||||
tr->langopts.length_mods0 = tr->langopts.length_mods; // don't lengthen vowels in the last syllable | |||||
// tr->langopts.tone_numbers = 1; // a number after letters indicates a tone number (eg. pinyin or jyutping) | |||||
tr->langopts.word_gap = 0x21; // length of a final vowel is less dependent on the next consonant, don't merge consonant with next word | |||||
} | |||||
break; | |||||
case L('t','r'): // Turkish | case L('t','r'): // Turkish | ||||
{ | { | ||||
static const unsigned char stress_amps_tr[8] = {16,16, 20,20, 20,24, 24,22 }; | static const unsigned char stress_amps_tr[8] = {16,16, 20,20, 20,24, 24,22 }; |
if((option_sayas & 0xf0) == 0x10) | if((option_sayas & 0xf0) == 0x10) | ||||
{ | { | ||||
// SAYAS_CHARS, SAYAS_GLYPHS, or SAYAS_SINGLECHARS. Pause between each word. | |||||
pre_pause += 4; | |||||
if(!(word_flags & FLAG_FIRST_WORD)) | |||||
{ | |||||
// SAYAS_CHARS, SAYAS_GLYPHS, or SAYAS_SINGLECHARS. Pause between each word. | |||||
pre_pause += 4; | |||||
} | |||||
} | } | ||||
if(word_flags & FLAG_FIRST_UPPER) | if(word_flags & FLAG_FIRST_UPPER) | ||||
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; | words[word_count-1].flags |= FLAG_LAST_WORD; | ||||
words[0].flags |= FLAG_FIRST_WORD; | |||||
for(ix=0; ix<word_count; ix++) | for(ix=0; ix<word_count; ix++) | ||||
{ | { |
#define FLAG_EMBEDDED 0x40 /* word is preceded by embedded commands */ | #define FLAG_EMBEDDED 0x40 /* word is preceded by embedded commands */ | ||||
#define FLAG_HYPHEN 0x80 | #define FLAG_HYPHEN 0x80 | ||||
#define FLAG_NOSPACE 0x100 // word is not seperated from previous word by a space | #define FLAG_NOSPACE 0x100 // word is not seperated from previous word by a space | ||||
#define FLAG_FIRST_WORD 0x200 // first word in clause | |||||
#define FLAG_DONT_SWITCH_TRANSLATOR 0x1000 | #define FLAG_DONT_SWITCH_TRANSLATOR 0x1000 | ||||
#define FLAG_SUFFIX_REMOVED 0x2000 | #define FLAG_SUFFIX_REMOVED 0x2000 | ||||
#define FLAG_HYPHEN_AFTER 0x4000 | #define FLAG_HYPHEN_AFTER 0x4000 | ||||
#define NUM_ROMAN 0x20000 | #define NUM_ROMAN 0x20000 | ||||
#define NUM_ROMAN_UC 0x40000 | #define NUM_ROMAN_UC 0x40000 | ||||
#define NUM_NOPAUSE 0x80000 | |||||
// bits0-1=which numbers routine to use. | // bits0-1=which numbers routine to use. | ||||
// bit2= thousands separator must be space | // bit2= thousands separator must be space | ||||
// bit16=dot after number indicates ordinal | // bit16=dot after number indicates ordinal | ||||
// bit17=recognize roman numbers | // bit17=recognize roman numbers | ||||
// bit18=Roman numbers only if upper case | // bit18=Roman numbers only if upper case | ||||
// bit19=don't add pause after a number | |||||
int numbers; | int numbers; | ||||
// bits 1-4 use variant form of numbers before thousands,millions,etc. | // bits 1-4 use variant form of numbers before thousands,millions,etc. |
TranslDlg *transldlg = NULL; | TranslDlg *transldlg = NULL; | ||||
extern char *speech_to_phonemes(char *data, char *phout); | extern char *speech_to_phonemes(char *data, char *phout); | ||||
extern ProsodyDisplay *prosodycanvas; | extern ProsodyDisplay *prosodycanvas; | ||||
extern void Write4Bytes(FILE *f, int value); | |||||
BEGIN_EVENT_TABLE(TranslDlg, wxPanel) | BEGIN_EVENT_TABLE(TranslDlg, wxPanel) | ||||
EVT_BUTTON(T_TRANSLATE,TranslDlg::OnCommand) | EVT_BUTTON(T_TRANSLATE,TranslDlg::OnCommand) | ||||
END_EVENT_TABLE() | END_EVENT_TABLE() | ||||
FILE *f_wave = NULL; | |||||
class IPATextCtrl : public wxTextCtrl | class IPATextCtrl : public wxTextCtrl | ||||
{ | { | ||||
} | } | ||||
int OpenWaveFile2(const char *fname) | |||||
{//================================= | |||||
int result; | |||||
if((result = OpenWaveFile(fname, samplerate)) != 0) | |||||
int OpenWaveFile2(const char *path) | |||||
/*********************************/ | |||||
{ | |||||
// Set the length of 0x7fffffff for --stdout | |||||
// This will be changed to the correct length for -w (write to file) | |||||
static unsigned char wave_hdr[44] = { | |||||
'R','I','F','F',0,0,0,0,'W','A','V','E','f','m','t',' ', | |||||
0x10,0,0,0,1,0,1,0, 9,0x3d,0,0,0x12,0x7a,0,0, | |||||
2,0,0x10,0,'d','a','t','a', 0xff,0xff,0xff,0x7f}; | |||||
if(path == NULL) | |||||
return(2); | |||||
if(strcmp(path,"stdout")==0) | |||||
f_wave = stdout; | |||||
else | |||||
f_wave = fopen(path,"wb"); | |||||
if(f_wave != NULL) | |||||
{ | { | ||||
wxLogStatus(_T("Can't write to WAV file: '"+wxString(fname,wxConvLocal))+_T("'")); | |||||
fwrite(wave_hdr,1,24,f_wave); | |||||
Write4Bytes(f_wave,samplerate); | |||||
Write4Bytes(f_wave,samplerate * 2); | |||||
fwrite(&wave_hdr[32],1,12,f_wave); | |||||
return(0); | |||||
} | } | ||||
return(result); | |||||
} | |||||
wxLogStatus(_T("Can't write to WAV file: '"+wxString(path,wxConvLocal))+_T("'")); | |||||
return(1); | |||||
} // end of OpenWaveFile | |||||
void CloseWaveFile2() | |||||
/******************/ | |||||
{ | |||||
unsigned int pos; | |||||
if((f_wave == NULL) || (f_wave == stdout)) | |||||
return; | |||||
fflush(f_wave); | |||||
pos = ftell(f_wave); | |||||
fseek(f_wave,4,SEEK_SET); | |||||
Write4Bytes(f_wave,pos - 8); | |||||
fseek(f_wave,40,SEEK_SET); | |||||
Write4Bytes(f_wave,pos - 44); | |||||
fclose(f_wave); | |||||
f_wave = NULL; | |||||
} // end of CloseWaveFile | |||||
int WavegenFile2(void) | |||||
{//================== | |||||
int finished; | |||||
unsigned char wav_outbuf[1024]; | |||||
out_ptr = out_start = wav_outbuf; | |||||
out_end = wav_outbuf + sizeof(wav_outbuf); | |||||
finished = WavegenFill(0); | |||||
if(f_wave != NULL) | |||||
{ | |||||
fwrite(wav_outbuf, 1, out_ptr-wav_outbuf, f_wave); | |||||
} | |||||
return(finished); | |||||
} // end of WavegenFile | |||||
void MakeWave2(PHONEME_LIST *p, int n_phonemes) | void MakeWave2(PHONEME_LIST *p, int n_phonemes) | ||||
for(;;) | for(;;) | ||||
{ | { | ||||
result = WavegenFile(); | |||||
result = WavegenFile2(); | |||||
if(result != 0) | if(result != 0) | ||||
break; | break; | ||||
Generate(p,&n_ph,1); | Generate(p,&n_ph,1); | ||||
} | } | ||||
CloseWaveFile(samplerate); | |||||
CloseWaveFile2(); | |||||
PlayWavFile(fname_speech); | PlayWavFile(fname_speech); | ||||
} // end of MakeWave2 | } // end of MakeWave2 |
unsigned char *out_start; | unsigned char *out_start; | ||||
unsigned char *out_end; | unsigned char *out_end; | ||||
int outbuf_size = 0; | int outbuf_size = 0; | ||||
static unsigned char outbuf[1024]; // used when writing to file | |||||
// the queue of operations passed to wavegen from sythesize | // the queue of operations passed to wavegen from sythesize | ||||
long wcmdq[N_WCMDQ][4]; | long wcmdq[N_WCMDQ][4]; | ||||
#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 | ||||
int current_source_index=0; | int current_source_index=0; | ||||
FILE *f_wave = NULL; | |||||
extern FILE *f_wave; | |||||
#if (USE_PORTAUDIO == 18) | #if (USE_PORTAUDIO == 18) | ||||
static PortAudioStream *pa_stream=NULL; | static PortAudioStream *pa_stream=NULL; | ||||
static int Wavegen() | |||||
{//================= | |||||
int Wavegen() | |||||
{//========== | |||||
unsigned short waveph; | unsigned short waveph; | ||||
unsigned short theta; | unsigned short theta; | ||||
int total; | int total; | ||||
int OpenWaveFile(const char *path, int rate) | |||||
/******************************************/ | |||||
{ | |||||
// Set the length of 0x7fffffff for --stdout | |||||
// This will be changed to the correct length for -w (write to file) | |||||
static unsigned char wave_hdr[44] = { | |||||
'R','I','F','F',0,0,0,0,'W','A','V','E','f','m','t',' ', | |||||
0x10,0,0,0,1,0,1,0, 9,0x3d,0,0,0x12,0x7a,0,0, | |||||
2,0,0x10,0,'d','a','t','a', 0xff,0xff,0xff,0x7f}; | |||||
if(path == NULL) | |||||
return(2); | |||||
wavephase = 0x7fffffff; | |||||
if(strcmp(path,"stdout")==0) | |||||
f_wave = stdout; | |||||
else | |||||
f_wave = fopen(path,"wb"); | |||||
if(f_wave != NULL) | |||||
{ | |||||
fwrite(wave_hdr,1,24,f_wave); | |||||
Write4Bytes(f_wave,rate); | |||||
Write4Bytes(f_wave,rate * 2); | |||||
fwrite(&wave_hdr[32],1,12,f_wave); | |||||
return(0); | |||||
} | |||||
return(1); | |||||
} // end of OpenWaveFile | |||||
void CloseWaveFile(int rate) | |||||
/******************/ | |||||
{ | |||||
unsigned int pos; | |||||
if(f_log != NULL) | |||||
{ | |||||
fclose(f_log); | |||||
f_log = NULL; | |||||
} | |||||
if((f_wave == NULL) || (f_wave == stdout)) | |||||
return; | |||||
fflush(f_wave); | |||||
pos = ftell(f_wave); | |||||
fseek(f_wave,4,SEEK_SET); | |||||
Write4Bytes(f_wave,pos - 8); | |||||
fseek(f_wave,40,SEEK_SET); | |||||
Write4Bytes(f_wave,pos - 44); | |||||
fclose(f_wave); | |||||
f_wave = NULL; | |||||
} // end of CloseWaveFile | |||||
void MakeWaveFile() | |||||
{//================ | |||||
int result=1; | |||||
while(result != 0) | |||||
{ | |||||
out_ptr = out_start = outbuf; | |||||
out_end = &outbuf[sizeof(outbuf)]; | |||||
result = Wavegen(); | |||||
if(f_wave != NULL) | |||||
fwrite(outbuf,1,out_ptr-outbuf,f_wave); | |||||
} | |||||
} // end of MakeWaveFile | |||||
int WavegenFill(int fill_zeros) | int WavegenFill(int fill_zeros) | ||||
{//============================ | {//============================ | ||||
} // end of WavegenFill | } // end of WavegenFill | ||||
int WavegenFile(void) | |||||
{//================== | |||||
int finished; | |||||
out_ptr = out_start = outbuf; | |||||
out_end = outbuf + sizeof(outbuf); | |||||
finished = WavegenFill(0); | |||||
if(f_wave != NULL) | |||||
{ | |||||
fwrite(outbuf,1,out_ptr-outbuf,f_wave); | |||||
} | |||||
return(finished); | |||||
} // end of WavegenFile | |||||