From 6c7e8ae54f035bcd3813075a54c69ef7c4f3335b Mon Sep 17 00:00:00 2001 From: jonsd Date: Tue, 18 Dec 2007 11:57:59 +0000 Subject: [PATCH] [1.29.26] Allow longer echo delay period at the end of speech if the echo strength is > 20. lang=vi: recognise combining accent characters (for tone accents). Use a different intonation pattern, with more expression, for sentences which end in exclamation mark. git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@112 d46cf337-b52f-0410-862d-fd96e6ae7743 --- dictsource/af_list | 69 +++++- dictsource/af_rules | 430 +++++++++++++++++++++++++++++----- dictsource/dict_phonemes | 12 +- dictsource/en_list | 1 + dictsource/vi_rules | 77 +++++- phsource/compile_report | 6 +- phsource/ph_vi | 16 +- phsource/vdiph/vowelchart.png | Bin 98470 -> 99445 bytes phsource/vowel/V_4 | Bin 4914 -> 5945 bytes src/compiledict.cpp | 2 +- src/intonation.cpp | 165 +++++++------ src/synthdata.cpp | 2 +- src/translate.cpp | 7 +- src/wavegen.cpp | 6 +- 14 files changed, 620 insertions(+), 173 deletions(-) diff --git a/dictsource/af_list b/dictsource/af_list index e9082905..aa848632 100755 --- a/dictsource/af_list +++ b/dictsource/af_list @@ -1,4 +1,4 @@ -//maintainer: Willem van der Walt +//maintainer: Willem van der Walt // email: wvdwalt@csir.co.za // tel: +27 12 8413996 // Meraka Institute, CSIR @@ -104,20 +104,32 @@ _roman rum'eIns@ // Place names +alaska al'aska asië A:si@ +babilon babilOn bangladesh baNglad'ES +bastille bast'il bethlehem bEt_liEm boekarest bukarEst +bonnievale _^_EN brittanje $2 caledon kalidOn +carolina karul'ina +ceres se@r@s ceylon s@lOn china S'ina +franschhoek frA~nsh'uk +gadara x2@dA:ra galilea x2al@l'i:a +gariep x2ar'ip +getsémané x2Ets'e@mani +goudini $2 (graaff reinet) x2rA:f||r@n'Et griekeland x2rik@lant +hermon $1 +hirosjima hiruS'ima israel IsraI:l italië it'A:li;@ -jerusalem j@r'ysalEm kanada kanad%a kanaän kA:nA:an kenia ki:nia @@ -139,6 +151,7 @@ tunisië $2 turkye $2 upington apiNt@n vesuvius v@su:viWs +wellington wEliNt@n worcester v'ust@r zimbabwe zI:mb'ab_wE @@ -147,7 +160,9 @@ zimbabwe zI:mb'ab_wE // People names Abiméleg abin'e@lEx2 abraham A:bram +ackerman ak@rman adrie A:dri +aletta al'Eta alida al'ida allah %alA: André 'andreI @@ -155,18 +170,23 @@ annette an'Et antoinette antun'Et benjamin bEndZ@m@n bester b'Est@r +beyers beI@rs blomerus blum'e@rWs botha bo@ta bouwer b@U@r breytenbach breIt@nbax2 +brouwer bruw'&:r +caesar siz@r carl kA:r@L cecilia s@si:lia charl SA:l charles _^_EN charlie tSA:li chopin S%OpA~ +conradie $2 chris krIs christo krIstu +christoffel kr@stOf@l christian krIstian christelle kr@st&l christine kr@st'i:n @@ -185,6 +205,7 @@ eksteen $1 elisabeth il'isabEt elize il'i:z elsabé &ls@bi +emmarentia Emar'e~nSja eségiël is'e@x2i_@l estelle %ist&l etienne Eti@n @@ -199,6 +220,7 @@ freud frOId gabriël x2A:bri@l george _^_EN gerhard x2&rart +gerhardus $2 gloria glO:ria gouws x2@Us grange x2rA:nsi @@ -206,6 +228,7 @@ gustav gustaf havenga hA:f@Nx2a haydn hAId@n helena hil'e@na +helloïse hEluw'i:z herklaas $1 herman $1 hilde hild@ @@ -255,6 +278,7 @@ mozart mo@tsart naomi na_'o@mi natasha n%at'aSa naudé nOd'e@ +neil _^_EN philip fIl@p phillips fIl@ps pierre p'e@r @@ -268,6 +292,7 @@ ronel run'&l rousseau r@s@U roux r'u salomo sA:l@mo@ +sandra sandra schalk sk'alk scheepers ske@p@rs schmidt Smit @@ -290,6 +315,7 @@ vincent _^_EN violet _^_EN $capital william _^_EN yolande jul'and@ +yvonne iv'On zyl seIl marais mar'E: mandela mand'E:la @@ -457,16 +483,20 @@ aangaande $2 aanstaande $2 adagio ad'A:dZi;%@U afkere afke@r@ +agamemnon ax2am'EmnOn agterstevoor $4 agterweë $3 algaande $2 algehele alx2@h,e@l@ +allegro al'Egru alles al@s +almiskie $3 alom al_'Om alreeds $2 alternatiewe $4 amen A:mEn -anatomie $4 +anale an'A:l@ +anatomie $4 $only asof asOf asook %as_o@k aspris $2 @@ -474,6 +504,7 @@ asseblief as@bl'if attraksie $2 babelaas bab@lA:s +barrikade $3 beide beId@ belangriker b@laNr@k,Ir belangrikst@ b@laNr@kst@ @@ -482,6 +513,7 @@ beswil bEsv@l bêre b&:r@ beskryf b@skr'eIf bestes bEst@s +beta be@ta bewe be@v@ bewend be@v@nt bewering b@ve@rIN @@ -490,6 +522,7 @@ bostaande b'o@stA:nd@ cabernet kab@rn'eI camembert kam@mb'&:r camouflage kamufl'A:Z +charisma kar'Isma chemikalieë $3 dadelik dA:d@lIk @@ -499,20 +532,24 @@ dekade dEk'A:d@ deurentyd dy@r@nteIt deurgaans $1 deurkruis $2 +deurstraalde $2 dikwels dIkv@ls diplomasie d@plo@mas'i dusver dWsf&r eenkeer $1 +efesiër if'e@si@r effense Ef@ns@ ekself %&ks'&lf ekstra Ekstra elders &ld@rs elite il'i:t enige e@nIx2@ +eone $2 era e@ra erger &rg@r espeak i:;spi:k +(et cetera) Ets'Et@ra euro Y@ru exodus Eks'o@dWs @@ -520,6 +557,8 @@ figuur f@x2yr filippense f@l@pEns@ finalis $3 finaliste $3 +fort fOrt +forte fOrt@ frontaal $2 frontale $2 @@ -539,14 +578,15 @@ graffiti graf'iti gratis x2r'A:t@s hallo h'Il,@U -hanteer $2 +hanou hA:n@U hardop hart?Op +hasepad hA:s@pat heeltemal he@lt@mal -heengaan he@nx2A:n hek h&k hekke h&k@ helaas he@l'A:s here he@r@ +herero hEr'E:ru herrysenis h&r'eIs@n@s hiernamaals hi:rn'A:mA:ls hierso hi:rsO @@ -554,13 +594,17 @@ hoera hur'A: hoewel huv'&l hokaai hOkAI hoofsaaklik $2 +hosanna hus'ana ibis $1 idee $2 +idilles id'Il@s ignoreer ix2no@r'e@r inagneming @nax2ne@m@N indien Indin $verb +inkatha iNk'A:ta inkluis $2 +insomnia @nsOmnija intens @nt'Ens intensiteit $4 @@ -568,16 +612,21 @@ jawoord jA:vo@rt jupiter jupit@r kafee kaf'e@ +katswink katsv@nk kaviaar kavi'A:r +klaasvakie $2 +knapsekêrel knaps@k&:r@l komaan kOmA:n +konkawe kOnk'A:v@ kopiereg kup'ir&x2 +korswel kOrsv@l +kotiljons kOt@lj'o~ns kritiek krIt'ik kulture $2 kunsmatige kWnsm'A:t@x2@ kwansuis $2 latere l'A:t@r@ -lekker l&k@r lekkerder l&k@rd@r lekkerste l&k@rst@ @@ -611,7 +660,6 @@ negering n@x2e@r@N netjies nE:icis netjiese nEicis@ netsowel nEtso@v&l -nietemin n'it@m@n nimmermeer $1 nobelprys $2 normale nOrm'A:l@ @@ -663,7 +711,7 @@ petite p@tit pinotage pinut'A:Z pirouette p@ru:'Et -reeds re@ts +rebelleer r@b@le@r retireer r@t@re@:r retoriek r@tur'ik rimpeling rImp@l@N @@ -693,6 +741,7 @@ sonop sOn_Op sover so@f&r spesmaas $2 stabiel stab'il +staccato $2 terdeë $2 terug t@-rWx2 @@ -702,7 +751,7 @@ tevrede t@fre@d@ toegee tux2e@ totale tut'A:l@ totsiens $2 - +tragiek trax2'ik uitdaging YydA:x2@N uiteraard Yyt@r_'A:rt @@ -721,6 +770,7 @@ verdere f&rd@r@ vererger f@r&rg@r ver f'&:r verg f&rx2 +vergeleë f&:rx2@l,e@@ vergete f@rx2e@t@ vermy $2 verre f&:r@ @@ -733,6 +783,7 @@ verte f&rt@ vertes f&rt@s via via volheid $1 +volte $1 voluit fOl_Yyt voorgee fo@rx2e@ voorkeer $1 diff --git a/dictsource/af_rules b/dictsource/af_rules index e1f2ce45..194d0c15 100755 --- a/dictsource/af_rules +++ b/dictsource/af_rules @@ -1,4 +1,4 @@ -//maintainer: Willem van der Walt +//maintainer: Willem van der Walt // email: wvdwalt@csir.co.za // tel: +27 12 8413996 // Meraka Institute, CSIR @@ -29,14 +29,18 @@ _) a (bC %a // abdy/ablatief/ablusie/abstrak, etc. _) a (bba a // restore default stress: (ge)abba/abbamandjie, etc. abse (s %apsE // fix stress and e sound: abses/-se + abso (lu %aps%u // fix stress, b and o sounds: absolusie/absolute _) adem A:d@m // fix e sound: ademhaling/ademloos/ademteug @) adig 'A:d@x2 // misdadiger/gewelddadigheid/kragdadigheid C) adiu (K A:diW // compounds of stadium/radium/radius C) a (Cia_ A: // stadia and compounds/Nadia and similar admi (r %atm%i // move default stress: admiraal and compounds + admi (ssie %atmi // fix stress and i sound: admissie and compounds ad (vies %at // move default stress: advies/-brief/-komitee and many similar C) agie A:x2i + a (gitA %a // fix a sound: agitasie/(ge)agiteer + agte (los %ax2t@ // move default stress: agtelosig/-e/-heid agter (dogt %ax2t@r // move default stress: agterdogtig and derivitives agter (oor %ax2t@r_ // move default stress: agteroor/-buig/-druk/-val, etc. &) agtig 'ax2t@x2 // this string almost always carries stress on a @@ -47,6 +51,7 @@ a (ristokr %a // shorten 1st a: aristokrasie/-kraat/-krate/-kraties @C) as (_ as // shorten final a of words ending in -as: rigtingvas/jonkmanskas, etc. C) asie 'A:si + @form) asie A:si // restore default stress to compounds ending in -formasie: graniet-/grond-/rotsformasie, etc. pl) asie A:s%i // restore default stress: gemeenplasies/gemeenskapsplasies and similar Csp) asie A:s%i // restore default stress: vloer/kantoorspasie, etc. Cst) asie A:si // restore default stress: brandweer/spoorwegstasie and similar @@ -59,13 +64,14 @@ a (Cy %a a (CA A: _) aka %ak@ //akademie etc. - akkedis a%k@d'Is //akkedis and compounds + akkedi %ak@dI //akkedis and compounds a (kkoord %a // move default stress: akkoord/-e and compounds akku (ra %ak%y // move default stress: akkuraat/akkurate - a (kwat %a // move default stress: akwaties/-e + ako (Ciet %ak%u // fix stress and vowel sounds: akoliet/akoniet and compounds + akwama (ryn %akw%am%a // move default stress: akwamaryn and compounds + _) a (kwat %a // move default stress: akwaties/-e akware (l %akw%ar& // fix stress and e sound: akwarel/-le ae A: //should be A:@ but sounds wrong - konst) abel A:b@l //exception for konstabel in compounds t) abel %ab&l //tabelopskrif temperatuurtabel etc. spekt) abel 'A:b@l // respektabel/-e/-heid/-ste t) abell %ab&l //tabelle fix double l @@ -73,9 +79,17 @@ C) a (tering %a //short unstressed a before tering formatering etc. except watering ai aI adres %adrEs // fix last e sound of adres as last part of compounds + al (baster %al // move default stress: albaster and compounds + al (bino %al // move default stress: albino + aleksand (ry %al%Eks%and // fix stress and a and d sounds: aleksandryn/-e/-s alex (a %al%Ekz // Alexander/Alexandra/Alexandria alfabe (tK alfabE // fix stress and e sound: (vinger)alfabet/-te alfabe (tA %alf%abe@ // fix stress and e sound: alfabeties/-e/alfabetiseer + alge (ryn %alx2@ // move default stress: Algeryn/-e/-s + alia A:l%i%a // fix stress and a sound: alias/-se/(inter )alia + _) ali (krA al%i // fix vowel sounds: alikreukel/alikruik/alikruk + alkohol alk%u%Ol // fix o sounds and drop h: alkohol/-is/-iste/-isme + alkohol (ieK %alk%uho@l // fix stress and 2nd o sound: alkoholies/-e _) alle (C al@ // alledaags/e/allerhande alma (nak %alm%a // move default stress: almanak/-ke and compounds _) alom (@ al?Om // shorten a sound: alombekend, etc. @@ -90,14 +104,22 @@ aposto (lie %ap@sto@ // fix stress and vowel sounds: apostolies/-e apoka (l %ap%Ok%a // fix stress and vowel sounds: apokalips/apokalipties/-e appar (A %ap@r // apparaat/apparate and compounds + appropri (A %apr%o@pr%i // fix stress and o sound: appropriasie/approprieer/appropriëring appèl ap'&l appen (diC %apEn // appendiks/-e/appendix _) a (pC %a // april/apteek/apteker and compounds _) app (A ap // restore default stress: appel and compounds _) appel (ko@ %ap@l // move default stress: appelkoos/-konfyt/appelkose appe (llief %ap@ // move default stress: appelliefie/-konfyt, etc. + arabe (sk %ar%abE // fix stress and vowel sounds: arabesk/-e area A:ria // are0+a/kiesareas arena (K+ %are@n%a // fix stress and vowel sounds: arena/-s and any compounds + are (olA %ar%i // fix and e sound: areola/-s + ar (gaï %ar // move default stress: argaïes/-e + arge (tip %arx2@ // move default stress: argetipe/argetipies/-e + ar (moedig %ar // move default stress: armoedig/-e/-heid + arte (ri %arte@ // fix stress and e sound: arterie/-ë/-s + _) asbes %asbEs // fix stress and e sound: asbes and many compounds a (siel %a // shorten a sound and move default stress: asiel and compounds asse (gaai %as@ // move default stress: assegaai/-e assu (ran %as%W // move stress: assuransie and compounds @@ -109,7 +131,6 @@ austra %o@strA: antering %ante@r@N //hantering in compounds - _tr) a (ns %a //transvaal, transformeer etc. stres avon (t ,avOn //avontuur and friends _) af (@P2 'af // afbreek/afdwaal/afdwing @@ -124,6 +145,7 @@ afrik (aan %afr%ik // exception to af prefix and move stress to end afrikaner %afr%ikA:n@r // move stress to end: Afrikaner and compounds afrika A:frika //Stress and 1st a sound: Afrika and compounds: Afrikatale/-state... + af (sigte %af // move default stress: afsigtelik/-e/-heid af (skuw %af // move default stress: afskuwelik and derivitives vs afsku afsonderl %afsOn@rl // stress, avoid af_ prefix and -lik suffix: afsonderlik/-e/-heid afstootl %afsto@tl // move default stress: afstootlik/-e/-heid/-ste @@ -158,10 +180,11 @@ algemeen 'alx2@m,e@n a (liteit %a // short unstressed a before liteit: munisipaliteit and many similar alleen %ale@n // to handel stress in compounds with alleen - alleni (g %ale@n@ // fix stress and e sound: allenig and derivitives, eg. allenigheid + alle (nA %ale@ // fix stress and e sound: allenig and derivitives, eg. allenigheid/allener aller (gie %al&r // fix stress: allergies/-e aller (gie_N %al@r // fix stress and 1st e sound: allergie and compounds - a (llure %a // move default stress and shorten 1st a sound: allure/-s + _) a (llu %a // move default stress and shorten 1st a sound: allure/-s/alluin + alme (le alm@ // fix 1st e sound: almelee/almelewe amandel am'and@l // amandel/s/-poeding/-tert... ambu (l %amb%y // fix stress: ambulans and compounds/ambulant, etc. _) am (A %am // amorfe/amok/amortisasie/amalgamasie @@ -171,7 +194,7 @@ _) am (nA %am // amnestie/amnesie _) amper amp@r // fix e sound in words like: amperbroekie/amperse/ampertjies ampi (oen %amp%i // kampioen/sampioen and compounds - amus (e %am%ys // shorten a and move stress + amu (CA %am%y // shorten a and move stress: amusant/amuseer/amulet/-te anoniem anun'im _) ar (gi %ar // argief and compounds/argiewe argitek %arx2%itEk // argitek and compounds/argitektuur @@ -193,6 +216,7 @@ atel (jee %at@L // fix vowel sounds and stress: ateljee and compounds C) athe (rina %at@ // Catherina/Katherina at (lant %at // move default stress: Atlanties/-e/Atlantis + atmo (sfe %atm%O // move default stress: atmosfeer/-feries/-e/atmosfere atten (C at'En // attent/heid/onattent/attensies a (tomA %a // fix stress and a sound: atome/(sub)atomies @) ator (K 'A:tOr // katalisator/diktatorskap and many similar @@ -209,11 +233,13 @@ .group aa aa A: aai AI + aam (bors %A:m // move default stress: aamborstig/-e/-heid aan (bid %A:n // move default stress: aanbid/-ding aangee (+ 'A:nx2e@ // see rule: _) aange (@P5 A:nx@ _) aange (@P5 'A:nx2@ // added stress mark to ensure stress on aan aandoenlik %A:ndunl@k // move default stress: aandoenlik and derivitives, vs. aandoen aand (rok A:nt_ // fix d sound: aandrok/-ke/-kie + aand (rus A:nt_ // fix d sound: aandrus and compounds aan (een %A:n? // stress and short break between slbs.: aaneen/-gestrengel aan (g A:n // aangaan/aangaap/aangroei/aangryp aan (grensen %A:n // move default stress: aangrensend/-e @@ -236,12 +262,15 @@ aantreklik %A:ntr&kl@k // move default stress: aantreklik/-heid aan (trek_N A:n // restore default stress: aantrek aan (vaar %A:n // aanvaar/de/baar + aan (vall %A:n // move default stress: aanvallend/aanvallig/-e aan (vank A:n' // stress aanvanklik/e aanwen (d 'A:nvEn // to correct pronunciation of e aanwen (_ 'A:nvEn // to correct pronunciation of e in aanwen/aanwending aan (wesig %A:n // move default stress: aanwesig/-e/-es/-heid aan (djie AIN aan (tjie AIN + _) aard (o A:rt_ // fix d sound, insert short pause: aardolie/-oppervlak/-te + _) aard (r A:rt // fix d sound: aardroos/aardryk/-skunde aadjie AIci aatjie AIci @@ -253,14 +282,17 @@ an (djie+ aIN ange (lier %aN@ // angelier/-e and compounds an (gina %aN // move default stress, fix n/g sounds: angina - angl (A %A~Nx2l% // anglikaans/anglisisme/anglofiel + _) angl (A %A~Nx2l% // anglikaans/anglisisme/anglofiel angleer aNle@r // hangleer/slangleer and compounds angola A~Nx2'o@la //Angola, Angolabos etc. angol (e %A~Nx2%ul //Angolese etc. + angs (vall %aNs // move default stress: angsvallig/-e/-heid + _) ann (a@ %an // move default stress: annaal/annale C) anette (_ %anEt // Janette/Sanette ansjovi anS''o@f@ // fix stress and o sound: ansjovis/-se/-smeer an (tjie aIN - _) ana ,ana // words starting with ana starts destressed + _) ana (C ,ana // words starting with ana starts destressed + _) an (emie %an // fix stress and a sound: anemies/-e C) an (keer %an // move default stress: flankeer/frankeer and derivitives and compounds antisep (C %ant%isEp // fix stress and e sound: antisepsis/antispeties/-e/antiseptikum antra (siet %antr%a // move default stress: antrasiet and compounds @@ -282,30 +314,41 @@ baaierd bAI:@rt // fix e sound: baaierd/-s @) baarlik b'A:rl@k // move default stress: wonderbaarlik/-e/-heid/-ste bajo (net b%aj%u // fix stress and vowel sounds: bajonet/-te and compounds + bakate (l b%ak@t& // fix stress and vowel sounds: bakatel/-le/-letjie _) bam (boes b%am // move default stress: bamboes/-e/bamboesfluit... + band (Alier b,and // fix stress and d sound: band(e/o)lier/-e band (A bant // fix t sound: bandomslag/-ontwerp/-opname band (e band // fix d sound: bandeverkoper moterbande etc. + band (iet b%and // fix stress and d sound: bandiet/-e and compounds ba (nier b%a // move default stress: banier/-e and compounds ban (krot b%aN // move default stress: bankrot and derivitives @) ba (ren b'A: // onrusbarend/opsienbarend and derivitives ba (ret b%a // move default stress and shorten a sound: baret/-te ba (riton ba // shorten a sound: bariton and compounds ba (rok b%a // fix stress and a sound: barok and compounds + _) ba (sa b%a fix stress and 1st a sound: basalt and compounds + ba (sili b%a // fix stress and 1st a sound: basilie/-kruit, etc. + basotho b%asut%u // fix stress and vowel sounds: Basotho/-0ponie and similar basi (s bA:s@ // basis and compounds batal (jon b%at%al // shorten 1st a sound, moved stress: bataljon and compounds + ba (tik b%a // fix stress and a sound: batik/-doek/-kuns/-werk bobbe (j b%Ob@ //fix stress for bobbejaan and friends bo (grond bo@ // fix 1st o sound: bogronds/-e _) bo (kle bo@ // fix o sound: bokleed/boklere bokma (kier b%Okm%a // fix stress and a sound: bokmakierie/-s/-tjie bonde (C bOnd@ // verbondenheid/bondeldraer/gebondene/saambondelend + boos (aardig b%o@s_ // move default stress: boosaardig/-e/-heid _) bor (dA@ b%Or // geborduur/bordeel/bordele bos (A@ bOs? // bosaap/bosoorlog/bosuil + bo (v bo@ // fix o sound: bovlak/-e and similar bowen bo@v@n' // bowenal/bowendien braille breI:l_ // braille/-boek/-drukker/-masjien... + brand (a brant_ // fix d sound: brandaltaar/brandarm, etc. brand (o brant? // brandoefening/brandoffer/sonbrandolie brand (r brant // fix d sound: sonbrandroom/brandroos, etc. brasi (li br%asI // BrasiliëBrisiliaan/-s/-e brav (A br%av // stress and v sound: bravade/bravo + bro (sju br%O // move default stress: brosjure/-s and compounds _) byge (@P4 b'eIx2@ by (kom@ b%eI // bykomende/bykomstige @@ -315,6 +358,7 @@ baba (tjie bA:baI // fix 2nd a sound: babatjie/-s baklei b@kl'eI // baklei/er _) bak (o bak_ // fix a sound and stress: bakoor/bakore + balaklava b%al%aklA:v%a // fix stress, a and v sounds: balaklava and compounds ba (lans b%a // move default stress balan (seer b%al%an // move stress to -eer ba (ldadig b%a // move default stress: baldadig and derivitives @@ -325,7 +369,7 @@ ballade b%alA:d@ // move default stress: ballade and compounds baller (inA b%al@r // move default stress: ballerina/-o and compounds balle (t b%alE // move default stress: ballet and compounds - ba (lletjie ba // restore default stress: balletjie/-s + ball (etjie+ bal // restore default stress: balletjie/-s ba (llon b%a // move default stress: ballon and compounds ballo (t b,alO // move default stress: ballotasie/balloteer balsem bals@m // correct e sound in derivitives like balseming @@ -337,9 +381,11 @@ bidd bId // biddag/aanbidding bid bIt_ // biduur/aanbid bikini b@kini // move default stress: bikini and compounds + bil (jet b@l // move default stress: biljet/-te and compounds binne bIn@ // binnekom/binnelandse bisan (tyn b%is%an // move default stress: Bisantyns/-e bi (sar b%i // move default stress: bisar/-re + bi (za b%i // move default stress: bizar/-re bla (tant bl%a // shorten 1st a and move default stress: blatant/-e/-heid @) ble (_ _^_EN // words ending in ble is English _) blik (A blIk_ // fix i sound: blikaspaai/blikemmer/-s/blikoopmaker/-s/blikoor/blikore @@ -353,6 +399,7 @@ boeke (t b%ukE //move default stress and fix 2nd e sound: boeket and compounds boepens b''upe~ns // fix stress, nasal e: boepens and compounds boere bur@ // many compounds with boere + boer (in b%ur // move default stress: boerin/-ne boe (tseer b%u // move default stress: boetseer and compounds bo (haai b%u // fix stress and o sound: bohaai and compounds bo (he b%u // fix stress: boheems/boheme @@ -370,6 +417,7 @@ buite b'Yyt@ // buitelandse/buitestander/buitew�eld bul (ga b%ul // fix stress and u sound: Bulgaarse/Bulgare bulle (tin b%ul@ // fix stress and u sound: bulletin and compounds + bur (lesk b%Wr // move default stress: burlesk/-e bybel beIb@l // to correct pronunc. of e in compounds byder (C@ b%eId@r // byderhand/-s/byderwets by (een b%eI_ // move default stress: byeen/byeenkoms/-te, etc. @@ -397,6 +445,7 @@ bedjie bE:ici // (ge)bedjie/-s/bababedjie bed (k bEt // bedkassie/bedkaartjie/bedkatel/bedkussing bed (l bEt // bedlamp/bedliggie/dubbelbedlaken + bed (m bEt // bedmaats/bedmatjie, etc. bed (rand bEt // fix e and first d sounds bed (s bEt // bedsitkamer/bedsprei/gebedsdag bed (t bE // fix e and d sounds: bedtafeltjie/bedtyd @@ -407,14 +456,16 @@ bedeling b@de@l@N //bedeling and compounds bedev be@d@f // bedevaart and compounds beger (A b@x2e@r // begerig/begerend and compounds + bek (f b&k // fix stress and e sound: bekfluitjie/-s/-musiek, etc. bekk (+ b&k // exception to be (C%+ bE bek (_ b&k // exception to be (C%+ bE beken b@kEn // 2nd e sound: oorbekend/welbekende @) beker (_ be@k@r // compounds ending with -beker - r) bel b&l // fix e sound: deurbel/oorbel + r) be (lK b&l // fix e sound: deurbel/oorbel C) bel (_ b&l // fix e sound: inbel/rondbel/uitbel - b) bel (_ b@l // fix e sound: babbel/dobbel/dubbel/kabbel + CAb) be (l b@ // fix e sound: babbel/dobbel/dubbel/kabbel bell (+ b&l // inbeller/oorbelle/seepbelle + ju) be (llA b@ // fix e sound: jubellied/-ere _) bel (C b&l // Belgies/belhamel bere (_ be@r@ //tediebere pandabere etc. _) ber (C b&r // fix e sound: Bert/Berta/Bertie/Bertus/berke/-boom @@ -428,9 +479,10 @@ @) beer (_ b'e@r // absorbeer/inhibeer, etc. teddie) beer be@r // restore default stress ys) beer be@r // restore default stress - bederf b@d'&rf + bede (Cf b@d& // bederf/bedelf bende bEnd@ // bende and its many compounds @) bene (_ be@n@ + bengel bEN@l // fix stress and e sounds: bengel/-end bering b'e@r@N // ontbering/inhibering/inkubering o) bering b@r@N // versobering C) bering b@r@N // verorbering/versombering @@ -443,15 +495,20 @@ bessie bEsi berg b&rx2 berge b&rg@ + berke b&rk@ // fix 2nd e in compoundslike: berketonnel besem be@s@m besering =b@se@r@N // besering/s/kniebesering... + bete (_ be@t@ // fix stress and e sound: (af)gebete/diabete beter b'e@t@r + beties be@tis // fix e sounds: diabeties/-e + betlehe (m bEtl%i%E // fix stress and vowel sounds: Betlehem/-mer bewe (rasie be@v@ // fix e sounds: bewerasie/-siekte .group c c k c (c + cal (vA k%al // move default stress: Calvinia/Calvyn/-se c (e s c (i s c (y s @@ -470,6 +527,8 @@ @) cle (_ _^_EN // words ending in cle is English cliché kl%iSe@ // cliché/-s chirurg S@r'Wrx2 + chirurg (ie_N S@r%Wrx2 // stress to end: chirurgie + _) ci (prA si // fix i sound: Ciprus/Ciprioties/-e coke k@Uk // coke/cokebottel/cokeblikkie and similar corne (li kOrn''e@ // move default stress: Cornelia/Cornelis/Cornelius cy (_ _^_EN // words ending in cy are English @@ -484,12 +543,17 @@ daaren (te d%A:r@n // fix stress and e sound: daarenteen/daarenteë daarop (v d%A:r%Op // move default stress: daaropvolgend/-e aan) dag (tig d'ax2 // accent on dag + daniël dA:ni@l // fix stress: Daniël(skuil) dani (gh d'A:n@ // -hoedanigheid/hoedanighede/onderdanigheid @) dant d'ant // dant takes stress: kommandant/pruimedant + de (kaan d@ // fix stress and e sound: dekaan/-skap + de (kane d@ // fix stress and 1st e sound: (universiteits)dekane _) de (klass de@ // deklassifikasie/gedeklassifiseer + de (klinA d%E // fix 1st e sound: deklinasie/deklineer/-nering and compounds _) dele (gA d@l@ // fix stress and e sounds: delegeer/delegasie de (moCr d%E // demokraat/demokrasie/-ë/demokraties/demografie demone d%imo@n@ // fix stress and vowel sounds: demone and compounds, eg. demonegeloof + de (moon d%i // fix stress and e sound: demoon and compounds dekade (n dEkad'E dekade (s dEk'A:d@ dekant (_ d@kant //try fix suidekant @@ -498,34 +562,44 @@ delika (tess d%El%ik%a // move default stress: delikatesse/-s @) dend (er d@nd // beduidender/behoudender + _) den (dri d%En // dendriet/-e/dendrities/-e @) dend (ste d@nt // beduidendste/behoudendste _) denim d''En@m // fix e sound in denim and compounds &) denis d@n@s // geskiedenisboek/kultuurgeskiedenis/belydenis/beduidenis @) dente (@ dEnt@ // fix connecting e in compounds like studenteoptog/-opvoering + deodo (rant d%i%ud%u // fix vowel sounds and stress: deodorant/-e and compounds de (press d%i // depressie/depressief/depressiewe @) derd (_ d@rt // verouderd/afgesonderd/gevorderd _) der (duiC d%&r // move default stress: derduisende/derduiwel @) dderd (_ d@rt // ontredderd, se rule: dd d _) derge d&rx2@ // dergelik/-e desibel dEsib&l // fix vowel sounds: desibel/-s + _) des (po d%Es // move default stress: despoot/despote de (strukt d%e@ // fix e sound: destruktief/destruktiewe + deto (nA d%Et%u // fix e and o sounds and stress: detonasie/detoneer/detonering + deur (aar d%y@r_ // move default stress: deuraar/-de deur (bo d%Y@r // move default stress: deurboor/deurborende + deur (drenk d%y@r // move default stress: deurdrenk/-te deur (dring@ d%y@r // move default stress: deurdringend/-e + deur (grond d%y@r // move default stress: (on)deurgrond/-elik/-e/-heid deur (leef d%y@r // move default stress: deurleef/-de deur (lop@ d%y@r // move default stress: deurlopend/-e + deur (lugt d%y@r // move default stress: deurlugtig/-e/-heid deur (priem d%Y@r // move default stress: deurpriem/-de deur (sigt d%y@r // move default stress: deursigtig/-e - deur (skyn d%Y@r // move default stress: deurskynende/deurskynde - deur (skyn_N dY@r // restore default stress: deurskyn + deur (skynA d%Y@r // move default stress: deurskynend/-e + deur (skynde d%Y@r // move default stress: deurskynde + deurspek d%y@rspEk // fix stress and 2nd e: deurspek/-te deur (weeC d%y@r // move default stress: deurweef/deurweek/-te + deur (winter d%y@r // move default stress: deurwinter/-de + dia (C d%i%a // diabeet/diafragma/diagnose/dialek/dialoog/diamant diaken d%iA:k@n // diaken and compounds - dia (lo d%i_%a // move default stress: dialoog/dialoë and compounds - dia (m d%i%a // diamant and compounds + diens (willi d%ins // move default stress: dienswillig/-e/-heid digi (ta d%ix2%i // move default stress: digitaal/digitale di (gK dI // force default stress: GEDIG/-TE/digbundel/digvorm, etc. digtere (K d@x2t@rE // move default stress: digteres/-se dilemma d@lEma // dilemma and compounds - di (mensie d@ // fix stress and 1st i sound: (ontwikkelings)dimensie, etc. + dimen (si d@mEn // fix stress and 1st i sound: (ontwikkelings)dimensie, etc./-dimensioneel/-ele di (namie d%i // move default stress: dinamies/-e dina (miet d%in%a // stress to 3rd slb.: dinamiet and compounds dino (sou d%in%u // move default stress: dinosourus/-se and compounds @@ -534,6 +608,7 @@ dirig (e d@r@x2 // fix stress and i sounds: dirigeer/dirigent and compounds dis (koers d@s // move default stress: diskoers/-e diskre (s d@skrE // fix stress and e sound: diskresie/diskresionêre + _) dis (kre d@s // move default stress: diskreet/-heid/-ste/diskrete divide (nd d@v@dE //dividende etc. d (_N t // dj c // palatal stop @@ -569,7 +644,8 @@ dolo (miet d%Ol@ // fix stress and o sounds: dolomiet and compounds dol (os dOl // fix 1st o sound: dolos/-se/dolosgooier dominee (_ d'o@m@ni - domin (A dOmin' // domineer/dominering + domin (A d%Om%in // domineer/dominering/dominasie + domini (ka d%Om%in%i // fix stress and o sound: dominikaan/-s/-se/dominikane _) dom (ACC dOm // fix o sound: domastrant/domonnosel and derivitives donga dONga // fix g sound: donga/-s and compounds dosi (s do@s@ // fix stress: (oor)dosis/-se; excep. to rule of stress on -is @@ -577,6 +653,7 @@ ge) dw dw// fix d sound: rondgedwaal/deurgedwarrel/deurgedwing, etc. m) dw dw // fix d sound: omdwaal/omdwing/rymdwang/sisteemdwang @) ds (_ ts // fix d sound of wrds ending in -ds: buitentyds, etc. + hon) d (C t // fix d sound: hondriem/-reuk/-ruik oo) d (r t // fix d sound: broodrooster/doodryp/loodreg/noodroep p) d (C d // oopdwing/koopdwang ver) d (C d // verdwyn; see rule: @) d (C t @@ -589,7 +666,9 @@ han) d (r t // fix d sound: handreiking/-reling/-rug oe) d (r t // bloedrooi/bloedryk/hoedrand/invloedryk toe) d (r d // but: toedrag/toedraai + d (riem_ t // fix t sound: gordriem/halsbandriem dril (A drIl // fix i sound when vowel follows dril: driloefening/-opleiding + droef (gees dr%uf // move default stress: droefgeestig/-e/-er/-ste/-heid @) d (t // drop d: breedte/handtekening/rondte/rondtrek... @n) d (uit t_ // fix d sound and insert short break: enduit/handuit and similar @) dwes tv'Es // noordwes/te/lik/e suidwes/te/lik/e @@ -605,18 +684,24 @@ e (C E CAC) e (CC @ // fix e sound: nalatenskap/wapenstilstand CAC) e (C% E // beesfilette/nougesette/onderbesette/voortgesette + CAC) e (rr @ // fix e sound: koperring/-rooi/nederryn/somerreën/-rok/superrealis/syferrekenaar... + hond) e (@ @_ // fix e sound: hondebloed/-oor/-trou, etc. kod) e (C @ // fix e sound: kodenommer/kodetaal/kodewoord, etc. Cond) e (CA @ // blondekop/geskondenes/hondebelasting and many compounds/sondebok/sondelas noord) e (C @ // fix e sound: noordewind and compounds + olw) e (C @ // fix e sound: golweslag/wolwedans + blak) e (r @ // fix e sound: blakerend/-e/blakering + skilf) e (r @ // fix e sound: skilferagtig/skilferdeeg/-kors/afgeskilferde/verskilfering CAC) e (rkK & // fix e sound: deurgewerk; exception to: CAC) e (CC + CAp) e (rkC @ // fix e sound: hiperkrities/koperkleurig/koperknope CAw) e (rkA & // buitewerker/bywerking/genadewerking/grondbewerking/klerewerker/nawerking... _) e (rosie %e@ // move default stress: erosie and compounds Cien) e (rC@ @ // fix e sound: opsienersamp/tienerstatus and many similar compounds + @) erts (_ _&rts // fix e sound of many compounds ending in erts @p) e (rtjie @ // fix e sound: helpertjies/wegkruipertjie C) e (man @ // e sound: briewemandjie/derdemannetjie/dowemansdeur/semantiek/semanties/Weideman C) e (mm++ E // geelkoperemmer/wateremmer CAnn) e (CA @ // banneling/sinnebeeld/spinnekop/-rak - @p) e (b @ // fix e sound: alpebessie/-s/elpebeen Aw) e (bA @ // fix e sound: briewebesteller/diewebende/newebedoeling/skewebek/stywebeen @C) e (bo @ // compounds with boek/boer/boog/boom/bol/bord/borsel/bos/ grondbonebotter/kamdebo... @C) e (bu @ // briewebus/ereburger/novellebundel/urinebuis/woedebui @@ -628,6 +713,8 @@ sp) e (d @ // ekspedisie/gaspedaal/kwispedoor gev) e (gK & // fix e sound in compounds like buitegevegstelling/skietgevegte And) e (lC @ // fix e sound: swendelfirma/vaandeldraer and similar + _ad) e (lC @ // fix e sound: adelbors/-trots/-stand, etc. + Cing) e (lA @ // fix e sound: dwingeland/klingeling/kringelend/tingeling maand) e (lA @ // fix e sound: (twee)maandelikse/maandelange KeuC) e (lC@ @ // fix e sound: euweldaad/kneukelbeentjie/kreupelsorg/onkreukelbaar... @k) e (lde_ @ // fix e sound: gekronkelde/(ge/ver)kreukelde @@ -637,7 +724,15 @@ uiC) e (K @ // fix e sound in wrds like: bruidegom/druipeling/duinebesie/duisendpoot/kruisement... yd) e (l @ //ydel e sound in compounds verydeling ng) e (nd @ // fix e sound: dringends/dwingends/deurdringender + &k) e (ne_ @ // fix penultimate e sound: beskonkene/-s/gebrokene/uitgewekene/versonkene + sk) e (ne_ e@ // fix penultimate e sound: hakskene and any compounds + &s) e (ne_ @ // fix penultimate e sound: aangewesene/gekosenes/genesene/herresene/toegewesene/ enge (l EN@ // Engeland/Engelsman/Engelssprekend/hengelklub/mengeldrankie/-moes + boord) e (ns @ // fix e sound: boordens(te)vol + l) ens (_ E:ns // fix e sound: kamaralens/wyehoeklens/kontaklens and similar + l) ense (_ E:ns@ // plurals: kamaralense/wyehoeklense/kontaklense + AAl) ens (_ @ns // fix e sound: meulens and compounds + vel) ens (_ @ns // fix e sound: vervelens @k) e (nskap @ // fix e sound: dronkenskap and derivitives pot) e (nC E // fix e sound: potensieel/potensiële Cp) ens (+ Ens // fix e sound: beespens/grootpens/melkpens/sikspens/skaappens/varkpens/trippens/vaalpens @@ -661,7 +756,7 @@ _) e (mi %E oek) e (C @ // besoekersgetalle/boekekennis/boekenhout/koekepan/snoekerspeler/woekerwet toek) e (n E // but: toekenning and compounds - C) e (rj @' // fieterjasies/kerjakker/kaperjolle + C) e (rj @' // fieterjasies/kerjakker aw) e (C@ @ // aweregs/dawerend and compounds of dawer/drawertjie/hawer and compounds/hawe and comp. e (CA e@ CCan) e (CA @ // swanepoel/swanesang/tranedal @@ -677,7 +772,10 @@ C) e (kamp+ @ // fix e sound: (krygs)gevangenekamp/soldatekamp and similar @d) e (klas @ // fix e sound: tweede/derdeklas and compounds @d) e (kr @ // fix e sound: vriendekring/-e + e (klipK %e@ // fix stress and e sound: eklips/eklipties e (kono@ %E // 1st e: ekonome/ekonomie/ekonomies/ekonoom + eksege (CA %Eks@x2e@ // fix stress and e sounds: eksegese/eksegeties/-e + _) ekster (K Ekst@r // restore default stress: ekster/-s and compounds e (mosi %i // emosie/emosioneel, etc. eun) e (r@ @ // fix e sound: ondersteunerskorps/sigeunermusiek/sigeuneragtig and similar eun) eri (n @r'I // fix stress and e sound: sigeunerin/-ne/-netjie @@ -722,12 +820,13 @@ C) e (k & // C) e (kk@+ & // fix e sound: luilekker/-lewe C) e (kA+ e@ - C) e (ks+ E - C) e (kt E + C) e (ks++ E + C) e (kt@++ E // digbedekte ekstase Ekst'A:s@ // stress ekstase/s wink) e (l @ // winkelvensters/-sentrum/-personeel/winkelier/winkelhaak C) eloos @lo@s // haweloos/hopeloos/hulpeloos/vlekkeloos C) elose @lo@s@ // hawelose/hopelose/hulpelose/vlekkelose + C) elwers ''&lv@rs // fix e sounds: delwersdorp/-drome/-kamp/-komitee/-lisensie/sigselwers C) ema (_ e@ma // words ending in ema: compounds of skema/tema C) enaar @nA:r // eienaar/lessenaar C) enier @n'i:r // kruidenier/spysenier/valkenier/Renier @@ -743,9 +842,11 @@ eetjie e@ici // tweetjies/hanetreetjie eedjie e@ici // kleedjie/tafelkleedjie/altaarkleedjie eeu iu: + eeue iu:@ // fix e sound: leeueaandeel/eeuelang/eeueoud/skreeuerig ei eI ey eI eu Y@ + C) eue Y@@ // fix e sound: compounds and derivitives of leuen/vleuel/geheue/teuel, etc. eu (forie %Y@ // move default stress: eufories/-e eufo (rie_N %Y@f%u // stress to end: euforie euntjie Y@iNci // seuntjie/reuntjie @@ -771,6 +872,7 @@ e (lK & %C) e (C @ // (d)warrelwind/slakkepas + %C) e (tt+ E // fix e sound: (enkelveel)lettergrepige/koppelletter/krulletter/spannette ll) e (lK & // parallel/-le @s) e (l@ @ // e sound in words like borselkop/voedselaanvulling and many similar @s) e (lfde '& //fix dieselfde @@ -803,11 +905,18 @@ &) ele (_ @l@ ele (gie %El@ // move default stress: elegie/-ë elektr %ilEktr // move stress from 1st slb: elektries/elektrisiteit + elek (trode %il%Ek // fix stress and e sounds: elektrode/-s and compounds _) ellende e@l'End@ _) ellendig e@l'End@x2 + _) elpe &lp@ // fix 2nd e sound: elpebeen/-bessie/-kleurig emalje %e@malj@ // fix stress and e sounds: emalje and compounds + _) em (ble %Em // move default stress: embleem/embleme + em (pir %Em // move default stress: empiries/-e + enemmel %in&m@l // fix stress and vowel sounds: enemmel/-beker/-bord + eners e@n@rs // fix 2nd e sound: enerse/enersheid _) enig (ma %EnIx2 // stress and e sound: enigma/-ties/-e + enkel (voudi %Enk@l // move default stress: enkelvoudig/-e lei) er (s @r // leierskap/leiersgroep/leierskursus/leiersposisie... in) er (A 'e@r // kombinering/verkleinering... ff) er (@ @r // keffertjie/koffersleutel/offerande/opoffering @@ -822,7 +931,8 @@ &) e (n_ @ &) e (nC_ @ &) e (nde_ @ // fix penultimate e sound: sinkende/drinkende/klinkende - &) e (ndes_ @ // fix penultimate e sound: helpendes/sterwendes, etc. + &) e (ndeC_ @ // fix penultimate e sound: helpendes/sterwendes/blinkender, etc. + endel (_ End@l // fix e sound: deurgrendel/toegrendel, etc. &) e (ng_ E @f) e (nis @ //erfenis/kultuurerfenis/verderfenis ooi) e (ns @ // fix e sound: compounds starting with nooiens @@ -831,8 +941,10 @@ &) e (r_ @ &) ers (_ @rs kp) ers (_ &rs // fix e sound: boek-/broek-/drukpers, etc. + np) ers (_ &rs // fix e sound: inpers/lemoenpers/lusernpers/wynpers rp) ers (_ &rs // fix e sound: inmekaarpers/kopieerpers/silinderpers/Voortrekkerpers werp) ers (_ @rs // but bomwerpers/ontwerpers, etc. + gk) ers &:rs // fix e sound: nagkers/gedenkdagkers tk) ers &:rs // fix e sound: dinamietkers/opsitkers/vetkerse &) erei (_ @reI e (r & @@ -844,19 +956,25 @@ @d) e (rnst & // but fix e sound in doodernstig/-e &t) e (r@ @ &b) e (s@ @ + rw) e (s @ // fix e sound: larwes/afsterwes/(van der )Merwes + eskader %EskA:d@r // fix stress and 1st e sound: (lug)eskader)bevelvoerder and similar compounds + essen (si %isEn // fix e sounds: essensie/essensieel/essensiële komp) e (t@ @ // kompetisie/s/uitklopkompetisie/inkompetensie 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 (parig %e@n // move default stress: eenparig/-e/-heid _) een (stemm %e@n // move default stress: eenstemmig/-e/-heid _) een (sy %e@n // move default stress: eensydig/-e/-heid _) een (ton %e@n // move default stress: eentonig een (Cjie e@:iN // eendjie/Leentjie/steentjies + een (vorm %e@n // move default stress: eenvormig/-e/-heid _) een (voud@ %e@n // stress on 2nd slb: eenvoudig, but on 1st: eenvoud eerbied (A e@rb'id // eerbiedig/ing eerbiedw %e@rb%itv // eerbiedwaardig/eerbiedwekkend eerw %e@rv // stress: eerwaarde entjie EiNci + &k) entjie iNci // fix -entjie sound: bakentjie/dekentjie/kuikentjielakentjie/tekentjie, etc. edjie 'E:ici etjie ici Cn) etjies Eicis // kraaknetjies/hipernetjies @@ -871,6 +989,8 @@ AA) erige @rIx2@ Ai) er (A @r // bakleierig/draaiery/mooierige XCAC) es (_ @s // bates/bodes/dowes/gades/(op/uit)gawes/kodes/skewes/skones/skrywes/tipes... + XCAAC) es (_ @s // fix e sound: bloutes/floutes/noutes + XCAAAd) es (_ @s // fix e sound: genooides/gesaaides, etc. &Cd) es (_ @s // fix e: aangekeerdes/aangeklaagdes/afdraandes/bewaardes/bediendes/bedroefdes/blindes... AAi) es (_ @s // fix e sound: dooies/mooies/rooies/fraaies k) es (_ @s // blankes/blinkes/krankes/dronkes/sterkes/swakkes @@ -886,7 +1006,7 @@ eti (ket %Et%i // shorten e sound and move stress: etiket/-te ewig (du %e@v@x2 // move default stress: ewigdurend/-e/-heid - ewigheid 'e@v@x2,eIt // ewigheid/hewigheid/stewigheid + ewighei (d e@v@x2,eI // ewigheid/hewigheid/stewigheid/ewigheidjie evolus EvOl'ys // evolusie/devolusie/revolusie C) ewy (C @veI // alewyn/compounds of brandewyn/sekondewyser _op) e (n @ @@ -911,9 +1031,9 @@ _ew) e (++ @ //ewewig, ewekansig etc. C) e (sk_++ 'E // grotesk/humoresk C) e (ske_++ 'E // groteske/pikareske/romaneske + @C) e (sker_ 'E // fix stress and e sound: grotesker/pikaresker _w) e (skus E // fix stress and e sound: (suid)weskus and compounds - C) e (ske_ 'E // burleske/groteske - C) e (sk@ @ // hondeskou/modeskou/erdeskottel/geleideskip/hardeskyf + &C) e (sk@ @ // hondeskou/modeskou/erdeskottel/geleideskip/hardeskyf d) e (skun %E // but: deskundige and compounds @d) e (s@ @ // bejaardesorg/heidesoorte/hondesiekte/modesiek/tandestokkie/tersydestelling/vredesluiting @d) esi (ma %Es%i // duodesimaal/heksadesimale @@ -936,6 +1056,7 @@ @C) e (wa_ @ // goederewa/kolewa/ossewa/troepewa Ab) e (wa @ //bewaking/bewaring in compounds polisiebewaking @C) e (waen @ // plurals and diminutives of some of the above + @C) ewerk @v&rk // fix e sounds: aardewerk/dradewerk/klerkewerk/naaldewerk/soldatewerk w) e (ling @ //weling always v@l@N wild) e @ //wilde in compounds @@ -951,7 +1072,7 @@ interpr) e (teer @' //stress and e sound interpreteer _) e (ks %E //move default stress in words starting with eks _C) e (on_ 'i //Leon, Deon etc. - CoeC) e (C @ //fix e in boetedoening, boedelbelasting and many others + CoeC) e (C+ @ //fix e in boetedoening, boedelbelasting and many others orr) e (l @ //fix e in borrel, orrel, korrel in compounds intell) e (k %E //intellek, and friends p) e (ring 'e@ //emansipering and others e sound and stress @@ -976,16 +1097,21 @@ f f f (f fa (briek f%a // move default stress: fabriek and many compounds/fabriseer + fabri (CA f%abr%i // move default stress: fabrikant/-e and compounds fak (tore f%ak // move default stress: faktore and compounds + fakul (teit f%ak%Wl // fix stress and a sound: fakulteit/-e and many compounds fa (lanks fa // shorten 1st a: falanks/-e familie f%amil%i fanta (sA f%ant%a // fantaseer/fantasie fasade f%asA:d@ // fix stress and 1st a sound: fasade/-s and compounds fasiliteit fasilit'eIt // fasiliteit/e/aftrekorderfasiliteit + fa (ta@ f%a //fix stress and 1st a sound: fatale/fatalis/-me/-te/-ties + fat (soen f%at // move default stress: (on)fatsoen(lik) februarie f'e@bry,A:ri feite feIt@ // fix 2nd e sound: feitebepaling/-bevinding/-bron/-fout/-kennis/-lik @) fel (end f@l // betwyfelend/skuifelend/weifelend @) fel (ing f@l // betwyfeling/skuifeling/weifeling + fero (mo f%Er%u // fix stress and vowel sounds: feromoon/feromone fer (weel f@r // fix stress and 1st e sound: ferweel and many compounds fessor fEs@r // fix last o sound: professor and compounds like universiteitsprofessor fessor (a@ f%Es@r // stress: professoraal/-ale/-aat/-ate @@ -994,17 +1120,19 @@ fi (siek f@ // correct 1st i sound and move default stress: filistyn f@l@st'eIn // filistyn/e _) fi (na@ f%i // finaal/finale/finansies - fi (ska f@ // move default stress: fiskaal/fiskale + fi (skA f@ // move default stress: fiskaal/fiskale/konfiskeer fla (mi fl%a // move default stress: flamink/-e and compounds fla (grant fl%a // shorten 1st a and move default stress: flagrant/-e flambo (jant fl%amb%u // move default stress: flambojant/-e/-heid flo (re fl%u // move default stress, correct o sound: florerend + flori (ssA fl%o@r@ // move default stress: florissant/-e flu (we fl%y // move default stress: fluweel/fluwele and compounds folio fo@li_u // fix o sounds: folio and compounds @) fonie fun'i // kakofonie/simfonieorkes/telefonie fon (tein f%On // move default stress: fontein/fonteinwater, etc. _) for (C f%Or // formeel/formele/forseer/fortuin fore (l f%ur& // fix stress and e sound: forel/-e and compounds + forma (lien f%Orm%a // fix stress and a sound: formalien and compounds formi (da f%Orm%i // move default stress: formidabel/-e formu (lier f%Orm%y // move default stress: formulier/-e/-boek _) for (se_ f'Or // stress back to 1st slb; se rule: _) for (C @@ -1012,11 +1140,14 @@ fo (ssiel f%O // move default stress: fossiel/-e and compounds foto fo@tu fo (togra fo@ // move default stress: fotograaf and similar + _) fran (CisCA fr%an // fix stress and a sound: Fransiskus/Franciscus/Francisca fru (str fr%W // move default stress: frustrerend/-e fung (e f%WNx2 // fungeer/fungerende/fungering + fungus fWNgWs_ // fix g sound: fungus and 2nd us sound in compounds: fungusinfeksie fusi (llade f%ys@ // move default stress: fusillade/-s _) fu (ti f%y // move default stress: futiel/futiele fynge (C feInx2@ // fyngebreekte/-kou/-kap/-maalde + fynge (voeli f%eInx2@ // move default stress: fyngevoelig/-e/-heid // f (w | //silent f before w @@ -1032,26 +1163,36 @@ _) gh g gh (_ k @) gheid x2eIt // traagheid/leegheid/droogheid/stugheid + ghi (ta g%i // move default stress: ghitaar and compounds/ghitare ght _^_EN _) gade x2A:d@ // gadeslaan/gadegeslaan garage g@r'A:dZ + _) gat (o x2at_ // fix a sound and insert short break: gatom(keer)/gatoorkop @) gge (_ x2@ // logge/stugge gim (naK x2@m // move default stress: gimnas/-te gimna (siA x2@mnA: // move default stress and lenghthen a sound: gimnasium/gimnasia + glans x2lans // glans not nasalised: glans/-ende/-papier, etc. + glas (o x2las_ // fix a sound and short break: glasoog/-ogie/-oë/-opaal/-oppervlakte + gletser x2l''Ets@r // fix 2nd e sound: gletserbeweging/-meer/-vorming/vergletsering, etc. go (din x2%o@ // move default stress: godin/-ne/-netjie, etc. godde (lo x2%Od@ // move default stress: goddelose/goddeloos + god (salig x2%Ot // move default stress: godsalig/-e/-heid gods (dienstig x2%Ots // move default stress: godsdienstig/-e/-es/-heid + gods (laster x2%Ots // move default stress: godslastering/-lik, etc. god (vr x2%Ot // move default stress: godvresend/-e/godvrugtig/-e goeder (tie x2%ud@r // move default stress: goedertiere(nheid) + goed (gunst x2%ut // move default stress: goedgunstig/-e/-lik _) goewer x2%uv@r // move default stress: goewerneur and compounds A) gogie (_ x2ux2'i // demagogie/pedagogie A) gogies x2'o@x2is // demagogies/-e/pedagogies/-e A) goog (_ x2'o@x2 // demagoog/pedagoog gor (dyn x2%Or // move default stress: gordyn and compounds A) goë x2'u@ // demagoë/pedagoë + gra (fiet x2r%a // fix stress and a sound: grafiet and compounds grama (doe x2r%am%a // move default stress: gramadoela/-s and compounds gramma (tik x2r%ama // fix stress and 2nd a sound: grammatika and compounds _) gra (na x2r@ // granaat(boom)/granate + grandi (o x2r%and%i // move default stress: grandioos/-ose _) gra (vA x2r%a // fix stress and a sound: gravin/-ne/gravure griekwa x2rikwa // fix w sound and a sound in compounds: Griekwa/-land, etc. ouCa) gr (ootjie x2r' // move default stress: ouma/oupagrootjie/-s @@ -1065,6 +1206,7 @@ _) gri (mA x2r@ // grimas/grimeer/-middel and other compounds/grimering grotere x2ro@t@r@ // fix vowel sounds and stress: grotere/-s guerrilla g@r'Ila + guttu (ra x2%Wt%W // move default stress: gutturaal/gutturale gésel x2e@s@l // fix stress and e sounds: (ge)gésel/-ing .group ge @@ -1077,6 +1219,9 @@ gene (_ x2e@n@ // gene/diegene gene (rA x2@n@ // generaal/generasie/-s/genereer genre Z'A~nr@ //genre and compounds + _) gens (C x2E:ns // fix stress and e sound: gensbok and compounds + _) geo (s x2%i%u // fix stress and -eo- sound: geosentries/geosfeer/geoskoop/geostaties + _) ge (ossP2 x2@ // but ge- prefix: geossilleer/geossifiseer, etc. gese (_ x2'e@s@ //Portugese, and others gespe (_ x2Esp@ // gespe and compounds @@ -1086,11 +1231,16 @@ gewers (_ x2e@v@rs //fix gewers at word ends _) ge (@P2 x2@ ge (k_ x2& + ge (kg x2& // fix stress and e sound: gekgeskeer ge (kk x2& ge (kh x2& genade x2@nA:d@ // correct 2nd e in compounds: genadedood, etc. genad (etjie x2@nA:d // correct 2nd e in genadetjie _) ge (rC x2& // gerf/gerwe/gert/gerber + C) gerf x2&rf // fix e sound: (gars/hawer/koring)gerf + C) gerwe (_ x2&rv@ // fix e sound: (gars/hawer/koring)gerwe + _) ger (ma x2%&r // move default stress: germaan/germane + geru (byn x2%e@r%W // fix stress and vowel sounds: gerubyn/-e gesel (_ x2@s&l // metgesel/compounds ending with gesel geselle (_ x2@s&l@ // metgeselle/compounds ending in geselle geu (C x2Y@ // geur/e/ig/geut @@ -1110,7 +1260,7 @@ gees (drift x2%e@s // move default stress: geesdriftig and derivitives @) gegee =x2@x2e@ gei (+ x2eI // geil and derivitives/geiser/geit/-e - ge (kskeer x2'E // gekskeer/gekskeerder/gekskeerdery + ge (kskeer x2& // gekskeer/gekskeerder/gekskeerdery geld x2< gelde x2&ld@ geldi x2&ld@ @@ -1134,7 +1284,7 @@ half (vyf h%al halfse (s h%alfsE half (sewe h%alf - half (agt h%alf_ + _) half (agK h%alf_ half (nege h%alf half (tien h%alf half (elf h%alf_ @@ -1143,62 +1293,85 @@ halo (ge h%al%u // fix stress and vowel sounds: halogeen/-lamp/-verbinding/halogene @C) hal (sA h'al // reikhalsend/waaghalsig hal (sstar h%al // move default stress: + hal (ve@ h%al // move default stress: halveer/halvering/gehalveerde, etc. hand (o hant? // fix d sound: handopsteek/handoplegging _) hane (C hA:n@ // hanekam/hanekraai/hanepoot/hanetree + haper hA:p@r // fix e sound: haperend/hapering/-e hard (C@ h%art // hardhorend/hardkoppig/hardnekkig/hardvogtig harde hard@ // fix e sound: hardekoejawel/-kop/-kwas/-kool/-pad + hardge (C hartx2@ // restore default stress: hardgebakte/-kookte/-looide, etc. hard (heid hart // restore default stress: (ge)hardheid hard (lo hart // restore default stress: hardloop/hardloper hard (ste hart // restore default stress: (ge)hardste/-s + harle (kyn h%arl@ // fix stress and e sound: harlekyn/-e and compounds + har (poen h%ar // move default stress: harpoen/-e and compounds @) hartig h'art@x2 // barmhartig/lighartigheid/lighartig... hart (stogte_ h%art // move default stress: hartstogtelik hart (stogte_N hart // restore default stress: hartstogte 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 - heiden heId@n // heidene/heidense/heidendom + 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 + heide (C heId@ // heidene/heidense/heidendom/heidekind/Heidelberg hekse (C hEks@ // fix 2nd e sound in compounds starting with hekse: heksebrousel, etc. hel (din h%&l // move default stress: heldin/-ne/-netjie _) hele (K he@l@ // hele/helend/heler heli (kop h%&l%i // move default stress: helikopter and compounds + he (li he@ // fix e sound: heliks/heliograaf, etc. hem (C hEm // naghemde/onderhemde/frokkiehemde/syhemp hemel he@m@l // hemelblou/hemelhoog and many compounds with hemel + @) he (nK hE // fix e sound: broeihen/-ne/huishen, etc. _) her (@P3 h%&r + heral (d h%&ral // eliminate short pause: heraldies/-e + heral (diek h%&r%al // fix stress: heraldiek _) her (beCP3 h'&r // stress on her-: herbenoem/herbevestig, etc. her (berg h&r // restore default stress: herberg/-e herberg (sa@ h%&rb&rx2 // fix stress: (on)herbergsaam/herbergsame herder h'&rd@r her (eK he@r // here/herehuis/heretjie her (eni h%&r? // fix e sound and stress: herenig + here (reg he@r@ // fix 2nd e sound: herereg(te) and compounds her (eva h&r? // fix e sound: herevalueer... + here (w he@r@ // fix 2nd e sound: herewoning/Hereweet herfs h&rfs // restore default stress: herfsskaduwees/herfsverhaal, etc. hermafro (di h%&rm%afr%u // move default stress: hermafrodiet/-e + herme (lyn h%&rm@ // fix stress and 2nd e sound: hermelyn and compounds he (rrie h& // restore default stress: herrie and compounds hersen h&rs@n // restore default stress and fix 2nd e sound: hersenskim/-me/-mig/hersenskudding + hertog h&rtOx2 // restore default stress: hertog and derivitives hertog (in h%&rt%Ox2 // fix stress and o sound: (aarts/groot)hertogin/-ne and similar hertzog h&rtsOx2 // fix stress and o sound: hertzog/-isme/-koekies _) her (uit h''&r_ // restore stress to 1st slb.: heruitgawe/-gee/-saai/-sending + _) her (verP3 h'&r // words beginning with herver- take stress on 1st slb. + _) her (waa h''&r // restore default stress: herwaardering/herwaarts hel h&l _) helde h'&ld@ // heldedade/heldedood/heldemoed... &) hede (_ he@d@ - heg h&x2 + he (g h& g) heid eIt // traagheid/leegheid/droogheid/stugheid herinner h&r'In@r // herinner/-ing/-e|s _) hi (bis h%i // move default stress: hibiskus/-se and compounds + himne himn@ // fix i sound: himne/-s and compounds + hin (doe hin // fix i sound: Hindoe and compounds hinke (pink h@Nk@ // fix e sound and stress: (ge)hinkepink/hinkepinkend/-e hip (noCA h%ip // hipnose/hipnoties/hipnotiseer hister (e hist@r // histerektomie hister (i hist'e@r // histerie/histeries - histor h%isto@r + hi (sto h%i // fix stress and i sound: histories/histologie histri (on h%istr%i // 1st i sound and stress: histrionies/-e/histrionisme/-isties hitler hitl@r // Hitler in compounds like Hitlersnorretjie + hiëna h%ie@:na // fix stress and vowel sounds: hiëna(lag/mannetjie/wyfie...) hiërar (gie_N h%i@r%ar // move default stress: hiërargie hiër (argie h%i@r // stress on 1st a: hiërargies/-e hiëro (glie h%i@r%u // fix stress and vowel sounds: hiëroglief/-gliewe hong (a h%ONx2 // Hongaar/Hongare/Hongaarse ho (nneur h%O // move default stress: honneurs/-graad, etc. hoog (dra h%o@x2 // stress: hoogdrawend and derivitives + horison (ta h%o@r%is%On // move default stress: horisontaal/horisontale hor (los h%Or // horlosie and compounds hor (mo h%Or // move default stress: hormoon/hormone and compounds + horri (bA h%Or%i // move default stress: horribaal/horribale/horribile hote (l h%ut& // fix stress and o sound: hotel and compounds huis (houd_ h%Yys // move default stress: huishoudelik/-e/-heid hu (meur h%y // stress: humeur/-ig @@ -1209,13 +1382,14 @@ i (CA i iaal (_K i'A:l // aal normally stressed in words like bilabiaal/koloniaal, etc. iale (_ i'A:l@ // al normally stressed in words like bilabiale/koloniale, etc. - iber (i@ %ibe@r // Liberië/Siberië/Liberiese/Siberiese/Iberiese + iber (i@ %ibe@r // Siberië/Siberiese/Iberiese @) ic (_ _^_EN // Words ending in -ic are English ie i ieë (K i:@ // knieë/vlieë/spieël/-tjie h) i (dro i //hidro in compounds _) i (ko %i // move default stress: ikoon/ikone - _) in (a@ In_ //inasem inagneming etc. + _) in (aCemP2 'In_ //inasem/inademing, etc. + _) in (a@P2 In // inakkuraat/inaktief/inaktiwiteit _) iese (C ,is@ // iesegrimmig and derivitives ieterma (g %it@rm%a // fix stress and a sound: ietermagô ieus i'Y@s // this ending always takes stress @@ -1234,7 +1408,7 @@ C) iatries i'A:tris // psigiatries/pediatries ide (a %id%i // ideaal/ideale and compounds _) idi (o %id%i // idioom/idiome/idioot - _) id (A %id // idille/idillies + _) id (A %id // idille/idillies/ideëryk &l) iker (C @k@r // fix i sound: menslikerwys/redelikerwyse, etc. illu (si %ily // illusie/-s/illusief illu (strA %il%W // fix i sound: illustreer/illustrering/illustrasie @@ -1247,6 +1421,7 @@ indwing Indw@N // fix d sound: indwing/-ing in (een @n // ineengedoke/ineengekrimp/ineenstorting and many similar in (fek @n // move default stress: infeksie/-s and compounds + infor (ma @nf%Or // move default stress: informant/-e/informasie in (hegten @n // move default stress: inhegtenisname/-neming/-s inisi (A %in%iS%i // fix stress and s sound: inisiasie/inisieer/inisieel/-ële/inisiatief in (kenn @n // move default stress: inkennig/-e/-heid @@ -1258,6 +1433,8 @@ in (stan @n // move default stress: instandhouding/instansie/-s in (tiem @n // move default stress: intiem/e intimi (dA @nt@m@ // intimidasie/intimideer + _) intro (C @ntr%u // fix stress and o sound: introduksie and compounds/introspeksie/-tief/-we + intuï @nt%u:i // fix stress and u sound: intuïsie/-tief/-tiewe ingrypen @nx2reIp@n // move default stress and correct 1st e in ingrypender innemen @ne@m@n // move default stress and correct 2nd e in innemendste intrige @ntrix2@ // intrige/-s; fix 2nd i sound @@ -1291,9 +1468,14 @@ &) iges (_ Ix2@s &) iger (_S2 @r &) igers (_S3 @rs //fix words ending in igers + _) ig (lo ig // fix i and g sounds: iglo(e) @) ika (_ =%ik%a // logika/dinamika &) ike (_S3 @k@ C) iking @k@N + _) immer (@P5 'Im@r_ // immerafhanklik/immeringesteld, etc. + impala %impA:la // fix stress and vowel sounds: impala and compounds + impera (tA@ @mp%Er%a // fix vowel sounds: imperatief/-tiewe/-tories/-e + impo (te @mp%u // fix stress and o sound: impotent/impotensie &) ing (_ @N @C) igend (_ @x2@nt // bevredigend/beangstigend... @C) igende @x2@nd@ // bevredigende/beangstigende... @@ -1306,7 +1488,10 @@ ighei (d @x2eI // kleinigheidjie iana i'A:na - indivi ,IndIvi //individuele and others + indivi @nd@v@ // individu/individuele and others + indiwi @nd@v@ // indiwidu/indiwiduele and others + _) in (erC @n // fix i sound: inert/inersie + in (heems @n // move default stress: inheems/-e/-heid/verinheemsing &C) ikend @k@nt // grinnikend/runnikend/sanikend &C) ikende @k@nd@ // grinnikende/runnikende/sanikende ingenieur @nx2@n'y@r @@ -1326,6 +1511,8 @@ iër (A i'e@r // kopiëring/subsidiërende fn) is (A @s_ // fix i sound: begrafnisete/-ondernemer/-onkoste AC) is (_ 'Is // aktivis/humanis/kommunis/pianis/solis/violis/kompromis + AAm) is (_ @s // restore default stress: dassiemis/Karoomis/koeimis/seemis + bloem) is 'Is // but: bloemis/-te narC) i (ssus 'I // move default stress: Nar(c/s)issus pub) is (_ @s // restore defaultstress: pubis, excep. to: AC) is (_ en) is (K @s // stress: beduidenis/bekentenis/gevangenis, etc. @@ -1356,6 +1543,7 @@ C) isie 'isi // ambisie/ammunisie/komposisie/ammunisiekis C) isieus isi'Y@s // ambisieus/suspisieuse C) isk (_ 'Isk // asterisk/tamarisk + C) isk (e_ 'Isk // asteriske/tamariske _) islam islam // fix i sound: Islam/Islamiseer/Islamisme C) ispel Isp@l // lispeling/kwispeling/kwispelstert @) isme (_ 'Ism@ // isme always takes stress @@ -1375,6 +1563,7 @@ j (j _) ja (CobA j%a // fix stress and a sound: Jacoba/Jacobus/Jakobus jakaranda j%ak%ar'anda //jakaranda and compounds + jakopewer j%ak%Ope@v@r_ // fix stress and vowel sounds: jakopewer/-oë jaloe (sie j%al%u // stress: jaloesie/beroepsjaloesie _) jan (C@ j%an // fix stress and n sound: janfiskaal/janfrederik/jangroentjie/janrap/jansalie _) ja (nnA+ ja // restore default stress: Janna/Jannie/Janneman, etc. @@ -1387,6 +1576,7 @@ jeep _^_EN // English pronunciation jellie dZ'Eli jenewer j@ne@v@r // fix stress and e sounds: jenewer and compounds + jerusalem j@rys%al%Em // Jerusalem/-gangers jesus ji:sWs // Jesus also used as part of compounds: Jesusbaard/Jesusklong joer (na j%ur // move default stress: joernaal/joernale/ compounds: joernaalinskrywing, etc. joha (n j%uha // Johan/Johanna/Johannie @@ -1405,6 +1595,7 @@ k k k (k keiser keIz@r //keiser last e and s sounds + keiser (in k%eIz@r // move default stress: keiserin/-ne keling k@l@N kkeling k@l@N @@ -1417,15 +1608,31 @@ kera (miek k%&r%a // move default stress: keramiek and compounds n) kerend (_ k@r@nt //hunkerend and others n) kerende (_ k@r@nd@ //hunkerende and others + kerker k&rk@r // fix e sounds: gekerkerde/inkerkering/kerkermuur, etc. weder) ker (A k'e@r // wederkerend/wederkerig _) keuse k''Y@s@ // fix connecting e sound in compounds starting with keuse kiaat k%i;A:t // move default stress: kiaat and compounds - kker (@ k@r // swakkerig/blikkerig/flikkerend/flikkering + kilimandjaro k%il@m%andZA:ru // fix stress and vowel and "dj" sounds: kilimandjaro and compounds + kker (A k@r // swakkerig/blikkerig/flikkerend/flikkering klaarblyklik klA:rbl'eIkl@k // klaarblyklik/e klande (sti kl%and@ // move default stress: klandestien/-e _) kla (sA@@ kla // klasaantekeninge/klasonderwyser and other compounds kla (ssiek kl%a // move default stress: klassiek/-e + klavesimbel klA:v@s@mb@l // fix v and e sounds: klavesimbel and compounds kla (vier kl%a // klavier and many compounds + klawer klA:v@r // fix e sound: klawerplant/-patroon + klawer (a kl%A:v@r_ // move default stress: klaveraas/-agt + klawer (boer kl%A:v@r // move default stress: klawerboer + klawer (dr kl%A:v@r // move default stress: klawerdrie + klawer (heer kl%A:v@r // move default stress: klawerheer + klawer (jas kl%A:v@r // move default stress: klawerjas and compounds + klawer (nege kl%A:v@r // move default stress: klawernege + klawer (sew kl%A:v@r // move default stress: klawerses/-sewe + klawerses kl%A:v@rsEs // fix stress and last e sound: klawerses + klawer (t kl%A:v@r // move default stress: klawertwee/-tien + klawer (v kl%A:v@r // move default stress: klawervier/-vyf/-vrou + kleinse (rig kl%eInse@ // fix stress and e sound: kleinserig/-e/-heid + klein (sieli kl%eIn // move default stress: kleinsielig/-e/-heid _) kamele kam'e@l@ // kamele teenoor skamele karakter kar'akt@r _er) ken kEn // E sound in erkEn @@ -1433,8 +1640,12 @@ @) keurig k'Y@r@x2 // kieskeurig/noukeurig/(on)willekeurig and derivitives _) ki (ta k%i // move default stress: kitaar and compounds klere kle@r@ + kleur (effek klY@r // e sound in kleureffek/-te + kleure klY@r@ // fix e sound: kleurebeeld/-gloed/-kaart/-kontras/-mengeling/-prag/-sin... kli (maat kl@ // move default stress: klimaat and compounds kli (niek kl@ // fix stress and i sound: kliniek and compounds + klip (A klIp_ // fix i sound: klipalbaster/-altaar/--uil/leiklipolie + klou (sule kl%@U // move default stress: klousule/-s kklere =kl'e@r@ knip (A knIp? // knipogie/geknipoog/ kre (diet kr@ // move default stress: krediet/-kaart/-balans, etc. @@ -1443,9 +1654,9 @@ krimi (nA kr@m@' // krimineel/kriminele/diskrimineer kri (oel kr%i // move default stress: krioel and derivitives kri (sant kr@ // move default stress: krisant/-e - kristal kr@stal // move default stress: kristal and many compounds + krista (l kr@sta // move default stress: kristal and many compounds krit (A kr@t // kriteria/-ium/kritiseer and derivitives - krit (ies kr'it //krities and compounds + krities kritis //krities and compounds krieket krik@t //krieket e sound and stress krieketw krik@tv //krieket followed by w in compounds always v @@ -1457,6 +1668,7 @@ @) kundi (g k'Wnd@ // wiskundige/onoordeelkundigheid and many similar kurwe kWrv@ // fix e sound: kurwes/skurwebas/skurwebek/skurwepadda i) kus k'Ws // chemikus/historikus/politikus, etc. + kwaad (aardi kw%A:t_ // move default stress: kwaadaardig/-e/-heid kwa (dra kw%a // move default stress: kwadraat/kwadrate kwali (C@ kw%al%i // kwaliteit/kwalifiseer kwaran (t kw%ar@n // kwarantyn and compounds @@ -1474,8 +1686,9 @@ kabeljou kab@lj'@U //kabeljou and compounds kabinet k%ab%inEt // kabinet/drankkabinet/kabinetsvergadering - ka (dawer k%a // move default stress: kadawer and compounds - kade (t k%adE // shorten 1st a and move default stress: kadet and compounds + 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 + kad (mium kad // fix stress and d sound: kadmium and compounds kafe (te k%af@ // fix stress and vowel sounds: kafeteria and compounds kake (C kA:k@ // kakebeen/skakelaar/skakelbord/skakelfunksie kalahari kalah'A:ri // stress: Kalahari/-sand/-woestyn @@ -1487,6 +1700,7 @@ kalmeer kalm'e@r // kalmeer/gekalmeer kalmer (A kalm'e@r // kalmerend/e/kalmering kalwer kalv@r_ // fix e sound: kalwerliefde/-oes and many similar compounds + ka (mas k%a // fix stress and 1st a sound: kamas/-te and compounds kamer kA:m@r // compounds: kamerindeling/kamerorkes, etc. kamera kam@ra kamerade k%am@rA:d@ // stress: kamerade/skeepskamerade @@ -1496,22 +1710,33 @@ kamoe (fl k%am%u // move default stress: kamoefleer/kamoeflering and compounds kandi (dA k%an%i // kandidaat/kandidate and compounds @A) kaner (_ k'A:n@r // Afrikaner/Amerikaner + kanfer kA~nf@r_ // fix e sound: kanferboom/-bos/-hout/-olie, etc. + kanfer (foel k%A~nf@r // move default stress: kanferfoelie and compounds kan (tien k%an // move default stress: kantien and compounds _) kan (to@ k%an move default stress: kantoor/kantore and compounds kant (onder kant_ // kantonderklere/-onderrok, etc. ka (paCeC k%a // move default stress and shorten 1st a sound: kapabel/-e/kapater kape (l k%ap& // move default stress and fix e sound: kapel and compounds kape (la@ k%ap@ // fix e sound: kapelaan/kapelane and compounds + kaper (jol k%ap@r // fix stress and a sound: kaperjolle and compounds kapi (ta k%ap%i // fix stress and 1st a sound: kapitaal and compounds/kapitalis/-me/-ties ka (pok k%a // move default stress and shorten a: kapok and compounds kap (tein k%ap // kaptein/kapteinskap/skeepskaptein kapsule k%apsyl@ // stress and e sound: kapsule/-fabriek/-vorm, etc. + kara (byn k%ar%a // fix stress and a sounds: karabyn/-e and compounds + karamel k%ar%am&l // fix stress and e sound: karamel/-vla and other compounds + karate k%arA:t%i // fix stress and vowel sounds: karate and compounds + _) kar (b k%ar // move default stress: karba/karbol/karbonkel and their compounds + kar (be kar // restore default stress: karbestuurder/-s/-besitter, etc. kar (does k%ar // move default stress: kardoes and compounds + karmosyn k%arm%useIn // fix stress and o sound: karmosyn and compounds kar (nuffel k%ar // move default stress: (ge)karnuffel/-de kara (koel k%ar%a // fix stress and a sounds: karakoel and compounds kara (va k%ar@ // move default stress: karavaan/karavane ka (ros k%a // a short, unstressed: karos/-se and compounds kar (ton k%ar // move default stress: karton and compounds + _) kar (ve k%ar // move default stress: karveel/karvele + kar (ver kar // restore default stress: karverkoper/-verhuurder, etc. kar (wats k%ar // move default stress: karwats and compounds kar (wei k%ar // move default stress: karwei and derivitives ka (sarm k%a // move default stress: kasarm and compounds @@ -1524,6 +1749,7 @@ _) kata ,kata katalo (gus k%atalu // fix stress and vowel sounds: katalogus and compounds kate (dr k%at@ // katedraal/katedrale and compounds + kate (gA k%at@ // fix stress and vowel sounds: kategis/-te/kategismus and compounds/kategese/kategeet kategorie k,at@x2ur'i // to also handle plural kategor (isA kat@x2ur // katagoriseer/kategorisering/gekategoriseer kategories k,at@x2'o@ris // to move stress @@ -1534,9 +1760,14 @@ .group ko + kobra ko@bra // fix vowel sounds: kobra/-gif/-slang, etc. kode (ring k%o@de@ // fix stress and vowel sounds: kodering and compounds koe (jawel k%u // move default stress: koejawel and compounds koel (bloe k%ul // move default stress: koelbloedig/-e/-heid + koe (plet k%u // move default stress: koeplet/-te/-vorm + koka (ï k%o@k%a // move default stress: kokaïen/kokaïne and compounds + ko (ketK k%u // fix stress and o sound: koket/-te/koketterig + kokke (C k%Ok@ // move default stress: kokkedoor/kokkerot/kokkewiet ko (kon k%u // fix 1st o sound and move default stress: kokon and compounds kol (jan k%Ol // move default stress: koljander and compounds ko (lom k%u // fix stress and 1st o sound: kolom/-me and compounds @@ -1553,10 +1784,12 @@ koever (t k%uf&r // koevert/-e/-jie and compounds kollege k'OlidZ // kollege/onderwyskollege kolleges (_ k'OlidZ@s // kolleges/onderwyskolleges - kollek k%ulEk // straatkollekte/straatkolleksie/deurkollekte - kollekteer kulEkt'e@r // kollekteer/gekollekteer + kollek (s k%ulEk // fix stress and vowel sounds: (deur)kolleksie/-s + kolle (kteK k%ulE // fix stress and vowel sounds: (straat)kollekte(-bordjie/blikkie...) + kolle (ktA k%ul%E // fix stress and vowel sounds: kollekteer/kollektering/kollektant koeël kul kollega k%ule@x2%a // kollega/-s and compounds + kolonne k%ulOn@ // fix stress and vowel sounds: kolonne/-s/-pad/-paaie kolonel kOl@n'&l ko (loni k%u // kolonie/-s/kolonialisme/koloniseer kolo (ssa k,Olu // move default stress: kolossaal/kolossale @@ -1564,13 +1797,16 @@ kombuis k%OmbYys // stress: kombuis/kombuistafel/sopkombuis ko (medi k%u // move default stress, correct o sound komi (tee k%Om@ + komkommer k%OmkOm@r // move default stress: komkommer/-slaai, etc. + komman (dA k%Om%an // move default stress: kommandeur and compounds kommen (ta k%Om@n // kommentaar/kommentator _) ko (mmo k%u // move default stress and fix 1st o sound: kommosie/-s/kommoditeit/-e + kommu (na k%Om%y // move default stress: kommunaal/-nale kompan (jie k%Omp%an // move default stress: kompanjie/-stuin konse (kwen k%Ons@ // fix e sound: konsekwensies/konsekwent konserv k%Ons@rv // fix stress and v sound: konservasie/konservatorium and compounds kom (plA k%Om // komplot/kompleet - _) kon (C k%On + _) kon (C@P3 k%On _) kon (dig k'On // stress: see rule: _) kon (C k%On konferen k%Onf@rEn // konferensie/-s/perskonferensie/-s konfer (e k%Onf@r // fix e sound: (ge)konfereer/konferering @@ -1586,10 +1822,16 @@ konside (rA k%Ons@d@ // fix vowel sounds: konsiderasie/konsidereer 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. konsul (A k%Ons%Wl // konsulaat/konsulate/konsulêr kon (sul kOn // restore default stress: konsul and compounds + _) kontra (KP6 k'Ontra // kontra is prefix + kontra (diks k%Ontr%a // move default stress: kontradiksie/-s + _) kontrak k%Ontrak // move default stress: kontraksie/kontrak and compounds + _) kontras k%Ontras // move default stress: kontras/-te/kontrasteer + kontrasep k%Ontr%asEp // fix stress and e sound: kontrasepsie and derivitives kontrover (s k%Ontr%uv&r // o and v sounds: kontroversie/kontroversieel - _) kop (on kOp? // fix o sound: koponder/koponderstebo + _) kop (o kOp? // fix o sound: koponder/koponderstebo/kopomdraai/kopoperasie kopu (lA k%Op%y // fix o sound: kopulasie/kopuleer and derivitives _) kor (dA k%Or // kordaat/kordon korpo (raal k%Orp@ // move default stress: korporaal/-s/-strepe/onderkorporaal @@ -1608,8 +1850,11 @@ labi (rint l%ab@ // move default stress and fix vowel sounds: labirint and derivitives laborator l%ab@-r%at'o@r //laboratorium and compounds laf (aar laf // restore default stress: lafaard/-s and compounds + lagune l%ax2yn@ // move default stress: lagune and compounds _) la (kon l%a // lakoniek/lakonies/lakonisme + lamfer lamf@r // fix e sound: lamferdoek/-vlae, etc. lam (len l%am // move default stress: lamlendeling/lamlendig/-e/-heid + lande (ry l%and@ // move default stress: landerye/compounds of landery- _) lang (d l%aN // langdradig/langdurig and their derivitivs  _) lange (CA laN@ // e sound: langelaas/Langeberge lang (werp l%aN // move default stress: langwerpig/-e/-heid @@ -1631,11 +1876,12 @@ lening le@n@N // banklening/sorgverlening/hulpverlening... lepe (ll le@p@ // fix 2nd e sound in compounds: lepellê, etc. @C) les (K lEs // aanvangsles/geskiedenislesse/musiekles/koffiefles - leuen lY@:n // leuen/leuntaal and many other compounds + @l) le (sC@ l@ // fix e sound: getallestelsel/gevallestudie/novelleskrywer leuen (tjie lY@iN // leuentjie/witleuentjie _) lev (i l@f // Levitikus/Leviet lewe (K le@v@ // belewenis/lewendig/agtergeblewenes/hotellewe/skoollewe/stillewe - libe (ra l@b@ // liberaal/liberale/liberalis/-me + libe (rA l@b@ // liberaal/liberale/liberalis/-me/(ge)libereer + _) libe (ri@ l@be@ // fix stress and vowel sounds: Liberië/Liberies/-e ligen l@x2'En _) li (g lI // fix stress: liggaam/liggies/ligte li (ga_ li // fix i sound: liga/vroueliga, etc. @@ -1684,10 +1930,12 @@ ma (ho m%a // mahoniehout/-lessenaar and similar makaber m%akA:b@r // fix stress and vowel sounds: makaber/-e/-heid @) makie (sie mak'i // fix a sound and stress: bol(le)makiesie/-slanery + @) makranka makr'anka // fix stress and vowel sounds: koek(e)makranka/-s &) mal (_S3 mal malaria mal'A:ria; _) malte (sA m%alte@ // move default stress and fix e sound: maltese/maltesies man (da m%an //mandaat and compounds + mane (l m%an& // fix stress and e sound: (kerk)manel(le)punte, etc. mane (wale m%an@ // fix stress and shorten a sound: manewale/-s and compounds man (haft m%an // move default stress: manhaftig/-e/-heid manier m@ni:r //manier and compounds @@ -1805,7 +2053,7 @@ mening (itis mEn@Nx2 // see rule: mening m'e@n@N mentee (C mEnt'e@ // argumenteer/dokumenteer/fragmenteer stress related - mentele (_ mEnt'e@l@ // stress always on penultimate slb of words ending in ntele + mentele (K mEnt'e@l@ // stress always on penultimate slb of words ending in ntele/-r mentering mEnt'e@r@N mekaar m@k'A:r @@ -1888,6 +2136,7 @@ nazi nA:tsi // Nazi and compounds neger (in n%e@x2@r // move default stress: negerin/-ne ner (veu n%&r // move default stress: nerveus/-e + @C) nes (_ nEs // fix final e sound: doringnes/aasvoëlnes/kalkoennes/hamerkopnes/reiernes/kiewietnes _) net (o nEt_ // fix o sound: netonderrok/-klere neute nY@t@ // fix connecting e sound: neutedop/neutekraker neu (tr n%Y@ // move default stress: neutraal/neutrale @@ -1906,7 +2155,7 @@ nese (_ n'e@s@ //japannese soedannese stres and e sound netel ne@t@l // netelig and derivitives/netel and compounds nogal nOx2al // fix o sound: nogal/-s - nok (turn n%Ok // move default stress: nokturne/-s + nokturne n%OktWrn@ // move default stress: nokturne/-s no (mad n%o@ // move default stress: nomade/-s no (minA n%O // fix 1st o sound: (ge)nomineer/nominasie nommer (een n%Om@r? // stress: nommereen in compounds like nommereenspeler @@ -2008,13 +2257,17 @@ osowe us'o@v@ // filosowe/teosowe opaat up'A:t // homeopaat/psigopaat and similar opatie upat'i // homeopatie/neuropatie and similar - opatie upat'i // psigopatie/osteopatie and similar + opaties up'A:tis // psigopaties/osteopaties and similar opaties up'A:tis // allopaties/homopaties and similar + otroop utr'o@p // allotroop/heliotroop/hidrotroop/isotroop/monotroop/psigotroopreotroop + otropie utrup'i // allotropie/hidrotropie/monotropie/organotropie/pleiotropie/termotropie + otropies utr'o@pis // allotropies/heliotropies/ortotropies + otrope utr'o@p@ // allotrope/hidrotrope/isotrope... omgee (+ 'Omx2e@ // se rule: _) omge (@P4 Omx2@ omgewe (_ Omx2'e@v@ // se rule: _) omge (@P4 Omx2@ _) omge (@P4 'Omx2@ // stress on 1st slb omgewing %Omx2e@v@N - om (h %Om // omhels/omhein/omhoog/omhul + _) om (h %Om // omhels/omhein/omhoog/omhul om (ha Om // restore default stress: omhaal/omhang/omhaak omkeer Omke@r // restore default stress: omkeer/handomkeer and similar _) omker (A Omke@r // omkering/omkerende @@ -2141,7 +2394,7 @@ onder (ne %On@r // move default stress: onderneem/onderneming onderonsie %On@r?o~nsi // fix stress, short break and nasalised o: onderonsie/-s onder (soeken %On@r // move default stress: ondersoekend/-e - onder (skA %On@r // exception to default stress rule + _) onder (skA %On@r // exception to default stress rule onder (skeid_N On@r // restore default stress: onderskeid onderstebo %On@rst@bo@ // fix stress: onderstebo/koponderstebo onder (steu %On@r // exception to default stress rule: ondersteun/-ing/-ers @@ -2224,6 +2477,7 @@ papawer p%apA:v@r // move default stress: papawer/-s and compounds pam (C p%am // move default stress: pamflet/pampoen/pampoentjies and compounds pam (pa pam // restore default stress: pampas and compounds + pamper (l p%amp@r // fix stress and e sound: pamperlang/-praatjies, etc. pape (gaai p%ap@ //papegaai and compounds: stress, a and e sounds pa (niek p%a // paniek/paniekerig pantser pants@r // fix e sound in compounds starting with pantser @@ -2354,7 +2608,7 @@ proto (C pro@tu // protokol/prototipe provi (and pr%o@v%i // fix stress and v sound: proviand/-meester, etc. ps (igA s // psigologie/kinderpsigoloog - psalm p@s'al@m // schwa between p and s + psalm p@sal@m // schwa between p and s pub (li p%Wb puntener p%Wnt@ne@r // stress and 2nd e sound: puntenerig and derivitives @@ -2439,7 +2693,7 @@ _) re (la r@ // relaas/relase/relasie and compounds rele (van r@l@ // relevansie/relevant and derivitives rem (_ rEm // handrem/kabeltrem/kragrem/noodrem/skyfrem/stadstrem/veiligheidsrem - re (n_ rE //tydren, fietsren etc. + C) re (n_ rE //tydren, fietsren etc. re (nA r@ // move stress from 1st slb.: renoster reper (kus r%e@p@r // stress: reperkussie/-s re (pliek r@ // fix stress and e sound: repliek and compounds @@ -2474,6 +2728,7 @@ reger (A r@x2e@r // regering/regerende resensie r@s'E:nsi resensent r@s@ns'Ent + reser (v r@s@r // fix stress and e sounds: (ge)reserveer/reservering respek r@spEk respek (teer r@sp%Ek // stress to end &) rele (_ r'e@l@ @@ -2492,6 +2747,7 @@ sh (_ S _) sh S // sh at beginning of word pronounced like English sh sj S + s (jag s // split sj: baasjagter/patrysjag/pelsjagter sjampanje S%ampanj@ // move default stress: sjampanje and compounds sjampoe S%ampu: // fix stress and length of oe: sjampoe and compounds sjar (mant S%ar // move default stress: sjarmant/-e/-ste @@ -2535,6 +2791,7 @@ seker se@k@r // versekering/sekerheid/onsekerheid/sekere se (ko s@ // sekond/sekonde/sekondes/sekondant sekre (ta s@kr@ + _) se (kre s@ // fix e sound: (ge)(kon)sekreer/sekreet/sekresie se (ku s@ // sekuriteit/sekuur seku (l s%Ek%y // sekulër/sekulariseer sela (kant s%e@l@ // fix stress and vowel sounds: selakant/-e @@ -2656,6 +2913,10 @@ spesi (f sp%Es%I // spesifiek/spesifiseer @) spre (ken spr'e@ // stress: vanselfsprekend stede (C ste@d@ // fix e sounds of many compounds and derivitives containing stede + dubbel) ste (r st& // fix e sound: dubbelster/-re + dwaal) ste (r st& // fix e sound: dwaalster/-re + dwerg) ste (r st& // fix e sound: dwergster/-re + pool) ste (r st& // fix e sound: poolster _) 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 _) sub (a sWb_ // subagent/subartikel/subatomies, etc. @@ -2665,6 +2926,7 @@ sugges s%Wx2Es // suggestie/suggestief/suggestiewe @) sug (tig s'Wx2 // eersugtig/onbaatsugtig/onselfsugtig, etc. suid (oos s%Yyt_ // move default stress and insert short break: suidoos/-te/-lik + suite swit@ // fix -ui-sound: suite/-s and compounds sukses s%WksEs // sukses/suksesse/suksesvol/reusesukses _) su (meri s%u // fix stress and u sound: sumeries/-e su (mmier s%W // move default stress: sumier/-e @@ -2678,6 +2940,7 @@ D_) ste st@ //ste after numbers 22ste etc. stan (da st%an // standaard/-e/standardisering standerd (@ st%and@rt // compounds starting with standerd + stand (vasti st%ant // move default stress: (on)standvastig/-e/-heid stapel stA:p@l // fix e sound: (op)stapeling/stapelaar staties st'A:tis steding ste@d@N // besteding and compounds @@ -2692,6 +2955,7 @@ ste (l st& apo) stel st@l // apostel and compounds kun) stel (d st@l // gekunsteld/ongekunsteld and derivitives + @) ste (lyK st@ // fix e sound: buustelyfie/gastelys/onkostelys, etc. stede (_ ste@d@ //voorstede, hoofstede etc. stele (_ ste@l@ //kastele lepelstele etc. @@ -2699,17 +2963,20 @@ chri) stene (_ st@n@ //fix christene and compounds @) stel (o st@l //bewusteloos/lustelose/rusteloosheid/kosteloos mAre) ste (r st& // fix e sound: more/môrester/-re + sterf (K st&rf // fix e sound: uitsterf/weg(ge)sterf/kindersterfte @) sterkt st&rkt // compounds ending in sterkte weg) ster (we st&r // wegsterwe/wegsterwende - _) ster st'&r + _) ster st&r kwik) ster st&:r // kwikstertjie/-s sterrei st@r'eI sterre st&r@ sterretjie st'&rici ste (m stE // eliminate one m in derivitives like stemming + stempel stEmp@l // fix 2nd e sound: stempelband/-datum/-gereedskap/-hamer/-jaar/-letter... stewel ste@v@l // sokkerstewels/stewelmaker and other compounds + stie (beu st%i // move default stress: stiebeuel and compounds @) stiek st'ik // statistiek/akoestiek/artistiek and many similar @) sties =st%is // statisties/akoesties/artisties and many similar sti (pulA st@ // stipuleer/stipulering/stipulasie @@ -2719,7 +2986,8 @@ storm stOr@-m strategie strat@x2'i streke stre@k@ - stu (de st%y // move default stress + studen (t st%ydEn // fix stress: student/regstudent/studentesentrum, etc. + stu (de st%y // fix stress and e sound: bestuderend/bestudering .group t @@ -2731,6 +2999,7 @@ ta (blet t%a // move default stress: tablet/-te and compounds tafe (re t%af@ // fix vowel sounds: tafereel/taferele and compounds @) talig t'A:l@x2 // Anderstalig/tweetalig + @) ta (lis t%a // shorten a sound: hospitalisasie/kapitalisme/katalisator and similar _) ta (ma t%a // tamatie and compounds _) ta (mb t%a // tamboer and compounds/tambotie and compounds _) tande (C@ t''and@ // fix e sound: tandebeker/-pasta/-poeier/-trekker @@ -2754,6 +3023,7 @@ ti (ra t%i // move default stress tiran tirade tj tS @) tj (a tj // separate tj: agtjarig/blatjang/bontjas/olifantjag/ouditjaar/tweegatjakkals + @) tjank tSaNk // but: angstjank, etc. tjello tSElu // fix e sound and o in compounds: tjello/-konsert/-musiek/-sonata tje (llis tS%E // move default stress and fix e sound: tjellis/-te tj (ie c @@ -2785,10 +3055,14 @@ toere tu:r@ // restore default stress toe (vallig t%u // exception to default stress rule toi (let t%OI // move default stress: toilet and compounds + tokke (lo t%Ok@ // move default stress: tokkelos/-sie/tokkelok and compounds + tok (tokk t%Ok // move default stress: toktokkie/-s/-spelery, etc. @) toris (_ t'o@r@s // fix stress: pectoris/klitoris tra (dis tr%a// shorten and unstress 1st slb: tradisie/tradisioneel trag (ed tr%ax2 // move default stress: tragedie and compounds tra (jek tr%a // move default stress and shorten a sound: trajek/-te + _) trans (@P5 tr%ans // transatlanties/transformasie/transoranje/Transvaal, etc. + _) trans (aksie tr%ans // remove small break: transaksie/-s and compounds trap (soe tr%ap // move default stress: trapsoetjies/-e traw (a trav' // trawant/e/trawal &) treding tre@d@N // betreding/uittreding @@ -2798,6 +3072,7 @@ tre (k tr& trekker tr&k@r // voortrekkerleier/Voortrekkerstraat/salaristrekkersvergadering triomf (ant tr%i%Omf // move default stress: triomfantlik/-e + tri (omf tr%i // move default stress: triomf/-boog/-lied/-tog, etc. @) trise (_ tr'is@ // aktrise and similar _) trom (b tr%Om // move default stress: tromboon/trombone/trombose and compounds _) trom (pet tr%Om // move default stress: trompet/-tte/-tter and compounds @@ -2823,6 +3098,7 @@ teen (oorges t%e@n_ // move default stress: teenoorgestel/-d/-e @C) te (gn t& //tegniek/iese and friends _) tekere t@ke@r@ // move default stress and correct e sounds + teks (tiel t%Eks // move default stress: tekstiel and compounds _) teks (tu t%Eks // move default stress: tekstuur/teksture _) tele (C t%&l@ // telefoneer/telekommunikasie, etc. teleks t&lEks // fix stress and vowel sounds: teleks and compounds @@ -2835,8 +3111,10 @@ @C) te (k_ t& // tydsbestek/uitstek ap) teke te@k@ // apteke/apteker and compounds te (oC t%i% // teologie/-loog/-logies/teorie/teoreties + nie) te (min t@ // fix e sound: (des)nietemin tempera ,tEmp@-r%a //temperatuur, temperament etc. teks (+ tEks // compounds with teks + tempel tEmp@l // fix e sounds: afgodtempel/Hindoetempel/kultuurtempel/tempelbewaarder/tempeldienaar tent (_ tEnt //suurstoftent and others te (oo t@ // geboorteoorskot/kosteoorweging/siekteoorsaak/terroristeoorlog _) teraarde t%&r?A:rd@ // move default stress and fix e sounds: teraardebestelling/-s @@ -2847,6 +3125,7 @@ wa) te (ring t@ //water exception to rest Ca) te (ring t'e@ //opdatering formatering etc. _) tering te@r@N // tering and compounds + terpen (tyn t%&rp@n // fix stress and 2nd e sound: terpentyn and compounds tesou (rie t%Es%u //tesourie and compounds moles) tering te@r@N // molestering/kindermolestering _) ter (l t@r // move default stress: terloops/-e @@ -2883,9 +3162,11 @@ &) tels (_S4 t@ls sleu) tel t@l //sleutel in compounds te (l t& + &A) te (lp t@ // fix e sound: beitelpunt/ketelpak/ketelplaaat/titelplaat and similar A) te (ling t@ // betiteling/insluiteling/loteling/uitbeiteling/verstoteling teltjie t@lki @) tel (o t@l // hartelose/besluiteloos/gedagtelose + ke) te (l t@ // fix 2nd e sound in many compounds with ketel &) tert (A t@rt // fix e sound: agtertoe/foltertuig/gietertuit/kilometertoelae/lastertaal/letterteken &) tert (r t@rt // fix e sound: pleistertroffel/venstertralie/ystertralies/ystertrap &s) tert (aan t&:rt // fix e sound: swa(w)elstertaandpak/-ke @@ -2943,6 +3224,8 @@ uiteindeli %YyteInd@l@ // move default stress: uiteindelik/-e uitgee (+ 'Yytx2e@ // se rule: _) uitge (@P5 Yytx2@ uit (kansel ''Yyt // enforce stress on 1st slb: uitkanselleer + uit (sluiten %Yyt // move default stress: uitsluitend/-e + uitsluitlik %YytslYytl@k // move default stress: uitsluitlik/-e uitsonderli (k %YytsOn@rl@ // move default stress: uitsonderlik/-e vs. uitsonder uit (sorteer ''Yyt // remove stress from -eer and place on 1st slb uitspreekl %Yytspre@kl // fix stress and avoid -lik suffix: onuitspreeklik/-e @@ -3012,6 +3295,8 @@ ver (kyker f'&:r //verkyker and compounds _) ver (@P3 f@r verant (w f@r%ant // (on)verantwoordelik/-heid/verantwoording + verant (woord_ f@r_ant // fix stress: (on)verantwoord (single word) + verant (woorde_ f@r_ant // fix stress: (on)verantwoorde (single word) verende f'e@r@nd@ verer (ing f@r_e@r // verering and compounds ending with verering, eg. heldeverering ver (gesig f&r // fix stress and 1st e sound: vergesig/-te @@ -3039,16 +3324,20 @@ vers (r f&rs // fix stress and e sound: versreël/-rym/-ritme _) veronge (@P7 f@r'O:Nx2@ verbete f@rb'e@t@ // verbete/verbetenheid - verte (l f@rt& // oorvertelling/rondvertel and similar + @) verster (k f@rst&r // fix e sound: (geluid/hart/klank/senu/toon)versterker + verte (l f@rt& // oorvertelling/rondvertel and similars verter (A f@rte@r // spysvertering and compounds/spysverterende + verti (ka f%&rt%i // move default stress: vertikaal/vertikale ver (velA f@r // vervelig/verveling (see: _) ver (@P3 f@r verwe (_ f&rv@ // fix e sound: (olie/water)verwe, etc. + verwer (_ f&rv@r // fix stress and 1st e sound: (huis/spuit/verwer + verwers f&rv@rs // fix stress and 1st e sound: verwers and compounds verwery f&rv@r%eI // fix stress and e sounds: verwery and compounds like huisverwery vi (brA v%i // fix v and i sounds: vibrasie/vibreer vi (cto@ v%i // fix v and i sounds: victoriaans/-e video vidi;u //video and compounds vier (kantig f%i:r // move default stress: vierkantig/-e vs. vierkant - + villa vIla // fix v sound: villa/-s ville _^_EN @ie) vis (_ f@s // fix stress: jellie/kerrievis vis (A fIs // visarend/walvisolie @@ -3056,6 +3345,7 @@ ad) vis (e@ fis' // v and i sounds: adviseer/adviserend/-e A) vis (asie vis // improvisasie A) vis (e@ vis' // v and i sounds: improviseer/reviseer/improviserend + visen (te f@s@n // fix vowel sounds: visenteer/-tering and compounds vis (ie vis // v and i sounds: visie/televisie vis (ier f@s // fix v and i sounds: visier/-e/kanonvisier, etc. visi (oen v%is%i // fix stress and v sound: visioen/-e and compounds @@ -3065,10 +3355,10 @@ vis (um vis // v and i sounds: visum _) vasge (@P5 f'asx2@ - vleuel flY@@l // fix last e sound in vleuel in words like vleuelklavier/tweevleuelig, etc. vlieë (nier fl%i@ // move default stress: vlieënier and compounds vodka vOtka // fix v sound and a sound in compounds: vodka/-bottel, etc. @) voerig f'ur@x2 // breedvoerig/uitvoeriger + vo (ka f%u // fix stress and o sound: vokaal/vokale and compounds volk fOlk vol (eindig f%Ol_ // fix o sound: voleindig(ing) vol (kome f%Ol @@ -3078,6 +3368,7 @@ volles (_ fOl@s // fix stress and e sound: volles/passievolles, etc. vol (hou_ fOl // exception to: vo (lC f%O vol (maan fOl // exception to: vo (lC f%O + vol (prop fOl // exception to: vo (lC f%O vol (r fOl // volrond/-rooi/-ryp: exception to: vo (lC f%O vol (ste_ fOl // exception to: vo (lC f%O vol (sto fOl // volstof/volstoom/volstop/volstort; exception to: vo (lC f%O @@ -3131,6 +3422,9 @@ k) w w k) w (And v // fix w sound: buikwand/rukwinde s) w w + s) w (art w // fix w sound in compounds like donderswart + &s) w (eefs v // fix w sound: compounds like -sweefsel/tuisweefstof, etc. + s) w (ou v // fix w sound: bamboeswoud/keerkringswoud and similar s) w (r v // fix w sound: skeepswrak/sielswroeging/aardswreedheid wreed (a vre@t_ // fix d sound and insert short pause: wreedaard/-s wreed (aardig vr%e@t_ // move default stress: wreedaardig/-e/-heid @@ -3149,9 +3443,11 @@ vas) w v // fix w sound: vaswikkel/-woel vleis) w v // fix w sound: vleisweefsel/-woekering/-wange ooC) w v // booswig/grootwild/ooswaarts/ + %At) w v // fix w sound: bloedvaatweefsel/laatwinter/privaatwelsynsorganisasies... out) w v // houtwerk/soutwater and similar yd) w v // fix w sound: sluittydwerk/(wa)wydwakker wee (moedi v%e@ // move default stress: weemoedig/-e/-heid + weer (barst v%e@r // move default stress: weerbarstig/-e/-heid weer (lê v%e@r // move default stress weer (leg w%e@r // move default stress: (on)weerlegbaar @) weg (_ v&x2 // blindweg/botweg and many similar @@ -3159,12 +3455,15 @@ welbehaaglik v%&lb@hA:x2l@k // move default stress: welbehaaglik/-e/-er/-ste @) wendig v'End@x2 // inwendig/noodwendig/uitwendig &) wene (_ v@n@ // fix penultimate e sound: afgestorwene/-s/ingeskrewene/verdorwene/verhewene + A) wer (AA v@r // fix e sound: beyweraar/keweruitroeiing/nyweraar/oewereienaar ge) were ve@r@ // fix e sound in compounds ending in gewere werk (stelli v%&rk // fix stress: bewerkstellig and derivitives t) werk v&rk // fix w sound: geutwerk/gietwerk/netwerk werwel v&rv@l // fix w and 2nd e sound: werwel and many compounds w (ese_ v //words ending in wese + @C) w (eë v // fix w sound: duikweë/staatsweë/uitweë, etc. t) w w + s) w (ater v // fix w sound: Augrabieswaterval/gebiedswaters/opwaswater/varswater, etc. t) w (at v // geut/put/soetwater, etc./ietwat it) w v // inkuitwisser/witwyn/uitwoed/witwatersrand oet) w v // fix v sound: snoetwalvis/soetwyn/sproetwange/stoetwol @@ -3217,9 +3516,11 @@ weten (C ve@t@n // wetenskap/-lik/-e and compounds/compounds of geweten- wêrel (d v&:r@l wh _^_EN // words containing wh are English + @t) w (ie v // fix w sound: (ge)kortwiek/meetwiel _) wig vIx2 // fix stress: gewig/-tig/-e wiking vikiN // fix i sounds wilhel (mi v@lh%&l // move default stress: Wilhelmina/-straat + wispel (tu v@sp@l // move default stress: wispelturig/-e/-heid wn _^_EN // names containing town/Brackendowns/Brown worth _^_EN @@ -3227,7 +3528,7 @@ @C) w (ooC v // fix w sound: eenmanswoonstel/handelswoorde/openingswoord/privaatwoonstel @) ws (_N _^_EN @) w (_N _^_EN - @) werste vIrst@ + @) werste (_ vIrst@ k) w (oA v // fix w sound: dankwoord/werkwoord/skoonmaakwoede/spreekwoord @C) w (oCC v // fix w sound: kubiekwortel/steekwond/onafhanklikwording/republiekwording/varkwors @C) woning vo@n@N // fix w sound in many compounds ending in -woning @@ -3236,6 +3537,8 @@ woorde vo@rd@ woord (a vo@rt_ // fix d sound: woordafleiding and similar compounds @C) w (urm v // fix w sound: erdwurm/-s/-agtig, etc. + @t) w (y v // fix w sound: granaatwyn/kieswetwysiging/krotwyk/straatwys(ie) + @t) wyfel weIf@l // fix w sound: gewetenstwyfel and similar w (yser v //padwyser and many others with wyser in compounds nt) w (A v @@ -3269,6 +3572,7 @@ ë (teit @ // fix stress and e sound: variëteit and compounds ïgnoreer ix2nur'e@r // geïgnoreer ïllu (st %il%W // geïllustreer/-de + ï (nsp @ // geïnspireer/-de ï (nt @ // geïnteresseerd ï (nC 'I // beïndruk/beïnvloed ïsol %is%ul // geïsoleer/-d diff --git a/dictsource/dict_phonemes b/dictsource/dict_phonemes index 2c397cf2..5e772566 100644 --- a/dictsource/dict_phonemes +++ b/dictsource/dict_phonemes @@ -244,15 +244,11 @@ v w x z Dictionary vi_dict -@ @: @:I @:U @I @U a a: -a:I a:U aI aU E e eU EU -i i@ iU O o OI oI u -u@ uI y y@ yI +@: a a: a:I aI aU E e +i o -b c d D f g h j -k kh l m n N n^ p -Q s t t[ ts; tS; v w -x z Z z; +b d g h k m n p +s t t[ ts; v w z Dictionary zhy_dict diff --git a/dictsource/en_list b/dictsource/en_list index e3f255d5..d671035d 100644 --- a/dictsource/en_list +++ b/dictsource/en_list @@ -150,6 +150,7 @@ ai $abbrev api $abbrev asap $abbrev awol eIw0l +cia $abbrev cio $abbrev ctrl k0ntr'oUl dept dI2pA@tm@nt diff --git a/dictsource/vi_rules b/dictsource/vi_rules index 9fdbda1c..69250f2d 100644 --- a/dictsource/vi_rules +++ b/dictsource/vi_rules @@ -1,4 +1,80 @@ +// replace combining (tone) accents with single characters +.replace +à à +á á +ả ả +ã ã +ạ ạ + + +ằ ằ +ắ ắ +ẳ ẳ +ẵ ẵ +ặ ặ + +ầ ầ +ấ ấ +ẩ ẩ +ẫ ẫ +ậ ậ + +è è +é é +ẻ ẻ +ẽ ẽ +ẹ ẹ + +ề ề +ế ế +ể ể +ễ ễ +ệ ệ + +ì ì +í í +ỉ ỉ +ĩ ĩ +ị ị + +ò ò +ó ó +ỏ ỏ +õ õ +ọ ọ + +ồ ồ +ố ố +ổ ổ +ỗ ỗ +ộ ộ + +ờ ờ +ớ ớ +ở ở +ỡ ỡ +ợ ợ + +ù ù +ú ú +ủ ủ +ũ ũ +ụ ụ + +ừ ừ +ứ ứ +ử ử +ữ ữ +ự ự + +ỳ ỳ +ý ý +ỷ ỷ +ỹ ỹ +ỵ ỵ + + .group a a a: ai a:I @@ -572,4 +648,3 @@ $ d'o||l'a % f'@2n||tS;'am - diff --git a/phsource/compile_report b/phsource/compile_report index 0d4cb86f..0f680da2 100644 --- a/phsource/compile_report +++ b/phsource/compile_report @@ -924,8 +924,6 @@ vdiph/@u [u:] en_wm vdiph/@u_2 [oU] en_rp vdiph/@u_3 [@U] ro vdiph/@u_en [oU] en - [@U] vi - [@:U] vi vdiph/ui [uI] base2 [uI] en [uI] eo @@ -940,6 +938,8 @@ vdiph/Vi [@:I] vi vdiph/Vu [@U] af vdiph/Vu_2 [oU] en_wm vdiph/Vu_3 [o:] nl +vdiph/Vu_4 [@U] vi + [@:U] vi vdiph/&y [&y] fi [Wy] nl vdiph/yi [yi] fi @@ -1501,8 +1501,8 @@ vowel/V_2 [V] en [V#] ru vowel/V_3 [V] en_rp [V] hi - [@:] vi vowel/V_4 [V] en_sc + [@:] vi vowel/V_6 [V] en_us vowel/y [y:] en [y:] de diff --git a/phsource/ph_vi b/phsource/ph_vi index 65bc32b3..1a7b88a4 100644 --- a/phsource/ph_vi +++ b/phsource/ph_vi @@ -71,7 +71,7 @@ endphoneme phoneme a: vowel starttype (a) endtype (a) - length 260 + length 280 formants vowel/a_2 endphoneme @@ -134,8 +134,8 @@ endphoneme phoneme @: vowel starttype (@) endtype (@) - length 260 - formants vowel/V_3 + length 280 + formants vowel/V_4 endphoneme @@ -223,7 +223,7 @@ endphoneme phoneme a:U vowel starttype (a) endtype (u) - length 250 + length 260 formants vdiph/au endphoneme @@ -250,20 +250,20 @@ endphoneme phoneme @U vowel starttype (@) endtype (u) length 200 - formants vdiph/@u_en + formants vdiph/Vu_4 endphoneme phoneme @:U vowel starttype (@) endtype (u) - length 250 - formants vdiph/@u_en + length 260 + formants vdiph/Vu_4 endphoneme phoneme i@ vowel starttype (i) endtype (@) - length 230 + length 240 formants vdiph2/ii@_3 endphoneme diff --git a/phsource/vdiph/vowelchart.png b/phsource/vdiph/vowelchart.png index e1f9e63e9fc83d79f8c4772af271b194cc92d617..69d89a3689435d576692871eed951c3454d9ee06 100644 GIT binary patch delta 75147 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

