Windows SAPI5 installer: Remove the limit on the number of voices specified for inclusion in the Windows Registry. voices.cpp: Widen formant peaks F3 F4 F5. Reduce slightly the difference in amplitude between stressed and unstressed vowels. git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@208 d46cf337-b52f-0410-862d-fd96e6ae7743master
| //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 | ||||
| sauk $abbrev | sauk $abbrev | ||||
| st s@nt $dot | st s@nt $dot | ||||
| supt suprEntEnd'Ent $dot | supt suprEntEnd'Ent $dot | ||||
| tv te@fe@_ | |||||
| vsa $abbrev | vsa $abbrev | ||||
| // letter names | // letter names | ||||
| algerië alx2'e@re@:@- | algerië alx2'e@re@:@- | ||||
| antwerpen antv&rp@n | antwerpen antv&rp@n | ||||
| babilon babilOn | babilon babilOn | ||||
| bangladesh baNglad'ES | |||||
| bangladesj baNglad'ES | |||||
| bastille bast'il | bastille bast'il | ||||
| bellevue b&lvju: | bellevue b&lvju: | ||||
| berlyn $2 | |||||
| bermuda $2 | bermuda $2 | ||||
| bethlehem bEt_liEm | bethlehem bEt_liEm | ||||
| boedapest budapEst | boedapest budapEst | ||||
| outeniekwa @Ut@n'ikwa | outeniekwa @Ut@n'ikwa | ||||
| oxford _^_EN | oxford _^_EN | ||||
| pelindaba p&l@nd'A:ba | pelindaba p&l@nd'A:ba | ||||
| portugal $1 | |||||
| portugal pOrtyx2al | |||||
| potchefstroom pOtSIfstr'o@m | potchefstroom pOtSIfstr'o@m | ||||
| richardsbaai ritS@dsb'AI | |||||
| robertson _^_EN | robertson _^_EN | ||||
| sahara sah'A:ra | sahara sah'A:ra | ||||
| secunda s@kunda | secunda s@kunda | ||||
| soweto suw'E:tu | soweto suw'E:tu | ||||
| springs _^_EN $capital | springs _^_EN $capital | ||||
| sunnyside _^_EN | sunnyside _^_EN | ||||
| suriname syrin'A:m@ | |||||
| swellendam $3 | swellendam $3 | ||||
| tokio to@kiu | tokio to@kiu | ||||
| tunisië $2 | tunisië $2 | ||||
| charl SA:l | charl SA:l | ||||
| charles _^_EN | charles _^_EN | ||||
| charlie tSA:li | charlie tSA:li | ||||
| charmaine SA:m'eI:n | |||||
| chopin S%OpA~ | chopin S%OpA~ | ||||
| conradie $2 | conradie $2 | ||||
| chris krIs | chris krIs | ||||
| jordaan $2 | jordaan $2 | ||||
| josef jo@s@f | josef jo@s@f | ||||
| juanita juan'ita | juanita juan'ita | ||||
| julia _^_EN | |||||
| kelvin _^_EN | kelvin _^_EN | ||||
| kim _^_EN $capital | kim _^_EN $capital | ||||
| krige krix2@ | krige krix2@ | ||||
| labuschagne labWsk'ax2ni | |||||
| langenhoven laN@nho@f@n | langenhoven laN@nho@f@n | ||||
| lasarus lA:s@r%Ws | lasarus lA:s@r%Ws | ||||
| lategan lA:t@x2an | lategan lA:t@x2an | ||||
| schreiner SraIn@r | schreiner SraIn@r | ||||
| tony t@Uni | tony t@Uni | ||||
| trichardt trix2A:rt | trichardt trix2A:rt | ||||
| xhosa kO:za | |||||
| khumalo kum'A:lu | khumalo kum'A:lu | ||||
| zuma zu:ma | zuma zu:ma | ||||
| chrysler kraIsl@r | chrysler kraIsl@r | ||||
| ferrari f@rA:ri | ferrari f@rA:ri | ||||
| martini mart'i:ni | martini mart'i:ni | ||||
| naspers nasp&rs | |||||
| venda vEnda | venda vEnda | ||||
| wimpy wImpi | wimpy wImpi | ||||
| hulle $u $verbf | hulle $u $verbf | ||||
| hulleself hWl@s&lf $verbf | hulleself hWl@s&lf $verbf | ||||
| my $u $verbf | my $u $verbf | ||||
| jou $u $verbf | |||||
| jou $u $only $verbf | |||||
| hom $u $verbf | hom $u $verbf | ||||
| haar $u $only $verbf | haar $u $only $verbf | ||||
| se Es@ $capital | se Es@ $capital | ||||
| bostaande b'o@stA:nd@ | bostaande b'o@stA:nd@ | ||||
| bourgeois _^_FR | bourgeois _^_FR | ||||
| bourgeoisie _^_FR | bourgeoisie _^_FR | ||||
| briewemes briv@mEs | |||||
| cabernet kab@rn'eI | cabernet kab@rn'eI | ||||
| camembert kam@mb'&:r | camembert kam@mb'&:r | ||||
| camouflage kamufl'A:Z | camouflage kamufl'A:Z | ||||
| capita kapita | |||||
| casino kas'i:n@U | casino kas'i:n@U | ||||
| charisma kar'Isma | charisma kar'Isma | ||||
| chemikalieë $3 | chemikalieë $3 | ||||
| hoofsaaklik $2 | hoofsaaklik $2 | ||||
| hoogedele ho@x2 _e@d@l@ | hoogedele ho@x2 _e@d@l@ | ||||
| hosanna hus'ana | hosanna hus'ana | ||||
| hotagter hOt_ax2t@r | |||||
| ibis $1 | ibis $1 | ||||
| idee $2 | idee $2 | ||||
| macaroni makar'o@ni | macaroni makar'o@ni | ||||
| madame mad'A:m | madame mad'A:m | ||||
| madamoiselle _^_FR | madamoiselle _^_FR | ||||
| malles mal@s | |||||
| maskering mask'e@r@N $only | maskering mask'e@r@N $only | ||||
| massaal $2 | massaal $2 | ||||
| massale $2 | massale $2 | ||||
| patos pA:tOs | patos pA:tOs | ||||
| patriotisme patri|ut'Ism@ | patriotisme patri|ut'Ism@ | ||||
| penorent pEno@rEnt | penorent pEno@rEnt | ||||
| per pIr | |||||
| per p@r $only | |||||
| persent p@rsEnt | persent p@rsEnt | ||||
| petite p@tit | petite p@tit | ||||
| pinotage pinut'A:Z | pinotage pinut'A:Z | ||||
| rebelleer r@b@le@r | rebelleer r@b@le@r | ||||
| rededele re@d@de@l@ | rededele re@d@de@l@ | ||||
| regie r@Zi: | |||||
| renaissance rEn@s'A~ns | renaissance rEn@s'A~ns | ||||
| retoriek r@tur'ik | retoriek r@tur'ik | ||||
| rimpeling rImp@l@N | rimpeling rImp@l@N |
| apart %apart // fix stress: (bus-/klein)apartheid | apart %apart // fix stress: (bus-/klein)apartheid | ||||
| _) a (po %a // apollo/apostel | _) a (po %a // apollo/apostel | ||||
| apo (krieC %ap%u // fix stress and vowel sounds: apokrief/-iewe | apo (krieC %ap%u // fix stress and vowel sounds: apokrief/-iewe | ||||
| a (politi %A: // lengthen a sound: apolitiek/apolities/-e | |||||
| apolog (A %ap%Ol%ux2 // fix stress and vowel sounds: apologie/apologeer/-gering/-geties/-getika/-geet/-gete | apolog (A %ap%Ol%ux2 // fix stress and vowel sounds: apologie/apologeer/-gering/-geties/-getika/-geet/-gete | ||||
| C) ap (oor ap_ // fix stress and a sound: flap-/lap-/pap-/slapoor(hond) | C) ap (oor ap_ // fix stress and a sound: flap-/lap-/pap-/slapoor(hond) | ||||
| C) ap (ore_ ap_ // fix a sound: flap-/lapore | C) ap (ore_ ap_ // fix a sound: flap-/lapore | ||||
| boulevard bul@vard // boulevard/-s | boulevard bul@vard // boulevard/-s | ||||
| _) bowe b''o@v@ // fix e sound in compounds: boweaards/bowemaans/bowetoon | _) bowe b''o@v@ // fix e sound in compounds: boweaards/bowemaans/bowetoon | ||||
| _) breda br@dA: // move default stress: (van )Breda/Bredasdorp | _) breda br@dA: // move default stress: (van )Breda/Bredasdorp | ||||
| _) briewe (C br''iv@ // fix stress and e sound: briewekolom/-literatuur/-redakteur/-tas | |||||
| bril (jant br@l // move default stress: briljant/-e/-heid/-ste | bril (jant br@l // move default stress: briljant/-e/-heid/-ste | ||||
| bro (mi br%o@ // fix stress: bromide/bromied(papier)/silwerbromide/ied | bro (mi br%o@ // fix stress: bromide/bromied(papier)/silwerbromide/ied | ||||
| bru (ta br%y // move default stress: brutaal/brutale/brutaliteit | bru (ta br%y // move default stress: brutaal/brutale/brutaliteit | ||||
| bene (dy b%e@n@ // fix stress and e sounds: gebenedy/-de | bene (dy b%e@n@ // fix stress and e sounds: gebenedy/-de | ||||
| _) ben (ga b%EN // fix stress and n/g sounds: Bengaalse/Bengale | _) ben (ga b%EN // fix stress and n/g sounds: Bengaalse/Bengale | ||||
| beni (g be@n@ // fix stress and e sound: (swaar/twee/vier)benig, etc. | beni (g be@n@ // fix stress and e sound: (swaar/twee/vier)benig, etc. | ||||
| ber (lyn b%&r // move default stress: Berlyn/-er/-se | |||||
| ber (serk b@r // fix stress and 1st e sound: berserk/-er | ber (serk b@r // fix stress and 1st e sound: berserk/-er | ||||
| C) be (rsie b'&: //kombersie etc. | C) be (rsie b'&: //kombersie etc. | ||||
| bene (r be@n@ //benerig/e | bene (r be@n@ //benerig/e | ||||
| deur (waaid d%Y@r // move default stress: deurwaaid/-e | deur (waaid d%Y@r // move default stress: deurwaaid/-e | ||||
| deur (weeC d%y@r // move default stress: deurweef/deurweek/-te | deur (weeC d%y@r // move default stress: deurweef/deurweek/-te | ||||
| deur (winter d%y@r // move default stress: deurwinter/-de | deur (winter d%y@r // move default stress: deurwinter/-de | ||||
| dewe (tK d@vE // fix stress and vowel sounds: Groepsgebiedewet/Dewetsdorp/-hof | |||||
| dia (C d%i%a // diabeet/diafragma/diagnose/dialek/dialoog/diamant | dia (C d%i%a // diabeet/diafragma/diagnose/dialek/dialoog/diamant | ||||
| diaken d%iA:k@n // diaken and compounds | diaken d%iA:k@n // diaken and compounds | ||||
| diako (nie d%i%ak%u // fix stress and o sound: diakonie/-ë | diako (nie d%i%ak%u // fix stress and o sound: diakonie/-ë | ||||
| detail d'i:teIl | detail d'i:teIl | ||||
| detai (lleer d%i:t%eI // fix stress: (ge)detailleer(d/-e) | detai (lleer d%i:t%eI // fix stress: (ge)detailleer(d/-e) | ||||
| di (ssi d@ // move default stress: dissipel/-s | di (ssi d@ // move default stress: dissipel/-s | ||||
| dissipline d@s@plin@ // fix stress and e sound: dissipline/-s/dissiplinebeleid, etc. | |||||
| dissipline (K d@s@plin@ // fix stress and e sound: dissipline/-s/dissiplinebeleid, etc. | |||||
| distri (bu d@str@ // distribusie/distribueer and compounds | distri (bu d@str@ // distribusie/distribueer and compounds | ||||
| _) dis (t d@s // stress: distrik/-te and compounds/distansie/distinksie/distorsie/distraksie | _) dis (t d@s // stress: distrik/-te and compounds/distansie/distinksie/distorsie/distraksie | ||||
| distel dIst@l // restore default stress: distel and compounds | distel dIst@l // restore default stress: distel and compounds | ||||
| eind (eks eInt_ // fix d sound and make short pause: eindeksamen/-s and compounds | eind (eks eInt_ // fix d sound and make short pause: eindeksamen/-s and compounds | ||||
| sirk) e (l @ // compounds: sirkelgang/sirkelvormig | sirk) e (l @ // compounds: sirkelgang/sirkelvormig | ||||
| nk) e (lC @ // onwankelbaar/skenkelbeen/sprinkelbesproeiing/kinkeldraai/kronkelpad/seunsenkelspel | nk) e (lC @ // onwankelbaar/skenkelbeen/sprinkelbesproeiing/kinkeldraai/kronkelpad/seunsenkelspel | ||||
| u) ele (K+ 'e@l@ // words ending in uele take stress on penultimate slb | |||||
| Cu) ele (K+ 'e@l@ // words ending in uele take stress on penultimate slb | |||||
| _) erde (C &rd@ // fix connecting e in compounds: erdekruik/-ware and similar | _) erde (C &rd@ // fix connecting e in compounds: erdekruik/-ware and similar | ||||
| _) ere e@r@ // ereamp/erediens/ererol/erevoorsitter | _) ere e@r@ // ereamp/erediens/ererol/erevoorsitter | ||||
| ere (ksiA %e@rE // fix stress and e sounds: ereksie/ereksionele | ere (ksiA %e@rE // fix stress and e sounds: ereksie/ereksionele | ||||
| &) etjie (+ ici | &) etjie (+ ici | ||||
| Cn) etjies Eicis // kraaknetjies/hipernetjies | Cn) etjies Eicis // kraaknetjies/hipernetjies | ||||
| nn) etjies icis // kannetjies/mannetjies/pennetjies, etc. | nn) etjies icis // kannetjies/mannetjies/pennetjies, etc. | ||||
| &) elik (_S4 @l@k | |||||
| &) elike (_S5 @l@k@ // to go with suffixes elik/elikheid | |||||
| &) elikheid (_S8 @l@keIt // vriendelikheid/duidelikheid | &) elikheid (_S8 @l@keIt // vriendelikheid/duidelikheid | ||||
| epi (deC %Ep%i // epidemie/-s/-e/epidermies/epidermis | epi (deC %Ep%i // epidemie/-s/-e/epidermies/epidermis | ||||
| ar) e (sse_ 'E // bibliotekaresse/sekretaresse | ar) e (sse_ 'E // bibliotekaresse/sekretaresse | ||||
| Ks) e (na @ //senator and friends/watsenaam | Ks) e (na @ //senator and friends/watsenaam | ||||
| p) e (talje @ // fix stress and 1st e sound: petalje and compounds | p) e (talje @ // fix stress and 1st e sound: petalje and compounds | ||||
| interpr) e (teer @' //stress and e sound interpreteer | |||||
| interpr) e (tA @' //stress and e sound interpreteer/interpretasie | |||||
| _) e (ks %E //move default stress in words starting with eks | _) e (ks %E //move default stress in words starting with eks | ||||
| _C) e (on_ 'i //Leon, Deon etc. | _C) e (on_ 'i //Leon, Deon etc. | ||||
| @C) e (oor @_ // fix e sound: boekbeoordelaar/klasseoorheersing/tarieweoorlog/waardeoordeel | @C) e (oor @_ // fix e sound: boekbeoordelaar/klasseoorheersing/tarieweoorlog/waardeoordeel | ||||
| gewe (_ x2'e@v@ // begewe/gegewe | gewe (_ x2'e@v@ // begewe/gegewe | ||||
| @) gewende (_ x2'e@v@nd@ | @) gewende (_ x2'e@v@nd@ | ||||
| @) gewend (_ x2'e@v@nt // insiggewend/deurslaggewend/liggewend | @) gewend (_ x2'e@v@nt // insiggewend/deurslaggewend/liggewend | ||||
| @) gewend (ste x2'e@v@nt // fix stress and e sound: toonaangewendste and similar | |||||
| gewel (d x2@v&l //geweld/ig/gewelddadig | gewel (d x2@v&l //geweld/ig/gewelddadig | ||||
| gewel (f x2@v&l //gewelf/boog | gewel (f x2@v&l //gewelf/boog | ||||
| gewel (w x2@v'&l //gewelwe | gewel (w x2@v'&l //gewelwe | ||||
| &C) ikend @k@nt // grinnikend/runnikend/sanikend | &C) ikend @k@nt // grinnikend/runnikend/sanikend | ||||
| &C) ikende @k@nd@ // grinnikende/runnikende/sanikende | &C) ikende @k@nd@ // grinnikende/runnikende/sanikende | ||||
| ingenieur @nx2@n'y@r | ingenieur @nx2@n'y@r | ||||
| insurgen (s @ns%Wrx2En // fix stress and e sound: (teen)insurgensie and compounds | |||||
| insurgen (C @ns%Wrx2En // fix stress and e sound: (teen)insurgensie and compounds/insurgent/-e | |||||
| inten (s @ntEn // move default stress | inten (s @ntEn // move default stress | ||||
| in (tussen @n // move default stress | in (tussen @n // move default stress | ||||
| _) iri (s ir@ // restore stress on 1st slb.: iris/-se | _) iri (s ir@ // restore stress on 1st slb.: iris/-se | ||||
| jag (ing jA:x2 // long a in (ver)jaging and similar | jag (ing jA:x2 // long a in (ver)jaging and similar | ||||
| jaguar jagwar // fix a, g and u sounds: jaguar and compounds | jaguar jagwar // fix a, g and u sounds: jaguar and compounds | ||||
| _) ja (CobA j%a // fix stress and a sound: Jacoba/Jacobus/Jakobus | _) ja (CobA j%a // fix stress and a sound: Jacoba/Jacobus/Jakobus | ||||
| jacaranda j%ak%ar'anda //jacaranda and compounds | |||||
| jakaranda j%ak%ar'anda //jakaranda and compounds | jakaranda j%ak%ar'anda //jakaranda and compounds | ||||
| jakopewer j%ak%Ope@v@r_ // fix stress and vowel sounds: jakopewer/-oë | jakopewer j%ak%Ope@v@r_ // fix stress and vowel sounds: jakopewer/-oë | ||||
| jaloe (sie j%al%u // stress: jaloesie/beroepsjaloesie | jaloe (sie j%al%u // stress: jaloesie/beroepsjaloesie | ||||
| kanfer kA~nf@r_ // fix e sound: kanferboom/-bos/-hout/-olie, etc. | kanfer kA~nf@r_ // fix e sound: kanferboom/-bos/-hout/-olie, etc. | ||||
| kanfer (foel k%A~nf@r // move default stress: kanferfoelie and compounds | kanfer (foel k%A~nf@r // move default stress: kanferfoelie and compounds | ||||
| kanni (ba k%an%i // move default stress: kannibaal/kannibale/kannibalisme | kanni (ba k%an%i // move default stress: kannibaal/kannibale/kannibalisme | ||||
| @) ka (non k%a // shorten a sound in compounds like waterkanon/-ne | |||||
| _) kano (vaar k%ano@ // fix stress and vowel sounds: kanovaarder/vaart, etc. | _) kano (vaar k%ano@ // fix stress and vowel sounds: kanovaarder/vaart, etc. | ||||
| kano (_ k%ano@ // fix last o sound: (opblaas)kano/-'s | kano (_ k%ano@ // fix last o sound: (opblaas)kano/-'s | ||||
| kan (tien k%an // move default stress: kantien and compounds | kan (tien k%an // move default stress: kantien and compounds | ||||
| makaber m%akA:b@r // fix stress and vowel sounds: makaber/-e/-heid | makaber m%akA:b@r // fix stress and vowel sounds: makaber/-e/-heid | ||||
| maka (paan m%ak%a // fix stress and a sounds: Makapaan/-s/-grot and compounds | maka (paan m%ak%a // fix stress and a sounds: Makapaan/-s/-grot and compounds | ||||
| @) makie (sie mak'i // fix a sound and stress: bol(le)makiesie/-slanery | @) makie (sie mak'i // fix a sound and stress: bol(le)makiesie/-slanery | ||||
| ma (kietie m%a // fix stress and a sound: makietie and compounds: verjaardagmakietie/-s | |||||
| @) makranka makr'anka // fix stress and vowel sounds: koek(e)makranka/-s | @) makranka makr'anka // fix stress and vowel sounds: koek(e)makranka/-s | ||||
| ma (kriel m%a // move default stress: makriel/-e | ma (kriel m%a // move default stress: makriel/-e | ||||
| maksi (ma@ m%aks%i // move default stress: maksimaal/-male | maksi (ma@ m%aks%i // move default stress: maksimaal/-male | ||||
| &) mal (_S3 mal | &) mal (_S3 mal | ||||
| malaria mal'A:ria | malaria mal'A:ria | ||||
| mal (gas m%al // move default stress: Malgas/-se/-sies | mal (gas m%al // move default stress: Malgas/-se/-sies | ||||
| malles (_ mal@s // fix e sound: (mags)malles and similar | |||||
| _) malte (sA m%alte@ // move default stress and fix e sound: maltese/maltesies | _) malte (sA m%alte@ // move default stress and fix e sound: maltese/maltesies | ||||
| mam (poer m%am // move default stress: mampoer and compounds | mam (poer m%am // move default stress: mampoer and compounds | ||||
| man (da m%an //mandaat and compounds | man (da m%an //mandaat and compounds | ||||
| CA) mme (C m@ | CA) mme (C m@ | ||||
| CA) mme (tjie mi // lemmetjie/stemmetjie and similar | CA) mme (tjie mi // lemmetjie/stemmetjie and similar | ||||
| middagete m'Idax2_e@t@ // middagete/s | middagete m'Idax2_e@t@ // middagete/s | ||||
| middel mId@l // middellyf/middelpunt/middelste/bemiddelend | |||||
| midde (l mId@ // middellyf/middelpunt/middelste/bemiddelend | |||||
| middel (jari m@d@l // move default stress: middeljarig and derivatives | middel (jari m@d@l // move default stress: middeljarig and derivatives | ||||
| middelli (k mId@l@ // drop one l: (on)middellik/-e | |||||
| milit m@l@t // militêr/militaris | milit m@l@t // militêr/militaris | ||||
| mil (jA m@l // move default stress: miljoen/-e/miljard/-e | mil (jA m@l // move default stress: miljoen/-e/miljard/-e | ||||
| mille (nniA m@lE // millennium/millennia | mille (nniA m@lE // millennium/millennia | ||||
| n (_n //cause one n sound kan nie doen nie etc. | n (_n //cause one n sound kan nie doen nie etc. | ||||
| n (_n_ n // fix n in phrases like: afkappingsteken n | n (_n_ n // fix n in phrases like: afkappingsteken n | ||||
| neer (drukk n%e@r // move default stress: neerdrukkend/-e | neer (drukk n%e@r // move default stress: neerdrukkend/-e | ||||
| _) neerge (C@P6 n''e@rx2@ // fix e sound: neergepen/neergetel | |||||
| neer (halend n%e@r // move default stress: neerhalend/-e | neer (halend n%e@r // move default stress: neerhalend/-e | ||||
| @) nees (_ n'e@s // fix stress: Soedanees and similar | @) nees (_ n'e@s // fix stress: Soedanees and similar | ||||
| &) nele (_ n'e@l@ | &) nele (_ n'e@l@ | ||||
| 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 | sekwe (strA s%Ekw@ // fix e sounds: sekwestrasie/sekwestreer and compounds | ||||
| bloed) se (l s& // fix e sound: (wit)bloedsel(le)(telling and similar compounds | bloed) se (l s& // fix e sound: (wit)bloedsel(le)(telling and similar compounds | ||||
| braille) se (l s& // fix e sound: braillesel/-le | |||||
| heuning) se (lK s& // fix e sound: heuningsel/-le | heuning) se (lK s& // fix e sound: heuningsel/-le | ||||
| liggaam) se (lK s& // fix e sound: liggaamsel/-le | liggaam) se (lK s& // fix e sound: liggaamsel/-le | ||||
| stam) se (l s& // fix e sound: stamsel/-le/stamselnavorsing, etc. | |||||
| 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 | selder (y s%&ld@r // move default stress: seldery and compounds | ||||
| &) sele (_ s'e@l@ | &) sele (_ s'e@l@ | ||||
| _) seme (Ct s@mE // sementtafel/blad/vierkant/semester/-s | _) seme (Ct s@mE // sementtafel/blad/vierkant/semester/-s | ||||
| _) semi (_ sEmi // fix e sound: semi/semi-formeel, etc. | _) semi (_ sEmi // fix e sound: semi/semi-formeel, etc. | ||||
| semi (na s%Em%i // seminaar/seminare/seminarium | semi (na s%Em%i // seminaar/seminare/seminarium | ||||
| _) semi (C sEmi // fix vowel sounds: semistaatsinstellings and similar | |||||
| 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 | _) se (ni@ s@ // fix stress and e sound: seniel/-e/seniliteit | ||||
| 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 | ||||
| skande (ring sk%ande@ // fix stress and e sound: (brein)skandering and similar compounds | skande (ring sk%ande@ // fix stress and e sound: (brein)skandering and similar compounds | ||||
| @) skap (in@ skap_ // shorten a sound, pause: leierskapinstituut and similar | |||||
| @) skap (o skap_ // shorten a sound: entrepreneur-/leierskapontwikkeling/wetenskaponderrig/-onderwyser, etc. | |||||
| _) 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 | ska (vot sk%a // fix stress and a sound: skavot and compounds | ||||
| 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 | see) ste (r st& // fix e sound: seester/-re/seesterpunte and similar compounds | ||||
| sepie) ste (r st& // fix e sound: sepiester/-re | |||||
| sewe) ste (r st& // fix e sound: sewester and compounds | sewe) ste (r st& // fix e sound: sewester and compounds | ||||
| visie) ste (r st& // fix e sound: televisiester/-re | visie) ste (r st& // fix e sound: televisiester/-re | ||||
| _) ste (ri st%E // fix stress and e sound: steriel/-e/steriliteit | _) ste (ri st%E // fix stress and e sound: steriel/-e/steriliteit | ||||
| teleks t&lEks // fix stress and vowel sounds: teleks and compounds | teleks t&lEks // fix stress and vowel sounds: teleks and compounds | ||||
| _) teler te@l@r // fix stress and vowel sounds: teler/-s/-y/-svereniging, etc. | _) teler te@l@r // fix stress and vowel sounds: teler/-s/-y/-svereniging, etc. | ||||
| ten (der tEn // fix e sound in compounds: regeringstenders and similar | ten (der tEn // fix e sound in compounds: regeringstenders and similar | ||||
| @) ten (derwyK t@n // fix e sound: spottenderwys/-e/uitsluitenderwys/-e/verkortenderwys/-e | |||||
| @C) te (nk t& ++ //tenk and friends | @C) te (nk t& ++ //tenk and friends | ||||
| _) te (no t@ //tenoor, tenore etc. | _) te (no t@ //tenoor, tenore etc. | ||||
| @C) te (C t@ /// | @C) te (C t@ /// | ||||
| &) tert (r t@rt // fix e sound: pleistertroffel/venstertralie/ystertralies/ystertrap | &) tert (r t@rt // fix e sound: pleistertroffel/venstertralie/ystertralies/ystertrap | ||||
| &s) tert (aan t&:rt // fix e sound: swa(w)elstertaandpak/-ke | &s) tert (aan t&:rt // fix e sound: swa(w)elstertaandpak/-ke | ||||
| &s) tert (e_ t&:rt // fix e sound: swa(w)elsterte/vissterte | &s) tert (e_ t&:rt // fix e sound: swa(w)elsterte/vissterte | ||||
| wa) tert t@rt | |||||
| wa) ter (t t@r // fix last e sound: watertekort and similar | |||||
| &) tert t&rt | &) tert t&rt | ||||
| &) tertjie t@rki | &) tertjie t@rki | ||||
| @) ter (tyd t@r // mettertyd/pinkstertyd/toentertyd | @) ter (tyd t@r // mettertyd/pinkstertyd/toentertyd | ||||
| _b) us (A ''Ws_ //busongeluk/-operateur/-uitstappie, etc. | _b) us (A ''Ws_ //busongeluk/-operateur/-uitstappie, etc. | ||||
| utjie Yyci | utjie Yyci | ||||
| univers (A@ %yn%iv%&rs // universiteit and compounds/universeel/-ele | univers (A@ %yn%iv%&rs // universiteit and compounds/universeel/-ele | ||||
| C) untjie YyNci // muntjie/puntjie/-s | |||||
| C) uwelik yv@l@k // gruwelik/huwelik/afskuwelik | C) uwelik yv@l@k // gruwelik/huwelik/afskuwelik | ||||
| 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 | ||||
| x ks | x ks | ||||
| x (x | x (x | ||||
| xen (o z%En // xeno-/fiel/-filie/-fobie/-fobies/-e | xen (o z%En // xeno-/fiel/-filie/-fobie/-fobies/-e | ||||
| xhosa k''O:sa // (ama)Xhosa/-s; xh click does not yet work | |||||
| .group y | .group y | ||||
| y eI | y eI | ||||
| zambesi z%ambe@s%i // fix stress and e sound: Zambesi(rivier) | zambesi z%ambe@s%i // fix stress and e sound: Zambesi(rivier) | ||||
| zebra ze@bra // fix vowel sounds: zebra/-strepe | zebra ze@bra // fix vowel sounds: zebra/-strepe | ||||
| .group 0xce // Greek letters | |||||
| // 0xce is the first byte of the utf-8 code for these characters | |||||
| α 'alfa_ | |||||
| ά 'alfa_ | |||||
| β b'e@ta_ | |||||
| γ g'ama_ | |||||
| δ d'<a_ | |||||
| ε 'EpsilOn_ | |||||
| έ 'EpsilOn_ | |||||
| ζ z'e@ta_ | |||||
| η 'e@ta_ | |||||
| ή 'e@ta_ | |||||
| θ T'e@ta_ | |||||
| ι i'o@ta_ | |||||
| ί i'o@ta_ | |||||
| κ k'apa_ | |||||
| λ l'ambda_ | |||||
| μ m'y:_ | |||||
| ν n'y:_ | |||||
| ξ ks'i_ | |||||
| ο 'OmikrOn_ | |||||
| .group 0xcf // Greek letters | |||||
| π p'i_ | |||||
| ρ r'o@_ | |||||
| σ s'igma_ | |||||
| ς s'igma_ | |||||
| τ t'aU_ | |||||
| υ 'upsilOn_ | |||||
| ύ 'upsilOn_ | |||||
| φ f'i_ | |||||
| χ x'i_ | |||||
| ψ ps'i_ | |||||
| ω o@m'e@x2a_ | |||||
| ώ o@m'e@x2a_ | |||||
| ό 'OmikrOn_ | |||||
| .group | .group | ||||
| @) 's (S2 s // plurals of wrds ending in vowels: crescendo's/innuendo's/okapi's, etc. | @) 's (S2 s // plurals of wrds ending in vowels: crescendo's/innuendo's/okapi's, etc. | ||||
| @) 'tjie %ici // foto'tjie/ma'tjie, etc. | @) 'tjie %ici // foto'tjie/ma'tjie, etc. |
| Dictionary ca_dict | Dictionary ca_dict | ||||
| @ a a# aI e E i o | |||||
| O u U | |||||
| @ a a# aI e E E2 i | |||||
| o O u U | |||||
| * ** : b B d D dZ; | |||||
| f g j J J^ k l l^ | |||||
| m n N n^ p Q r R | |||||
| R2 s S; t T tS ts tS; | |||||
| * ** : ; b B d D | |||||
| dZ; f g j J J^ k l | |||||
| l^ m n N n^ p Q r | |||||
| R R2 s S; t T ts tS; | |||||
| v v# w z Z Z; | v v# w z Z Z; | ||||
| o o: oU r* r- u U u: | o o: oU r* r- u U u: | ||||
| * ; b d dZ dZ; f g | * ; b d dZ dZ; f g | ||||
| h j k l L l^ m n | |||||
| N n^ p r R R2 s S | |||||
| t tS ts tS; v x z Z | |||||
| h j k l l^ m n N | |||||
| n^ p r R R2 s S t | |||||
| tS ts tS; v x z Z | |||||
| Dictionary hi_dict | Dictionary hi_dict | ||||
| u W y | u W y | ||||
| ** b d dZ f g h j | ** b d dZ f g h j | ||||
| k l m n p R3 s S | |||||
| t tS ts v x z Z | |||||
| k l m n p R R3 s | |||||
| S t tS ts v x z Z | |||||
| Dictionary id_dict | Dictionary id_dict | ||||
| eI i I I# O OI u V | eI i I I# O OI u V | ||||
| y yE | y yE | ||||
| ** b c d D dZ f g | |||||
| h j J k l ll m n | |||||
| n^ p r R R2 s S t | |||||
| T tS ts v w z Z | |||||
| ** b c d D dZ dZ; f | |||||
| g h j k l L ll m | |||||
| n n^ p r R R2 s S | |||||
| t T tS ts v w z Z | |||||
| Dictionary sv_dict | Dictionary sv_dict | ||||
| o o- ou u u@ ua uai uei | o o- ou u u@ ua uai uei | ||||
| uo y y& y@ yE yi yu | uo y y& y@ yE yi yu | ||||
| (u) ; C f h j k kh | |||||
| l m n N p ph q r | |||||
| ; C f h j k kh l | |||||
| L m n N p ph r R | |||||
| s s. S; t th ts ts. ts. | s s. S; t th ts ts. ts. | ||||
| tS; tS; tsh v w x X z. | tS; tS; tsh v w x X z. | ||||
| breath brET $onlys | breath brET $onlys | ||||
| breath bri:D $verb $onlys | breath bri:D $verb $onlys | ||||
| brethren brEDr@n | brethren brEDr@n | ||||
| bridesmaid braIdzmeId | |||||
| bridal braId@L | |||||
| brigade $2 | brigade $2 | ||||
| brigadier brIga2d'i@3 | brigadier brIga2d'i@3 | ||||
| brochure broUS3 | brochure broUS3 | ||||
| hasty heIstI | hasty heIstI | ||||
| hatred heItrI2d | hatred heItrI2d | ||||
| hazardous haz3d@s | hazardous haz3d@s | ||||
| hedgehog hEdZh0g | |||||
| hehe hi:h'i: | hehe hi:h'i: | ||||
| heifer hEf@ | heifer hEf@ | ||||
| helium hi:li@m | helium hi:li@m | ||||
| jasmine dZazmIn | jasmine dZazmIn | ||||
| jesus dZi:z@s | jesus dZi:z@s | ||||
| joky dZoUkI | joky dZoUkI | ||||
| jukebox dZu:kb0ks | |||||
| july dZu:l'aI | july dZu:l'aI | ||||
| kaput ka2pUt | kaput ka2pUt | ||||
| lorenz l0r@nts | lorenz l0r@nts | ||||
| los ,l0s $only | los ,l0s $only | ||||
| losing lu:zI2N // misspell | losing lu:zI2N // misspell | ||||
| lukewarm lu:kwO@m | |||||
| lullaby lVl@baI | lullaby lVl@baI | ||||
| lunatic lu:n@tIk | lunatic lu:n@tIk | ||||
| rajah rA:dZA: | rajah rA:dZA: | ||||
| rapier reIpi@3 | rapier reIpi@3 | ||||
| rapport rap'o@ | rapport rap'o@ | ||||
| rarity re@r@tI | |||||
| rascal raask@L | rascal raask@L | ||||
| ratatouille rat@t'u:I | ratatouille rat@t'u:I | ||||
| ?!3 rather rA:D3 | ?!3 rather rA:D3 | ||||
| separate sEp@-r@t | separate sEp@-r@t | ||||
| separate sEp3reIt $verb | separate sEp3reIt $verb | ||||
| semen si:m@n | semen si:m@n | ||||
| semibreve $1 | |||||
| semicircle $1 | |||||
| semicolon sEmIk'oUl@n | semicolon sEmIk'oUl@n | ||||
| semitone $1 | |||||
| senator sEn@t3 | senator sEn@t3 | ||||
| sens sEns // for sensible | sens sEns // for sensible | ||||
| sentient sEnti@nt | sentient sEnti@nt | ||||
| tirade taIr'eId | tirade taIr'eId | ||||
| tis tIz | tis tIz | ||||
| titan taIt@n | titan taIt@n | ||||
| toboggan t@b0g@n | |||||
| today t@deI | today t@deI | ||||
| todo t@du: | todo t@du: | ||||
| tombola t0mb'oUl@ | tombola t0mb'oUl@ | ||||
| trio tri:oU | trio tri:oU | ||||
| trojan troUdZ@n | trojan troUdZ@n | ||||
| trophy troUfI | trophy troUfI | ||||
| troubadour tru:b@do@ | |||||
| truely tru:lI2 $verbf | truely tru:lI2 $verbf | ||||
| truest tru:@st | truest tru:@st | ||||
| tryst trIst | tryst trIst | ||||
| Sean SO:n | Sean SO:n | ||||
| Sebastian $2 | Sebastian $2 | ||||
| Sheila Si:l@ | Sheila Si:l@ | ||||
| Sinead SI2neId | |||||
| Sonia s0nj@ | Sonia s0nj@ | ||||
| Sophie soUfI | Sophie soUfI | ||||
| Stephen sti:v@n | Stephen sti:v@n | ||||
| just $verbf | just $verbf | ||||
| never $verbf | never $verbf | ||||
| now $verbf | now $verbf | ||||
| now naU $verbf $allcaps | |||||
| soon $verbf | soon $verbf | ||||
| still $verbf | still $verbf | ||||
| already O:lr,EdI $verbf $strend2 | already O:lr,EdI $verbf $strend2 |
| &) am (o_ @m | &) am (o_ @m | ||||
| &d) am (_ @m | &d) am (_ @m | ||||
| @erd) am (_ am | @erd) am (_ am | ||||
| &h) am (_ @m | |||||
| ?!3 &h) am (_N @m | |||||
| &s) am (_ @m | &s) am (_ @m | ||||
| @r) am (a 'A:m | @r) am (a 'A:m | ||||
| _) am (al a2m | _) am (al a2m | ||||
| m) anoeu (v @nu: | m) anoeu (v @nu: | ||||
| _qu) an 0n | _qu) an 0n | ||||
| _w) an 0n | _w) an 0n | ||||
| _w) an (g an | |||||
| _w) an (k an | |||||
| _tr) an (s %an | _tr) an (s %an | ||||
| tr) ansfer %ansf3: | tr) ansfer %ansf3: | ||||
| tr) an (si an | tr) an (si an | ||||
| @) ed (ien 'i:d | @) ed (ien 'i:d | ||||
| m) ed (io i:d | m) ed (io i:d | ||||
| m) ed (iu i:d | m) ed (iu i:d | ||||
| edg (e# EdZ | |||||
| @m) ediate i:dI2@t | @m) ediate i:dI2@t | ||||
| cr) edib EdIb | cr) edib EdIb | ||||
| @dr) ed (_ Id | @dr) ed (_ Id | ||||
| em (uls I2m | em (uls I2m | ||||
| h) em (o i:m | h) em (o i:m | ||||
| h) emorrh Em@r | h) emorrh Em@r | ||||
| sph) em @m | |||||
| sph) em (e 'i:m | |||||
| .group en | .group en | ||||
| _) en (@ %En | _) en (@ %En | ||||
| er (ent_ r | er (ent_ r | ||||
| adh) er (e 'i@3 | adh) er (e 'i@3 | ||||
| coh) er (e 'i@3 | coh) er (e 'i@3 | ||||
| h) er (ed I2r | |||||
| _h) er (ed I2r | |||||
| c) ere (mon ErI2 | c) ere (mon ErI2 | ||||
| h) er (en i@r | h) er (en i@r | ||||
| st) ereo ErI2oU | st) ereo ErI2oU | ||||
| h (h | h (h | ||||
| h (_ | h (_ | ||||
| _B) h | _B) h | ||||
| &) ham (_ @m | |||||
| ?3 &) ham (_ ham | |||||
| @) hammed h'amId | @) hammed h'amId | ||||
| A) han (_ h'an // places | A) han (_ h'an // places | ||||
| ha (st heI | ha (st heI | ||||
| br) i (dl aI | br) i (dl aI | ||||
| _s) i (dl aI | _s) i (dl aI | ||||
| f) i (del I2 | f) i (del I2 | ||||
| br) i (dA aI | |||||
| br) i (dg I | br) i (dg I | ||||
| ybr) i (d I | |||||
| _s) i (der aI | _s) i (der aI | ||||
| i (der_+ aI | i (der_+ aI | ||||
| @) i (do_ 'i: | @) i (do_ 'i: | ||||
| secur sI2kjU@ | secur sI2kjU@ | ||||
| self (_ 'sElf | self (_ 'sElf | ||||
| selves (_ 'sElvz | selves (_ 'sElvz | ||||
| _) semi (@@P4 s,EmI2 | |||||
| _) semin sEmIn | |||||
| sh S | sh S | ||||
| _mi) s (h s | _mi) s (h s | ||||
| @) s (head_ s | @) s (head_ s | ||||
| theless D@l'Es | theless D@l'Es | ||||
| theque tEk | theque tEk | ||||
| ther (_ D3 | ther (_ D3 | ||||
| ther (er D3 | |||||
| th (erC D | th (erC D | ||||
| there (_ D3 // thering | there (_ D3 // thering | ||||
| th (est D | th (est D | ||||
| n) th (er T | |||||
| ea) th (er D | |||||
| n) th (er+ T | |||||
| therap TEr@p | therap TEr@p | ||||
| th (erm T | th (erm T | ||||
| ca) th (eri T | ca) th (eri T |
| _dpt _komo_ | _dpt _komo_ | ||||
| // accent names | // accent names | ||||
| _acu dekst@-*akoRno | |||||
| _brv hoko | |||||
| _cir tsiRkumflekso | |||||
| _dia dupunktasupeRsigno | |||||
| _grv maldekst@-*akoRno | |||||
| _tld tildo | |||||
| _lig ligat'uRa | |||||
| _acu dekst@-*ak'oRna | |||||
| _ac2 duoblak'oRna | |||||
| _brv h'oka | |||||
| _ced tsed'ila | |||||
| _cir tsiRkumfl'eksa | |||||
| _dia dupunkta | |||||
| _dot p'unkta | |||||
| _grv maldekst@-*ak'oRna | |||||
| _hac hatS'eka | |||||
| _mcn st@-*'ia | |||||
| _ogo subh'oka | |||||
| _rng R'inga | |||||
| _stk st@-*eka | |||||
| _tld t'ilda | |||||
| _cap maI,uskla | |||||
| _?? lit,eRo | |||||
| _#9 t'abo | |||||
| _#32 sp'atso | |||||
| _?? liteRo | |||||
| _. punkto | _. punkto | ||||
| _: dupunkto | _: dupunkto | ||||
| _; punktokomo | _; punktokomo | ||||
| | duktosigno | | duktosigno | ||||
| * asteRisko | * asteRisko | ||||
| © kopiRaIto | © kopiRaIto | ||||
| _( Rondak@-*'ampo | |||||
| _) feRm'itaRondak@-*'ampo | |||||
| _[ Rektak@-*'ampo | |||||
| _( R'ondak@-*'ampo | |||||
| _) f'eRmaRondak@-*'ampo | |||||
| _[ R'ektak@-*'ampo | |||||
| _] f'eRmaRektak@-*'ampo | _] f'eRmaRektak@-*'ampo | ||||
| _{ k'u@-*bak@-*'ampo | |||||
| _} f'eRmaku@-*bak@-*'ampo | |||||
| _{ k'uRbak@-*'ampo | |||||
| _} f'eRmakuRbak@-*'ampo | |||||
| _< angulk@-*'ampo | _< angulk@-*'ampo | ||||
| _> f'eRmaangulk@-*'ampo | _> f'eRmaangulk@-*'ampo | ||||
| _« du'oblaangulk@-*'ampo | |||||
| _» f'eRmadu,oblaangulk@-*'ampo | |||||
| _« du'oblak@-*'ampo | |||||
| _» f'eRmadu,oblak@-*'ampo | |||||
| v vo // not Roman numbers | v vo // not Roman numbers | ||||
| bea $abbrev | bea $abbrev | ||||
| bv bon,volu% | bv bon,volu% | ||||
| ekz ekzemple $dot | ekz ekzemple $dot | ||||
| (ekz-e) ekzemple | |||||
| i.a 'i'a | i.a 'i'a | ||||
| k.a kaIal'iaI | k.a kaIal'iaI | ||||
| k.c kaItset'eRe | k.c kaItset'eRe | ||||
| kun $u+ $pause | kun $u+ $pause | ||||
| laŭ $u+ $brk | laŭ $u+ $brk | ||||
| per $u+ $brk | per $u+ $brk | ||||
| (pere de) pe@-*e%d'e $u+ $brk | |||||
| (fare de) fa@-*e%d'e $u+ $brk | |||||
| preter $u+ $brk | preter $u+ $brk | ||||
| pri $u+ $pause | pri $u+ $pause | ||||
| por $u+ $pause | por $u+ $pause |
| _?? s'imbOlo | _?? s'imbOlo | ||||
| _#32 Esp'aTjo | _#32 Esp'aTjo | ||||
| // NOTE: Some of these pronunciations may still be in | |||||
| // Spanish, and need to be changed. | |||||
| // accent names | // accent names | ||||
| _lig liQaD'u**a | _lig liQaD'u**a | ||||
| _? TE*R'aRintE*R,oQaTj'On | _? TE*R'aRintE*R,oQaTj'On | ||||
| _¡ aB**'iRaDmi**aTj'On | _¡ aB**'iRaDmi**aTj'On | ||||
| _¿ aB**'iRintE*R,oQaTj'On | _¿ aB**'iRintE*R,oQaTj'On | ||||
| _= iQw'al | |||||
| _< men'ORke | _< men'ORke | ||||
| _> maJ^'ORke | _> maJ^'ORke | ||||
| _' apOst**'ofo | _' apOst**'ofo | ||||
| _" kom'iJ^as | _" kom'iJ^as | ||||
| _+ s'iQnOdesum'aR | _+ s'iQnOdesum'aR | ||||
| _$ dolar | |||||
| _# almoaD'iJ^a | |||||
| _* aste*'isko | |||||
| _- gJ^On | _- gJ^On | ||||
| __ suB**aJ^'aDo | __ suB**aJ^'aDo | ||||
| _/ ba*Ra | _/ ba*Ra | ||||
| _« kom'iJ^as||iTkJ^'ERDas | _« kom'iJ^as||iTkJ^'ERDas | ||||
| _» kom'iJ^as||dE**'EtSas | _» kom'iJ^as||dE**'EtSas | ||||
| = iQw'al $max3 | |||||
| + m'as $max3 | |||||
| # almOaD'iJ^a $max3 | |||||
| * astE*'isko $max3 | |||||
| . punto $max3 | |||||
| ^ TiRkumfl'exo | ^ TiRkumfl'exo | ||||
| € eU**o | € eU**o | ||||
| % pOrTj'Ento | |||||
| % pOrTj'Ento $max3 | |||||
| & ampERs'ant | & ampERs'ant | ||||
| @ a*R'oBa | @ a*R'oBa | ||||
| / ba*Ra | / ba*Ra |
| $ d'Olar | $ d'Olar | ||||
| + m'as | |||||
| _) ++ (_ masm'as | |||||
| \+\+\+) + // ignore + after the first 3 | |||||
| # almOaD'iJ^a | |||||
| \#) # | |||||
| __) - (_D m'EnOs | |||||
| _) - (_D m'EnOs | |||||
| A_) - (_D _ | A_) - (_D _ | ||||
| C_) - (_D _ | C_) - (_D _ | ||||
| --) - | |||||
| * astE*'isko | |||||
| *) * (* | |||||
| ** | |||||
| **) * (_ _:: | |||||
| . punto | |||||
| . (. _: | |||||
| \.) . | |||||
| , (D kOma | , (D kOma |
| // 2006-11-18 Gilles Casse <[email protected]> | // 2006-11-18 Gilles Casse <[email protected]> | ||||
| // | // | ||||
| // Updated 2008-12-03 Michel Such <[email protected]> | |||||
| // Updated 2008-12-09 Michel Such <[email protected]> | |||||
| // | // | ||||
| // * Numbers, a few abbreviations and exceptions. | // * Numbers, a few abbreviations and exceptions. | ||||
| // | // | ||||
| (text aloud) tEkst||@la=wd | (text aloud) tEkst||@la=wd | ||||
| ubuntu ubuntu | ubuntu ubuntu | ||||
| up _^_en | up _^_en | ||||
| yacht jO2t | |||||
| yes _^_en | yes _^_en | ||||
| // 2006-11-18 Gilles Casse <[email protected]> | // 2006-11-18 Gilles Casse <[email protected]> | ||||
| // | // | ||||
| // Updated: 2008-11-28 Michel Such <[email protected]> | |||||
| // Updated: 2008-12-09 Michel Such <[email protected]> | |||||
| // | // | ||||
| // Letter classes: | // Letter classes: | ||||
| .group q | .group q | ||||
| q k // coq | q k // coq | ||||
| _) qu' (AP3 k | _) qu' (AP3 k | ||||
| _a) qu (a kw // aquarium | |||||
| _a) qu (if kw // aquifère | |||||
| _A) qu (idist ky // équidistant | |||||
| _A) qu (ilat ky // équilatéral | |||||
| _C) qu (a kw // squale square | |||||
| _A) qu (a kw // équateur | |||||
| dé) qu (a kw // adequate | |||||
| _) qu (artz kw // quartz | |||||
| _) qua (d kwA // quadrature | |||||
| _a) qua kwA // aquarium | |||||
| _a) qu (if ku // aquifère | |||||
| _A) qui (dist kw^i // équidistant | |||||
| _A) qui (lat kw^i // équilatéral | |||||
| _C) qua kwA // squale square | |||||
| _A) qua kwA // équateur | |||||
| dé) qua kwA // adequate | |||||
| _) qua (rtz kwA // quartz | |||||
| qu k // quatre | qu k // quatre | ||||
| _) que (_ k@ // que | _) que (_ k@ // que | ||||
| n) q (_ k // cinq cent | n) q (_ k // cinq cent | ||||
| .group y | .group y | ||||
| y i // cryogénique myope | y i // cryogénique myope | ||||
| _) y (A j // yak, yacht | _) y (A j // yak, yacht | ||||
| _) yacht _^_en // yacht, yachtman | |||||
| _) y (eu i // yeux | _) y (eu i // yeux | ||||
| _) yahoo (P5 ia'u | _) yahoo (P5 ia'u |
| ?2 _0M1 h'il^,&d& | ?2 _0M1 h'il^,&d& | ||||
| ?2 _0MA1 h'il^,&de | ?2 _0MA1 h'il^,&de | ||||
| ?2 _1M1 h'il^,&dU | ?2 _1M1 h'il^,&dU | ||||
| ?2 _1MA1 jedn&||hiL&d& | |||||
| ?2 _1MA1 jedn&||hil^&d& | |||||
| ?3 _0M1 h'il^ad& | ?3 _0M1 h'il^ad& | ||||
| ?3 _0MA1 h'il^ade | ?3 _0MA1 h'il^ade | ||||
| ?3 _1M1 h'il^adU | ?3 _1M1 h'il^adU |
| hi 59 148 | hi 59 148 | ||||
| ta 17 151 | ta 17 151 | ||||
| hu 23 119 | hu 23 119 | ||||
| lv 28 125 | |||||
| lv 29 126 | |||||
| nl 28 126 | nl 28 126 | ||||
| pl 19 116 | pl 19 116 | ||||
| sk 28 134 | sk 28 134 | ||||
| la 21 121 | la 21 121 | ||||
| es 9 123 | es 9 123 | ||||
| es_la 1 123 | es_la 1 123 | ||||
| ca 9 124 | |||||
| ca 11 125 | |||||
| pt 28 139 | pt 28 139 | ||||
| pt_pt 20 139 | pt_pt 20 139 | ||||
| ro 36 146 | ro 36 146 | ||||
| rw 15 129 | rw 15 129 | ||||
| ko 18 158 | ko 18 158 | ||||
| da 15 133 | da 15 133 | ||||
| sq 31 127 | |||||
| sq 35 130 | |||||
| ml 13 150 | ml 13 150 | ||||
| kn 15 150 | kn 15 150 | ||||
| bn 59 153 | bn 59 153 | ||||
| [d] el | [d] el | ||||
| [d] sw | [d] sw | ||||
| [d] id | [d] id | ||||
| [d] sq | |||||
| [d] bn | [d] bn | ||||
| [d.] bn | [d.] bn | ||||
| [d`] om | [d`] om | ||||
| [d] el | [d] el | ||||
| [d] sw | [d] sw | ||||
| [d] id | [d] id | ||||
| [d] sq | |||||
| [d] bn | [d] bn | ||||
| [d.] bn | [d.] bn | ||||
| [d`] om | [d`] om | ||||
| [d] el | [d] el | ||||
| [d] sw | [d] sw | ||||
| [d] id | [d] id | ||||
| [d] sq | |||||
| [d] bn | [d] bn | ||||
| [d.] bn | [d.] bn | ||||
| [d[] ga | [d[] ga | ||||
| [d] el | [d] el | ||||
| [d] sw | [d] sw | ||||
| [d] id | [d] id | ||||
| [d] sq | |||||
| [d] bn | [d] bn | ||||
| [d.] bn | [d.] bn | ||||
| [d[] ga | [d[] ga | ||||
| [(e)] en_klatt | [(e)] en_klatt | ||||
| l/L_eL_af [&] af | l/L_eL_af [&] af | ||||
| [&:] af | [&:] af | ||||
| l/l_front [l] sq | |||||
| l/l_front [L] sq | |||||
| l/l_front_ [l/4] sq | |||||
| l/li [(i)] base | l/li [(i)] base | ||||
| [i] fr | [i] fr | ||||
| [i:] fr | [i:] fr | ||||
| [l] fr | [l] fr | ||||
| [l] la | [l] la | ||||
| [l;] ro | [l;] ro | ||||
| [l] sq | |||||
| [L] sq | |||||
| l/lo [(o)] base | l/lo [(o)] base | ||||
| [O] fr | [O] fr | ||||
| [o] fr | [o] fr | ||||
| [o2] fr | [o2] fr | ||||
| [(o)] en_klatt | [(o)] en_klatt | ||||
| l^/l_rfx [l.] hi | l^/l_rfx [l.] hi | ||||
| [l.] sq | |||||
| [l.] bn | [l.] bn | ||||
| l/lu [(u)] base | l/lu [(u)] base | ||||
| [u] fr | [u] fr | ||||
| [l] ca | [l] ca | ||||
| [l] pt | [l] pt | ||||
| [l;] ro | [l;] ro | ||||
| [l] sq | |||||
| [L] sq | |||||
| l/xl [(@)] base | l/xl [(@)] base | ||||
| [(a)] base | [(a)] base | ||||
| [(e)] base | [(e)] base | ||||
| r3/r_u [(u)] base | r3/r_u [(u)] base | ||||
| [(u)] en_klatt | [(u)] en_klatt | ||||
| r3/r_uvl [r"] base | r3/r_uvl [r"] base | ||||
| r3/r_uvl.wav [r"] base | |||||
| r3/rx [*] base | r3/rx [*] base | ||||
| [r/] base | [r/] base | ||||
| [r/] af | [r/] af | ||||
| [o2] fr | [o2] fr | ||||
| [i:] fr | [i:] fr | ||||
| [u:] fr | [u:] fr | ||||
| [wA] fr | |||||
| [A~] fr | [A~] fr | ||||
| ufric/ch [C] base | ufric/ch [C] base | ||||
| [J^] base | [J^] base | ||||
| [t] sk | [t] sk | ||||
| [t] el | [t] el | ||||
| [th] zh | [th] zh | ||||
| [t2] sq | |||||
| [t3] sq | |||||
| [t.] bn | [t.] bn | ||||
| [t.h] bn | [t.h] bn | ||||
| ustop/t_dnt [t] base | ustop/t_dnt [t] base | ||||
| [t[] vi | [t[] vi | ||||
| [t] sw | [t] sw | ||||
| [t`] ko | [t`] ko | ||||
| [t5] sq | |||||
| [t] bn | [t] bn | ||||
| [t[] ga | [t[] ga | ||||
| ustop/t_dnt2 [t[] vi | ustop/t_dnt2 [t[] vi | ||||
| ustop/t_ejc [t`] om | ustop/t_ejc [t`] om | ||||
| ustop/t_hard [t2] sq | |||||
| ustop/t_hard_ [t2] sq | |||||
| ustop/t_hi [t] hi | ustop/t_hi [t] hi | ||||
| [t5] sq | |||||
| [t] bn | [t] bn | ||||
| [th] bn | [th] bn | ||||
| ustop/t_pzd [t;] pl | ustop/t_pzd [t;] pl | ||||
| [t] lv | [t] lv | ||||
| [t] sk | [t] sk | ||||
| [t] el | [t] el | ||||
| [t2] sq | |||||
| [t3] sq | |||||
| [t.] bn | [t.] bn | ||||
| ustop/tsh_pzd [tS;] zh | ustop/tsh_pzd [tS;] zh | ||||
| ustop/tsh_pzd_unasp [tS;] zh | ustop/tsh_pzd_unasp [tS;] zh | ||||
| [dZ;] hr | [dZ;] hr | ||||
| ustop/t_sr [d] sr | ustop/t_sr [d] sr | ||||
| [t] sr | [t] sr | ||||
| [t4] sq | |||||
| ustop/ts_rfx [ts.] zh | ustop/ts_rfx [ts.] zh | ||||
| ustop/ts_rfx_unasp [ts.] zh | ustop/ts_rfx_unasp [ts.] zh | ||||
| ustop/ts_sr [tS;] sr | ustop/ts_sr [tS;] sr | ||||
| vdiph2/ei_3 [i:] en_wm | vdiph2/ei_3 [i:] en_wm | ||||
| vdiph2/ei_4 [eI] en_us | vdiph2/ei_4 [eI] en_us | ||||
| [ei] zh | [ei] zh | ||||
| [eI] sq | |||||
| vdiph2/eo [eo] ro | vdiph2/eo [eo] ro | ||||
| vdiph2/e[u [e[u] ro | vdiph2/e[u [e[u] ro | ||||
| vdiph2/i@ [i@] en_n | vdiph2/i@ [i@] en_n | ||||
| [eI] is | [eI] is | ||||
| [eI] vi | [eI] vi | ||||
| [ei] zhy | [ei] zhy | ||||
| [eI] sq | |||||
| vdiph/eu [eU] base2 | vdiph/eu [eU] base2 | ||||
| [eU] en | [eU] en | ||||
| [eU] cy | [eU] cy | ||||
| [aa] en_wm | [aa] en_wm | ||||
| [a] cy | [a] cy | ||||
| [a] de | [a] de | ||||
| [A] fr | |||||
| [a] ta | [a] ta | ||||
| [a:] hu | [a:] hu | ||||
| [a:] nl | [a:] nl | ||||
| [A@] en_wi | [A@] en_wi | ||||
| [aa] en_wi | [aa] en_wi | ||||
| [a] eo | [a] eo | ||||
| [a] ca | |||||
| [A] pt | [A] pt | ||||
| [a] pt_pt | [a] pt_pt | ||||
| [a] ro | [a] ro | ||||
| [A] om | [A] om | ||||
| vowel/a_6 [a] fr | vowel/a_6 [a] fr | ||||
| [a2] fr | [a2] fr | ||||
| [a] ca | |||||
| [a:] vi | [a:] vi | ||||
| vowel/aa [a] fi | vowel/aa [a] fi | ||||
| [A] fr_ca | [A] fr_ca | ||||
| vowel/aa_9 [a:] hi | vowel/aa_9 [a:] hi | ||||
| [a:] bn | [a:] bn | ||||
| [a] ne | [a] ne | ||||
| vowel/a_en [A] fr | |||||
| vowel/@_bck [@] hi | vowel/@_bck [@] hi | ||||
| [@/] hi | [@/] hi | ||||
| [@] zh | [@] zh | ||||
| [E] it | [E] it | ||||
| [E] es | [E] es | ||||
| [E] ca | [E] ca | ||||
| [E2] ca | |||||
| [E] pt_pt | [E] pt_pt | ||||
| [E] no | [E] no | ||||
| [E] is | [E] is | ||||
| vowel/ii_4 [I] en | vowel/ii_4 [I] en | ||||
| [I2] en | [I2] en | ||||
| [I] en_us | [I] en_us | ||||
| vowel/ii_5 [I] en_wi | |||||
| [I2] en_wi | |||||
| [I] la | |||||
| vowel/ii_5 [I] la | |||||
| [i] zh | [i] zh | ||||
| vowel/ii_6 [I] en_wm | vowel/ii_6 [I] en_wm | ||||
| [I2] en_wm | [I2] en_wm | ||||
| [I] en_wi | |||||
| [I2] en_wi | |||||
| [I] sr | [I] sr | ||||
| [I] pt | [I] pt | ||||
| [y] pt | [y] pt | ||||
| [u] hr | [u] hr | ||||
| [U] it | [U] it | ||||
| [u] it | [u] it | ||||
| [u] ca | |||||
| [u] pt | [u] pt | ||||
| [u:] sv | [u:] sv | ||||
| [u:] no | [u:] no | ||||
| vowel/V_4 [V] en_sc | vowel/V_4 [V] en_sc | ||||
| [V] da | [V] da | ||||
| vowel/V_6 [V] en_us | vowel/V_6 [V] en_us | ||||
| [a#] lv | |||||
| vowel/y [y:] en | vowel/y [y:] en | ||||
| [y:] de | [y:] de | ||||
| [y] fi | [y] fi | ||||
| [r] fr | [r] fr | ||||
| [Q2] hy | [Q2] hy | ||||
| vwl_fr/@R4 [R] fr | vwl_fr/@R4 [R] fr | ||||
| [r] fr | |||||
| [r2] fr | [r2] fr | ||||
| [Q2] hy | [Q2] hy | ||||
| vwl_fr/@R5 [r] fr | vwl_fr/@R5 [r] fr | ||||
| [d] el | [d] el | ||||
| [d] is | [d] is | ||||
| [d] id | [d] id | ||||
| [d] sq | |||||
| [d.] bn | [d.] bn | ||||
| [d`] om | [d`] om | ||||
| [d] en_klatt | [d] en_klatt | ||||
| [d] is | [d] is | ||||
| [d] sw | [d] sw | ||||
| [d] id | [d] id | ||||
| [d] sq | |||||
| [d] bn | [d] bn | ||||
| [d.] bn | [d.] bn | ||||
| [d`] om | [d`] om |
| phoneme a | phoneme a | ||||
| vowel starttype (a) endtype (a) | vowel starttype (a) endtype (a) | ||||
| length 180 | length 180 | ||||
| formants vowel/a_2 | |||||
| formants vowel/a_6 | |||||
| reduceto a# 2 | reduceto a# 2 | ||||
| endphoneme | endphoneme | ||||
| reduceto @ 2 | reduceto @ 2 | ||||
| endphoneme | endphoneme | ||||
| phoneme E2 // don't reduce | |||||
| vowel starttype (e) endtype (e) | |||||
| length 180 | |||||
| formants vowel/e_mid | |||||
| endphoneme | |||||
| phoneme O | phoneme O | ||||
| vowel starttype (o) endtype (o) | vowel starttype (o) endtype (o) | ||||
| length 170 | length 170 | ||||
| unstressed | unstressed | ||||
| endphoneme | endphoneme | ||||
| phoneme u | |||||
| vowel starttype (u) endtype (u) | |||||
| length 160 | |||||
| formants vowel/u_bck | |||||
| reduceto U 2 | |||||
| endphoneme | |||||
| phoneme l | phoneme l |
| length 130 | length 130 | ||||
| endphoneme | endphoneme | ||||
| phoneme @/ // Schwa, ebd of word | |||||
| phoneme @/ // Schwa, end of word | |||||
| vowel starttype (@) endtype (@) | vowel starttype (@) endtype (@) | ||||
| formants vowel/@_6 | formants vowel/@_6 | ||||
| unstressed | unstressed |
| phoneme I | phoneme I | ||||
| vowel starttype (i) endtype (i) | vowel starttype (i) endtype (i) | ||||
| length 140 | length 140 | ||||
| formants vowel/ii_5 | |||||
| formants vowel/ii_6 | |||||
| linkout ; | linkout ; | ||||
| endphoneme | endphoneme | ||||
| vowel starttype (i) endtype (i) | vowel starttype (i) endtype (i) | ||||
| unstressed | unstressed | ||||
| length 140 | length 140 | ||||
| formants vowel/ii_5 | |||||
| formants vowel/ii_6 | |||||
| linkout ; | linkout ; | ||||
| endphoneme | endphoneme | ||||
| formants vwl_fr/w_a | formants vwl_fr/w_a | ||||
| after l l/lo-10 | after l l/lo-10 | ||||
| before l/ DFT-10+l/l_a | before l/ DFT-10+l/l_a | ||||
| before (r) DFT+r/xr | |||||
| before r/2 DFT+vwl_fr/r_a | before r/2 DFT+vwl_fr/r_a | ||||
| endphoneme | endphoneme | ||||
| phoneme A // same as [a] | phoneme A // same as [a] | ||||
| vowel starttype (a) endtype (a) | vowel starttype (a) endtype (a) | ||||
| length 166 | length 166 | ||||
| formants vowel/a | |||||
| formants vowel/a_en | |||||
| endphoneme | endphoneme | ||||
| phoneme r | phoneme r | ||||
| liquid rfx starttype (r) endtype (r) | liquid rfx starttype (r) endtype (r) | ||||
| vowelin f1=0 f2=1600 -300 300 f3=-200 80 | |||||
| vowelout f1=2 f2=1600 -300 300 f3=-200 80 brk | |||||
| vowelin f1=0 f2=1600 -300 300 f3=100 80 | |||||
| vowelout f1=1 f2=1600 -300 300 f3=100 80 brk | |||||
| length 100 | length 100 | ||||
| lengthmod 7 | lengthmod 7 | ||||
| beforenotvowel r/2 | beforenotvowel r/2 | ||||
| formants vwl_fr/@R3+r3/rx%30 | formants vwl_fr/@R3+r3/rx%30 | ||||
| after @2 vwl_fr/@R5+r3/rx%40 | after @2 vwl_fr/@R5+r3/rx%40 | ||||
| after (u) vwl_fr/@R5+r3/rx%30 | after (u) vwl_fr/@R5+r3/rx%30 | ||||
| after (e) vwl_fr/@R4+r3/rx%20 | |||||
| after (e) vwl_fr/@R5+r3/rx%25 | |||||
| endphoneme | endphoneme | ||||
| length 100 | length 100 | ||||
| lengthmod 7 | lengthmod 7 | ||||
| beforenotvowel NULL | beforenotvowel NULL | ||||
| formants vwl_fr/@R4+r3/rx%15 | |||||
| formants vwl_fr/@R4+r3/rx%20 | |||||
| endphoneme | endphoneme | ||||
| phoneme R // After consonnants | phoneme R // After consonnants | ||||
| vcd frc | vcd frc | ||||
| vowelin f1=0 f2=1600 -300 300 f3=-200 80 | |||||
| vowelin f1=0 f2=1600 -300 300 f3=100 80 | |||||
| length 100 | length 100 | ||||
| lengthmod 7 | lengthmod 7 | ||||
| beforenotvowel r/2 | beforenotvowel r/2 | ||||
| phoneme r/2 // variant of [r] when not preceding a vowel | phoneme r/2 // variant of [r] when not preceding a vowel | ||||
| liquid | liquid | ||||
| vowelout f1=2 f2=1600 -300 300 f3=-200 80 brk | |||||
| vowelout f1=2 f2=1600 -300 300 f3=100 80 brk | |||||
| length 100 | length 100 | ||||
| lengthmod 2 | lengthmod 2 | ||||
| formants r3/r_2+r3/rx%20 | formants r3/r_2+r3/rx%20 |
| vowel starttype (a) endtype (a) | vowel starttype (a) endtype (a) | ||||
| length 120 | length 120 | ||||
| formants vowel/aa | formants vowel/aa | ||||
| reduceto a# 0 | |||||
| endphoneme | endphoneme | ||||
| phoneme a: | phoneme a: | ||||
| formants vowel/aa | formants vowel/aa | ||||
| endphoneme | endphoneme | ||||
| phoneme a# | |||||
| vowel starttype (a) endtype (a) | |||||
| length 120 | |||||
| formants vowel/V_6 | |||||
| endphoneme | |||||
| phoneme o | phoneme o | ||||
| vowel starttype (o) endtype (o) | vowel starttype (o) endtype (o) |
| after ; j2/j2@ | after ; j2/j2@ | ||||
| after w w/w@ | after w w/w@ | ||||
| after l l/l@ | after l l/l@ | ||||
| after L l/l@ | |||||
| after l^ l^/j2@ | after l^ l^/j2@ | ||||
| after #r r/r@-15 | after #r r/r@-15 | ||||
| after r- r2/r2@ | after r- r2/r2@ | ||||
| after ; j2/j2a | after ; j2/j2a | ||||
| after w w/wa | after w w/wa | ||||
| after l l/la | after l l/la | ||||
| after L l/la | |||||
| after l^ l^/j2a | after l^ l^/j2a | ||||
| after #r r/ra-15 | after #r r/ra-15 | ||||
| after r- r2/r2a | after r- r2/r2a | ||||
| after ; j2/j2e | after ; j2/j2e | ||||
| after w w/we | after w w/we | ||||
| after l l/le | after l l/le | ||||
| after L l/le | |||||
| after l^ l^/j2e | after l^ l^/j2e | ||||
| after #r r/re-15 | after #r r/re-15 | ||||
| after r- r2/r2e | after r- r2/r2e | ||||
| after ; j2/j2i | after ; j2/j2i | ||||
| after w w/wi | after w w/wi | ||||
| after l l/li-10 | after l l/li-10 | ||||
| after L l/li | |||||
| after l^ l^/j2i | after l^ l^/j2i | ||||
| after #r r/ri-15 | after #r r/ri-15 | ||||
| after r- r2/r2i | after r- r2/r2i | ||||
| after ; j2/j2o | after ; j2/j2o | ||||
| after w w/wo | after w w/wo | ||||
| after l l/lo | after l l/lo | ||||
| after L l/lo | |||||
| after l^ l^/j2o | after l^ l^/j2o | ||||
| after #r r/ro-15 | after #r r/ro-15 | ||||
| after r- r2/r2o | after r- r2/r2o | ||||
| after ; j2/j2u | after ; j2/j2u | ||||
| after w w/wu | after w w/wu | ||||
| after l l/lu | after l l/lu | ||||
| after L l/lu | |||||
| after l^ l^/j2u | after l^ l^/j2u | ||||
| after #r r/ru-15 | after #r r/ru-15 | ||||
| after r- r2/r2u | after r- r2/r2u | ||||
| phoneme r" // uvular trill | phoneme r" // uvular trill | ||||
| vcd uvl frc | vcd uvl frc | ||||
| formants r3/r_uvl+r3/r_uvl%75 | |||||
| before _ r3/r_uvl+r3/r_uvl%50 | |||||
| formants r3/r_uvl+r3/r_uvl.wav%75 | |||||
| before _ r3/r_uvl+r3/r_uvl.wav%50 | |||||
| lengthmod 6 | lengthmod 6 | ||||
| endphoneme | endphoneme | ||||
| phoneme L // Welsh "ll" | phoneme L // Welsh "ll" | ||||
| vls alv frc | vls alv frc | ||||
| starttype l endtype l | |||||
| length 100 | length 100 | ||||
| lengthmod 3 | lengthmod 3 | ||||
| wave ufric/ll%80 | wave ufric/ll%80 |
| { | { | ||||
| len = 50 / 2; // defaults for transition into vowel | len = 50 / 2; // defaults for transition into vowel | ||||
| rms = 25 / 2; | rms = 25 / 2; | ||||
| if(ph->type == phSTOP) | |||||
| { | |||||
| len = 42 / 2; // defaults for transition into vowel | |||||
| rms = 30 / 2; | |||||
| } | |||||
| } | } | ||||
| else | else | ||||
| if(which==2) | if(which==2) |
| // match the word against a list of utf-8 strings | // match the word against a list of utf-8 strings | ||||
| char *p; | char *p; | ||||
| char *w; | char *w; | ||||
| int len; | |||||
| int len=0; | |||||
| p = letterGroups[group]; | p = letterGroups[group]; | ||||
| if(p == NULL) | if(p == NULL) |
| } | } | ||||
| if(field & 4) | if(field & 4) | ||||
| { | { | ||||
| value.Printf(_T("%3d"),sf->peaks[ix].pkwidth); | |||||
| value.Printf(_T("%3d"),sf->peaks[ix].pkwidth/2); | |||||
| t_pkwidth[ix]->SetValue(value); | t_pkwidth[ix]->SetValue(value); | ||||
| value.Printf(_T("%3d"),sf->peaks[ix].pkright); | |||||
| value.Printf(_T("%3d"),sf->peaks[ix].pkright/2); | |||||
| t_pkright[ix]->SetValue(value); | t_pkright[ix]->SetValue(value); | ||||
| } | } | ||||
| } | } |
| } | } | ||||
| { | { | ||||
| FILE *f; | |||||
| //FILE *f; | |||||
| //f=fopen("klatt_log","a"); | //f=fopen("klatt_log","a"); | ||||
| //fprintf(f,"len %4d (%3d %4d %4d) (%3d %4d %4d)\n",length,fr1->ffreq[1],fr1->ffreq[2],fr1->ffreq[3],fr2->ffreq[1],fr2->ffreq[2],fr2->ffreq[3]); | //fprintf(f,"len %4d (%3d %4d %4d) (%3d %4d %4d)\n",length,fr1->ffreq[1],fr1->ffreq[2],fr1->ffreq[3],fr2->ffreq[1],fr2->ffreq[2],fr2->ffreq[3]); | ||||
| //fclose(f); | //fclose(f); |
| if((langopts.accents & 1) || (accents_tab[accent1].flags & 1)) | if((langopts.accents & 1) || (accents_tab[accent1].flags & 1)) | ||||
| sprintf(ph_buf,"%s%c%c%s", ph_accent1, phonPAUSE_VSHORT, phonSTRESS_P, ph_letter1); | sprintf(ph_buf,"%s%c%c%s", ph_accent1, phonPAUSE_VSHORT, phonSTRESS_P, ph_letter1); | ||||
| else | else | ||||
| sprintf(ph_buf,"%s%c%s%c", ph_letter1, phonPAUSE_VSHORT, ph_accent1, phonPAUSE_VSHORT); | |||||
| sprintf(ph_buf,"%c%s%c%s%c", phonSTRESS_2, ph_letter1, phonPAUSE_VSHORT, ph_accent1, phonPAUSE_VSHORT); | |||||
| } | } | ||||
| } | } | ||||
| } | } |
| void ToggleMarker(int n); | void ToggleMarker(int n); | ||||
| void ApplyVoiceMods(); | void ApplyVoiceMods(); | ||||
| void MakeWave(int peaks, PitchEnvelope &pitch, int amplitude, int duration); | |||||
| void MakeWaveF(int peaks, PitchEnvelope &pitch, int amplitude, int duration); | |||||
| void MakeHtab(int numh, int *htab, int pitch); | void MakeHtab(int numh, int *htab, int pitch); | ||||
| double GetRms(int amp); | double GetRms(int amp); | ||||
| void KlattDefaults(); | void KlattDefaults(); |
| case WXK_F1: | case WXK_F1: | ||||
| // make and play selected | // make and play selected | ||||
| ReadDialogValues(); | ReadDialogValues(); | ||||
| sf->MakeWave(0,voicedlg->pitchenv,spectseq->amplitude,spectseq->duration); | |||||
| sf->MakeWaveF(0,voicedlg->pitchenv,spectseq->amplitude,spectseq->duration); | |||||
| break; | break; | ||||
| case WXK_F3: | case WXK_F3: | ||||
| // make and play selected | // make and play selected | ||||
| ReadDialogValues(); | ReadDialogValues(); | ||||
| sf->MakeWave(1,voicedlg->pitchenv,spectseq->amplitude,spectseq->duration); | |||||
| sf->MakeWaveF(1,voicedlg->pitchenv,spectseq->amplitude,spectseq->duration); | |||||
| break; | break; | ||||
| default: | default: |
| if((start==end) || (total_length == 0)) | if((start==end) || (total_length == 0)) | ||||
| { | { | ||||
| sp1->MakeWave(0,voicedlg->pitchenv,amplitude,duration); | |||||
| sp1->MakeWaveF(0,voicedlg->pitchenv,amplitude,duration); | |||||
| return; | return; | ||||
| } | } | ||||
| // if((start==end) || (total_length == 0)) | // if((start==end) || (total_length == 0)) | ||||
| // { | // { | ||||
| // sp1->MakeWave(1, pitch, amplitude, duration); | |||||
| // sp1->MakeWaveF(1, pitch, amplitude, duration); | |||||
| // return; | // return; | ||||
| // } | // } | ||||
| } // end of SpectFrame::MakeHtab | } // end of SpectFrame::MakeHtab | ||||
| void SpectFrame::MakeWave(int control, PitchEnvelope &pitche, int amplitude, int duration) | |||||
| void SpectFrame::MakeWaveF(int control, PitchEnvelope &pitche, int amplitude, int duration) | |||||
| {//====================================================================================== | {//====================================================================================== | ||||
| // amplitude: percentage adjustment | // amplitude: percentage adjustment | ||||
| int ipitch; | int ipitch; | ||||
| int pbase; | int pbase; | ||||
| char *fname_speech; | char *fname_speech; | ||||
| // USHORT htab0[600]; | |||||
| KlattInit(); | KlattInit(); | ||||
| SpeakNextClause(NULL,NULL,2); // stop speaking file | SpeakNextClause(NULL,NULL,2); // stop speaking file | ||||
| else | else | ||||
| { | { | ||||
| #ifdef SPECT_EDITOR | #ifdef SPECT_EDITOR | ||||
| int maxh; | |||||
| USHORT htab0[600]; | |||||
| maxh = nx; | maxh = nx; | ||||
| if(maxh >= 600) | if(maxh >= 600) | ||||
| maxh = 600-1; | maxh = 600-1; | ||||
| for(ix=0; ix<=maxh; ix++) | for(ix=0; ix<=maxh; ix++) | ||||
| htab0[ix] = 0; | htab0[ix] = 0; | ||||
| SetSynthHtab(20,htab0,maxh,dx,spect,maxh,dx); | |||||
| MakeWaveFile(); | |||||
| // SetSynthHtab(20,htab0,maxh,dx,spect,maxh,dx); | |||||
| SetSynthHtab(20,spect,maxh,dx,spect,maxh,dx); | |||||
| MakeWaveFile(0); | |||||
| SetSynthHtab(length,spect,maxh,dx,spect,maxh,dx); | SetSynthHtab(length,spect,maxh,dx,spect,maxh,dx); | ||||
| MakeWaveFile(); | |||||
| MakeWaveFile(0); | |||||
| SetSynthHtab(30,spect,maxh,dx,htab0,maxh,dx); | SetSynthHtab(30,spect,maxh,dx,htab0,maxh,dx); | ||||
| MakeWaveFile(); | |||||
| MakeWaveFile(0); | |||||
| #endif | #endif | ||||
| } | } | ||||
| #include "translate.h" | #include "translate.h" | ||||
| #include "wave.h" | #include "wave.h" | ||||
| const char *version_string = "1.39.36 03.Dec.08"; | |||||
| const char *version_string = "1.39.39 11.Dec.08"; | |||||
| const int version_phdata = 0x013900; | const int version_phdata = 0x013900; | ||||
| int option_device_number = -1; | int option_device_number = -1; |
| SOUND_ICON soundicon_tab[N_SOUNDICON_TAB]; | SOUND_ICON soundicon_tab[N_SOUNDICON_TAB]; | ||||
| #define RMS_GLOTTAL1 35 // vowel before glottal stop | #define RMS_GLOTTAL1 35 // vowel before glottal stop | ||||
| #define RMS_START 28 // 14 - 30 | |||||
| #define RMS_START 28 // 28 | |||||
| #define VOWEL_FRONT_LENGTH 50 | #define VOWEL_FRONT_LENGTH 50 | ||||
| int name2 = 0; | int name2 = 0; | ||||
| Translator *tr; | Translator *tr; | ||||
| static const unsigned char stress_amps_sk[8] = {17,17, 20,20, 20,24, 24,22 }; | |||||
| static const unsigned char stress_amps_sk[8] = {17,17, 20,20, 20,22, 22,21 }; | |||||
| static const short stress_lengths_sk[8] = {190,190, 210,210, 0,0, 210,210}; | static const short stress_lengths_sk[8] = {190,190, 210,210, 0,0, 210,210}; | ||||
| // convert name string into a word of up to 4 characters, for the switch() | // convert name string into a word of up to 4 characters, for the switch() | ||||
| case L_grc: // Ancient Greek | case L_grc: // Ancient Greek | ||||
| { | { | ||||
| static const short stress_lengths_el[8] = {155, 180, 210, 210, 0, 0, 270, 300}; | static const short stress_lengths_el[8] = {155, 180, 210, 210, 0, 0, 270, 300}; | ||||
| static const unsigned char stress_amps_el[8] = {15,12, 20,20, 20,24, 24,22 }; // 'diminished' is used to mark a quieter, final unstressed syllable | |||||
| static const unsigned char stress_amps_el[8] = {15,12, 20,20, 20,22, 22,21 }; // 'diminished' is used to mark a quieter, final unstressed syllable | |||||
| // character codes offset by 0x380 | // character codes offset by 0x380 | ||||
| static const char el_vowels[] = {0x10,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x35,0x37,0x39,0x3f,0x45,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,0}; | static const char el_vowels[] = {0x10,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x35,0x37,0x39,0x3f,0x45,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,0}; | ||||
| case L('e','o'): | case L('e','o'): | ||||
| { | { | ||||
| static const short stress_lengths_eo[8] = {145, 145, 230, 170, 0, 0, 360, 370}; | static const short stress_lengths_eo[8] = {145, 145, 230, 170, 0, 0, 360, 370}; | ||||
| static const unsigned char stress_amps_eo[] = {16,14, 20,20, 20,24, 24,22 }; | |||||
| static const unsigned char stress_amps_eo[] = {16,14, 20,20, 20,22, 22,21 }; | |||||
| static const wchar_t eo_char_apostrophe[2] = {'l',0}; | static const wchar_t eo_char_apostrophe[2] = {'l',0}; | ||||
| tr = new Translator(); | tr = new Translator(); | ||||
| case L('n','e'): // Nepali | case L('n','e'): // Nepali | ||||
| { | { | ||||
| static const short stress_lengths_hi[8] = {190, 190, 210, 210, 0, 0, 230, 250}; | static const short stress_lengths_hi[8] = {190, 190, 210, 210, 0, 0, 230, 250}; | ||||
| static const unsigned char stress_amps_hi[8] = {17,14, 20,19, 20,24, 24,22 }; | |||||
| static const unsigned char stress_amps_hi[8] = {17,14, 20,19, 20,22, 22,21 }; | |||||
| tr = new Translator(); | tr = new Translator(); | ||||
| SetupTranslator(tr,stress_lengths_hi,stress_amps_hi); | SetupTranslator(tr,stress_lengths_hi,stress_amps_hi); | ||||
| case L('b','s'): // Bosnian | case L('b','s'): // Bosnian | ||||
| case L('s','r'): // Serbian | case L('s','r'): // Serbian | ||||
| { | { | ||||
| static const unsigned char stress_amps_hr[8] = {17,17, 20,20, 20,24, 24,22 }; | |||||
| static const unsigned char stress_amps_hr[8] = {17,17, 20,20, 20,22, 22,21 }; | |||||
| static const short stress_lengths_hr[8] = {180,160, 200,200, 0,0, 220,230}; | static const short stress_lengths_hr[8] = {180,160, 200,200, 0,0, 220,230}; | ||||
| static const short stress_lengths_sr[8] = {160,150, 200,200, 0,0, 250,260}; | static const short stress_lengths_sr[8] = {160,150, 200,200, 0,0, 250,260}; | ||||
| case L('h','u'): // Hungarian | case L('h','u'): // Hungarian | ||||
| { | { | ||||
| static const unsigned char stress_amps_hu[8] = {17,17, 19,19, 20,24, 24,22 }; | |||||
| static const unsigned char stress_amps_hu[8] = {17,17, 19,19, 20,22, 22,21 }; | |||||
| static const short stress_lengths_hu[8] = {185,195, 195,190, 0,0, 210,220}; | static const short stress_lengths_hu[8] = {185,195, 195,190, 0,0, 210,220}; | ||||
| tr = new Translator(); | tr = new Translator(); | ||||
| SetLetterBits(tr,LETTERGP_A,hy_vowels); | SetLetterBits(tr,LETTERGP_A,hy_vowels); | ||||
| SetLetterBits(tr,LETTERGP_C,hy_consonants); | SetLetterBits(tr,LETTERGP_C,hy_consonants); | ||||
| tr->langopts.max_initial_consonants = 6; | tr->langopts.max_initial_consonants = 6; | ||||
| tr->langopts.numbers = 0x409; | |||||
| } | } | ||||
| break; | break; | ||||
| case L('k','u'): // Kurdish | case L('k','u'): // Kurdish | ||||
| { | { | ||||
| static const unsigned char stress_amps_ku[8] = {18,18, 20,20, 20,24, 24,22 }; | |||||
| static const unsigned char stress_amps_ku[8] = {18,18, 20,20, 20,22, 22,21 }; | |||||
| static const short stress_lengths_ku[8] = {180,180, 190,180, 0,0, 230,240}; | static const short stress_lengths_ku[8] = {180,180, 190,180, 0,0, 230,240}; | ||||
| tr = new Translator(); | tr = new Translator(); | ||||
| case L('l','v'): // latvian | case L('l','v'): // latvian | ||||
| { | { | ||||
| static const unsigned char stress_amps_lv[8] = {17,14, 20,20, 20,22, 22,22 }; | |||||
| static const short stress_lengths_lv[8] = {180,140, 210,210, 0,0, 210,210}; | |||||
| static const unsigned char stress_amps_lv[8] = {17,13, 20,20, 20,22, 22,21 }; | |||||
| static const short stress_lengths_lv[8] = {180,130, 210,210, 0,0, 210,210}; | |||||
| tr = new Translator(); | tr = new Translator(); | ||||
| SetupTranslator(tr,stress_lengths_lv,stress_amps_lv); | SetupTranslator(tr,stress_lengths_lv,stress_amps_lv); | ||||
| { | { | ||||
| static wchar_t vowels_cyrillic[] = {0x440, // also include 'р' [R] | static wchar_t vowels_cyrillic[] = {0x440, // also include 'р' [R] | ||||
| 0x430,0x435,0x438,0x439,0x43e,0x443,0x44b,0x44d,0x44e,0x44f,0x450,0x451,0x456,0x457,0x45d,0x45e,0}; | 0x430,0x435,0x438,0x439,0x43e,0x443,0x44b,0x44d,0x44e,0x44f,0x450,0x451,0x456,0x457,0x45d,0x45e,0}; | ||||
| static const unsigned char stress_amps_mk[8] = {17,17, 20,20, 20,24, 24,22 }; | |||||
| static const unsigned char stress_amps_mk[8] = {17,17, 20,20, 20,22, 22,21 }; | |||||
| static const short stress_lengths_mk[8] = {180,160, 200,200, 0,0, 220,230}; | static const short stress_lengths_mk[8] = {180,160, 200,200, 0,0, 220,230}; | ||||
| tr = new Translator(); | tr = new Translator(); | ||||
| case L('p','l'): // Polish | case L('p','l'): // Polish | ||||
| { | { | ||||
| static const short stress_lengths_pl[8] = {160, 190, 175, 175, 0, 0, 200, 210}; | static const short stress_lengths_pl[8] = {160, 190, 175, 175, 0, 0, 200, 210}; | ||||
| static const unsigned char stress_amps_pl[8] = {17,13, 19,19, 20,24, 24,22 }; // 'diminished' is used to mark a quieter, final unstressed syllable | |||||
| static const unsigned char stress_amps_pl[8] = {17,13, 19,19, 20,22, 22,21 }; // 'diminished' is used to mark a quieter, final unstressed syllable | |||||
| tr = new Translator(); | tr = new Translator(); | ||||
| SetupTranslator(tr,stress_lengths_pl,stress_amps_pl); | SetupTranslator(tr,stress_lengths_pl,stress_amps_pl); | ||||
| case L('p','t'): // Portuguese | case L('p','t'): // Portuguese | ||||
| { | { | ||||
| static const short stress_lengths_pt[8] = {180, 125, 210, 210, 0, 0, 270, 295}; | static const short stress_lengths_pt[8] = {180, 125, 210, 210, 0, 0, 270, 295}; | ||||
| static const unsigned char stress_amps_pt[8] = {16,13, 19,19, 20,24, 24,22 }; // 'diminished' is used to mark a quieter, final unstressed syllable | |||||
| static const unsigned char stress_amps_pt[8] = {16,13, 19,19, 20,22, 22,21 }; // 'diminished' is used to mark a quieter, final unstressed syllable | |||||
| tr = new Translator(); | tr = new Translator(); | ||||
| SetupTranslator(tr,stress_lengths_pt,stress_amps_pt); | SetupTranslator(tr,stress_lengths_pt,stress_amps_pt); | ||||
| tr->langopts.length_mods0 = tr->langopts.length_mods; // don't lengthen vowels in the last syllable | tr->langopts.length_mods0 = tr->langopts.length_mods; // don't lengthen vowels in the last syllable | ||||
| case L('r','o'): // Romanian | case L('r','o'): // Romanian | ||||
| { | { | ||||
| static const short stress_lengths_ro[8] = {170, 170, 180, 180, 0, 0, 240, 260}; | static const short stress_lengths_ro[8] = {170, 170, 180, 180, 0, 0, 240, 260}; | ||||
| static const unsigned char stress_amps_ro[8] = {15,13, 18,18, 20,22, 22,22 }; | |||||
| static const unsigned char stress_amps_ro[8] = {15,13, 18,18, 20,22, 22,21 }; | |||||
| tr = new Translator(); | tr = new Translator(); | ||||
| SetupTranslator(tr,stress_lengths_ro,stress_amps_ro); | SetupTranslator(tr,stress_lengths_ro,stress_amps_ro); | ||||
| case L('s','v'): // Swedish | case L('s','v'): // Swedish | ||||
| { | { | ||||
| static const unsigned char stress_amps_sv[] = {16,16, 20,20, 20,24, 24,22 }; | |||||
| static const unsigned char stress_amps_sv[] = {16,16, 20,20, 20,22, 22,21 }; | |||||
| static const short stress_lengths_sv[8] = {160,135, 220,220, 0,0, 250,280}; | static const short stress_lengths_sv[8] = {160,135, 220,220, 0,0, 250,280}; | ||||
| tr = new Translator(); | tr = new Translator(); | ||||
| SetupTranslator(tr,stress_lengths_sv,stress_amps_sv); | SetupTranslator(tr,stress_lengths_sv,stress_amps_sv); | ||||
| case L('s','w'): // Swahili | case L('s','w'): // Swahili | ||||
| { | { | ||||
| static const short stress_lengths_sw[8] = {160, 170, 200, 200, 0, 0, 320, 340}; | static const short stress_lengths_sw[8] = {160, 170, 200, 200, 0, 0, 320, 340}; | ||||
| static const unsigned char stress_amps_sw[] = {16,12, 19,19, 20,24, 24,22 }; | |||||
| static const unsigned char stress_amps_sw[] = {16,12, 19,19, 20,22, 22,21 }; | |||||
| tr = new Translator(); | tr = new Translator(); | ||||
| SetupTranslator(tr,stress_lengths_sw,stress_amps_sw); | SetupTranslator(tr,stress_lengths_sw,stress_amps_sw); | ||||
| case L('t','r'): // Turkish | case L('t','r'): // Turkish | ||||
| { | { | ||||
| static const unsigned char stress_amps_tr[8] = {18,18, 20,20, 20,24, 24,22 }; | |||||
| static const unsigned char stress_amps_tr[8] = {18,18, 20,20, 20,22, 22,21 }; | |||||
| static const short stress_lengths_tr[8] = {190,190, 190,190, 0,0, 250,270}; | static const short stress_lengths_tr[8] = {190,190, 190,190, 0,0, 250,270}; | ||||
| tr = new Translator(); | tr = new Translator(); |
| Translator::Translator() | Translator::Translator() | ||||
| {//===================== | {//===================== | ||||
| int ix; | int ix; | ||||
| static const unsigned char stress_amps2[] = {17,17, 20,20, 20,24, 24,21 }; | |||||
| static const unsigned char stress_amps2[] = {17,17, 20,20, 20,22, 22,20 }; | |||||
| static const short stress_lengths2[8] = {182,140, 220,220, 220,240, 260,280}; | static const short stress_lengths2[8] = {182,140, 220,220, 220,240, 260,280}; | ||||
| static const wchar_t empty_wstring[1] = {0}; | static const wchar_t empty_wstring[1] = {0}; | ||||
| static const wchar_t punct_in_word[2] = {'\'', 0}; // allow hyphen within words | static const wchar_t punct_in_word[2] = {'\'', 0}; // allow hyphen within words |
| // Set voice to the default values | // Set voice to the default values | ||||
| int pk; | int pk; | ||||
| static unsigned char default_heights[N_PEAKS] = {255,255,240,240,220,220,255,255,255}; | |||||
| static unsigned char default_widths[N_PEAKS] = {128,128,128,160,171,171,128,128,128}; | |||||
| static int breath_widths[N_PEAKS] = {0,200,200,400,400,400,600,600,600}; | static int breath_widths[N_PEAKS] = {0,200,200,400,400,400,600,600,600}; | ||||
| // default is: pitch 82,118 | // default is: pitch 82,118 | ||||
| for(pk=0; pk<N_PEAKS; pk++) | for(pk=0; pk<N_PEAKS; pk++) | ||||
| { | { | ||||
| voice->freq[pk] = 256; | voice->freq[pk] = 256; | ||||
| voice->height[pk] = 256; | |||||
| voice->width[pk] = 256; | |||||
| voice->height[pk] = default_heights[pk]; | |||||
| voice->width[pk] = default_widths[pk]*2; | |||||
| voice->breath[pk] = 0; | voice->breath[pk] = 0; | ||||
| voice->breathw[pk] = breath_widths[pk]; // default breath formant woidths | voice->breathw[pk] = breath_widths[pk]; // default breath formant woidths | ||||
| voice->freqadd[pk] = 0; | voice->freqadd[pk] = 0; |
| if (out_channels == 2) | if (out_channels == 2) | ||||
| { | { | ||||
| // copy with wrap around at the end of ringbuffer | // copy with wrap around at the end of ringbuffer | ||||
| const size_t bytes_written = copyBuffer(myWrite, theMono16BitsWaveBuffer, aFreeMem/2); | |||||
| copyBuffer(myWrite, theMono16BitsWaveBuffer, aFreeMem/2); | |||||
| myWrite = myBuffer; | myWrite = myBuffer; | ||||
| myWrite += copyBuffer(myWrite, theMono16BitsWaveBuffer+aFreeMem/2, theSize - aFreeMem/2); | myWrite += copyBuffer(myWrite, theMono16BitsWaveBuffer+aFreeMem/2, theSize - aFreeMem/2); | ||||
| } | } | ||||
| else // 1 channel (mono) | else // 1 channel (mono) | ||||
| { | { | ||||
| // copy with wrap around at the end of ringbuffer | // copy with wrap around at the end of ringbuffer | ||||
| const size_t bytes_written = copyBuffer(myWrite, theMono16BitsWaveBuffer, aFreeMem); | |||||
| copyBuffer(myWrite, theMono16BitsWaveBuffer, aFreeMem); | |||||
| myWrite = myBuffer; | myWrite = myBuffer; | ||||
| myWrite += copyBuffer(myWrite, theMono16BitsWaveBuffer+aFreeMem, theSize - aFreeMem); | myWrite += copyBuffer(myWrite, theMono16BitsWaveBuffer+aFreeMem, theSize - aFreeMem); | ||||
| } // end if (out_channels == 2) | } // end if (out_channels == 2) |