L{2G6(MRO)Tnq1B9N_#+yP?_*ZfbAb#w6vY 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≫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 LMX8)y58eI)RJJ`% diff --git a/phsource/vowel/V_4 b/phsource/vowel/V_4 index e524e487f61421d964499610e86198cc0822c71b..faf96f2966d5d529fd825b10e5d7b2982c29f530 100644 GIT binary patch delta 133 zcmdm_wo^|aIKb68B-k~OnSp^JEZ&4|qi7%t@9Vpr+aE_VfS4+vw%@HCGnE*dW8$JL4 diff --git a/src/compiledict.cpp b/src/compiledict.cpp index 6f3aa2a6..c25edabd 100755 --- a/src/compiledict.cpp +++ b/src/compiledict.cpp @@ -668,7 +668,7 @@ void copy_rule_string(char *string, int &state) if(c == '\\') { c = *p++; // treat next character literally - if((c >= '0') && (c <= '2') && (p[0] >= '0') && (p[0] <= '7') && (p[1] >= '0') && (p[1] <= '7')) + if((c >= '0') && (c <= '3') && (p[0] >= '0') && (p[0] <= '7') && (p[1] >= '0') && (p[1] <= '7')) { // character code given by 3 digit octal value; c = (c-'0')*64 + (p[0]-'0')*8 + (p[1]-'0'); diff --git a/src/intonation.cpp b/src/intonation.cpp index 16985606..06c4f18d 100755 --- a/src/intonation.cpp +++ b/src/intonation.cpp @@ -236,82 +236,68 @@ unsigned char *envelope_data[16] = { // pitch change during the main part of the clause static int drops_0[8] = {0x400,0x400,0x700,0x700,0x700,0xa00,0x1800,0x0e00}; -static int drops_1[8] = {0x400,0x400,0x600,0x600,0xc00,0xc00,0x0e00,0x0e00}; -static int drops_2[8] = {0x400,0x400,0x600,0x600,-0x800,0xc00,0x0e00,0x0e00}; +//static int drops_1[8] = {0x400,0x400,0x600,0x600,0xc00,0xc00,0x0e00,0x0e00}; +//static int drops_2[8] = {0x400,0x400,0x600,0x600,-0x800,0xc00,0x0e00,0x0e00}; + +static short oflow[] = {0, 20, 12, 4, 0}; +static short oflow_emf[] = {5, 24, 15, 10, 5}; +static short oflow_less[] = {1, 17, 10, 5, 1}; +static short back_emf[] = {36, 32, 0}; typedef struct { - unsigned char pitch_env0; /* pitch envelope, tonic syllable at end */ - unsigned char tonic_max0; - unsigned char tonic_min0; + unsigned char pitch_env0; /* pitch envelope, tonic syllable at end */ + unsigned char tonic_max0; + unsigned char tonic_min0; - unsigned char pitch_env1; /* followed by unstressed */ - unsigned char tonic_max1; - unsigned char tonic_min1; + unsigned char pitch_env1; /* followed by unstressed */ + unsigned char tonic_max1; + unsigned char tonic_min1; - unsigned char pre_start; - unsigned char pre_end; + unsigned char pre_start; + unsigned char pre_end; - unsigned char body_start; - unsigned char body_end; + unsigned char body_start; + unsigned char body_end; - int *body_drops; - unsigned char body_max_steps; - unsigned char body_lower_u; + int *body_drops; + unsigned char body_max_steps; + unsigned char body_lower_u; - unsigned char tail_start; - unsigned char tail_end; - unsigned char tail_shape; + char n_overflow; + short *overflow; + short *backwards; + + unsigned char tail_start; + unsigned char tail_end; + unsigned char tail_shape; } TONE_TABLE; #define N_TONE_TABLE 15 static TONE_TABLE tone_table[N_TONE_TABLE] = { {PITCHfall, 30, 5, PITCHfall, 30, 8, // statement - 20, 25, 34, 22, drops_0, 3, 3, 12, 7, 0}, + 20, 25, 34, 22, drops_0, 3, 3, 5, oflow, NULL, 12, 7, 0}, {PITCHfrise, 37,10, PITCHfrise2, 35,10, // comma - 20, 25, 34, 20, drops_0, 3, 3, 15, 24, 0}, + 20, 25, 34, 20, drops_0, 3, 3, 5, oflow, NULL, 15, 24, 0}, {PITCHfrise, 39,10, PITCHfrise2, 36,10, // question - 20, 25, 34, 20, drops_0, 3, 3, 15, 29, 0}, + 20, 25, 34, 20, drops_0, 3, 3, 5, oflow, NULL, 15, 29, 0}, - {PITCHfall, 36, 0, PITCHfall, 40, 30, // statement, emphatic - 20, 25, 34, 22, drops_0, 3, 3, 20, 4, 0}, + {PITCHfall, 41, 4, PITCHfall, 41, 27, // exclamation + 20, 25, 34, 24, drops_0, 3, 4, 5, oflow_emf, back_emf, 18, 5, 0}, + + {PITCHfall, 38, 2, PITCHfall, 42, 30, // statement, emphatic + 20, 25, 34, 22, drops_0, 3, 3, 5, oflow, NULL, 15, 5, 0}, -#ifdef deleted - {PITCHfall, 30, 5, PITCHfall, 30, 7, // statement - 20, 25, 34, 22, drops_1, 3, 3, 12, 8, 0}, + {PITCHfall, 28, 6, PITCHfall, 28, 10, // statement, less intonation + 20, 25, 30, 22, drops_0, 4, 3, 5, oflow_less, NULL, 12, 6, 0}, - {PITCHfrise, 38,10, PITCHfrise2, 36,10, // comma, or question - 20, 25, 34, 20, drops_1, 3, 3, 15, 25, 0}, - - {PITCHfall, 30, 5, PITCHfall, 30, 7, // exclamation - 20, 25, 34, 22, drops_1, 3, 3, 12, 8, 0}, + {PITCHfrise2, 34,12, PITCHfall, 28,10, // comma, less intonation + 20, 25, 30, 22, drops_0, 4, 3, 5, oflow_less, NULL, 9,14, 0}, - - {PITCHfall, 30, 5, PITCHfall, 30, 7, // statement - 20, 25, 34, 22, drops_2, 3, 3, 12, 8, 0}, - - {PITCHfrise, 38,10, PITCHfrise2, 36,10, // comma, or question - 20, 25, 34, 20, drops_2, 3, 3, 15, 25, 0}, - - {PITCHfall, 30, 5, PITCHfall, 30, 7, // exclamation - 20, 25, 34, 22, drops_2, 3, 3, 12, 8, 0}, - - - -// alternatives - {PITCHfall, 36, 6, PITCHfall, 36, 8, - 30, 20, 18, 34, drops_0, 3, 3, 12, 8, 0}, - - {PITCHfrise, 38, 8, PITCHfrise2, 36, 8, - 30, 20, 18, 34, drops_0, 3, 3, 20, 32, 0}, - - {PITCHfall, 36, 6, PITCHfall, 36, 8, - 30, 20, 18, 34, drops_0, 3, 3, 12, 8, 0}, -#endif }; @@ -351,7 +337,7 @@ static void count_pitch_vowels(int start, int end, int clause_end) number_pre = -1; /* number of vowels before 1st primary stress */ number_body = 0; number_tail = 0; /* number between tonic syllable and next primary */ - last_primary = 0; + last_primary = -1; last2_primary = 0; for(ix=start; ix= 0) { - syllable_tab[last_primary].stress = PRIMARY_LAST; + if(end == clause_end) + { + syllable_tab[last_primary].stress = PRIMARY_LAST; + } + } + else + { + // no primary stress. Use the highest stress + syllable_tab[tone_posn].stress = PRIMARY_LAST; } } /* end of count_pitch_vowels */ @@ -412,8 +406,8 @@ static int count_increments(int ix, int end_ix, int min_stress) while(ix < end_ix) { stress = syllable_tab[ix++].stress; -// if(stress >= PRIMARY_MARKED) -// break; + if(stress >= PRIMARY_LAST) + break; if(stress >= min_stress) count++; @@ -466,14 +460,15 @@ static int calc_pitch_segment(int ix, int end_ix, TONE_TABLE *t, int min_stress, int pitch=0; int increment=0; int n_primary=0; + int n_steps=0; int initial; int overflow=0; + int n_overflow; int *drops; short *overflow_tab; SYLLABLE *syl; - static short overflow_tab1[5] = {0, 20, 12, 4, 0}; - static short continue_tab[5] = {-14, 16, 10, 4, 0}; + static short continue_tab[5] = {-13, 16, 10, 4, 0}; drops = t->body_drops; @@ -481,13 +476,15 @@ static int calc_pitch_segment(int ix, int end_ix, TONE_TABLE *t, int min_stress, { initial =0; overflow = 0; + n_overflow = 5; overflow_tab = continue_tab; increment = (t->body_end - t->body_start) << 8; increment = increment / (t->body_max_steps -1); } else { - overflow_tab = overflow_tab1; + n_overflow = t->n_overflow; + overflow_tab = t->overflow; initial = 1; } @@ -503,19 +500,19 @@ static int calc_pitch_segment(int ix, int end_ix, TONE_TABLE *t, int min_stress, { // a primary stress - if(initial) + if((initial) || (stress == 5)) { initial = 0; overflow = 0; - n_primary = count_increments(ix,end_ix,min_stress); + n_steps = n_primary = count_increments(ix,end_ix,min_stress); - if(n_primary > t->body_max_steps) - n_primary = t->body_max_steps; + if(n_steps > t->body_max_steps) + n_steps = t->body_max_steps; - if(n_primary > 1) + if(n_steps > 1) { increment = (t->body_end - t->body_start) << 8; - increment = increment / (n_primary -1); + increment = increment / (n_steps -1); } else increment = 0; @@ -524,20 +521,26 @@ static int calc_pitch_segment(int ix, int end_ix, TONE_TABLE *t, int min_stress, } else { - if(n_primary > 0) + if(n_steps > 0) pitch += increment; else { pitch = (t->body_end << 8) - (increment * overflow_tab[overflow++])/16; - if(overflow > 4) + if(overflow >= n_overflow) { overflow = 0; - overflow_tab = overflow_tab1; + overflow_tab = t->overflow; } } } + n_steps--; + n_primary--; + if((t->backwards) && (n_primary < 2)) + { + pitch = t->backwards[n_primary] << 8; + } } if(stress >= PRIMARY) @@ -889,7 +892,7 @@ void Translator::CalcPitches(int clause_type) option = 0; group_tone_emph = group_tone = punct_to_tone[option][clause_type]; - group_tone_emph = punct_to_tone[option][3]; // emphatic form of statement + group_tone_emph = punct_to_tone[option][4]; // emphatic form of statement if(clause_type == 4) no_tonic = 1; /* incomplete clause, used for abbreviations such as Mr. Dr. Mrs. */ @@ -924,11 +927,23 @@ void Translator::CalcPitches(int clause_type) if(syl->stress >= 4) count_primary++; - if((syl->stress == 6) && (syllable_tab[st_ix+1].stress == 6)) + if(syl->stress == 6) { - syllable_tab[st_ix].flags = 2; - syl->stress = 4; + // are the next primary syllables also emphasized ? + for(ix=st_ix+1; ixstress = 5; + break; + } + } } + if(syl->stress == 6) { // an emphasized syllable, end the tone group after the next primary stress diff --git a/src/synthdata.cpp b/src/synthdata.cpp index 497bc002..693ec546 100755 --- a/src/synthdata.cpp +++ b/src/synthdata.cpp @@ -35,7 +35,7 @@ #include "translate.h" #include "wave.h" -const char *version_string = "1.29.25 14.Dec.07"; +const char *version_string = "1.29.26 18.Dec.07"; const int version_phdata = 0x012924; int option_device_number = -1; diff --git a/src/translate.cpp b/src/translate.cpp index 017ac931..215bb633 100755 --- a/src/translate.cpp +++ b/src/translate.cpp @@ -341,8 +341,8 @@ unsigned char *length_mod_tabs[6] = { /* index by 0=. 1=, 2=?, 3=! 4=none */ static unsigned char punctuation_to_tone[4][5] = { - {0,1,2,3,0}, - {0,1,2,3,0}, + {0,1,2,3,4}, + {5,6,2,0,4}, {0,1,2,3,0}, {0,1,2,3,0} }; @@ -369,6 +369,9 @@ int IsAlpha(unsigned int c) if((c >= 0x901) && (c <= 0x957)) return(1); // Devanagari vowel signs and other signs + if((c >= 0x300) && (c <= 0x36f)) + return(1); // combining accents + return(0); } diff --git a/src/wavegen.cpp b/src/wavegen.cpp index 2a2251d5..d65d5f62 100755 --- a/src/wavegen.cpp +++ b/src/wavegen.cpp @@ -821,9 +821,11 @@ static void WavegenSetEcho(void) if(delay == 0) amp = 0; + echo_head = (delay * samplerate)/1000; - echo_length = echo_head; // ensure completion of echo at the end of speech -// echo_length = echo_head * 2; // perhaps allow 2 echo periods at the end of speech ? + echo_length = echo_head; // ensure completion of echo at the end of speech. Use 1 delay period? + if(amp > 20) + echo_length = echo_head * 2; // perhaps allow 2 echo periods if the echo is loud. // echo_amp units are 1/256ths of the amplitude of the original sound. echo_amp = amp;