From 5a4cbf98ec375916d817b77bdc2f933c6aef60a9 Mon Sep 17 00:00:00 2001 From: jonsd Date: Fri, 25 Jun 2010 18:50:41 +0000 Subject: [PATCH] Add some missing files to SVN repository. git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@245 d46cf337-b52f-0410-862d-fd96e6ae7743 --- dictsource/da_list | 35 +- dictsource/da_rules | 491 ++++-- dictsource/dict_phonemes | 6 +- dictsource/en_list | 4 + dictsource/fr_list | 6 +- dictsource/fr_rules | 2917 +++++++++++++++++---------------- dictsource/ta_rules | 4 +- phsource/b/br | Bin 0 -> 2122 bytes phsource/b/xbr | Bin 0 -> 3172 bytes phsource/compile_report | 6 +- phsource/envelope/i_risefall | 11 + phsource/envelope/i_risefall2 | 6 + phsource/g/gr | Bin 0 -> 824 bytes phsource/g/xgr | Bin 0 -> 3173 bytes phsource/intonation | 124 ++ phsource/klatt/b | Bin 0 -> 3171 bytes phsource/klatt/bh | Bin 0 -> 5272 bytes phsource/klatt/dz_pzd | Bin 0 -> 1232 bytes phsource/klatt/dz_pzd_ | Bin 0 -> 3177 bytes phsource/klatt/m | Bin 0 -> 1605 bytes phsource/klatt/m-syl | Bin 0 -> 2446 bytes phsource/klatt/m_ | Bin 0 -> 1606 bytes phsource/klatt/n | Bin 0 -> 1605 bytes phsource/klatt/n-syl | Bin 0 -> 2010 bytes phsource/klatt/n^ | Bin 0 -> 2002 bytes phsource/klatt/n^@ | Bin 0 -> 2003 bytes phsource/klatt/nn | Bin 0 -> 1606 bytes phsource/klatt/nr | Bin 0 -> 1606 bytes phsource/klatt/qq | Bin 0 -> 5272 bytes phsource/klatt/qqh | Bin 0 -> 5273 bytes phsource/klatt/qqh_ | Bin 0 -> 5274 bytes phsource/klatt/tap2 | Bin 0 -> 3174 bytes phsource/klatt/v | Bin 0 -> 5271 bytes phsource/klatt/v_ | Bin 0 -> 5272 bytes phsource/klatt/x_tap | Bin 0 -> 3175 bytes phsource/klatt/zh | Bin 0 -> 6322 bytes phsource/klatt/zh_ | Bin 0 -> 5273 bytes phsource/ph_danish | 7 + phsource/ph_english | 4 +- phsource/ph_english_n | 4 +- phsource/ph_english_wm | 4 +- phsource/ph_french | 27 +- phsource/ph_nahuatl | 16 + phsource/ph_tamil | 5 +- phsource/phonemes | 7 +- phsource/r/@_ | Bin 0 -> 5632 bytes phsource/r/V_ | Bin 0 -> 5632 bytes phsource/r/V_2_ | Bin 0 -> 5634 bytes phsource/r/aa | Bin 0 -> 5632 bytes phsource/r3/r_ru.wav | Bin 0 -> 1574 bytes phsource/r3/r_ru2 | Bin 0 -> 5809 bytes phsource/ustop/t_short_.wav | Bin 0 -> 1340 bytes phsource/vdiph/aau_6 | Bin 0 -> 22465 bytes phsource/vwl_de/uu_@ | Bin 0 -> 9048 bytes phsource/vwl_en_us/aU@ | Bin 0 -> 2173 bytes phsource/vwl_fr/br | Bin 1678 -> 1678 bytes phsource/vwl_fr/e_2r | Bin 0 -> 2681 bytes phsource/vwl_fr/r | Bin 849 -> 849 bytes phsource/vwl_ru/ii- | Bin 0 -> 997 bytes src/Makefile | 2 + src/synthesize.cpp | 32 +- src/tr_english.cpp | 21 - src/tr_languages.cpp | 1 - src/wave.cpp | 150 +- 64 files changed, 2163 insertions(+), 1727 deletions(-) create mode 100755 phsource/b/br create mode 100644 phsource/b/xbr create mode 100644 phsource/envelope/i_risefall create mode 100644 phsource/envelope/i_risefall2 create mode 100755 phsource/g/gr create mode 100644 phsource/g/xgr create mode 100644 phsource/intonation create mode 100644 phsource/klatt/b create mode 100644 phsource/klatt/bh create mode 100644 phsource/klatt/dz_pzd create mode 100644 phsource/klatt/dz_pzd_ create mode 100644 phsource/klatt/m create mode 100644 phsource/klatt/m-syl create mode 100644 phsource/klatt/m_ create mode 100644 phsource/klatt/n create mode 100644 phsource/klatt/n-syl create mode 100644 phsource/klatt/n^ create mode 100644 phsource/klatt/n^@ create mode 100644 phsource/klatt/nn create mode 100644 phsource/klatt/nr create mode 100644 phsource/klatt/qq create mode 100644 phsource/klatt/qqh create mode 100644 phsource/klatt/qqh_ create mode 100644 phsource/klatt/tap2 create mode 100644 phsource/klatt/v create mode 100644 phsource/klatt/v_ create mode 100644 phsource/klatt/x_tap create mode 100644 phsource/klatt/zh create mode 100644 phsource/klatt/zh_ create mode 100644 phsource/ph_nahuatl create mode 100644 phsource/r/@_ create mode 100644 phsource/r/V_ create mode 100644 phsource/r/V_2_ create mode 100644 phsource/r/aa create mode 100644 phsource/r3/r_ru.wav create mode 100644 phsource/r3/r_ru2 create mode 100644 phsource/ustop/t_short_.wav create mode 100644 phsource/vdiph/aau_6 create mode 100644 phsource/vwl_de/uu_@ create mode 100644 phsource/vwl_en_us/aU@ create mode 100755 phsource/vwl_fr/e_2r create mode 100644 phsource/vwl_ru/ii- delete mode 100644 src/tr_english.cpp diff --git a/dictsource/da_list b/dictsource/da_list index 42a5a961..c7f5c752 100755 --- a/dictsource/da_list +++ b/dictsource/da_list @@ -1,4 +1,4 @@ -// PB = Peter Bjarkov - pbj1234@hotmail.com +// PB = Peter Bjarkov - pbj1234@hotmail.com // This file is UTF8 encoded // Spelling-to-phoneme words for Danish @@ -111,7 +111,7 @@ _19 n'ed@-n _2X t'y:w _3X tR'&#Dv@ //PB [tR'ADv@] changed to [tR'&#Dv@] _4X f'WRV //PB [f'W:*3] changed to [ f'WRV] -_5X hal't*es +_5X h&l't*es // PB [a] changed to [&] _6X t*'es _7X halfj'&rs _8X f'irs @@ -163,6 +163,7 @@ en e:n $u et ed $u her $u kun $u +vel $u+ // conjunctions og V $u+ $pause // and @@ -187,6 +188,7 @@ med $u+ // with af & // PB changed from [a?] to [&] - sound too short in a sentence // Also removed $u from 'af' and other words. They disappeared. ad &: // PB added 'ad' +ad &D $atend $sentence // PB "Det må ikke skille os ad." at &: $u // PB changed from [at] to [&:] hos // at - PB: removed [$u+] som sVm // which / that - PB: removed [$u+] @@ -202,7 +204,7 @@ dét de vi $u i _i $u+ mig maj $u // me -dig daj $u +dig daj_| $u dem $u ham $u hende $u @@ -335,13 +337,11 @@ password _^_EN penthouse _^_EN pickup _^_EN pidgin _^_EN -producer _^_EN ranger _^_EN receiver _^_EN research _^_EN remake _^_EN roadie _^_EN -roastbeef _^_EN run _^_EN scanner _^_EN science _^_EN @@ -356,7 +356,6 @@ small _^_EN snob _^_EN song _^_EN source _^_EN -spam _^_EN spirit _^_EN squaw _^_EN sweatshirt _^_EN @@ -2398,7 +2397,6 @@ lupin $alt magasin $alt mandarin $alt mandolin $alt -mannequin m&n@k'EN $alt margin $alt marin $alt marocain mAro'kEN $alt @@ -5046,6 +5044,7 @@ adstringer $alt adviser $alt advoker $alt afficer $alt +aflever $alt afmarcher $alt afrikaniser $alt agere $alt @@ -5188,7 +5187,7 @@ bronzere $alt brunere $alt brutaliser $alt bruyere bryj'E:r $alt -budgetter $alt +budgettere $alt bugser $alt bureaukratiser $alt cadmier $alt @@ -5274,7 +5273,7 @@ deputer $alt dereguler $alt deriver $alt desarmer $alt -deserter $alt +desertere $alt designere $alt desinficer $alt destiller $alt @@ -5434,7 +5433,7 @@ farser $alt fasciner $alt favoriser $alt feminiser $alt -ferier $alt +feriere $alt fermenter $alt ferniser $alt fertiliser $alt @@ -5890,7 +5889,6 @@ laminer $alt lancer $alt lasere $alt latiniser $alt -//lavere $alt lavpasteuriser $alt legaliser $alt leger $alt @@ -6119,7 +6117,7 @@ plakater $alt planere $alt plastificer $alt platiner $alt -pletter $alt +plettere $alt plisser $alt plomber $alt plæder $alt @@ -6153,7 +6151,7 @@ privileger $alt prober $alt problematiser $alt proceder $alt -producer $alt +producere $alt profaner $alt professionaliser $alt profeter $alt @@ -6218,7 +6216,7 @@ ramponer $alt ranger $alt rappeller $alt rapportere $alt -raser $alt +rasere $alt ratificer $alt ratihaber $alt rationaliser $alt @@ -6256,7 +6254,7 @@ reimporter $alt reinvester $alt rejicer $alt rekapituler $alt -reklamer $alt +reklamere $alt rekognoscer $alt rekommander $alt rekompenser $alt @@ -6418,7 +6416,7 @@ stabiliser $alt staffer $alt stagner $alt standardiser $alt -stationer $alt +stationere $alt statuere $alt stenciler $alt stenografer $alt @@ -6494,7 +6492,7 @@ teoretiser $alt termografer $alt terrasser $alt terroriser $alt -testamenter $alt +testamentere $alt testere $alt tiere $alt titrer $alt @@ -6565,7 +6563,7 @@ verbaliser $alt verificer $alt verser $alt versificer $alt -versioner $alt +versionere $alt vibrer $alt vidimer $alt vikarier $alt @@ -10439,6 +10437,7 @@ sig si $capital //PB Sig = si with capital S - Sig det med blom (vi steg) vi||st'e (de steg) di||st'e (alle steg) &l3||st'e +steg sdaj $atend $sentence steget ste@d // PB problem with noun "hav" = ocean and verb "hav(e)" = to have [hAu]/[h&v] (et hav) ed||h'Au // PB "et hav" = an ocean - not "hav en god dag" - have a nice day diff --git a/dictsource/da_rules b/dictsource/da_rules index b3bbb888..63cfc3bf 100755 --- a/dictsource/da_rules +++ b/dictsource/da_rules @@ -40,20 +40,24 @@ // PB general rule: [a] after r followed by sp/st/sk r) a (L08 a // PB rask // PB general rule: [&:] after m/n - L09) a & // mave + L09) a &: // mave torn) ad (o '&d // PB stressed kn) a (p A // PB manchetknap + sn) a (p a // PB snappe m) a (p a // PB mappe L09) a (j a // PB maj // PB general rule: [a] after n before vn n) a (vn a // navn // PB general rule: [a] after l before n l) a (n & // land + l) an (ce AN // PB lancere // PB words in da_list with final -ance &) ance ($p_alt 'ANs@ // balance, romance + &) ance (+ ANs@ // PB unstressed after a syllable - ferieromance // PB general rule: [a] after consonant before m C) a (m a // PB ham, gamle, lam C) a (mi & // PB vitamin + alab) a (m '& // PB Alabama // PB general rule: [&] after l before m + vowel l) a (mA & // PB ham, gamle, lam // PB general rule: [&] after before m/n @@ -61,8 +65,9 @@ // PB general rule: [&] after k k) a (+ & // PB kage, kaste sk) a (k A // PB skak -// PB general rule: [a] after k before pp +// PB general rule: [a] after k before p k) a (p+ a // PB kappe, kaptajn + k) a (pi+ & // PB [&] before i - kapitel // PB general rule: [a] after sk before f sk) a (f+ a // PB skaffe // PB general rule: [&] after sk before p/b @@ -78,6 +83,9 @@ k) a (me & // PB kamel, kamera // PB general rule: [&] after d d) a (+ & // PB dame, dag + d) a (g@ a // PB dagbog + _d) a (m_ a // PB dam + _d) a (mm a // PB dammen // PB general rule: [A] after d before mp d) a (mp A // PB damp // PB general rule: [A] after a followed by k/g plus t @@ -124,6 +132,9 @@ l) av (ed &v // PB lavede l) av (es &v // PB laves l) av (t &v // PB lavt + l) av (ni &v // PB madlavning + l) av (a_ &v // PB lava + l) av (ae &v // PB lavaen b) alaklav (a &l&kl'&:v // PB g) av (mi Au // PB gavmild // PB general rule: [Au] after t before s @@ -137,7 +148,9 @@ a (nklag+ & // PB anklage a (nko+ & // PB ankomme ang (re aN // PB angre - ang (er_ aN // PB anger + _) ang (eC aN // PB anger, angelsaksisk + + _) ang (ol ang // PB Angola ang (reb &ng // PB angreb a (gt A // agt l) a (gt+ A // PB lagt @@ -154,8 +167,11 @@ a (ppar a // PB apparat _okt) a (v '& // stressed _konk) a (v '& // stressed + _det) a (lje '& // PB stressed _pol) a (k 'a // PB stressed polak _kos) a (k 'a // PB stressed - kosak +_milli) a (r 'A // PB stressed - milliard +_trilli) a (r 'A // PB stressed - trilliard L08) av (C Au // stavn st) av (nin &v // PB stavning h) av (_ & // PB hav - problem with the noun "hav" [hAu] @@ -167,6 +183,7 @@ color) ado 'Ado // PB US state _) av (_ Au // PB av C) a (k a // PB makværk + m) a (ka & // PN makaber C) a (ck a // PB tackle s) a (x a // PB saxofon l) a (kA & // PB lakune @@ -193,6 +210,7 @@ intern) atio (nal &So // clash with "internat" // PB nouns with final -ade in da_list - stressed a &) ade ($p_alt '&:D@ // hystade + &r) ade ($p_alt 'A:D@ // parade &) adent ($p_alt &d'ent // don't spoil the -ent rule - dekad'ent // PB nouns with final -an in da_list - stressed a @@ -264,7 +282,9 @@ _vatik) a (n '& // PB Vatikanet lumb) a (go '& // PB stressed - lumbago _kapt) a (jn '& // PB kaptajn tilsk) a (de '& // PB tilskadekommne + al) a (sk '& // PB Alaska _radio) a (kti 'A // PB stressed - radioaktiv +_impres) a (rio 'A // PB stressed bl) a (d & // PB blad h) a (n & // PB han j) a & // PB ja @@ -276,12 +296,13 @@ _radio) a (kti 'A // PB stressed - radioaktiv l) ave (_ &v@ // PB lave l) aver (_ &vV // PB laver kl) aver (_ &v'er // PB klaver - l) a (bo a // PB laborastorium - g) a (v & // PB gav, opgave + l) a (bo a // PB laborastorium + g) a (v &: // PB gav, opgave g) a (vn A // PB gavn b) a (b+ A // PB babser + b) a (jer a // PB b) aby (+ eibi // PB baby - _) a (ndA a // PB anderledes + _) a (nder a // PB anderledes _) a (ndet & // PB andet _) a (nden & // PB anden t) a (bt a // PB tabte @@ -305,6 +326,8 @@ interf) a (ce ei // PB interface C) a (ft A // PB haft, saft sl) a (L06 a // PB slap ai (K aj + cockt) ail Ejl // PB + d) ay Ej // PB holyday, Holliday aise 'E:s@ // PB mayonnaise k) ai (n &|'i: // PB kokain ld) a (k & // PB baldakin @@ -322,6 +345,7 @@ interf) a (ce ei // PB interface s) a (m a // PB sammen _eks) a (m+ '& // PB stressed - eksamen, eksaminere &eks) a (m & // PB + sp) a (m &: // PB isl) a (m 'a: // PB islam, islamisk j) a (m+ a // PB fjams pl) a (m+ & // PB plamage CHECK THIS ONE @@ -368,6 +392,9 @@ restaur) ant 'AN // PB added stress akkordeon ak'V:deVn attention at'EnS@n athen &t'en // PB Athen + andrews &ndRu:z // PB + angeles &ndZ3lEs + abilene &bili:n // PB str) abads Ab'&s // PB stressed a, silent d disput) a (ts '& // PB stressed amsterd) a (m 'a // PB @@ -390,14 +417,16 @@ amsterd) a (m 'a // PB // PB (French) nouns with final -age and with $alt flag in da_list // stressed a, "age" pronounced [aS@] &) age ($p_alt+ '&:S@ // ravage, bagage + &) age (r$p_alt+ '&:S@ // reportager &r) age ($p_alt+ 'A:S@ // [A] after "r" - garage &) age (re$p_alt+ &S'e@ // not for the "age" words - gagere // "ag" words silent g d) ag (_ &j // PB dag d) ag (e+ &j // PB dage - d) ag (@+ Au // PB daglejer - @d) ag (++ & // PB dommedag + d) ag (l@+ Au // PB daglejer + @d) ag (_++ & // PB dommedag + sd) ag & // PB fødselsdagsgave d) ag (og+ ag // PB pædagog j) ag (e+ &: // PB jage j) ag (uar ag // PB @@ -426,11 +455,15 @@ amsterd) a (m 'a // PB b) ag (til & // PB bagtil b) ag (ud &_: // PB bagud p) age (++ &:S@ // PB page, pagehår + band) age &:S@ // PB gipsbandage sC) ag &j // PB slag, slaget, Skagen, smag + esl) ag (lA Au // PB beslaglægge sC) ag (t ag // PB universitetsvagt + sv) ag (t &j // PB svagt m) ag (t ag // PB verdensmagt - sl) ag (t ag // PB slagte + sl) ag (te ag // PB slagte sl) ag (smål Au // slagsmål + sl) ag (tilf Au // PB slagtilfælde sl) ag (side Au // PB slagside sp) ag (ett &g' // PB spagetti sp) ag (hett &g' // PB spaghetti @@ -509,7 +542,10 @@ _trienn) ale '&:l@ .group be // PB words beginning with "be" with stress on the second syllable (850) - _) be (@ b%E +// They have secondary stress on the second syllable with a preceeding syllable + _) be (@ b%E // PB besta'and +//&) be (@ bE, // PB hv'alrosbest,and + // PB exceptions to the "be" rule _) be (dste bE // bedstefar, bedstemor _) be (nmel bE @@ -520,6 +556,7 @@ _trienn) ale '&:l@ _) be (nchmark bE _) be (nedder bE _) be (nende bE + _) be (net be _) be (nfisk bE _) be (nfedt bE _) be (nfri bE @@ -561,7 +598,7 @@ _trienn) ale '&:l@ // PB nouns in da_list with final -ce - stress on previous syllable &) ce ($p_alt =s@ // ekspeditrice - &) cer ($p_alt =s'er // annoncere + &) cer ($p_alt =s''er // annoncere c (y s // PB s followed by y - cykel c (e s // PB race, procent @@ -593,21 +630,28 @@ _trienn) ale '&:l@ _) ciao (_ tjAw // PB claude klO:d // PB name churchill tSW:Sil // PB - cambridge kejmbRidZ // PB + cambridge kejmbRidZ // PB + connecticut kVn'etikVd // PB + carlisle kAlajl // PB + china tjajn& .group d d d - A) de (_ D3 // PB change to D? + A) de (_ D3 A) d D // PB way too broad? a) d D // PB ad, udenad - dangerously broad + a) de (Cr D3 // PB badedragt - not testet + y) de D3 // PB brydehold Coe) de @-D // PB boede - Co) d (A D // do we need this one? - u) d (elt d // PB udelt + @) d (elt d // PB udelt, tildelt l) d // PB omit d after l - hold, skjold + d (ør d // PB bildør + d (et d // PB metaldetektor l) d (rig d // PB aldrig l) d (ig d // PB skyldig + bal) de l3 // PB silent d - balde l) d (a d // PB keep d in "baldakin" hel) d (i d // PB keep d in "heldig" fær) d // silent d in færd, færdsel @@ -623,12 +667,15 @@ _trienn) ale '&:l@ hjor) d d // PB exception - pronounce d in 'hjord' stikor) d // PB exception - silent d in 'stikord' d' d //PB d'Aviano - e.g. French and Italian names + woo) d d // PB Hollywood ud) d (A d A) d (C D A) dd D // PB hedder - "er" removed by &) er (_NS2 [V] A) d (s@ // PB fødsel - deleted 30+ rules, this one does the work + me) d (+ D // PB medspiller A) ds (_ s // PB silent d - palads, trods ø) d (L08+ D // PB nødstop + dø) d (s D // PB dødscelle be) d (st // PB silent d - bedst A) dd (A D // PB redder si) d (s // PB silent d - sidst @@ -639,6 +686,8 @@ stikor) d // PB exception - silent d in 'stikord' hår) d // PB silend d - hård, hårdere stri) d (s D // PB but not silent d in e.g. 'stridsvogn' u) d (C+ D // udsætte + pu) d (s // PB silent d - pudse + smu) ds s // PB tilsmudse u) dt (+ t // PB brudt plu) dsel sl/2 // PB silentg d - pludselig [pl'usli] in) d (C @@ -717,7 +766,8 @@ stikor) d // PB exception - silent d in 'stikord' fjer) d (e // PB silent d - fjerde L09A) d (ta D // PB modtage, medtage, nedtage in) d (u d - pro) d (u d + pro) ducer (_ dj'usV // PB + pro) ducer (assistent dj'usV // PB in) d (uC d mo) d (ul 'd pen) d (ul 'd // PB pendul @@ -727,19 +777,26 @@ stikor) d // PB exception - silent d in 'stikord' detente det'A:Nt // PB doughnut downVd // PB _) doc (_ dVk // PB Doc - name + dodge dVdZ // PB city + daiquiri d&k@ri // PB drink .group é // added by PB - é 'e: // idé, entré + é 'e // idé, entré .group e e e // PB e: => e - +// PB stress on second syllable after initial "be" in .group be +// Secondary stress after a syllable + &b) e (@ E, // PB hv'alrosbest,and // PB general rules l) e e - ll) e (d // PB silent e - billede + perl) e @ // PB + _dil) e (mma 'E // PB + ll) e (de // PB silent e - billede midl) er V // PB midlertidig elleve elv@ // PB _koll) e (ga 'e // PB stressed + _koll) eg (e 'ej // PB stressed kolleger r) e E // PB general rule: [E] after r // dr) e (C@ @ // PP sladresøster - not tested r) e (vn &# // PB revne @@ -757,17 +814,19 @@ stikor) d // PB exception - silent d in 'stikord' r) e (ng aj //PB general rule: [&#] after r before ng - streng, dreng r) e (ngø E // PB rengøre r) e (t &# //PB general rule: [&#] after r before t - ret + _tr) e (t e // PB tretal fr) e (l &# // frelse yr) e (+ @ // PB myretue, dyrehold r) e (h @ // PB general rule: [@] after r before h - fårehyrde, varehus @n) e (d @ // PB general rule: [@] after @+n before d - måned + n) e (dgang e // PB m) e (di+ e // PB medicin - _ans) e (+ e // PB avoid [V] in "anser" and [@] in "anse" rn) e (d+ e // PB derned an) e (r @ // PB anerkende L09) e (de E // nede, nederlag L09) e (t e // metal L09) e (l E // mellem + _m) e (l_ e // PB ed) e (r @ // nederlag tr) e (ma E' // trema s) e (dd E // PB seddel @@ -777,7 +836,6 @@ stikor) d // PB exception - silent d in 'stikord' dec) e (mber 'e // PB sept) e (mber 'e // PB eus Wws // PB for Greek names - Zeus, Achilleus -// aml) e 3 // PB gamle tel) e 3 // PB tele afl) e (v 3 // PB aflevere ri) e 3 // PB ferie @@ -789,10 +847,13 @@ stikor) d // PB exception - silent d in 'stikord' Ar) e (s_ 3_: // PB gøres r) eau o // PB bureaukratiske ee 'e: // PB ideer, cafeer + fr) ee (lan i: // PB freelance b) ee (d ee // PB beedige en) e @ // PB ene, eneste + en) e (rgi E // PB br) e (L09 & // PB bremse sn) e (K e? // PB sne, snebold + sn) e (rp E // PB snerpet sn) ed (k e e // PB silent d - snedker _s) e (_ e? // PB se e (mball A // PB emballere, emballage @@ -826,7 +887,7 @@ provenc) e // PB Provence - skip the e prov) e (nce 'A: // PB Provence e (gsot &# // PB blegsot e (gfi &# // PB blegfis - r) e (st &# // PB resten, restaurant + r) e (ste &# // PB resten, restaurant e (gansigt &# // PB blegansigt _kongr) e (s '& // PB kongres - stressed but not after a syllable _regr) e (s '& // PB regres @@ -851,8 +912,10 @@ _myxød) e (m 'e _syst) e (m 'e _teor) e (m 'e _ød) e (m 'e - _el) e (ndig 'e // PB stressed e in elendig - _leb) e (ndig 'e // PB stressed e in lebendig + el) e (ndig E // PB møgelendig - steressed with $alt rule + leb) e (ndig 'E // PB steressed with $alt rule + _ball) e (t@ 'E // PB balletdanser +_en_ball) e (t 'E // PB lini) e @ // PB changed from [e] to [@] ft) e (r @ // PB oftere r) e (nd a // PB rend @@ -865,10 +928,12 @@ _myxød) e (m 'e entente ANt'ANt // PB prof) essionel 'eSonel // PB eisenhower ajs@nhAuV // PB + eiger ajgV // PB Eiger mountain sp) ee (d i: // PB speedbåd // PB Words ending with e - general rule @) e (_+ 3 // PB husleje + afs) e (_ e // PB afse _) e (_speak i // PB eSpeak - capital s makes the e one word _) e (_mail i // PB e-mail // PB Words ending with -te @@ -878,6 +943,8 @@ _myxød) e (m 'e // PB Words ending with -se or -ce s) e (_ @ c) e (_ @ + overs) e (_ e + _ans) e (+ e // PB avoid [V] in "anser" and [@] in "anse" // PB Words ending with -ske (and ste, spe) L08) e (_ @ // PB påske, forske @@ -960,6 +1027,7 @@ _sakram) e (nte 'e L08) e (g a // PB steg, spegepølse _st) eg (_ e // steg - verb, problem with noun = "roast" best) eg (_ 'e // PB besteg + best) eg (et_ 'e // PB besteget n) egl ajl // PB negl r) egel Ejl // PB regel r) egl Ejl // PB regler @@ -968,6 +1036,7 @@ _sakram) e (nte 'e _) eget (_ a:j@D // PB eget r) eg (er Eg // PB e=> E eg (n aj // PB regn, tegning, lege +underl) eg ej // PB underlegen str) eg aj // PB stregen p) eg aj // PB pegefinger _) ege (_ e:j@ // PB added _ - ege(træer) @@ -980,6 +1049,7 @@ _sakram) e (nte 'e r) ej (s aj en (gage aN // engagere en (tre aN + en (tré aN // PB c) en (t en c) en (tA en c) en (tC en @@ -988,15 +1058,16 @@ _sakram) e (nte 'e r) en (ce AN // reference r) edd ED // PB redder br) edd Ed // PB bredde - _tr) e (t a // tretten + _tr) e (tten a // tretten _tr) e (d E // tredje - ej (+ aj // PB changed from ai to aj - nej + ej (++ aj // PB changed from ai to aj - nej, arbejde v) ej (r 'e v) ejr (e_ ajR // PB vejre v) ejr (er_ ajR // PB vejrer _offic) e (_ // office (officepakke) fl) e (de+ e // PB aflede &) edet (_ @D3d // PB hovedet + r) edet (_ ED3d // PB helbredet st) edet (_ ED3d // PB værkstedet Ad) en (@ @-n // udenlandsk, udenad Ad) en (t en // PB identificere @@ -1023,15 +1094,20 @@ _terap) eut 'Wwd // PB stressed ress) en (timent aN // PB ressentiment m) edie 'edj3 // medie, kommedie inds) e e // PB indse + inds) e (r_ e // PB indser etagere et&S'E:R // PB espeak ispi:k // PB eindhoven ajnh'o:f@n // PB einstein ajnstajn eyeliner ajlajnV // PB + ey i // PB jockey eiffel ajf3l // PB Eiffeltårnet _) earl W:l/2 // PB Earl + _) earp W:b // PB name + _) east i:sd // PB Eastwood eu (rop Wu // PB Europa - _t) e (_ e // PB + _t) e (_ e // PB te + kin) e (s 'e // PB kineser // PB plural suffix -ene @) ene (_S3 @n@ // brødrene - the brothers @@ -1047,6 +1123,7 @@ _terap) eut 'Wwd // PB stressed @) el (s @l // fødselsdag, fødselstal @) el (A @l // fødselar @) el (t_ @l // ædelt + t) el (t_ el // PB ilttelt // PB exceptions to the -el rule // PB final -el i da_list - stressed e @@ -1054,7 +1131,9 @@ _terap) eut 'Wwd // PB stressed &) el (l$p_alt ''E - modellen - only one l _) el el // elkedel + el (sk+ el // PB naturelsker bestandd) el el // PB + d) el (t+ el // PB tildelt d) el (A+ el // PB dele, omdele edd) el l/2 // PB seddel medd) el del // PB meddel @@ -1064,11 +1143,12 @@ _offici) el (+ 'el // PB officiel _mod) el 'el // PB modelbureau u) el (+ 'el // aktuel, seksuel, visuel gennemsku) el (ig =el - ur) el (+ '&#l // konjunkturel + ur) el (_+ '&#l // konjunkturel and) el el // andel and) el (se @l // PB forbandelse hand) el @l // handel i) el (+ 'el // arteriel, artificiel + i) el (t+ 'el // arterielt, artificielt spani) el @l // PB cockerspaniel dani) el el // Daniel ford) el el // fordel @@ -1121,7 +1201,7 @@ mortad) el 'el nuv) el 'el ovend) el el parall) el 'el - c) el 'el // parcelhus + parc) el 'el // parcelhus past) el 'el ped) el 'el procentd) el el @@ -1145,6 +1225,8 @@ stikked) el el tab) el 'el tarant) el 'el univers) el 'el +_frikad) el (l 'El // PB stressed - frikadelle +frikad) el (l El // PB verdensd) el el // t) el (+ el @) el (øs el // PB mageløs @@ -1158,8 +1240,8 @@ verdensd) el el // exceptions - don't remove "en" aft) en @n // PB avoid [Au] when aft(en) is translated &g) en (+ @n // PB avoid [g] when læg(en) is translated - _ag) en (t 'en // PB agent - ag) en (t en // PB agent + _ag) en (t 'en // PB agent + ag) en (t en // PB agent &g) en (st en // PB genstand &g) en (kend en // PB genkende &g) enn (em en // ugennemskuelig @@ -1181,11 +1263,15 @@ _præsid) en (t 'en // præsidentfrue g) en (st en // PB genstand g) en (sk en // PB genskabe t) en (A @n // PB TEST - femtenårig + st) en (A en // PB stenograf eksist) en (s 'en // PB eksistens _resid) en (s 'en // PB residens resid) en (s en // PB residens _acetyl) en 'en // PB _influ) en (za 'En // PB + s) en (sib AN // PB sensibel + _rev) en (che 'An // PB stressed + rev) en (che 'An // PB not stressed after a syllable // PB $alt words with final -ent in da_list - stressed e &) ent ($p_alt+ 'end // student @@ -1223,12 +1309,17 @@ _influ) en (za 'En // PB g) er (_++ V // våger, læger [ l'Ejer] g) er (t+ er // PB Gerta @g) erne (++ Vn@ // lægerne + fing) erne (m Vne // PB fingernem @d) erne (++ Vn@ // let the nd rule kick in - inderne g) er (n++ Er // gerning reag) ere (_ er3 // overreagere _reag) ere (_ 'er3 // overreagere + vurd) ere (_ er3 // overvurdere ng) er (_++ V // unger - j) er (n+ Er // jern, stjerne +revolv) er V // PB + all) er V // PB allersidst + j) er (n+ Er // jern + j) er (ne++ Er // PB stjerne bunk) er V // PB not a -er suffix alexand) er =dV // PB Alexander report) er V // PN not a suffix @@ -1246,7 +1337,7 @@ _perif) er 'er // PB stressed up) er (C V // PB superfølsom @d) er (C V // PB hæderlig - TOO BROAD? mm) er (C V // PB sommerhilsen - &f) er (@ @ // PB konference + &nf) er (@ @ // PB konference // not a -erne suffix _mod) erne (+ 'ern@ @@ -1257,6 +1348,7 @@ _perif) er 'er // PB stressed &kas) erne (+ ern@ _lant) erne (+ 'ern@ &lant) erne (+ ern@ + plant) erne (++ Vn@ _luc) erne (+ 'ern@ &luc) erne (+ ern@ _saut) erne (+ 'ern @@ -1296,16 +1388,19 @@ reserv) ert 'ert alt) er (nativ 'ER // PB stressed LOOK FOR MORE C) er (At V // PB probably way too broad - offeret + c) er (e+ e // PB velkvalificeret bl) er (e er // PB genetablere desp) er (at 3R // PB desperat d) er (fra er // PB derfra + d) er (et er // PB vurderet v) er (C+ Er // PB vers, verden øv) er (st V // PB perv) er (s 'er // PB stressed e - pervers Cav) er (+ V // PB laver, saver lev) er (C+ V // levertran led) er (@ V // lederkursus - @st) er (@ V // PB kryst*er*agtig + yst) er (@ V // PB kryst*er*agtig + _myst) er (iu 'e // PB mysterium _hyst) er (i 'er // PB hysterisk hust) er (i er // PB not stressed after a syllable - overhysterisk @st) er (ie 'er // PB ministeriet @@ -1314,6 +1409,7 @@ reserv) ert 'ert _h) er (++ Er // PB her h) erre (+ ER@ // PB herre hv) er (+ er // PB hver + enhv) er 'er // PB stressed fork) er (t+ er // PB forkert Cik) er (+ V // PB epileptiker, optiker kk) er (+ V // PB rykker @@ -1325,12 +1421,16 @@ reserv) ert 'ert _inf) er (no 'Er // PB inferno st) er (et r // PB orkesteret t) er (C V // PB lattermild + t) er (m Er // PB terminal + t) er (p Er // PB terpentin, terpe + t) er (mo Er // PB termometer t) er (r E // PB terror _) er (C %er // PB er + consonant: stress on next syllable - er'hverv _) er (go er // PB not stress on next in "ergo..." ov) er (+ V // PB overbevisende, sover am) er (ika_ 'er // PB Amerika - v) er (i Vr' // PB røveri - stressed i + _røv) er (i Vr' // PB røveri - stressed i + røv) er (i Vr // PB togrøveri sv) er (ige Er // PB ærg) err Erg // PB ærgerrig offic) er 'er // PB officer - stressed e @@ -1339,6 +1439,7 @@ reserv) ert 'ert n) er (t Er // PB genert _L06) er (_ &r // PB per L06L06) er V // PB klipper + sk) er V // PB fisker nd) er V // PB under _) er (_ &r // PB er L09) er (ne_ V // PB kameraerne @@ -1385,7 +1486,7 @@ L06L06) er V // PB klipper .group et // PB verb suffix -et (har elsket - has loved) // not treated as a suffix any more - &) et (_+ @D // PB elsket + @) et (_+ @D // PB elsket // PB exceptions: not a 'et suffix _sk) et et // PB sket @@ -1394,6 +1495,14 @@ L06L06) er V // PB klipper _rak) et 'Et // PB raket _toil) et 'Et // PB toilet, toilette _kok) et 'Et // PB stressed - koketteri, koket +_kvint) et 'Et // PB +_kvart) et 'Et // PB + kvint) et Et // PB + kvart) et Et // PB +_tromp) et 'et // PB stressed + tromp) et et // PB +_klarin) et 'et // PB +klarin) et et // PB meg) et (+ et // PB not a suffix om) et (++ 'et // PB kilometer, kometer r) et (_++ &#t // ret @@ -1406,6 +1515,7 @@ L06L06) er V // PB klipper amul) et 'et // PB alfab) et 'et // pb _bill) et 'et // PB stressed + bill) et et // PB _bill) ett 'et // PB stressed - only one t _kask) et 'et // PB stressed _bajon) et 'Et // PB stressed @@ -1480,7 +1590,8 @@ _vinaigr) ette '&t@ a) ff (ære f // PB affære a) ff (age f // PB staffage a) ff (utage f // PB - + ra) ff (e f // PB straffe + a) ff (el f // PB vaffel, taffel a) f (ro f // PB afroasiat, afroamerikaner, afrohår etc. a) f (re f // PB blafre @) fobi fob'i // PB xenofobi, hydrofobi @@ -1493,11 +1604,12 @@ _vinaigr) ette '&t@ Ca) f (t f Ca) f (A f ga) f (fel f + va) f (l f // PB vafler + ga) f (l f // PB gafler gra) f f gra) f (A f gra) f (C f ra) f (ik f - ra) f (fe f fire fi:V // PB fire sa) f (ar f sta) f (e f @@ -1543,11 +1655,13 @@ _vinaigr) ette '&t@ æ) g (e j æl) g (e j // PB sælge vælge y) g (e j // syge, ryge, myge - l) g (_ j + l) g (_ j // valg + l) g (et_ j // PB valget l) g (C j // PB bælgmørkt, bælgplante ø) g j // PB deleted (_ g (le j // PB mægler, besegle g (lem g // PB glemt + g )led g // PB gled val) g (t // PB silent g - valgt sy) g // PB silent g -sygdom spur) gte t@ // PB silent g - spurgte @@ -1556,9 +1670,10 @@ _vinaigr) ette '&t@ to) g (a g // PB exception toga to) g (o g // PB exception Togo to) g (t g // PB exception togt + vo) g (te g // PB bevogte ro) g (an g // PB arrogance ro) g (es g // PB progesteron - o) g (r g // autograf + o) g (raf g // autograf o) g (n u // PB g => u - vogn, sogn r) g (_ w r) g (er_ u // PB herberger @@ -1568,6 +1683,7 @@ _vinaigr) ette '&t@ u) g (enL11 g // PB ugengældt, ugenkendelig u) g (l ? ø) ge (+ :j@ // PB bøgetræ, øge + mø) ge (len :je // PB møgelendig ø) g (n j g (iv+ g // avoid letter "g" pronounced with phoneme S dra) g (en w // PB dragen, uopdragen @@ -1606,6 +1722,7 @@ _vinaigr) ette '&t@ geronimo dZer'VnimO:u // PB // PB final -gi in da_list - stressed i &) gi ($p_alt g'i // pædagogi + &) gi (sk$p_alt =gi // pædagogisk _lo) gi (_ S'i // logi lo) g (a g @@ -1668,6 +1785,7 @@ _korte) ge =Se _a) ge (re g'e // PB agere ge (nial ge // PB ge (ni Se // PB + ge (nind ge // PB genindspille ger (ning gEr // PB bud) ge (t S'E @@ -1685,10 +1803,20 @@ _korte) ge =Se housecoat hAuskowd // PB hitech hajtek // PB homer hom'er // PB Homer - Greek + hawaii h&w'a:ji // PB .group i i i // PB i: => i - made a lot of rules redundant ig (_ i // dejlig, rig + r) i (gg e // PB rigge + _l) ig (_stille ek // PB problem: lig = "dead body" and lig = the verb "lie" + _l) ig (_pænt ek // PB + _l) ig (_ordentligt ek // PB + _l) ig (_godt ek // PB + _l) ig (_roligt ek // PB + færd) ig i // PB silent g + hurt) ig i // PB silent g + ig (hed i // PB vittighed _k) ig (_ ig // PB kig _t) ig (_ eg // PB tig t) igg eg // PB tigge @@ -1698,6 +1826,7 @@ _korte) ge =Se l) ig (i ig // PB religiøs pl) ig (t ek // PB pligt ig (s i // PB silent g -rigsret +samtid) ig i // PB silent g mussol) i (ni 'i // PB _præc) i (s 'i // PB stressed _av) i (s 'i // PB stressed @@ -1708,11 +1837,14 @@ _molev) i (t 'i // PB stressed - molevitten _marskand) i (s 'i // PB stressed - marskandiser _princ) i (p 'i // PB stressed _mess) i (as 'i // PB + _mart) i (ni 'i // PB cocktail + _alb) i (no 'i // PB stressed n) ij (megen aj // PB Nijmegen n) i (gg e // PB nigger n) i (ss e // PB nisse skr) i (pt 'e? // PB stressed - manuskript r) i (ft e // PB skrift, rift, drift + v) i (ft e // PB vifte kr) i (cket e // PB f) i (sk e // PB l) i (lla e // PB @@ -1730,12 +1862,13 @@ _princ) i (p 'i // PB stressed iger i:V // PB piger p) igen i:3n // PB pigen kr) igen i:3n // PB krigen + dil) igen (ce iS'AN // PB diligence kr) igs is d) ige (r ig'e // PB redigere rr) ige (r ig'e // PB korrigere nav) ige (r ig'e // PB navigere dir) ige (r ig'e // PB dirigere -intell) ige (nt ig'e // PB intelligent +intell) ige (n ig'e // PB intelligent fr) igea (r igi // PB frigear _) ige (n ig'E // PB igen rol) ige iE // PB rolige, beroligende @@ -1750,6 +1883,7 @@ intell) ige (nt ig'e // PB intelligent // v) i (ng e // PB vinge // s) i (nk e // PB sinke i (nL11 e //PB blinke, sinke, vinge, sving + v) i (nkæld i // PB vinkælder s) i (d e // PB sidde s) i (ds i // PB sidst t) i (n e // PB stinke @@ -1760,6 +1894,8 @@ intell) ige (nt ig'e // PB intelligent dr) i (l e // PB drille br) i (lle e // PB briller i (dt e // PB midt, lidt + b) i (dt i // PB bidt + sm) i (dt i // PB sk) i (dt i // PB skidt mask) i (n 'i // PB stressed - maskinskrive h) i (d i // PB hidtil @@ -1773,6 +1909,7 @@ intell) ige (nt ig'e // PB intelligent f) i (nt_ i // PB am) i (go 'i // PB amigo magas) i 'i // PB magasin + _kap) i (tel 'i // PB stressed asp) i (c 'i // PB aspic - only this word // PB words with final -id in da_list - stressed i @@ -1793,6 +1930,8 @@ intell) ige (nt ig'e // PB intelligent &r) ik ($p_alt ''ek // fabrik &) ik (k$p_alt ''i // antikke - only one k &r) ik (k$p_alt ''e // fabrikker - only one k + mim) ik (er ik // PB mimiker + kom) ik (er ik // PB not stressed // PB words with final -ti in da_list - stressed i &t) i ($p_alt 'i // politi @@ -1800,6 +1939,28 @@ intell) ige (nt ig'e // PB intelligent // PB words with final -inde in da_list - stressed i &) inde ($p_alt 'en@ // malerinde +// PB French words with final -ier + atel) ier j'e + bank) ier j'e +barbad) ier j'e + coll) ier j'e + croup) ier j'e + den) ier j'e + doss) ier j'e +elegant) ier j'e + espal) ier j'e +financ) ier j'e +finans) ier j'e +grenad) ier j'e +konferenc) ier j'e +kostum) ier j'e + lanc) ier j'e + met) ier j'e +particul) ier j'e + port) ier j'e + rent) ier j'e + spal) ier j'e + L10am) i (lla 'i // PB Camilla, Kamilla _alib) i 'i // PB alibi _fob) i 'i // PB fobi @@ -1807,14 +1968,20 @@ _konfl) i (kt 'i // PB stressed _pap) i (r 'i // PB stressed _tap) i (r 'i // PB stressed _vels) i (gn 'i // PB stressed + _just) i (ts 'i // PB + _kul) i (ss 'i // PB kulisse i (nn e i (mK e l) i (m i // PB lim gl) i (m e // PB glimt, glimrende i (kK e // PB ikke, pik + @t) i (k i // PB ferieromantik + sk) i (k i // PB skikkelse + _art) i (k 'i // PB stressed artikkel m) i (k i // PB mikroskop g) i (k+ i // PB begik i (x e // PB fixe + m) i (ks e // PB mikse mus) i (k i // PB musik it) i (k i // PB politik _g) i (k_ i // PB @@ -1842,11 +2009,12 @@ _konfl) i (kt 'i // PB stressed r) i (k e // PB drik, skiderik l) i (dt e // PB lidt L08) i (l_ e // PB spil, skil - _st) i (l_ i // PB stil + st) i (l_ i // PB stil L08) i (lt e // PB skilt, adskilt spl) i (n e // PB splint L08) i (ll e // PB spille - problem with the verb (ud)spile/(ud)spil[sbil] L08) i (ld i // PB spilde + sk) i (ldr e // PB skildring m) i (dda e // PB middag m) i (ste e // PB miste p) i (nd e // PB pind @@ -1880,6 +2048,21 @@ _polit) i 'i // PB politi, politik - stressed i all) igevel 'i@vEl // PB stressed i - alligevel _band) i (t 'i // PB bandit _vedl) i (ge 'i // PB vedligeholde +dispon) i (bel 'i // PB stressed + eksig) i (bel 'i // PB stressed + fleks) i (bel 'i // PB stressed + fung) i (bel 'i // PB stressed + horr) i (bel 'i // PB stressed +irrevers) i (bel 'i // PB stressed +kompat) i (bel 'i // PB stressed +konvert) i (bel 'i // PB stressed + pen) i (bel 'i // PB stressed +perfekt) i (bel 'i // PB stressed + plaus) i (bel 'i // PB stressed +revers) i (bel 'i // PB stressed + sens) i (bel 'i // PB stressed +suggest) i (bel 'i // PB stressed + vis) i (bel 'i // PB stressed _medl) i (denhed 'i // PB medlidenhed - stressed _omkr) i (ng 'e? // PB stressed e in 'omkring' kn) i (p e? // PB knippel @@ -1889,7 +2072,9 @@ _polit) i 'i // PB politi, politik - stressed i _re) i (ster 'i // PB register - stressed ii r) i (st e // PB brist, rist d) ie (sel i // PB dieselolie - k) io (sk jV // PB kiosk + k) io (sk jV // PB kiosk + tr) i (ck e // PB trick +_franc) i (sco 'i // PB // PB put stress on the syllable before final 'ium' - words in da_list &) ium ($p_alt =iOm // territorium @@ -1909,7 +2094,6 @@ _polit) i 'i // PB politi, politik - stressed i r) i (si e // PB risikere r) i (siko i // PB risiko -// r) i (sl e // risle p) i (ll e // PB pille lat) i (nis i // PB latinisme k) i (et 'i // PB Tyrkiet @@ -1980,6 +2164,7 @@ _terap) i 'i des) ign ain ingen) i (ør ant) igone 'igon@ // PB Antigone - Greek name + image imidZ .group in @@ -2031,13 +2216,18 @@ _sport) iv 'iw j j j (aw dZ - j (ack dZ + ja (ck dZ& + jerry dZeri // PB j (ob dZ j (ohn dZ + joe dZOu + jackie dZ&ki // PB + jo (ckey dZV // PB _) j (im_ dZ // PB _) j (eff dZ // PB j (azz dZ // PB je (t dZE // PB jetfly + ø) j (et j // PB øjet, overtøjet j (ungl dZ // PB jungle _) jersey (_ dZW:si // PB New Jersey _) jersey (s_ dZW:si // PB New Jerseys @@ -2048,6 +2238,7 @@ _sport) iv 'iw en) j (ambe S // PB enjambement ro) j (ekt S // projekt a) j (ou S // ajour + j (ongl S // PB jonglør j (ournal S // PB journal ma) j (or j' // PB major j (uice dZ //PB juice @@ -2070,7 +2261,12 @@ _sport) iv 'iw kumquat kVmkwVd // PB &) kvarter kvarter // PB kommandokvarter s) k g + _spe) k (takk ' // silent k, stresssed a - spektakkel + _spe) k (takl ' // silent k, stressed a - spektakler + spe) k (takk // silent k - spektakkel + spe) k (takl // silent k - spektakler &) k k // after stressed vowel + _) kate (_ kEjt // PB name // &) kk g .group l // PB l changed to l/3 in ph_danish @@ -2085,7 +2281,8 @@ _sport) iv 'iw &) log (i$p_alt log' // mytologi // PB nouns in da_list with final -let - stressed e - &) let ($p_alt l'et // amulet + &) let ($p_alt l'Et // amulet + &) let (t$p_alt l'E // avoid double t - toilettet s) l l/2 // PB add a bit more to l after s f) l l/2 // PB add a bit more to l after f @@ -2099,9 +2296,12 @@ _sport) iv 'iw leger lajV // PB leger legem lE@m // PB legemsdel lotion l3uSjn // PB håndlotion + lorraine loRE:n // PB name + he) lg (e lj // PB Helge, helgen levere lev'eV // PB -// lever lev'er // PB + _) lee (_ li: // PB the name Lee @) levere leveV // PB + ley li // PB volley .group m m m // PB m? -> m @@ -2109,6 +2309,8 @@ _sport) iv 'iw m (A m gour) mand %mAN // PB gourmand _gour) mand m''AN // PB gourment + _) mannequin m&n@k'EN // PB + mannequin m&n@kEN // PB _) mere (_ mer // PB mere matine m&tin'e // PB _) meget (_ ma:j@D // PB meget @@ -2127,6 +2329,7 @@ _sport) iv 'iw miguel _^_ES // PB madero _^_ES // PB money mVni // PB + makeup mEjk'Vb // PB .group me // PB General rule for words with -ment @@ -2194,7 +2397,7 @@ _posse) ment m'AN // PB possement _raffine) ment m'AN // PB raffinement _ressenti) ment m'AN // PB ressentiment _ræsonne) ment m'AN // PB ræsonnement -_signale) ment m'AN // PB signalement +_signale) ment m''AN // PB signalement _sorti) ment m'AN // PB sortiment _supple) ment m'AN // PB supplement _tempera) ment m'AN // PB temperament @@ -2238,8 +2441,11 @@ _bombarde) ment m'AN // PB bombardement // exceptions A) nd (el nd // PB andel, ejendel e) nd (elig n // PB endelig + ve) ndig ndi // PB udvendig ha) nd (el n // PB ke) nd (el nd // PB kendelse + nd (om nd // PB ejendom + nd (ød nd // PB stendød bi) nd (e n // PB forbindelse u) nde (l n // PB silent de - misundelig ble) nd (e nd // PB blender @@ -2248,6 +2454,8 @@ _bombarde) ment m'AN // PB bombardement mi) nde (li n // PB almindelig ele) nd (ig nd // PB nødve) nd (ig nd // PB + vi) nd (u nd // PB vindue + i) nd (oki nd // PB Indokina evi) nde (li n@ // PB evindelig y) nd (el n // PB begyndelse ba) nd (el n // PB forbandelse @@ -2259,6 +2467,7 @@ _bombarde) ment m'AN // PB bombardement u) nd (re nd // PB beundre va) nd (re nd // PB vandretur _i) nd (er+ nd // inder + i) nd (erst+ n // PB marska) nd nd // PB marskandiser _bagi) nd nd // PB Bagindien adde) nd nd @@ -2281,46 +2490,32 @@ subtrahe) nd nd sta) nd (ar nd // PB standard - keep the d i) nd (eks nd i) nd (i nd // PB Indien, individ, indianer + ti) nd (in n // PB tinding vi) nd (in n // PB udvinding i) nd (imellem n // exception i) nd (erl+ n // PB inderlig eku) nd nd .group ng - ng (_ N - A) ng (e_ N // mange, penge - A) ng (et_ N // ringet - A) ng (ede_ N // ringede - A) ng (ene_ N // PB pengene - A) ng (er_ N // PB hænger - A) ng (en_ N // PB ingen - A) ng (el N // PB engel - A) ng (ning_ N // PB hængning - ng (s N - - _a) ng (A ng + ng (_ N // general rule - ting, ring + A) ng (e N // general rule - mange, penge + allo) ng (e NS // PB + _ri) ng (o ng // PB Ringo - name + hæ) ng N // PB hængning + pi) ng N // PB pingvin + ng (s N // magengs + _a) ng (A ng // PB do we need this one? cha) ng (ement Nsj // PB changement ora) nge Nsj3 // PB orange ng (a ng - ng (i ng i) ng (s N - u) ng (e N - ba) ng (e N - fa) ng (e =N - fi) ng (er =N + fi) nger =NV _fi) ng (ere ng // PB fingeret + fi) ng (eren+ N // PB fi) ng (re =N - fu) ng (er Ng -// ga) ng (e N - la) ng (e N - li) ng (e N - læ) ng (e N - ru) ng (e N - se) ng (e N - ti) ng (e N + fu) ng (er Ng // fungere ti) ng (ent Ng - træ) ng (e N - arra) ng NS + arra) ng NS // arrangere .group o @@ -2350,11 +2545,14 @@ elektr) o (de 'o _biot) o (p 'o // PB stressed _isot) o (p 'o // PB stressed o (L06 V // PN op, opdrage, obstruere + vide) o o // PB videobånd gl) o o // PB global kn) o (b o // PB + br) o (ccoli V // PB helik) o (pt 'V // PB stressed - helikopter p) o (pu o // PB populær p) o (t V // PB potte + d) o (nald V // PB name p) o (tA o // PB potage o (per o // PB opera sk) o o // PB skopudser @@ -2370,16 +2568,20 @@ elektr) o (de 'o sj) o (f o // PB sjofel o (be o // PB oberst, koben r) o (L06 o // PB problem + pr) o (p V // PB blodprop kr) o (p V // PB gr) o (g V // PB groggy + hvalr) o (s V // PB _eur) o (pa 'o // PB stressed dr) o (p V // PB droppe r) o (nt V // PB front er) o (p V // PB herop + o (lm V // PB olm, holm _) obo ob'o // PB Ca) o (s V // PB kaos Laos r) o (ma o // PB romantik - or (g+ V: // PB sorg, morgen + org (+ V:w // PB sorg, morgen, Norge + o (rga+ V // PB organ r) or (g oR // PB rorgænger kont) o (r 'o // PB kontor - stressed korrid) o (r 'o // PB @@ -2406,16 +2608,19 @@ mening) oko (k ok'V // PB meningokokker h) o (ll V // PB Holland _horis) o (n 'V // PB horisont o (nt V // PB dont - n) o (n V // PB nonne, nonkombattant + n) o (n V // PB nonne, nonkombattant _kan) o (n 'o // PB stressed kan) o (n o // PB not stressed after a syllable o (dds V: // PB odds o (sse V // PB tosse, nosse j) o (b V // PB job mon) o (k 'V // PB monokel - stressed - ov (A+ Vu // PB over, oven + ov (e+ Vu // PB over, oven + k) ov (end ov // PB kovending + ov (ærn+ ov // autoværn h) ov (+ Vu // hov, sove - ov (_+ Vw // PB sjov, lov, skov + ov (+ Vw // PB sjov, lov, skov + sk) ov (tur Vw // PB l) ov (_mig_ ow // PB from the verb "at love" ov (s_+ Vw // PB sjovs, lovs, skovs ov (t_+ Vw // PB sjovt @@ -2424,8 +2629,11 @@ _horis) o (n 'V // PB horisont ov (p Vw // PB lovprise v) ov (e Ov // PB vove o (fC V // PB ofte - n) ov (+ ov // PB nova, november + n) ov (++ ov // PB nova, november _C) o (k 'V // PB beginning with 1 consonant followed by o and k: sok, nok, kok + p) o (ka o // PB pokal + p) o (ker o // PB + bet) on VN // PB betonen k) o (ke O // PB koket d) o (ku o // PB dokument ch) o (ko o // PN chokolade @@ -2442,6 +2650,7 @@ _horis) o (n 'V // PB horisont o (rk V // PB orke orkester g) o (dt V // PB godt, godte k) or (p V: // PB korps + k) or (pi or // PB korpige k) o (rre V // PB korrekt g) od (tr oD // PB godtroende g) od (tAg oD // PB godtage, godtog @@ -2456,11 +2665,13 @@ _horis) o (n 'V // PB horisont s) orer 'o:V // PB professorer L08) o (f V // PB stof l) o (ft V // loft + l) o (dr V // PB lodret _l) o (g_ V // PB log l) o (gg V // PB logge på + l) o (gbog Vg // PB o (lf V // PB golf, Adolf b) o (ll V // PB bolle - l) o (ve+ ou // PB love + l) ov (e+ ou // PB love l) ondon VndVn // PB London od_ VD // PB - od, vod, skod odd (A VD // PB - odder - only this word @@ -2473,9 +2684,11 @@ _horis) o (n 'V // PB horisont _pil) o (t 'o // PB stressed - pilot _idi) o (t 'o // PB stressed _matr) o (s 'o // PB stressed +_metad) o (n 'o PB stressed + ang) o (la 'o // PB stressed L09) o (va o // PB nova, renovation - r) o (vA+ ov // PB provokere - h) o (ved o: // PB hoved + pr) o (vA+ ov // PB provokere + h) oved o:@D // PB hoved tr) o o // PB tro kn) o (tt V // PB knotten kn) o (tn V // PB knotne @@ -2492,8 +2705,10 @@ _horis) o (n 'V // PB horisont t) or (e o // PB faktorer t) or (en V // PB faktoren, doktoren oy (+ 'Vj // PB destroyer, royal, loyal + _f) oyer O@j'e // PB + f) oyer O@je // PB st) o (r+ o // PB stor - p) o (r O // PB porno + p) o (r O // PB porno _m) o (C o // PB m + o + consonant: mor, mord, m) o (ms V // PB m) o (kk V // PB mokke, mokka @@ -2511,18 +2726,24 @@ _horis) o (n 'V // PB horisont t) oi o& // PB toilet d) o (k o // PB dokument l) o (kA o // PB lokal + bl) o (k V // PB blokere + br) o (d V // PB brod, brodne + br) o (de o // PB broder, brodere k) o (ka o // PB kokasse, kokain s) o (pr o // PB sopran oregonpine VregVn||pajn // PB + oklahoma okl&h'om& // PB c) ogn (ac VN // PB b) o (m o // PB bombe L11) o (m V // PB gommen, brudgom, kom, velkommen + k) o (mi o // PB komiker L11) o (ma o // PB koma, narkoman L11) o (mman o // PB kommando p) o (m V // PB pomp Xl) o (m V // PB lom, lomme, blomst pl) o (m o // PB exception from the rule above (Xl) o (m) - plombe o (m V // PB om, ensom VERY BROAD + f) o (m o // PB nymfoman fot) o o // PB r) o (mA o // PB romer b) o (mu V // PB bomuld @@ -2547,10 +2768,14 @@ _horis) o (n 'V // PB horisont o (se o: // PB rose, skose, pose h) o (spice V // PB hospice C) o (st V // PB post, moster + r) o (st o // PB rost + fr) o (st V // PB + f) oged o:@D // PB silent g k) o (sC V // PB kosmisk k) o (st o // PB kost (broom) Problem with kost = food k) o (ste V // PB verb - koste = brooms will be mispronounced frok) o (st V // PB + omk) o (st V // PB omkostninger pr) o (s o // PB prostitueret st) o (mi o // PB stomi h) o (st o // PB host @@ -2572,6 +2797,7 @@ _astron) out awd // PM oun aVn // PB discount kl) oge ow,@ nark) o (tik 'o // PB narkotika, narkotisk + _ansj) o (s 'o // PB stressed ul) o (v 'V // PB stressed o - ulovlig h) o (ng V // PB Hongkong k) o (mmu o // PB kommunisme @@ -2582,6 +2808,7 @@ _filos) o (fi_ o' // PB _filos) o (fisk 'o //PB mem) oire o'A: // PB memoire(r) aprop) o (s 'o // PB + r) oastbeef Ousdbif // PB roastbeef // PB final -ol words in da_list - stressed o &) ol ($p_alt+ 'ol // parabol @@ -2590,6 +2817,7 @@ _filos) o (fisk 'o //PB &h) ol (i$p_alt+ 'ol // alkoholisk &ok) ol ($p_alt+ 'Vl // protokol &t) ol ($p_alt+ 'Vl // chatol + &nt) ol ($p_alt+ 'ol // mentol &tr) ol ($p_alt 'Vl // kontrol &tr) ol (e$p_alt 'ol // petroleum &tr) ol (l$p_alt 'o // kontrollere @@ -2601,6 +2829,7 @@ _filos) o (fisk 'o //PB L11) o (ld V // PB kold, gold ravi) o (li 'o // PB stressed o j) o (l V // PB jolle, fjols, fjolle + p) o (llen V // PB pollen kj) o (l o // PB kjole kj) o (ld V // PB skjold L06) o (ld V // PB bold @@ -2616,11 +2845,12 @@ _filos) o (fisk 'o //PB h) o (lo o // PB hologram h) o (le // PB hole s) o (ld V // PB solde - s) o (lgt V // PB solgt - exception + s) olgt Vlt // PB solgt - exception tr) o (ld V // PB trold kn) o (ld V // PB knold sn) o (t V // PB snot or (l O: // PB orlov + oscar VskA // PB .group on @@ -2650,14 +2880,18 @@ dødvægtt) on Vn kol) onn 'Vn // kolonne - only one n, stressed kompagn) on VN orl) on Vn - maked) on 'on // PB makedoner +_maked) on 'on // PB makedoner perl) on Vn @sal) on VN @tal) on VN + _sæs) on 'VN tefl) on Vn t) on (_ Vn // ton, kiloton + t) on (ic Vn // PB t) on (s_ Vn // PB tons + t) on (sv Vn // PB tonsvis alf) on (s 'VN // PB alfons + f) ond Vnd // PB ball) on 'VN on (du Vn // ondulere @@ -2708,7 +2942,7 @@ _kondens) or =V _process) or =V _profess) or =V _provis) or =V -_revsi) or =V +_revis) or =V _success) or =V // PB when "ord" means 'word', the d isn't pronunced @@ -2717,6 +2951,7 @@ _success) or =V k) ord (el Vrd // PB kordel hv) ord (an Vrd // PB hvordan m) ord (A ord // PB morder + m) ord (et oR // PB mordet f) ord (æ Vd' // PB fordærve f) ord (ø Vd' // PB fordømme ord (en+ Vrd // PB orden, ordensmagt @@ -2742,7 +2977,10 @@ _success) or =V &t) orium ($p_alt 'oiOm // don't spoil the -ium rule - laboratorium // PB no stress on initial 'for' - 1.550 words. - _f) or (@+ %V +// Secondary stress on the next syllable after a syllable. + _f) or (@+ %V // PB fork'ølet + f) or (@ V, // PB s'ommerfork,ølet + // exceptions to initial 'for' below - 'for' means "front/fore" _f) or (a_ 'V // PB fora (plur. of 'forum') _f) or (an_ 'V // PB foran @@ -2772,6 +3010,7 @@ _success) or =V _f) or (dæk_ 'V // PB fordæk _f) or (dæks 'V // PB fordæks _f) or (dækkene 'V // PB fordækkene + _f) or (dør 'OR // PB _f) ore (+ '0:@ // PB foreberinge, foregribe _f) ore (n V'e: // PB forene, forening _f) or (el_ or // PB forel @@ -3006,12 +3245,14 @@ _success) or =V .group r r R + rr R rickshaw rekSV: // PB rickshaw rickshawer rekSV:V // PB rickshawer recut rikVd // PB reggae REgEj rioja ri'Vk& ramirez _^_ES + reece ri:s // PB name r (K r // not followed by a vowel hve) r r // PB hver b) r r // bror @@ -3021,9 +3262,11 @@ _success) or =V he) r (_ r // PB her e) re (s 3 // PB jeres, deres @) re (_ V // PB "re" ending a word - være, sejre + _ent) re (_ R'e // PB entre bu) rd (eK rd A) r (er_N // silent r - skærer - &) re (_N V // silent r - skære + A) re (_N V // silent r - skære + g) re (_ rV // PB yngre sa) rd (el rd // PB sardel ga) rd (e rd // PB garde ve) rd (eKK rd @@ -3048,6 +3291,7 @@ transpo) r (t //PB transport s s ss s sc s // PB scene + sco (t skV // PB Scotland Yard // PB/JD s suffix - $alt words in da_list // 2-3.000 words end with s, so this cannot be a general suffix. // There would be too many exceptions. @@ -3095,7 +3339,9 @@ franci) sc (o sk // PB Francisco si (on S // PB changed from "s (ion S" - division s (j s sch S // PB changed from [s(ch] - gullasch + sh (erif S // PB schweiz svajts + sioux su: // PB red indian al) s (ace 's // PB Alsace (French region) _) sion si:Vn // PB Sion, Sions kirke shine sjajn@ // PB @@ -3129,6 +3375,7 @@ franci) sc (o sk // PB Francisco _) sig (_selv saj // PB noget for sig selv for_) sig (_ saj // PB se noget for sig fra_) sig (_ saj // PB slå fra sig + stå_) sig (_ saj // PB stå sig godt med _) sig (_alene saj // PB klare sig alene vende_) sig (_ saj // PB erklære_) sig (_ saj // PB @@ -3136,6 +3383,7 @@ erklære_) sig (_ saj // PB hygge_) sig (_ saj // PB skød_) sig (_ saj // PB tog_) sig (_ saj // PB + ør_) sig (_ saj // PB klør sig, gør sig _) sig (_ud_ saj // PB rode sig ud i _) sig (_af_ saj // PB tage sig af ak_) sig (_ saj // PB drak sig fuld @@ -3171,7 +3419,8 @@ kompromi) s ' // PB stress added tt t _) t (_ te: // the letter T _) t (_shirt t'i:% // PB T-shirt - e) tt (@ t|t // PB ettiden, ettal + e) tt (id t|t // PB ettiden + e) tt (al t|t // PB ettal le) tt (e t // PB slette p) t t // PB toptitel s) t d // PB stor @@ -3181,9 +3430,11 @@ kompromi) s ' // PB stress added ve) t (er t // PB veteran vi) t (er t // PB inviter teress (ant tr@s // PB interessant - in) teresse t@r'&s@ // PB interesse + in) teresse t@r'as@ // PB interesse + in) teresser t@r'asV // PB interesse in) teresseret tr3s'er@D // PB interesseret in) teresserer tr3s'erV // PB interesserer + in) teressere tr3s'erV // PB interessere // er) t d // PB kuffert r) t (e t // PB abortering re) t (+ t // ret @@ -3210,6 +3461,9 @@ glemen) t (al t tennessee tEn@si // PB teenage ti:nEdZ // PB teenager ti:nEdZV // PB + tracy trEjsi // PB + tombstone tu:msdoun // PB + town tAwn // PB // PB final -tek - stressed e _apo) tek t'ek _biblio) tek t'ek @@ -3281,6 +3535,7 @@ meningi) ti (s =ti ti (on+ S // bastion, station ti (øs+ S // tendentiøs pa) ti (ent S // PB patient + kvo) ti (en S // PB kvotient r) til tel // PP hertil, dertil _poli) ti (k t'i // PB politik @@ -3296,10 +3551,12 @@ meningi) ti (s =ti u (gle+ u // ugle u (hyre+ u u (enig+ u' + u (denfor+ u // PB u (dgrundelig+ u // PB + u (imodståelig u // PB u (ni++ u // uniform, universitet u (den u // udenfor - u (ng+ 0 + u (ng++ 0 u (ge++ u // ugerne u (r++ u // ur, urrem, uret _) u (retfæ++P1 u // uretfærdig - prefix @@ -3338,6 +3595,7 @@ meningi) ti (s =ti // PB final -ut in da_list - stressed u &) ut ($p_alt 'ut // rekrut + &) ut (t$p_alt 'u // rekrutter - avoid double t // PB most of the words with ud-: [uD] - udpege _) ud (@@+P2 ''uD @@ -3351,10 +3609,12 @@ meningi) ti (s =ti _) ud (øbt+P2 ud _) ud (ød+P2 ud // udødelig _) ud (åd+P2 ud - + _) ud (en+ uD u (nK u u (nL08 O // PB kunst br) unch VnS // PB + st) u (nt V // PB stuntman + b) urg (er Wg // PB u (ng O // PB ung u (mK O _) usa (_ u:|es|'& // PB @@ -3362,9 +3622,11 @@ meningi) ti (s =ti s) ur (fe 3: // PB surfe, surfer s) ur (fb 3: // PB surfbræt u (nd O // PB underligt, undtage + p) u (nd u // PB pund _sek) u (nd 'O // PB stressed _glas) u (r 'u // PB stressed _abs) u (rd 'u // PB stressed + _fig) u (r 'u // PB stressed l) u (f 0 // PB luft l) u (n_ u // PB lun l) u (ne u // PB lune @@ -3403,6 +3665,7 @@ centrif) u (g 'u // PB stressed k) u (l O // PB kulmine hovedk) u (ls u // PB k) u (ld u // PB kulde + omk) u (ld 'u // PB k) u (le u // PB kule sk) u (ll+ u // PB skulle k) u (lt u // PB kultur @@ -3446,6 +3709,7 @@ hovedk) u (ls u // PB val) u (ta 'u // PB stressed _der) u (d 'u // PB stressed - derud r) u u + r) u (p O // PB korrupt r) u (m O s) u (cc y b) u (dget y @@ -3454,7 +3718,9 @@ hovedk) u (ls u // PB parf) u (me 'y // PB proced) u (re y proven) u y - nat) u (rel y // PB naturel + nat) u (rel_ y // PB naturel + _kost) u (me 'y // PB + kost) u (me y // PB s) u (rrel Y // PB surreel s) u (rrea y // PB surrrealistisk t) u (berkul y // PB tuberkulose @@ -3470,7 +3736,7 @@ proven) u y .group v v v vv v - o) v (A // PB love - handled by group o +// o) v (A // PB love - handled by group o L09o) v (A v // OV nova renovation pro) v (ence v // PB Provence in France i) v (l u // PB tvivl @@ -3510,6 +3776,10 @@ proven) u y w (assermannprøve v // PB wassermannprøve wien vin // PB wienerbrød weekend wi:gEnd // PB + wisconsin wesk'Vnsen + wright _^_EN // PB + willie wili // PB + _) wild wAjld .group x @@ -3523,7 +3793,8 @@ proven) u y y y - r) yg (_ @k // PB ryg + r) yg (_ @k // PB ryg (noun "back") - problem with "ryg" (verb) = "smoke" + r) yg (_en y // PB "ryg en cigar" r) yg (C '@k, // PB rygrad r) y (s W // PB ryste fr) y (s y // PB fryse @@ -3538,9 +3809,9 @@ proven) u y sm) y (k W // PB smykke lib) y i // // PB Libyen l) y (st @ // PB problem with lyst = blond, light coloured + _l) y (ste_ y // PB &l) y (st y // PB åbenlyst - fl) y y (+ // PB flystøtte -// till) y (kke 'W // tillykke - stressed y + fl) y y // PB flystøtte L08) y (t W // PB spyt, skyts sk) y (ti y // PB Skytien, skytisk sk) y (ter y // PB skyter @@ -3557,7 +3828,8 @@ _molek) y (le 'y // PB stressed n) y (t Y // PB nyt n) y (tt W // PB nytte, benytte n) y (k W: // PB nyk - kn) y (t W: // PB tilknytte + kn) y (tt W: // PB tilknytte + kn) y (t y // PB knyt k) y (s W // PB kys k) yss Ws // PB kysse k) y (se y: // PB kyse @@ -3569,6 +3841,7 @@ _molek) y (le 'y // PB stressed s) y (nkroc W // PB synkrocyklotron y (ng+ W // PB syng, yngre l) y (n y // PB lyn + kl) y (nk W // PB klynke pl) y (n W // PB plyndre fl) y (t_ W // PB flyt fl) y (tt W // PB flytte @@ -3582,6 +3855,7 @@ _molek) y (le 'y // PB stressed yacht jagd // PB lystyacht york JV:k // PB yankee j&nki // PB + luc) y i // PB ken) y (a j // PB d) y (_ i b) y (A y @@ -3600,8 +3874,9 @@ _molek) y (le 'y // PB stressed // PB nouns ending with -ær in da_list - stressed last syllable &) ær ($p_alt 'Er // elementær - æ (CK E +// æ (CK E r) æ (d a // PB forræder + pr) ædi ED // PB prædiken æ (bK E // PB dræb, slæb æ (bt &# // PB dræbt sl) æ (L06 E // PB slæbt @@ -3612,23 +3887,27 @@ _molek) y (le 'y // PB stressed kr) æ (m &# // PB skræmme, kræmmer r) æ (n &# // PB changed from [Aj] - rænke r) æ (k &# // PB række + r) æ (t &# // PB åndedræt pr) æ (k E // PB præke bl) ære EV // PB blærerøv gr) æ (ken E // Grækenland skr) æ (dd a // PB skrædder br) æ (dd a // PB brædder br) æ (t &# // PB bræt + dr) æ (gtig &# // PB nederdrægtig pr) æ (st & // PB præst tr) æ (t & // PB træt tr) æ (f &# // PB træffe gr) æ (n & // PB grænse - gr) æ (s & // PB græs + gr) æ (s &# // PB græs gr) æ (d &# // PB græde f) æ (re 'E: // PB affære, atmosfære, sfære gev) æ (r 'E // PB gevær besv) æ (r 'E // PB besvær afh) æ (ngig 'E: // PB stressed e _pal) æ 'E // PB stressed +_porcel) æ (n 'E // PB stressed + _pygm) æ 'E // PB stressed t) æge E:j@ // PB tæge t) æe (r E // PB tæer pr) æ (ge E: @@ -3636,6 +3915,7 @@ _molek) y (le 'y // PB stressed ærger E:ruV // PB sværger ævl Eul // PB majest) æ (t 'E // PB stressed æ + ærinde ERn@ // PB .group ø // røveren [V] faldt på røven [W#] og skød [W] en møgkælling [Vj] @@ -3645,6 +3925,8 @@ majest) æ (t 'E // PB stressed æ ff) ø (r 'W // PB stressed in 'chauffør' _milj) ø 'W // PB stressed - miljø obsk) ø (n 'W: // PB stressed + _nev) ø 'W // PB stressed + _am) ø (be 'W // PB stressed g) ø (r '@: h) ø (j V ø (je W# // PB øje @@ -3703,8 +3985,12 @@ majest) æ (t 'E // PB stressed æ s) å (_snart V // PB s) å (_få V // PB s) å (kald V // PB såkaldt + s) å (mænd V // PB + jas) å (_ 'V // PB jaså alts) å V // PN altså hvorn) år 'O? // PB hvornår - stressed +uimodst) å (elig 'O // PB stressed + forh) åbentlig 'ObEntli // PB stressed h) år V:? // PB hår, hård bl) å (@ V // PB blåbær, blågrå å (nd V // PB hånd, ånd, bånd @@ -3718,10 +4004,11 @@ majest) æ (t 'E // PB stressed æ L08r) å (t V // PB skråt m) å (t V // PB måtte _p) å V // PB påmontere + t) å (lmo V // PB tålmodig _p) åse Vse // PB påse r) å (t V // PB gråt r) å (bt V // PB råbte - år V:? // PB år, står + år V: // PB år, står åre V3 // PB tåre .group diff --git a/dictsource/dict_phonemes b/dictsource/dict_phonemes index 39abe29f..88e5f1e2 100644 --- a/dictsource/dict_phonemes +++ b/dictsource/dict_phonemes @@ -56,13 +56,13 @@ x z Dictionary da_dict & &# 0 3 @ @- a A -e E i o O u V W -W# y Y +aI e E i o O u V +W W# y Y * - : ? b B d D dZ f g h j J k l l/2 l/3 m n N p r R -s S t T tS v w +s S t T tS v w z Dictionary hu_dict diff --git a/dictsource/en_list b/dictsource/en_list index 5607dfa3..8a2ca729 100644 --- a/dictsource/en_list +++ b/dictsource/en_list @@ -1003,6 +1003,7 @@ dose doUs dosage doUsI2dZ dramatic dr@matIk drawer drO@ +dreamt drEmpt drier draI3 driest draI|@st duet dju:'Et @@ -1221,6 +1222,7 @@ havoc hav@k hasty heIstI hatred heItrI2d hazardous haz3d@s +headfirst $2 heh hEh hehe hi:h'i: heifer hEf@ @@ -1759,6 +1761,7 @@ preset pri:sEt prestige prEst'i:Z ?3 pretense pri:tEns pretext pri:tEkst +pretrial pri:tr'aI|@L pretty prItI privation praIv'eIS@n privilege prIvI2lI2dZ @@ -3096,6 +3099,7 @@ thy ,DaI thine ,DaIn me ,mi: $only +me mi: $atstart $atend him ,hIm $only us ,Vz $only us $abbrev $allcaps diff --git a/dictsource/fr_list b/dictsource/fr_list index f6827ba2..a017f035 100755 --- a/dictsource/fr_list +++ b/dictsource/fr_list @@ -24,7 +24,7 @@ // 2006-11-18 Gilles Casse // -// Updated 2010-06-11 Michel Such +// Updated 2010-06-15 Michel Such // // * Numbers, a few abbreviations and exceptions. // @@ -778,7 +778,7 @@ zut zyt exocet E2gzosEt fret fr'Et budget bydZE2 -hamlet hamlEt +hamlet _|amlEt knesset knesEt lazaret lazarE2 margaret margarEt @@ -884,7 +884,7 @@ contentions kO~tA~tjO~z2 dations datjO~z2 désertions dezErtjO~z2 $verb exploitions EksplwatjO~z2 -heurtions hYrtjO~z2 +heurtions _|WrtjO~z2 partions partjO~z2 rations ratjO~z2 $verb tentions tA~tjO~z2 diff --git a/dictsource/fr_rules b/dictsource/fr_rules index 621cb397..ee26f30c 100755 --- a/dictsource/fr_rules +++ b/dictsource/fr_rules @@ -1,1457 +1,1460 @@ -// French translation rules for Espeak - -// *************************************************************************** -// * Copyright (C) 2005 to 2010 by Jonathan Duddington * -// * email: jonsd@users.sourceforge.net * -// * * -// * This program is free software; you can redistribute it and/or modify * -// * it under the terms of the GNU General Public License as published by * -// * the Free Software Foundation; either version 3 of the License, or * -// * (at your option) any later version. * -// * * -// * This program is distributed in the hope that it will be useful, * -// * but WITHOUT ANY WARRANTY; without even the implied warranty of * -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * -// * GNU General Public License for more details. * -// * * -// * You should have received a copy of the GNU General Public License * -// * along with this program; if not, see: * -// * . * -// ***************************************************************************/ - -// This file is UTF-8 encoded - -// 2006-11-18 Gilles Casse -// -// Updated: 2010-06-12 Michel Such -// - -// Letter classes: -// A all vowels: a e i o u y â ä é ê è î ï ô ö ù û -// C all consonants -// Y front vowels: e i y é ê è î -// K not a vowel (i.e. consonant, space, ) - -.replace -œ oe -î i -à a - - -.L01 d e l n r t u -.L02 b c d f g h k p t v -.L03 d l m n s t v -.L04 c d f g l m n v -.L05 g h k l m v w -.L06 l r s - - -.group a - ae (_ e // reggae vitae - aen A~ // caen (diff Cicero: aA~) - ae aE // maestro - aim (K E~ // faim - ain (K E~ // pain - Ct) ain (_ E~n2 // certain ami - ch) ain (_ E~n2 // prochain arret - ai (_ e // dirai ferai... - _ess) ai (_ E2 // essai - _vr) ai (_ E2 // vrai - ai (b E // faible - ais (_ E2z2 // dirais ferais... - ait (_ E2t2 // dirait ferait... - aient (_ E2t2 // diraient feraient... - f) ai (sA @ // faisons faisan - a (ilK a - aie (me E2 // paiement - ai E // aile - ai (L06 E // aile - ai (CAX E // aile - am (b A~ // jambon - am (p A~ // camp - am (m a // programmation - _) am (n am // amnistie - am (n a // condamner - - _L04) an (_ an - an (n_ a - _h) an (_ an - _) anti (@@P4 A~ti - _) arché (@P5 arke // archéologue - _) archéo (@P6 arkeo // archéologue - _) arch (aP4 ark // archange - _) arch (oP4 ark // archonte - _) anarcho (@P7 anarko // anarchosyndicalisme - - a (nnA a // manne - an (K A~ // ancien, élan - an (h an - @@m) an (_ an // tennisman - zm) an (_ an // jazzman - L02m) an (_ an - lism) an (_ A~ // talisman - ulm) an (_ A~ // musulman - _caïm) an (_ A~ // caïman - _C) aon (_ A~ // faon, paon, taon - s) aoul (_ u // saoul - s) aou (le u // saoule - août ut // août - août (i aus // aoûtien - aut (_ ot2 - a (ô // saune - au o2 // au, aux - aud (_ o // chaud -_C) aud (_ o2d // Maud - au (l_ o // Paul - au (re_ o // dinosaure - _) audio (@P5 o2dio - _) auto (@P4 o2to - _) autom (n otO - bb) aye (X ei // abbaye - ay (C E // aymé - ay Ej // paye - ay (_ E2 // display - Xl) ayer (X E2jWr // player, layer - w) an (_ an - a a // bateau - -// group a: English section - sm) all _^_en // small, smaller - a (wC _^_en - - -.group b - bb b // abbé - om) b (_ // plomb applomb - b b // aube - -// group b: English section - back _^_en - bbl _^_en - bird _^_en // bird - board _^_en // board, keyboard - box (_ _^_en // box, inbox, outbox - bugg _^_en // debugger - _) by _^_en // by, bye, bypass - - -.group c - _) c' (P2v s // s - cch k // bacchanale - cc (Y ks // accéder - cc k // occuper - _) c (d se - _) ch (arism k // charisme, charismatique - _) ch (irop k // chiroptère - a) ch (_ k // almanach - ar) c (ti // arctique - e) ch (_ k // varech - ni) ch (_ k - _A) ch (o_ k // écho - mani) ch (é k // manichéisme - wi) ch tS // sandwich - mito) ch (o k // mitochondrie - _eu) ch (ari k // eucharistie - or) ch (esC k // orchestre - or) ch (iC k // orchidée - _) ch (ao k // chaos, chaotique - _) ch (orA k // chorale - _) ch (oriz S - _) ch (oro S - ch (r k // chrétien - _) chrono (@P6 krono - ch (l k - ch (n k - ch (s k - ch (to k - ch S // chien - ck k // nickel - cqu k // grecque - cq k // pecq - s) c (Y - x) c (Y - c (Y s // cède - _) cyber (P5 sibEr - Can) c (_ // banc - Con) c (_ // tronc, jonc - _don) c (_ k // donc - cler) c (_ // leclerc - tchou) c (_ - taba) c (_ - toma) c (_ - se) c (ond g // seconde secondaire - c k // recoin donc - - cient (_ sit2 // ils appr�ient, remercient. - effi) cient sjA~ // coefficient - défi) cient sjA~ // déficient - cast (_S4 kast // podcast - casts (_S5 kast // podcasts - _) clown klun - -// group c: English section - n) ch (_ _^_en // french - ch (ment _^_en // attachment - cut (_ _^_en // cut, shortcut - - -.group ç - - ç s // rançon - _) ç' (P2v s - - -.group d - dd d // addition - _) d' (P2 d - _ban) d (_ d - _lan) d (_ d // land - _stan) d (_ d // stand - an) d (_ - _san) d (_ d - - _gran) d (_ t2 // grand ami, grand marchand - Cen) d (_ t2 - Con) d (_ - con) d (_ t2 - quen) d (_ t2 - r) d (_ - _har) d (_ d - lor) d (_ d - oi) d (_ - ou) d (_ - - dt (_ t // Schmidt - _ni) d (_ // nid - d d // don bled - _expé) dien (t_ djA~ // expédient -V_expé) dien (t_ di // expédient -_ingré) dien (t_ djA~ // ingrédient - dien (t_ di // étudient (verbe) - _) dendro (@P6 dE~dro - -// group d: English section - day (_ _^_en - _) devic _^_en - dle (X _^_en // bundle, handle - - -.group e - -// Define use of the final 'e' in french - e (_ - _C) e (_ @ // je te - -c) e (_ - -j) e (_ - C) e (- - - e (Ce_ E - eau o // bateau - g) ea (s_ a // mangeas - cap) e (la_ e - gh) e (tAX e // spagheti - j) e (a // Jean Jeanne - p) ect (_ E2 // suspect - ect (_ Ekt // direct - pi) ed (_ e // pied - _art) e (++ e // arte, artefact - _cl) ef (_ e // clef - _cr) e (at e - _) ein (K En // Einstein - ein (K E~ // peindre - pl) ein (_ E~n2 // plein emploi - e (il E // vieille - ei E // neige - eoi wa // asseoir - ell El // selle - el (K El // celsius, caramel - _f) em (me a // femme - i) e (mA // remerciement, d�ploiement - A) e (rA // remerciera - tch) e (rX Y - @) em (me a // patiemment - em (b A~ // décembre - em (mACC A~ // emmancher - em (mACAC A~ // emmagasiner - em (ma E2 // emmanuel - em (mai A~ // emmailloter - l) em (n a // solemnel - il) emn Em // dilemne - em (p A~ - en (_ A~n2 // en - en (hA A~n // enharmonique - _C) en (j E~ // benjamin - _flam) en (c E~ // flamenco - _) en (A A~n // enivrer - - C) en (d_ A~ // comprend dépend - od) en (dr E~ // rhododendron - qu) en (d_ A~ - - pati) en A~ // patient patience - en (nu A~ // ennui - en (nA E // penne ennemi - - é) en (_ E~ // européen - - Ci) en (nA E // mienne - - éC) en (t_ A~ // récent différent élément - équ) en (t_ A~ // fréquent, conséquent - étic) en (t_ A~ // réticent - - _C) en (t_ A~ // cent vent lent dent - cc) en (t_ A~ // accent - Asc) en (t_ A~ // luminescent - _dol) en (t_ A~ // dolent - ol) en (t_ A~ // somnolent, violent - Vol) en (t_ // somnolent, violent - Xol) ent (_ t2 // volent - eul) ent (_ t2 // veulent - ul) en (t_ A~ // turbulent - Ccul) ent (_ t2 - Vul) ent (_ t2 - imCoC) en (t_ A~ // impotent - inCoC) en (t_ A~ // innocent, indolent - -XACcid) en (t_ A~ // accident, occident - - _ag) en (t_ A~ // agent - _ard) en (t_ A~ // ardent - _arg) en (t_ A~ // argent - _urg) en (t_ A~ // urgent - V_urg) ent (_ t2 // urgent (verbe) - - _émin) en (t_ A~ // éminent - immin) en (t_ A~ // imminent - oémin) en (t_ A~ // proéminent - jac) en (t_ A~ // sous-jacent, adjacent - _lat) en (t_ A~ // latent - - ig) ent (_ t2 - ilig) ent (_ A~t2 - llig) ent (_ A~t2 - ndig) ent (_ A~t2 - tang) ent (_ A~t2 // tangent - @@ing) en (t_ A~ // astreingent, contingentindigent - - man) en (t_ A~ // permanent - _pat) en (t_ A~ // patent - rmam) en (t_ A~ // firmament - verg) en (t_ A~ // convergent, divergent - Vverg) ent (_ t2 // convergent, divergent (verbe) - - _serg) en (t_ A~ // sergent -CACCim) en (t_ A~ // condiment, gentiment - dim) en (t_ A~ // rudiment - Agim) en (t_ A~ // régiment - Alim) en (t_ A~ // poliment - inim) en (t_ A~ // infiniment - manim) en (t_ A~ // maniment - onim) en (t_ A~ // boniment - plim) en (t_ A~ // compliment - Atim) en (t_ A~ // bâtiment - _cim) en (t_ A~ // ciment - _pim) en (t_ A~ // piment - gm) en (t_ A~ // fragment - Asim) en (t_ A~ // quasiment - - ertin) en (t_ A~ // pertinent, impertinent - ontin) en (t_ A~ // continent, incontinent - _sArm) en (t_ A~ // sarment, serment - erm) en (t_ A~ // ferment - Vferm) ent (_ t2 // ferment, referment (verbe) - XArp) en (t_ A~ // arpent, serpent - CArr) en (t_ A~ // conncurrent, torrent - Cerr) ent (_ t2 // ils serrent -_appar) en (t_ A~ // apparent - spar) en (t_ A~ // transparent - _par) en (t_ A~ // parent - V_par) ent (_ t2 // parent (verbe) - _var) en (t_ A~ // varent - mitt) en (t_ A~ // intermittent - énit) en (t_ A~ // pénitent - tourm) en (t_ A~ // tourment - Cflu) en (t_ A~ // affluent, confluent - VCflu) ent (_ t2 // refluent, influent (verbe) - - _tal) en (t_ A~ // talent - ival) en (t_ A~ // équivalent - Vival) ent (_ t2 // équivalent (verbe) - xcell) en (t_ A~ // excellent -Vxcell) ent (_ t2 // excellent - - iCam) en (t_ A~ - mm) en (t_ A~ - em) en (t_ A~ // lentement - mom) en (t_ A~ // moment - Aaim) en (t_ A~ - Caim) en (t_ A~ - dum) en (t_ A~ - gum) en (t_ A~ - jum) en (t_ A~ - oCum) en (t_ A~ - rum) en (t_ A~ - - éCid) en (t_ A~ - VéCid) ent (_ t2 - Xtrid) en (t_ A~ - _flor) en (t_ A~ - _laur) en (t_ A~ -_mécont) en (t_ A~ - _cont) en (t_ A~ -_Vcont) ent (_ t2 - éC) en (t_ A~ // compétent - _souv) en (t_ A~ // souvent - Cud) en (t_ A~ - - _couv) en (tS3f A~ // le couvent -V_couv) en (t_ // elles couvent -s_couv) en (t_ // elles couvent - - ent (_ t2 // étaient mangent - A) ent (_ t2 // étaient mangent - - Ci) en (K E~ // rien, lien - Ci) en (c A~ // science - - AA) en (_ E~ - C) en (_ En // amen, abdomen, golden - C) en (to_ En // memento - nc) ens (_ A~ // encens - xam) en (_ E~ // examen - - en (s_ A~ - en (CA A~ // pentathlon - en (CC A~ // entre - sp) ens (_ Ens // suspens - éC) ens (_ A~z2 // dépens démens - - _C) er (_ Er // fer - _Ch) er (_ Er // cher - _env) er (_ Er - _hi) er (_ Er // hier - _fi) er (_ Er // fier - _hiv) er (X Er // hiver - Cst) er (X Er // hamster - _cart) er (X Er // carter - _cutt) er (X Er // cutter - tain) er (X Er // container - _ti) er (_ Er - ack) er (K Yr - ock) er (K Er - rock) er (K Yr - - er (_ e // parler léger - er (s_ e - - i) e (rt_ E // requiert - - d) e (ssus_ @ // dessus - - _d) es (bA e - _d) es (jA e // Desjardins - _d) es (nA e - _d) es (qA e // desquels - - _l) es (qA e // lesquels - - _m) es (dA e // mesdames - _m) es (nA e - Am) es (dA e - Am) es (nA e // Dumesnil - - d) esh (A ez // Deshormeaux - - _r) e (ss @ // ressembler - _r) e (ssu e // ressusciter - _r) e (stra @ - _r) e (stro @ - _r) e (stru @ // restructurer - -) est (_ Est // -est - - dg) et (_ Et // Bridget, gadget - k) et (_ Et - tick) et (_ E2 - m) et (_ Et2 - - eu Y // eu - _) eu (ss y // eu - - _) eut (_ yt2 - eut (_ Yt2 - _) extra (uP5 E2kstra - _) extra (CP5 E2kstra - _) eû y // eût - eû Y: // jeûne - - ey (_ E2 // dahomey - ey (C E2 // ceylan - ey Ej // asseye - - ez (_ ez2 // nez mangez chez - - g) e (A // mangeons - g) eu Y // vengeur - g) eu (re y // gageure - - _d) e (ch @ - _r) e (ch @ // recherche - e (Cl @ - - _l) e (xA E2 - _m) e (xA E2 - _l) e (CA @ - _l) e (ChA @ - _l) e (ClA @ // Leclerc - tr) e (CA @ - tr) e (ChA @ - - e (CC E // infect pelle mettre - e (Cr @ - _) e (C% e // effet, effectuer - e (C_ E - e (t_ E2 - e (rC E - es (_ z2 - - %C) e (xA E2 - - @gu) e (CA - @gu) er (A r - @qu) e (CA - @qu) er (A r - _qu) e (CA @ -@L06gu) e (CA @ -@L06qu) e (CA @ - @C) e (CA - @C) e (li @ - @ch) e (li @ - @C) er (A r - @C) e (rion++ @ - @C) e (riez++ @ - @ch) e (CA - @ch) er (A r - L06ch) e (CA @ - @L06C) e (CA @ - @CL06) e (CA @ - @bC) e (CA @ - @ct) e (CA @ - %C) e (CA++ - %C) er (A++ r - @C) e (xA++ E2 - @c) e (v++ @ - @d) e (v++ @ - - @C) e (CrA - @ch) e (CrA -@L06ch) e (CrA @ - @L06C) e (CrA @ - @L06C) e (rrA E - @CL06) e (CrA @ - %C) e (CrA++ - e (rr+++ E - - e @ // menue - _) e (CA e - _) e (xC++ E2 - Cr) eam Im - Cr) eamer ImWr - Cl) eaner InWr - vert) e (rX W - eï (K 'Ej - _y) en (_ En - iew) er (X er2 - _m) e (ga e - - -// group e: English section - eac _^_en - C) ead _^_en // read, head - eak _^_en // break, speak - eal _^_en // deal - ear _^_en // ear, search - eas _^_en // please - eave _^_en // leave - ed (_ _^_en - ee _^_en // meeting - efore (_ _^_en // before - eing (_ _^_en // being, boeing - eive _^_en // receive - eld (_ _^_en // field - _) enter (_ _^_en // enter - _) enhan _^_en - qu) est (_ _^_en // request - qu) este (X_ _^_en // requested, requester - _) even (X _^_en // forever, however - _) ever _^_en // forever, however - oC) ever _^_en // forever, however - _) eye _^_en - - -.group è - - Z) ème iEm - è E - ès (_ E - Ar) ès (_ Es - m) ès (_ Es - n) ès (_ Es - p) ès (_ Es - - -.group ë - u) ë // ambiguë - ë E // citroën noël - - -.group f - f f - f (f - _ner) f (X - _neu) f (_ans v // liaison: neuf ans - _neu) f (_heures v - -// group f: English section - _) fire _^_en - fly _^_en - _) frame _^_en - fter (_ _^_en - - -.group g - g g - g (Y Z - - su) gg (Y gZ // suggérer suggestif - gg g // agglomérer - ai) gni n^ // craignions châtaignier - gn nj // agneau -_wa) gner (_ gnEr - gni n^i // signifier - gn (e_ n^ - gn (_ n^ - gn (eCA nj@- - gn (ie n // compagnie - dia) g (no g - _a) g (no g -_quatrevin) gts (_ z2 - - vin) gt (_A t // liaison: vingt ans - - vin) gt (_un - vin) gt (_deux t - vin) gt (_trois t //liaison: vingt-trois - vin) gt (_quatr t - vin) gt (_cinq t - vin) gt (_six t - vin) gt (_sept t - vin) gt (_huit t - vin) gt (_neuf t - vin) gt (_neuvi t - - gt (_ // vingt doigts - An) gt (A t // vingtaine doigté - - gu (i g // anguille - ai) gui (l gyi // aiguillage - in) gui (s gyi // linguiste - g (C g - - _ran) g (_ // rang - _san) g (_ // sang - étan) g (_ // étang - _lon) g (_ // long - bour) g (_ // Strasbourg - - g (_ g // grog gag goulag - -// group g: English section - _) game (X _^_en - girl _^_en // girl - gy (_ _^_en - - -.group h - _) h _| - _) h (abi // habit, habilleur - _) h (allo // hallogène - _) h (ame // hameçon - _) h (andr // handroïde - _) h (arm // harmonie - _) h (el // hellène - _) h (ect // hectare - _) h (erb // herbe - _) h (é - _) h (éris _| - _) h (éro _| - _) h (eure // heure - _) h (iber // hibernation - _) hi (A _|j // hier - _) h (ippo // hippodrome - _) h (iro // hirondelle - _) h (ist // histoire - _) h (iv // hiver - _) h (omm // homme - _) h (onn // honneur - _) h (ô // hôpital - _) h (os // hostile - _) h (ora // horaire - _) h (orip // horipeau - _) h (oriz // horizon - _) h (oro // horoscope - _) h (orlo // horloge - _) h (orr // horreur - _) h (uil // huile - _) h (uiss // huissier - _) h (uitr // huître - _) h (umA // humain - _) h (umC // humble - _) hy (A j - haus (_ o2s //blockhaus - heim (_ ajm - _) h (y // hypermarché - _) hyper (@P5 ipEr - _) hyper (_ ipEr - _) hypra (@P5 ipra - h // ahuri - -// group h: English section - _) half _^_en - here (_ _^_en // here - - -.group i - i i // cri - - C) i (erA i - C) ien (t_ i - dév) ien (t_ i - t) ien (K_ jE~ // tient - v) ien (K_ jE~ // vient - at) ien (t_ jA~ // patient - cip) ien (C jA~ // récipient - cl) ien (C iA~ // client - mol) ien (C jA~ // émolient - vén) ien (C jA~ // inconvénient - or) ien (t iA~ // orient, orienter - ot) ien (t_ jA~ // quotient - - i (e_ i - _) i (ce@ aj // iceberg - _) ill il // illégal - ill (_ il // Bill - _C) ill (y_ il // Billy - aigu) ill ij // aiguille - anqu) ill il // tranquille - c) ill (i il - dist) ill il // distiller - _L05) ill il // Lille, mille, ville, william - osc) ill il // osciller - gu) ill ij // guillaume - qu) ill ij // quille - A) ill j // caillou - C) ill ij // famille - a) il (_ j // bail - e) il (_ j - gt) i (m aj - u) il (_ j // deuil - L01_f) ils (_ is // fils (enfant) - - imm imm // immaculé - im (_ im // karim - im (C E~ // timbre - w) in in // winrar - inct (_ E~ // distinct - in (h in // inhumain - in (kX iN // link - in (n i // innombrable - in (C E~ // vingt - in (_ E~ // vin - ing (_ iN - ing (s iN - ing (to iN - _) infra (sP5 E~fra - _) inter (@@P5 E~tEr - _) interr (A E~tEr - _) inter (_ E~t'Er - _) inter (ne_ E~t'Er - _) intra (neP5 E~tra - _) intra (uP5 E~tra - C) is (_ i - Kir) is (_ is - bor) is (_ is - dor) is (_ is - tor) is (_ is - fl) irt Wrt - otl) i (neX aj - onl) i (ne_ aj - offl) i (ne_ aj - dr) i (ve aj - pr) int (_ int - -// group i: English section - ibuter (X _^_en - iev _^_en - ife (_ _^_en - igh _^_en - iven (_ _^_en - ind (X _^_en // find, mind - _C) ind (erX _^_en // finder - AC) ind (erX _^_en // reminder - ize (X _^_en // realize - _bAl) i (ze i - ram_f) i (le _^_en - -.group ï - ï i // naïf - A) ï (_ j - A) ïe (_ j - A) ï (lA j - - - ïn (K E~ // coïncidence - ma) ïs (_ is // maïs - - - -.group j - j Z // adjoint joujoux - _) j' (P2v Z - _) jazz dZaz - _) j (obK dZ - _) j (ohK dZ - _) jusqu' (P6 Zysk - - -.group k - k k // kafka - - -// group k: English section - ke (_ _^_en // make, take - ke (s_ _^_en // makes, takes - ke (rX _^_en // maker - ke (nX _^_en // taken - -.group l - l l // lit - ll l // aller - _) l' (P2 l - au) lt // hérault - uCi) l (_ // outil, fusil - nti) l (_ // gentil - nti) lh j // gentilhomme - ui) ll j // juillet - _) lorsqu' (P7 lorsk - -// group l: English section - less (_ _^_en // noiseless - _) live _^_en - @) loud (_ _^_en - ll (X _^_en - - -.group m - m m // film - mm m // pomme - _) m' (P2v m - _) mc (@P2 mak - _) ms (P2 EmEs - master (_S6 mastYr - -// group m: English section - _) mail (_ _^_en // mailer - mov (ieX _^_en // move, movy - - -.group n - n n // une - nn n - ng (_ N - - _) n' (P2v n - _wAC) ner (_ nEr - - _) n (_° nymero - _) neuro (@@P5 nYro - _) nvda (P4 Envedea - - -.group o - br) oc (_ o // broc - cr) oc (_ o // escroc - on (n o - ls) on (_ on - Cst) on (_ on - _) os (_ os - _v) os (gY o2 - s_) os (_ o - x_) os (_ o - o (t_ o - - oe (ll wa // moelleux - oe (i Y // oeil - _) oe (C Y // oesophage - _ph) oe (C e // phoetus - _ph) oe (n_ Y // phoen - oeu Y // voeu - oeud Y // noeud - oeufs (_ Y // oeufs boeufs - oeu (x Yz2 // voeux coeur - o (eC o // coefficient - _) oi (gnon o // oignons - oin (C wE~ - oin (_ wE~ // coin - oi wa // poil - oê (l wa // poêle - om (C O~ // bombe - om (m o // nommer - om (ni om // omnibus - n) om (X O~ // nom - om (_ om // www.web.com - s) om (n om - - on (K O~ // mon - on (t_ O~t2 // mont vont sont - _m) ont (pAC O~ // Montpellier - _m) ont (m O~ - _m) ont (rAal O~ // Montreal - onsh (A O~z // bonshommes - onh (A on // bonhomme - _) on (z _|O~ // onze, onzi�me - - _c) on (_ O~ // no comment - gt) on (_ On // Washington - Cst) on (_ On - ps) on (_ On - _C) on (_ O~n2 // mon appui, mon histoire, mon havre - - alc) oo (l o // alcool - z) oo o // zoo - z) oo (C oo // zoologue - z) oo (m u // zoom - _gal) op (_ o // galop - - _sir) op (_ o // sirop - - v) ost (_ o // Prévost - _C) oup (_ u // coup, loup - - - ou u // hibou brouillard - ou (in w // pingouin - oue (mA u // dvvouement - _) ou (at _|u // ouate - où u // où - oû u // coûter - oy (A waj // noyer voyelles - _b) oy (co oj // boycott - _c) oy (o oi // coyote - _y) o (y o - oy wa - o (_ o // zorro allégro - o (z_ o // berlioz - o o - _sC) ot ot - - -// group o: English section - oa (X _^_en // approach, load - oa (_ oa - oa (s_ oa - oa (CerX _^_en - oach _^_en - old (er_ _^_en // folder, older - C) oing (_ _^_en // going - oo (Ce _^_en // boomer - oo (k _^_en // book, cook - oo (st _^_en // booster - oo (X _^_en // pool - C) oot _^_en // bootable football - _) one _^_en - oun (C _^_en // bounce, found - _) over _^_en // over - ow (e _^_en // flower, power - ow (X _^_en - oy (X _^_en // boy, toy - - -.group ô - ôt (_ o2 // rôt - ô o2 // cône - - -.group p - p p // pas - _) para (pCP4 para - _) photo (@P5 foto - _) poly (@P4 poli - _) post (KP4 post - _) post (ACCP4 post - _) pseudo (@P6 psYdo - p (p // appliquer - pays pE2iz2 // pays, paysage - ph f // phrase - - m) ps (_ // temps champs - r) ps (_ // corps - - cham) p (_ // champ - - cam) p (_ // camp - - dra) p (_ // drap - _) psych (@P5 psik - _) psych (iCP5 psiS - _) psych (AA_P5 psiS - - ba) p (t // baptiser - com) p (t // compte - - C) pt (_ // prompt exempt - - se) pt (_ t // sept - se) pt (iè t // septième - scul) p (t // sculpture - _) puisqu' (P7 pyisk - -// group p: English section - pad (_ _^_en - plug _^_en // plug - printer (_ _^_en // printer - - -.group q - q k // coq - _) qu' (AP3 k - _) qua (d kwa // quadrature - _) qua (tA kwa // quaternaire - _) quan (tA kwA~ // quantique - _) qua (drill ka // quadriller - _a) qua kwa // aquarium - _a) qu (if ku // aquifère - _A) qui (dist kyi // équidistant - _A) qui (lat kyi // équilatéral - _C) qua kwa // squale square - _A) qua kwa // équateur - dé) qua kwa // adequate - _) qua (rtz kwa // quartz - qu k // quatre - _) que (_ k@ // que - n) q (_ k // cinq cent - -// group q: English section - quick _^_en // quick, quickly - - -.group r - - _su) rr rr // surréaliste - cou) rr rr // courrai - mou) rr rr // mourrai - cou) rr (i r // courrier - cou) rr (o r // courroie - r r // rien - rr r - _) radio (@P5 radio - -// group r: English section - _) real _^_en - resen _^_en - rst (_ _^_en - _) rule _^_en - - -.group s - s s // verser sien - - s (_S1 z2 - stein (_ Stajn - - _) s' (P2v s // s'amène - _) s' (esXP2v s // s'amène - sç s // immisça - sch (ie sk // schierzo - sch (iz sk // schizophrène - sch (ol sk - sch (oo sk - schu Su - - sch S // schéma - dé) sh (A z // déshabiller - sh S // shérif - ss s // assez - - ai) s (em s // vraisemblable - aCè) s (_ s - nè) s (_ s - kansa) s (_ s // Kansas, Arkansas - ub) s (is z // subsister - tran) s (A z // transition - tran) s (e s // transe - tran) s (ub s // transubstantiation - A) s (A z // baiser - A) s (oft s // microsoft - A) s (ol_ s // tournesol - _) socio (@P5 sosio - _) super (@@P5 sypEr - _) super (_ sypEr - _) supra (@P5 sypra - batro) s (_ s - océro) s (_ s - scien (t siA~ // conscient scientifique - sql (_S3 EskyEl - - _u) s (_ s - Cu) s (_ - Abu) s (_ s - _Abu) s (_ - mbu) s (_ s -_cACpu) s (_ s - Acu) s (_ s - docu) s (_ - écu) s (_ - asu) s (_ s - odu) s (_ s - gu) s (_ s - igu) s (_ // aigus - iu) s (_ s // radius - ïu) s (_ s // laïus - Culu) s (_ s // cumulus - plu) s (_ z2 // plus, surplus - ylu) s (_ s // stylus - mu) s (_ s - _mu) s (_ - ému) s (_ - opu) s (_ s // opus, octopus - Aru) s (_ s // virus - aru) s (_ // disparus - ouru) s (_ // courus - Anu) s (_ s // bonus, tonus - enu) s (_ // menus, venus - psu) s (_ s // lapsus - cessu) s (_ s // processus - - atu) s (_ s // stratus motus - ctu) s (_ s // cactus - etu) s (_ s - aitu) s (_ - itu) s (_ s - ltu) s (_ s // altus - otu) s (_ s // motus - Cutu) s (_ s - - _tou) s (_ s - - s (b z // sbire - s (d z - s (g z - s (j z - s (v z - _tou) s (_Ces_ - _tou) s (_des_ s - _tou) s (_Cos_ - _tou) s (_leurs_ - -// group s: English section - CA) sh (_ _^_en // punish - sh (_ _^_en - sh (Ap _^_en // shop, ship - sh (At _^_en // shut, shot - _) sky _^_en - _) smil _^_en // smile, smiley - spy _^_en - - -.group t - t t // bataille - _) t (_ te - -) t (- t2 - _) t' (P2v t - Vn) t (_ t2 - A) t (- t2 - VCi) t (_ t2 - t (_ - peti) t (_ t2 - _) th t // thon - ts (_S1 z2 // silent at end of word unless next word starts with a vowel - C) t (_ t // compost watt soft script malttact abrupt - ki) t (_ t // kit - n) t (_ - r) t (_ - - aul) t (_ // Renault - grani) t (_ t - - _) télé (@P4 tele - _) tele tele - _) thermo (@P6 tErmo - - tt t // attitude - - s) th (m // asthme - th t // théorie - hui) t (_ t3 // huit - - _) t t // tien tiers - an) t (ia t // Santiago - C) t (ieu s // contentieux - - t (io_ s // ratio - - Ama) t (ieX s // diplomatie - a) t (ia s // spatial - en) t (ia s // confidentialit� - lbu) t (iA s // balbutiait - r) t (ia s // impartial - ini) t (iA s // initier - p) t (ia s // nuptial - an) t (iat s // transsubstantiation - - t (ion s // programmation - V) t (ion t // verbes - ache) t (ion t // achetions, rachetions - ai) t (ion t // souhaitions, traitions - oi) t (ion t // boitions - si) t (ion s // position - chan) t (ion t // chantions, d�chantions - Cisi) t (ion t // visitions - ci) t (ions t // citions - comp) t (ions t // comptions, escomptions - CAnc) t (ion s // fonctionner, ponctionner - Ce) t (ions t // jetions, rejetions - Vec) t (ion t // respections - Vep) t (ion t // respections - éCi) t (ions t // hésitions, héritions - éti) t (ion s // pétition - Vé) t (ion t // répétions - habi) t (ions t // habitions - imi) t (ions t // imitions, limitions - VAu) t (ion t // ajoutions - lu) t (ion s // févolution - Apor) t (ion t // emportions, exportions - opor) t (ion s // proportion - Cpor) t (ion t // emportions, exportions - sor) t (ion t // sortions - rê) t (ion t // arrêtions, apprêtions - - s) t (ion t // gestion - _ta) t (ion t // tation - sen) t (ion_ t // sentions, ressentions - t) t (ion t // combattions - - t (iel s // partiel - t (ieu s // ambitieux - t (iAm s // patiemment - - mar) t (ien s // martien vénitienne - a) t (ien s - i) t (ien s - o) t (ien s - - ipé) t (ieX s - amé) t (ieX s - nu) t (ieX s // minutie - ni) tien (t_ si - bu) tien (t_ si - - cra) t (ieX s // démocratie - - ner) t (ie s // inertie - - _ce) t (_ t -_transA) t (_ t - -// group t: English section - C) th (_ _^_en // month - _) th (eX _^_en // the, then - _) th (aX _^_en // than, that - _) time _^_en - tle (_ _^_en - too _^_en - ttl _^_en - try (_ _^_en // try, country - sCar) t (_ _^_en // smart, start - sCar) t (er_ _^_en // starter - _) tun (AX _^_en - - -.group u - u y // cruel nuage brut - ui yi // nuit, fuite - uin (K yE~ // juin - _s) u (rfX Y - _bl) u (ff Y - _s) u (rfeX Y - uy (A yij - - C) ucci utSi // capuccino - c) ueill Yj // cueillir - c) ueil (_ Yj // recueil - _g) ua wa - ag) ua (X wa - Ctig) ua (_ wa - _c) ul (_ y - _) ultra (P5 yltra - g) u (ay u - g) ueill Yj // orgueilleux - haïk) u (X u - - C) u (bX Y // hub, club - C) u (gX Y // bug, mug - _n) u (rse Y // nurse - r) u (nX W // run, autorun - pr) unt (_ W~ // emprunt - um (_ Om // album - f) um (_ W~ // parfum - um (b W~ // humble - um (p W~ - un (C W~ // emprunt lundi - un (n y // tunnel - CC) un (_ W~ // brun - uc) un (_ W~n2 // aucun - un (_ W~n2 // un avion - _h) un (_ W~ // hun - - fl) ux (_ y // flux, reflux - g) u (A // fatigue - g) u (ï y // ambiguïté - g) u (ë y // ambiguë - uz (z Y - -// group u: English section - _b) usi _^_en // business, businessman - C) ui (ce _^_en // produice, juice - umber (_ _^_en - ump (_ _^_en - unch _^_en - under _^_en // under, understand, thunder - _C) un (_ _^_en - _C) un (ny _^_en - _) up (C _^_en // upper, update - up (_ _^_en // setup - urn (X _^_en // burn, turn - ust (_ _^_en // just, trust - - -.group ü - ü y - üs (_ ys - üm (_ om - ül (_ yll - - -.group v - v v - vers (_ vErz2 - dri) ver (X vYr - view (X vju - _) view (A vjuv - -// group v: English section - voice (X _^_en - void (_ _^_en - vy (_ _^_en - - -.group w - w w - _) w (A _|w - w (ag v // wagon - wa (ve_ wE:j // wave - wa (re_ wE: // hardware software - -// group w: English section - e) w (K _^_en - _) wan _^_en - wr _^_en // write - way _^_en // way, away - _) wir _^_en // wire - winn _^_en // winner - wise _^_en - with _^_en - wor _^_en - - -.group x - x ks - xx ks - _) x (A gz // xylophone - _) x (CP1 iks // xylophone - xml (_S3 _|iksEmEl - e) x (A gz // exagérer exemple - L03e) x (A ks // annexe, vexer - _ine) x (A gz - _e) x (h gz // exhumer - - ai) x (_ // voix paix prix - oi) x (_ - ri) x (_ - - _soi) x (A s // soixante - - Au) x (_ z2 // faux feux choux - - _au) x (quel // auxquels - - _di) x (_neuf z // liaison: dix-neuf - _di) x (_ z3 - _si) x (_neu s // liaison: six-neuf - _si) x (_ z3 - - di) x (iè z // dixième - si) x (iè z // sixième - deu) x (iè z // deuxième - - -.group y - y i // cryogénique myope - _) y (A _|j // yak - _) y (eu j // yeux - _) yacht _^_en // yacht, yachtman - - _) yahoo (P5 ja'u - ym (K E~ // tympan - y (nn i - y (nA i - X) ys (_ is - yx (_ iks - - yn E~ // laryngite - - -.group z - z z - t) z s // tzigane - t) zer (_ zEr - C) zer (_ zWr - - -.group -// accented characters, these could have their own groups if they need more rules - â a: - ñ n^ - - é e // été - ê E // fête - - ö o // angström - û y: // fûtes - ü y // bülcher - - -// symbols that are normally spoken when reading text - , (D pilk:u - $ dolar - ° d@gre - _n_) ° // n° - - - - - - - - - +// French translation rules for Espeak + +// *************************************************************************** +// * Copyright (C) 2005 to 2010 by Jonathan Duddington * +// * email: jonsd@users.sourceforge.net * +// * * +// * This program is free software; you can redistribute it and/or modify * +// * it under the terms of the GNU General Public License as published by * +// * the Free Software Foundation; either version 3 of the License, or * +// * (at your option) any later version. * +// * * +// * This program is distributed in the hope that it will be useful, * +// * but WITHOUT ANY WARRANTY; without even the implied warranty of * +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +// * GNU General Public License for more details. * +// * * +// * You should have received a copy of the GNU General Public License * +// * along with this program; if not, see: * +// * . * +// ***************************************************************************/ + +// This file is UTF-8 encoded + +// 2006-11-18 Gilles Casse +// +// Updated: 2010-06-18 Michel Such +// + +// Letter classes: +// A all vowels: a e i o u y â ä é ê è î ï ô ö ù û +// C all consonants +// Y front vowels: e i y é ê è î +// K not a vowel (i.e. consonant, space, ) + +.replace +œ oe +î i +à a + + +.L01 d e l n r t u +.L02 b c d f g h k p t v +.L03 d l m n s t v +.L04 c d f g l m n v +.L05 g h k l m v w +.L06 l r s + + +.group a + ae (_ e // reggae vitae + aen A~ // caen (diff Cicero: aA~) + ae aE // maestro + aim (K E~ // faim + ain (K E~ // pain + Ct) ain (_ E~n2 // certain ami + ch) ain (_ E~n2 // prochain arret + ai (_ e // dirai ferai... + _ess) ai (_ E2 // essai + _vr) ai (_ E2 // vrai + ai (b E // faible + ais (_ E2z2 // dirais ferais... + ait (_ E2t2 // dirait ferait... + aient (_ E2t2 // diraient feraient... + f) ai (sA @ // faisons faisan + a (ilK a + aie (me E2 // paiement + ai E // aile + ai (L06 E // aile + ai (CAX E // aile + am (b A~ // jambon + am (p A~ // camp + am (m a // programmation + _) am (n am // amnistie + am (n a // condamner + + _L04) an (_ an + an (n_ a + _h) an (_ an + _) anti (@@P4 A~ti + _) arché (@P5 arke // archéologue + _) archéo (@P6 arkeo // archéologue + _) arch (aP4 ark // archange + _) arch (oP4 ark // archonte + _) anarcho (@P7 anarko // anarchosyndicalisme + + a (nnA a // manne + an (K A~ // ancien, élan + an (h an + @@m) an (_ an // tennisman + zm) an (_ an // jazzman + L02m) an (_ an + lism) an (_ A~ // talisman + ulm) an (_ A~ // musulman + _caïm) an (_ A~ // caïman + _C) aon (_ A~ // faon, paon, taon + s) aoul (_ u // saoul + s) aou (le u // saoule + août ut // août + août (i aus // aoûtien + aut (_ ot2 + a (ô // saune + au o2 // au, aux + aud (_ o // chaud +_C) aud (_ o2d // Maud + au (l_ o // Paul + au (re_ o // dinosaure + _) audio (@P5 o2dio + _) auto (@P4 o2to + _) autom (n otO + bb) aye (X ei // abbaye + ay (C E // aymé + ay Ej // paye + ay (_ E2 // display + Xl) ayer (X E2jWr // player, layer + h) am (_S2 am + w) an (_ an + a a // bateau + +// group a: English section + sm) all _^_en // small, smaller + a (wC _^_en + + +.group b + bb b // abbé + om) b (_ // plomb applomb + b b // aube + +// group b: English section + back _^_en + bbl _^_en + bird _^_en // bird + board _^_en // board, keyboard + box (_ _^_en // box, inbox, outbox + bugg _^_en // debugger + _) by _^_en // by, bye, bypass + + +.group c + _) c' (P2v s // s + cch k // bacchanale + cc (Y ks // accéder + cc k // occuper + _) c (d se + _) ch (arism k // charisme, charismatique + _) ch (irop k // chiroptère + a) ch (_ k // almanach + ar) c (ti // arctique + e) ch (_ k // varech + ni) ch (_ k + _A) ch (o_ k // écho + mani) ch (é k // manichéisme + wi) ch tS // sandwich + mito) ch (o k // mitochondrie + _eu) ch (ari k // eucharistie + or) ch (esC k // orchestre + or) ch (iC k // orchidée + _) ch (ao k // chaos, chaotique + _) ch (orA k // chorale + _) ch (oriz S + _) ch (oro S + ch (r k // chrétien + _) chrono (@P6 krono + ch (l k + ch (n k + ch (s k + ch (to k + ch S // chien + ck k // nickel + cqu k // grecque + cq k // pecq + s) c (Y + x) c (Y + c (Y s // cède + _) cyber (P5 sibEr + Can) c (_ // banc + Con) c (_ // tronc, jonc + _don) c (_ k // donc + cler) c (_ // leclerc + tchou) c (_ + taba) c (_ + toma) c (_ + se) c (ond g // seconde secondaire + c k // recoin donc + + cient (_ sit2 // ils appr�ient, remercient. + effi) cient sjA~ // coefficient + défi) cient sjA~ // déficient + cast (_S4 kast // podcast + casts (_S5 kast // podcasts + _) clown klun + +// group c: English section + n) ch (_ _^_en // french + ch (ment _^_en // attachment + cut (_ _^_en // cut, shortcut + + +.group ç + + ç s // rançon + _) ç' (P2v s + + +.group d + dd d // addition + _) d' (P2 d + _ban) d (_ d + _lan) d (_ d // land + _stan) d (_ d // stand + an) d (_ + _san) d (_ d + + _gran) d (_ t2 // grand ami, grand marchand + Cen) d (_ t2 + Con) d (_ + con) d (_ t2 + quen) d (_ t2 + r) d (_ + _har) d (_ d + lor) d (_ d + oi) d (_ + ou) d (_ + + dt (_ t // Schmidt + _ni) d (_ // nid + d d // don bled + _expé) dien (t_ djA~ // expédient +V_expé) dien (t_ di // expédient +_ingré) dien (t_ djA~ // ingrédient + dien (t_ di // étudient (verbe) + _) dendro (@P6 dE~dro + +// group d: English section + day (_ _^_en + _) devic _^_en + dle (X _^_en // bundle, handle + + +.group e + +// Define use of the final 'e' in french + e (_ + _C) e (_ @ // je te + -c) e (_ + -j) e (_ + C) e (- + + e (Ce_ E + eau o // bateau + g) ea (s_ a // mangeas + cap) e (la_ e + gh) e (tAX e // spagheti + j) e (a // Jean Jeanne + p) ect (_ E2 // suspect + ect (_ Ekt // direct + pi) ed (_ e // pied + _art) e (++ e // arte, artefact + _cl) ef (_ e // clef + _cr) e (at e + _) ein (K En // Einstein + ein (K E~ // peindre + pl) ein (_ E~n2 // plein emploi + e (il E // vieille + ei E // neige + eoi wa // asseoir + ell El // selle + el (K El // celsius, caramel + _f) em (me a // femme + i) e (mA // remerciement, d�ploiement + A) e (rA // remerciera + tch) e (rX Y + @) em (me a // patiemment + em (b A~ // décembre + em (mACC A~ // emmancher + em (mACAC A~ // emmagasiner + em (ma E2 // emmanuel + em (mai A~ // emmailloter + l) em (n a // solemnel + il) emn Em // dilemne + em (p A~ + en (_ A~n2 // en + en (hA A~n // enharmonique + _C) en (j E~ // benjamin + _flam) en (c E~ // flamenco + _) en (A A~n // enivrer + + C) en (d_ A~ // comprend dépend + od) en (dr E~ // rhododendron + qu) en (d_ A~ + + pati) en A~ // patient patience + en (nu A~ // ennui + en (nA E // penne ennemi + + é) en (_ E~ // européen + + Ci) en (nA E // mienne + + éC) en (t_ A~ // récent différent élément + équ) en (t_ A~ // fréquent, conséquent + étic) en (t_ A~ // réticent + + _C) en (t_ A~ // cent vent lent dent + cc) en (t_ A~ // accent + Asc) en (t_ A~ // luminescent + _dol) en (t_ A~ // dolent + ol) en (t_ A~ // somnolent, violent + Vol) en (t_ // somnolent, violent + Xol) ent (_ t2 // volent + eul) ent (_ t2 // veulent + ul) en (t_ A~ // turbulent + Ccul) ent (_ t2 + Vul) ent (_ t2 + imCoC) en (t_ A~ // impotent + inCoC) en (t_ A~ // innocent, indolent + +XACcid) en (t_ A~ // accident, occident + + _ag) en (t_ A~ // agent + _ard) en (t_ A~ // ardent + _arg) en (t_ A~ // argent + _urg) en (t_ A~ // urgent + V_urg) ent (_ t2 // urgent (verbe) + + _émin) en (t_ A~ // éminent + immin) en (t_ A~ // imminent + oémin) en (t_ A~ // proéminent + jac) en (t_ A~ // sous-jacent, adjacent + _lat) en (t_ A~ // latent + + ig) ent (_ t2 + ilig) ent (_ A~t2 + llig) ent (_ A~t2 + ndig) ent (_ A~t2 + tang) ent (_ A~t2 // tangent + @@ing) en (t_ A~ // astreingent, contingentindigent + + man) en (t_ A~ // permanent + _pat) en (t_ A~ // patent + rmam) en (t_ A~ // firmament + verg) en (t_ A~ // convergent, divergent + Vverg) ent (_ t2 // convergent, divergent (verbe) + + _serg) en (t_ A~ // sergent +CACCim) en (t_ A~ // condiment, gentiment + dim) en (t_ A~ // rudiment + Agim) en (t_ A~ // régiment + Alim) en (t_ A~ // poliment + inim) en (t_ A~ // infiniment + manim) en (t_ A~ // maniment + onim) en (t_ A~ // boniment + plim) en (t_ A~ // compliment + Atim) en (t_ A~ // bâtiment + _cim) en (t_ A~ // ciment + _pim) en (t_ A~ // piment + gm) en (t_ A~ // fragment + Asim) en (t_ A~ // quasiment + + ertin) en (t_ A~ // pertinent, impertinent + ontin) en (t_ A~ // continent, incontinent + _sArm) en (t_ A~ // sarment, serment + erm) en (t_ A~ // ferment + Vferm) ent (_ t2 // ferment, referment (verbe) + XArp) en (t_ A~ // arpent, serpent + CArr) en (t_ A~ // conncurrent, torrent + Cerr) ent (_ t2 // ils serrent +_appar) en (t_ A~ // apparent + spar) en (t_ A~ // transparent + _par) en (t_ A~ // parent + V_par) ent (_ t2 // parent (verbe) + _var) en (t_ A~ // varent + mitt) en (t_ A~ // intermittent + énit) en (t_ A~ // pénitent + tourm) en (t_ A~ // tourment + Cflu) en (t_ A~ // affluent, confluent + VCflu) ent (_ t2 // refluent, influent (verbe) + + _tal) en (t_ A~ // talent + ival) en (t_ A~ // équivalent + Vival) ent (_ t2 // équivalent (verbe) + xcell) en (t_ A~ // excellent +Vxcell) ent (_ t2 // excellent + + iCam) en (t_ A~ + mm) en (t_ A~ + em) en (t_ A~ // lentement + mom) en (t_ A~ // moment + Aaim) en (t_ A~ + Caim) en (t_ A~ + dum) en (t_ A~ + gum) en (t_ A~ + jum) en (t_ A~ + oCum) en (t_ A~ + rum) en (t_ A~ + + éCid) en (t_ A~ + VéCid) ent (_ t2 + Xtrid) en (t_ A~ + _flor) en (t_ A~ + _laur) en (t_ A~ +_mécont) en (t_ A~ + _cont) en (t_ A~ +_Vcont) ent (_ t2 + éC) en (t_ A~ // compétent + _souv) en (t_ A~ // souvent + Cud) en (t_ A~ + + _couv) en (tS3f A~ // le couvent +V_couv) en (t_ // elles couvent +s_couv) en (t_ // elles couvent + + ent (_ t2 // étaient mangent + A) ent (_ t2 // étaient mangent + + Ci) en (K E~ // rien, lien + Ci) en (c A~ // science + + AA) en (_ E~ + C) en (_ En // amen, abdomen, golden + C) en (to_ En // memento + nc) ens (_ A~ // encens + xam) en (_ E~ // examen + + en (s_ A~ + en (CA A~ // pentathlon + en (CC A~ // entre + sp) ens (_ Ens // suspens + éC) ens (_ A~z2 // dépens démens + + _C) er (_ Er // fer + _Ch) er (_ Er // cher + _env) er (_ Er + _hi) er (_ Er // hier + _fi) er (_ Er // fier + _hiv) er (X Er // hiver + Cst) er (X Er // hamster + _cart) er (X Er // carter + _cutt) er (X Er // cutter + tain) er (X Er // container + _ti) er (_ Er + ack) er (K Yr + ock) er (K Er + rock) er (K Yr + + er (_ e // parler léger + er (s_ e + + i) e (rt_ E // requiert + + d) e (ssus_ @ // dessus + + _d) es (bA e + _d) es (jA e // Desjardins + _d) es (nA e + _d) es (qA e // desquels + + _l) es (qA e // lesquels + + _m) es (dA e // mesdames + _m) es (nA e + Am) es (dA e + Am) es (nA e // Dumesnil + + d) esh (A ez // Deshormeaux + + _r) e (ss @ // ressembler + _r) e (ssu e // ressusciter + _r) e (stra @ + _r) e (stro @ + _r) e (stru @ // restructurer + -) est (_ Est // -est + + dg) et (_ Et // Bridget, gadget + k) et (_ Et + tick) et (_ E2 + m) et (_ Et2 + + eu Y // eu + _) eu (ss y // eu + + _) eut (_ yt2 + eut (_ Yt2 + _) extra (uP5 E2kstra + _) extra (CP5 E2kstra + _) eû y // eût + eû Y: // jeûne + + ey (_ E2 // dahomey + ey (C E2 // ceylan + ey Ej // asseye + + ez (_ ez2 // nez mangez chez + + g) e (A // mangeons + g) eu Y // vengeur + g) eu (re y // gageure + + _d) e (ch @ + _r) e (ch @ // recherche + e (Cl @ + + _l) e (xA E2 + _m) e (xA E2 + _l) e (CA @ + _l) e (ChA @ + _l) e (ClA @ // Leclerc + tr) e (CA @ + tr) e (ChA @ + + e (CC E // infect pelle mettre + e (Cr @ + _) e (C% e // effet, effectuer + e (C_ E + e (t_ E2 + e (rC E + es (_ z2 + + %C) e (xA E2 + + @gu) e (CA + @gu) er (A r + @qu) e (CA + @qu) er (A r + _qu) e (CA @ +@L06gu) e (CA @ +@L06qu) e (CA @ + @C) e (CA + @C) e (li @ + @ch) e (li @ + @C) er (A r + @C) e (rion++ @ + @C) e (riez++ @ + @ch) e (CA + @ch) er (A r + L06ch) e (CA @ + @L06C) e (CA @ + @CL06) e (CA @ + @bC) e (CA @ + @ct) e (CA @ + %C) e (CA++ + %C) er (A++ r + @C) e (xA++ E2 + @c) e (v++ @ + @d) e (v++ @ + + @C) e (CrA + @ch) e (CrA +@L06ch) e (CrA @ + @L06C) e (CrA @ + @L06C) e (rrA E + @CL06) e (CrA @ + %C) e (CrA++ + e (rr+++ E + + e @ // menue + _) e (CA e + _) e (xC++ E2 + Cr) eam Im + Cr) eamer ImWr + Cl) eaner InWr + vert) e (rX W + eï (K 'Ej + _y) en (_ En + iew) er (X er2 + _m) e (ga e + + +// group e: English section + eac _^_en + C) ead _^_en // read, head + eak _^_en // break, speak + eal _^_en // deal + ear _^_en // ear, search + eas _^_en // please + eave _^_en // leave + ed (_ _^_en + ee _^_en // meeting + efore (_ _^_en // before + eing (_ _^_en // being, boeing + eive _^_en // receive + eld (_ _^_en // field + _) enter (_ _^_en // enter + _) enhan _^_en + qu) est (_ _^_en // request + qu) este (X_ _^_en // requested, requester + _) even (X _^_en // forever, however + _) ever _^_en // forever, however + oC) ever _^_en // forever, however + _) eye _^_en + + +.group è + + Z) ème iEm + è E + ès (_ E + Ar) ès (_ Es + m) ès (_ Es + n) ès (_ Es + p) ès (_ Es + + +.group ë + u) ë // ambiguë + ë E // citroën noël + + +.group f + f f + f (f + _ner) f (X + _neu) f (_ans v // liaison: neuf ans + _neu) f (_heures v + +// group f: English section + _) fire _^_en + fly _^_en + _) frame _^_en + fter (_ _^_en + + +.group g + g g + g (Y Z + + su) gg (Y gZ // suggérer suggestif + gg g // agglomérer + ai) gni n^ // craignions châtaignier + gn nj // agneau +_wa) gner (_ gnEr + gni n^i // signifier + gn (e_ n^ + gn (_ n^ + gn (eCA nj@- + gn (ie n // compagnie + dia) g (no g + _a) g (no g +_quatrevin) gts (_ z2 + + vin) gt (_A t // liaison: vingt ans + + vin) gt (_un + vin) gt (_deux t + vin) gt (_trois t //liaison: vingt-trois + vin) gt (_quatr t + vin) gt (_cinq t + vin) gt (_six t + vin) gt (_sept t + vin) gt (_huit t + vin) gt (_neuf t + vin) gt (_neuvi t + + gt (_ // vingt doigts + An) gt (A t // vingtaine doigté + + gu (i g // anguille + ai) gui (l gyi // aiguillage + in) gui (s gyi // linguiste + g (C g + + _ran) g (_ // rang + _san) g (_ // sang + étan) g (_ // étang + _lon) g (_ // long + bour) g (_ // Strasbourg + + g (_ g // grog gag goulag + +// group g: English section + _) game (X _^_en + girl _^_en // girl + gy (_ _^_en + + +.group h + _) h _| + _) h (abi // habit, habilleur + _) h (allo // hallogène + _) h (ame // hameçon + _) h (andr // handroïde + _) h (arm // harmonie + _) h (el // hellène + _) h (ect // hectare + _) h (erb // herbe + _) h (é + _) h (éris _| + _) h (éro _| + _) h (eure // heure + _) h (iber // hibernation + _) hi (A _|j // hier + _) h (ippo // hippodrome + _) h (iro // hirondelle + _) h (ist // histoire + _) h (iv // hiver + _) h (omm // homme + _) h (onn // honneur + _) h (ô // hôpital + _) h (os // hostile + _) h (ora // horaire + _) h (orip // horipeau + _) h (oriz // horizon + _) h (oro // horoscope + _) h (orlo // horloge + _) h (orr // horreur + _) h (uil // huile + _) h (uiss // huissier + _) h (uitr // huître + _) h (umA // humain + _) h (umC // humble + _) hy (A j + haus (_ o2s //blockhaus + heim (_ ajm + _) h (y // hypermarché + _) hyper (@P5 ipEr + _) hyper (_ ipEr + _) hypra (@P5 ipra + h // ahuri + +// group h: English section + _) half _^_en + here (_ _^_en // here + + +.group i + i i // cri + + C) i (erA i + C) ien (t_ i + dév) ien (t_ i + t) ien (K_ jE~ // tient + v) ien (K_ jE~ // vient + at) ien (t_ jA~ // patient + cip) ien (C jA~ // récipient + cl) ien (C iA~ // client + mol) ien (C jA~ // émolient + vén) ien (C jA~ // inconvénient + or) ien (t iA~ // orient, orienter + ot) ien (t_ jA~ // quotient + + i (e_ i + _) i (ce@ aj // iceberg + _) ill il // illégal + ill (_ il // Bill + _C) ill (y_ il // Billy + aigu) ill ij // aiguille + anqu) ill il // tranquille + c) ill (i il + dist) ill il // distiller + _L05) ill il // Lille, mille, ville, william + osc) ill il // osciller + gu) ill ij // guillaume + qu) ill ij // quille + A) ill j // caillou + C) ill ij // famille + a) il (_ j // bail + e) il (_ j + gt) i (m aj + u) il (_ j // deuil + L01_f) ils (_ is // fils (enfant) + + imm imm // immaculé + im (_ im // karim + im (C E~ // timbre + w) in in // winrar + inct (_ E~ // distinct + in (h in // inhumain + in (kX iN // link + in (n i // innombrable + in (C E~ // vingt + in (_ E~ // vin + ing (_ iN + ing (h ing + ing (s iN + ing (to iN + _) infra (sP5 E~fra + _) inter (@@P5 E~tEr + _) interr (A E~tEr + _) inter (_ E~t'Er + _) inter (ne_ E~t'Er + _) intra (neP5 E~tra + _) intra (uP5 E~tra + C) is (_ i + Kir) is (_ is + bor) is (_ is + dor) is (_ is + tor) is (_ is + fl) irt Wrt + otl) i (neX aj + onl) i (ne_ aj + offl) i (ne_ aj + dr) i (ve aj + pr) int (_ int + +// group i: English section + ibuter (X _^_en + iev _^_en + ife (_ _^_en + igh _^_en + iven (_ _^_en + ind (X _^_en // find, mind + _C) ind (erX _^_en // finder + AC) ind (erX _^_en // reminder + ize (X _^_en // realize + _bAl) i (ze i + ram_f) i (le _^_en + +.group ï + ï i // naïf + A) ï (_ j + A) ïe (_ j + A) ï (lA j + + + ïn (K E~ // coïncidence + ma) ïs (_ is // maïs + + + +.group j + j Z // adjoint joujoux + _) j' (P2v Z + _) jazz dZaz + _) j (obK dZ + _) j (ohK dZ + _) jusqu' (P6 Zysk + + +.group k + k k // kafka + + +// group k: English section + ke (_ _^_en // make, take + ke (s_ _^_en // makes, takes + ke (rX _^_en // maker + ke (nX _^_en // taken + +.group l + l l // lit + ll l // aller + _) l' (P2 l + au) lt // hérault + uCi) l (_ // outil, fusil + nti) l (_ // gentil + nti) lh j // gentilhomme + ui) ll j // juillet + _) lorsqu' (P7 lorsk + +// group l: English section + less (_ _^_en // noiseless + _) live _^_en + @) loud (_ _^_en + ll (X _^_en + + +.group m + m m // film + mm m // pomme + _) m' (P2v m + _) mc (@P2 mak + _) ms (P2 EmEs + master (_S6 mastYr + +// group m: English section + _) mail (_ _^_en // mailer + mov (ieX _^_en // move, movy + + +.group n + n n // une + nn n + ng (_ N + ngh ng + + _) n' (P2v n + _wAC) ner (_ nEr + + _) n (_° nymero + _) neuro (@@P5 nYro + _) nvda (P4 Envedea + + +.group o + br) oc (_ o // broc + cr) oc (_ o // escroc + on (n o + ls) on (_ on + Cst) on (_ on + _) os (_ os + _v) os (gY o2 + s_) os (_ o + x_) os (_ o + o (t_ o + + oe (ll wa // moelleux + oe (i Y // oeil + _) oe (C Y // oesophage + _ph) oe (C e // phoetus + _ph) oe (n_ Y // phoen + oeu Y // voeu + oeud Y // noeud + oeufs (_ Y // oeufs boeufs + oeu (x Yz2 // voeux coeur + o (eC o // coefficient + _) oi (gnon o // oignons + oin (C wE~ + oin (_ wE~ // coin + oi wa // poil + oê (l wa // poêle + om (C O~ // bombe + om (m o // nommer + om (ni om // omnibus + n) om (X O~ // nom + om (_ om // www.web.com + s) om (n om + + on (K O~ // mon + on (t_ O~t2 // mont vont sont + _m) ont (pAC O~ // Montpellier + _m) ont (m O~ + _m) ont (rAal O~ // Montreal + onsh (A O~z // bonshommes + onh (A on // bonhomme + _) on (z _|O~ // onze, onzi�me + + _c) on (_ O~ // no comment + gt) on (_ On // Washington + Cst) on (_ On + ps) on (_ On + _C) on (_ O~n2 // mon appui, mon histoire, mon havre + + alc) oo (l o // alcool + z) oo o // zoo + z) oo (C oo // zoologue + z) oo (m u // zoom + _gal) op (_ o // galop + + _sir) op (_ o // sirop + + v) ost (_ o // Prévost + _C) oup (_ u // coup, loup + + + ou u // hibou brouillard + ou (in w // pingouin + oue (mA u // dvvouement + _) ou (at _|u // ouate + où u // où + oû u // coûter + oy (A waj // noyer voyelles + _b) oy (co oj // boycott + _c) oy (o oi // coyote + _y) o (y o + oy wa + o (_ o // zorro allégro + o (z_ o // berlioz + o o + _sC) ot ot + + +// group o: English section + oa (X _^_en // approach, load + oa (_ oa + oa (s_ oa + oa (CerX _^_en + oach _^_en + old (er_ _^_en // folder, older + C) oing (_ _^_en // going + oo (Ce _^_en // boomer + oo (k _^_en // book, cook + oo (st _^_en // booster + oo (X _^_en // pool + C) oot _^_en // bootable football + _) one _^_en + oun (C _^_en // bounce, found + _) over _^_en // over + ow (e _^_en // flower, power + ow (X _^_en + oy (X _^_en // boy, toy + + +.group ô + ôt (_ o2 // rôt + ô o2 // cône + + +.group p + p p // pas + _) para (pCP4 para + _) photo (@P5 foto + _) poly (@P4 poli + _) post (KP4 post + _) post (ACCP4 post + _) pseudo (@P6 psYdo + p (p // appliquer + pays pE2iz2 // pays, paysage + ph f // phrase + + m) ps (_ // temps champs + r) ps (_ // corps + + cham) p (_ // champ + + cam) p (_ // camp + + dra) p (_ // drap + _) psych (@P5 psik + _) psych (iCP5 psiS + _) psych (AA_P5 psiS + + ba) p (t // baptiser + com) p (t // compte + + C) pt (_ // prompt exempt + + se) pt (_ t // sept + se) pt (iè t // septième + scul) p (t // sculpture + _) puisqu' (P7 pyisk + +// group p: English section + pad (_ _^_en + plug _^_en // plug + printer (_ _^_en // printer + + +.group q + q k // coq + _) qu' (AP3 k + _) qua (d kwa // quadrature + _) qua (tA kwa // quaternaire + _) quan (tA kwA~ // quantique + _) qua (drill ka // quadriller + _a) qua kwa // aquarium + _a) qu (if ku // aquifère + _A) qui (dist kyi // équidistant + _A) qui (lat kyi // équilatéral + _C) qua kwa // squale square + _A) qua kwa // équateur + dé) qua kwa // adequate + _) qua (rtz kwa // quartz + qu k // quatre + _) que (_ k@ // que + n) q (_ k // cinq cent + +// group q: English section + quick _^_en // quick, quickly + + +.group r + + _su) rr rr // surréaliste + cou) rr rr // courrai + mou) rr rr // mourrai + cou) rr (i r // courrier + cou) rr (o r // courroie + r r // rien + rr r + _) radio (@P5 radio + +// group r: English section + _) real _^_en + resen _^_en + rst (_ _^_en + _) rule _^_en + + +.group s + s s // verser sien + + s (_S1 z2 + stein (_ Stajn + + _) s' (P2v s // s'amène + _) s' (esXP2v s // s'amène + sç s // immisça + sch (ie sk // schierzo + sch (iz sk // schizophrène + sch (ol sk + sch (oo sk + schu Su + + sch S // schéma + dé) sh (A z // déshabiller + sh S // shérif + ss s // assez + + ai) s (em s // vraisemblable + aCè) s (_ s + nè) s (_ s + kansa) s (_ s // Kansas, Arkansas + ub) s (is z // subsister + tran) s (A z // transition + tran) s (e s // transe + tran) s (ub s // transubstantiation + A) s (A z // baiser + A) s (oft s // microsoft + A) s (ol_ s // tournesol + _) socio (@P5 sosio + _) super (@@P5 sypEr + _) super (_ sypEr + _) supra (@P5 sypra + batro) s (_ s + océro) s (_ s + scien (t siA~ // conscient scientifique + sql (_S3 EskyEl + + _u) s (_ s + Cu) s (_ + Abu) s (_ s + _Abu) s (_ + mbu) s (_ s +_cACpu) s (_ s + Acu) s (_ s + docu) s (_ + écu) s (_ + asu) s (_ s + odu) s (_ s + gu) s (_ s + igu) s (_ // aigus + iu) s (_ s // radius + ïu) s (_ s // laïus + Culu) s (_ s // cumulus + plu) s (_ z2 // plus, surplus + ylu) s (_ s // stylus + mu) s (_ s + _mu) s (_ + ému) s (_ + opu) s (_ s // opus, octopus + Aru) s (_ s // virus + aru) s (_ // disparus + ouru) s (_ // courus + Anu) s (_ s // bonus, tonus + enu) s (_ // menus, venus + psu) s (_ s // lapsus + cessu) s (_ s // processus + + atu) s (_ s // stratus motus + ctu) s (_ s // cactus + etu) s (_ s + aitu) s (_ + itu) s (_ s + ltu) s (_ s // altus + otu) s (_ s // motus + Cutu) s (_ s + + _tou) s (_ s + + s (b z // sbire + s (d z + s (g z + s (j z + s (v z + _tou) s (_Ces_ + _tou) s (_des_ s + _tou) s (_Cos_ + _tou) s (_leurs_ + +// group s: English section + CA) sh (_ _^_en // punish + sh (_ _^_en + sh (Ap _^_en // shop, ship + sh (At _^_en // shut, shot + _) sky _^_en + _) smil _^_en // smile, smiley + spy _^_en + + +.group t + t t // bataille + _) t (_ te + -) t (- t2 + _) t' (P2v t + Vn) t (_ t2 + A) t (- t2 + VCi) t (_ t2 + t (_ + peti) t (_ t2 + _) th t // thon + ts (_S1 z2 // silent at end of word unless next word starts with a vowel + C) t (_ t // compost watt soft script malttact abrupt + ki) t (_ t // kit + n) t (_ + r) t (_ + + aul) t (_ // Renault + grani) t (_ t + + _) télé (@P4 tele + _) tele tele + _) thermo (@P6 tErmo + + tt t // attitude + + s) th (m // asthme + th t // théorie + hui) t (_ t3 // huit + + _) t t // tien tiers + an) t (ia t // Santiago + C) t (ieu s // contentieux + + t (io_ s // ratio + + Ama) t (ieX s // diplomatie + a) t (ia s // spatial + en) t (ia s // confidentialit� + lbu) t (iA s // balbutiait + r) t (ia s // impartial + ini) t (iA s // initier + p) t (ia s // nuptial + an) t (iat s // transsubstantiation + + t (ion s // programmation + V) t (ion t // verbes + ache) t (ion t // achetions, rachetions + ai) t (ion t // souhaitions, traitions + oi) t (ion t // boitions + si) t (ion s // position + chan) t (ion t // chantions, d�chantions + Cisi) t (ion t // visitions + ci) t (ions t // citions + comp) t (ions t // comptions, escomptions + CAnc) t (ion s // fonctionner, ponctionner + Ce) t (ions t // jetions, rejetions + Vec) t (ion t // respections + Vep) t (ion t // respections + éCi) t (ions t // hésitions, héritions + éti) t (ion s // pétition + Vé) t (ion t // répétions + habi) t (ions t // habitions + imi) t (ions t // imitions, limitions + VAu) t (ion t // ajoutions + lu) t (ion s // févolution + Apor) t (ion t // emportions, exportions + opor) t (ion s // proportion + Cpor) t (ion t // emportions, exportions + sor) t (ion t // sortions + rê) t (ion t // arrêtions, apprêtions + + s) t (ion t // gestion + _ta) t (ion t // tation + sen) t (ion_ t // sentions, ressentions + t) t (ion t // combattions + + t (iel s // partiel + t (ieu s // ambitieux + t (iAm s // patiemment + + mar) t (ien s // martien vénitienne + a) t (ien s + i) t (ien s + o) t (ien s + + ipé) t (ieX s + amé) t (ieX s + nu) t (ieX s // minutie + ni) tien (t_ si + bu) tien (t_ si + + cra) t (ieX s // démocratie + + ner) t (ie s // inertie + + _ce) t (_ t +_transA) t (_ t + +// group t: English section + C) th (_ _^_en // month + _) th (eX _^_en // the, then + _) th (aX _^_en // than, that + _) time _^_en + tle (_ _^_en + too _^_en + ttl _^_en + try (_ _^_en // try, country + sCar) t (_ _^_en // smart, start + sCar) t (er_ _^_en // starter + _) tun (AX _^_en + + +.group u + u y // cruel nuage brut + ui yi // nuit, fuite + uin (K yE~ // juin + _s) u (rfX Y + _bl) u (ff Y + _s) u (rfeX Y + uy (A yij + + C) ucci utSi // capuccino + c) ueill Yj // cueillir + c) ueil (_ Yj // recueil + _g) ua wa + ag) ua (X wa + Ctig) ua (_ wa + _c) ul (_ y + _) ultra (P5 yltra + g) u (ay u + g) ueill Yj // orgueilleux + haïk) u (X u + + C) u (bX Y // hub, club + C) u (gX Y // bug, mug + _n) u (rse Y // nurse + r) u (nX W // run, autorun + pr) unt (_ W~ // emprunt + um (_ Om // album + f) um (_ W~ // parfum + um (b W~ // humble + um (p W~ + un (C W~ // emprunt lundi + un (n y // tunnel + CC) un (_ W~ // brun + uc) un (_ W~n2 // aucun + un (_ W~n2 // un avion + _h) un (_ W~ // hun + + fl) ux (_ y // flux, reflux + g) u (A // fatigue + g) u (ï y // ambiguïté + g) u (ë y // ambiguë + uz (z Y + +// group u: English section + _b) usi _^_en // business, businessman + C) ui (ce _^_en // produice, juice + umber (_ _^_en + ump (_ _^_en + unch _^_en + under _^_en // under, understand, thunder + _C) un (_ _^_en + _C) un (ny _^_en + _) up (C _^_en // upper, update + up (_ _^_en // setup + urn (X _^_en // burn, turn + ust (_ _^_en // just, trust + + +.group ü + ü y + üs (_ ys + üm (_ om + ül (_ yll + + +.group v + v v + vers (_ vErz2 + dri) ver (X vYr + view (X vju + _) view (A vjuv + +// group v: English section + voice (X _^_en + void (_ _^_en + vy (_ _^_en + + +.group w + w w + _) w (A _|w + w (ag v // wagon + wa (ve_ wE:j // wave + wa (re_ wE: // hardware software + +// group w: English section + e) w (K _^_en + _) wan _^_en + wr _^_en // write + way _^_en // way, away + _) wir _^_en // wire + winn _^_en // winner + wise _^_en + with _^_en + wor _^_en + + +.group x + x ks + xx ks + _) x (A gz // xylophone + _) x (CP1 iks // xylophone + xml (_S3 _|iksEmEl + e) x (A gz // exagérer exemple + L03e) x (A ks // annexe, vexer + _ine) x (A gz + _e) x (h gz // exhumer + + ai) x (_ // voix paix prix + oi) x (_ + ri) x (_ + + _soi) x (A s // soixante + + Au) x (_ z2 // faux feux choux + + _au) x (quel // auxquels + + _di) x (_neuf z // liaison: dix-neuf + _di) x (_ z3 + _si) x (_neu s // liaison: six-neuf + _si) x (_ z3 + + di) x (iè z // dixième + si) x (iè z // sixième + deu) x (iè z // deuxième + + +.group y + y i // cryogénique myope + _) y (A _|j // yak + _) y (eu j // yeux + _) yacht _^_en // yacht, yachtman + + _) yahoo (P5 ja'u + ym (K E~ // tympan + y (nn i + y (nA i + X) ys (_ is + yx (_ iks + + yn E~ // laryngite + + +.group z + z z + t) z s // tzigane + t) zer (_ zEr + C) zer (_ zWr + + +.group +// accented characters, these could have their own groups if they need more rules + â a: + ñ n^ + + é e // été + ê E // fête + + ö o // angström + û y: // fûtes + ü y // bülcher + + +// symbols that are normally spoken when reading text + , (D pilk:u + $ dolar + ° d@gre + _n_) ° // n° + + + + + + + + + diff --git a/dictsource/ta_rules b/dictsource/ta_rules index 0c1e49d6..9e1459a7 100644 --- a/dictsource/ta_rules +++ b/dictsource/ta_rules @@ -393,7 +393,7 @@ _) ட (வல t.V _) ட (வர t.V _) ட (ேப t. - _) ட (ாக்ஸி t. + _) டாக (்ஸி t.a:k .group ண ண n.V @@ -597,6 +597,7 @@ _) த (ொம் d _) த (ோசை d _) த (ோஷ d + _) த (ுபாய d //endsort //sort @@ -671,6 +672,7 @@ _பார்வ) த (ி t ச) த (்ரு t த) த (்ரூப t பா) த (்ரூம t + _ப) த (ஞ்சலி tV //endsort diff --git a/phsource/b/br b/phsource/b/br new file mode 100755 index 0000000000000000000000000000000000000000..2a1b998181bbdf760dd3f12eeba032e751e2534e GIT binary patch literal 2122 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] la @@ -923,6 +926,7 @@ vdiph/ai [aI] base2 [a:I] vi [aI] id [aI] hy + [aI] da vdiph/ai_2 [aI] en [aI] cy [aY] cy diff --git a/phsource/envelope/i_risefall b/phsource/envelope/i_risefall new file mode 100644 index 00000000..f8a7771d --- /dev/null +++ b/phsource/envelope/i_risefall @@ -0,0 +1,11 @@ +ENVELOPE +0 60 +5 63 +22 92 +31 100 +41 95 +85 12 +90 5 +100 0 + + diff --git a/phsource/envelope/i_risefall2 b/phsource/envelope/i_risefall2 new file mode 100644 index 00000000..159d53ad --- /dev/null +++ b/phsource/envelope/i_risefall2 @@ -0,0 +1,6 @@ +ENVELOPE +0 0 +45 95 +100 0 + + diff --git a/phsource/g/gr b/phsource/g/gr new file mode 100755 index 0000000000000000000000000000000000000000..3222a12777f614bf97adacd725e9717b0f2c174e GIT binary patch literal 824 zcmb7ByG{Z@6g@kS-338VV?+u=w4t(~AQmQ)s4=lo7ERE`#`pyk7XE;V1(hG+H&7D` zV`*h+VMS$SgZIp^3uxt%`#9&`nGEN2P7n9bI_-u6aFi%qOP&2%_H6=N<{|Ae?gR!` z6ZU@G18hI&2N%LHfM;R4s;hRTzjVwng5a)t6y)#QTtGmk5&%X5_$+#ch%p{l%JU3x zw+al@Kz+%a0o-o(PCNxjNcsD)@2&$%PQa1p)LG7o^ z|J`V2@BHgV8^>s1McgQf8nI};BsniZHK-<4WTw_$FDe)~{ivI9zObqZCt^5`m>n~x YT2ApSb=QvP#BZcG`EBdAc{A_$0S`Ds?f?J) literal 0 HcmV?d00001 diff --git a/phsource/g/xgr b/phsource/g/xgr new file mode 100644 index 0000000000000000000000000000000000000000..1d6ab49be8ae6e03a1ca3fae3b1f39f7d966b285 GIT binary patch literal 3173 zcmeH}ZEzGt8pmg|v(r7@J+m{rJ1;vkyV>3BCYu)mk`Mz4BqW3YfdqNINIXu>0p95e z0fhum3WSpc5JAP@Q63_oL?DnujzTUG1PQ4_5eQ&Wa0n?L#QtS6?N6Lw@hUTC84QQ z08cgiJ~G(yE!IO&G5ZH zSHdw}m0poSoh1@Y_ri!rg?MqjbDuKK_`$a$^lrl5p19Abeotj}j0rz46+ z)D@^h8}e=qgads2My9>qyE!>JadsRIUiXdjrW;jSqWik?g5UebYTs^XWFD!(hG9(fxd*{Uw3?n0ql( zf>VOu#MB3_`O3Xh^j2l2Ylk>VND%_U-|aW~Wc~=3$h++Y!gBGXBi>ah(Mq+Nr$reD zJXO(o{+2*_@N@{r-H2Nnt`E-(H^!}rWkcZ@zdsZ`$>T8k>u0rQ?FTJMAEQs!pVV`7 zR{vNVrtNnpxfiLYl>y2>nJx4r^p4Faw&oN_= z@fZEP=GT7f{!r!Ax0O*!f8{Y{fwEu0>Jars^)+>c`jR?M)zu@)9L1+J$WO~e-XoPu z10|<))pgjl&9%}s-Bsucy4sx$&c)7=PSyF1d2VwZg^qyZrucTe{o-NySaC`GHwv(o@_Y z;Q=@o=i$L-9b|errsd(`cs!nrXX6#P27iW6<2Gz1BJq$A=|NIS2FWGE$#`?6>0}{! zhy0BkA=ik^_2){tDsBtc#GU0XaTm;8Zs%U%3OK|aAdAch{KP^o)U2&E^hk&}vkPW}~c|E!7R3$|$1KSaGSEMf0fXUG zGc&IX83L$+3Zr>l$dJm_QIoonp~UX7{G1F5{B_B2Ni3AU)e?N?g0A?ll9GD$N$Kdb zHa#`tX#eHerMc;YuMC-3@WKeX=y=h_qMX7%7nJAc33;R3B&R5cl=ASV>-0kWm<&gZIRN_Ve`kv+@a&TrsLc#S{D)pGO9d&+XVNC~-R z-p#)FD%ydTqB8UZ8iINu3EgJTv&Y$E>^b%(>p+QUfT<5d`6$Qq`kOTiWur`#f`W)c zt?WO|Or6aZu_3kto`w72Hn3*2AOl8r0aK>|C~v zz07*iNc1xL05zhs=v#CeHK5nf2y};ij~&Ebf-7JSybZR2$-oT`GUZHPMrL$oFtda? z!N?#T^Z^)r%KV;@n0vN?%t7W!Z~EjH%DUOwY`td<(Ajh`{U>@p{WiUgK1^SwvCVHwuz78F=_a~{ zK1083o4{m(DD!+A>}d86Yzdpf-hw+|nRzA*JO@4p+re6}43vWi8R|PZ@DmyCW5H~? zlcDrM$1jq>)}0KeZIm_gW{CW?go=+J?*`3#Bc4l{{?96Q6Y&L}uNrHhSBqW4{mQX@Ff(S&w1L-XkMcN6G zA}CdlLllGvQUpXqg4DnPhd?NDAR+Anv?VRC$V!ahc{pyd`3B$rNr}1-Z=1+1_{QI`OQaA09XKTcY=r0=Mq|VLzrPpUw<{%$!*HA zYg&R9p5`5!zR{#2&K)x`5(n;iy1A0I5+%lQPdYAc6yC9~vsGJXTZ^q5tgLO4?W!%^ zKFeNir-e4cBB4s?E*=)Mr9)Cz`L_I)qod+cOn@6Z?xq+$9tXEd`rUX+LJ) zWM60>WzVw*?00Qtwpq50Hre)#zHgJQc~+nG0e_q?^b(l{&s>r#O`Ld zu^+J?uq)Zc>}|^FGQ^|bCe9e5x>|~ZRBbio=jk!X$lQ+mn(vxJ9 z1mYzOxsT7|op>=Gfpf5ie?YrY2`WGibP>J}N5c-VDSQTI!2WP4ya?maG;|h)@NoPQ zzKU%ml@yT@vYDJE4++PpjL6iHlVmZ;Bei%vF2YebT<`HVszDH|I2t#_EpQgj#;x_* zO1Cogl8xKr?sy=ch!@~eyboW%cd(K0#7QDZBa%o`NET^Ny6Yp2A~VQx@-aCgJ-_0yK}O(Uu~`$)kf-4mDgU>W^2Q> zfVN#tQTHjm6Z#&+2i!Tbw01 z9Zl46&W-Nv-tqqL17ff~_)%oz(A3bX(2S5hloEL>!WX#h9pS#El`6o|RCdZkGn zt&jCJ{xUa^vvB2>nU-|RU3N8F$SUk*W+O92Kc|q{K?+HYem0xoO0*TtK_gLbl#Ak# zfF8mt@H9LHFT)4WiegX;U2ltWP^NCB=`|f?pj4EA0*FCX@TeZC6Jb7#fc4-K*bg>= zm0%&528Mwipalp5E1-cHSbz&O1}VDI6a)YQx9Pvo+v!#GLV5;0mM)_6=x1p!&C!5n zXcwJA_oL_2d+8cF8gv5_^!`?XbzlS70(OIwpc*K!4V(9C(}tZruUd%Fbn27 zQ%mz9b6@&fItBCu>EI6iGJW4X%>3B2)->MK$JE)BYieflnZixysQ0NCsYvRovD7%- zIKfzATyLx})){?N2Gx@qN=>DfP@AY@R3(K?UQ@KmWvZo)P^HvG>J?Kjb1EIK?~fIB zfxm}^Fag$ptze|SCuVS&K1gq-SJHFoVmiI%{zUmH8BFzWPW(Bho*Mrf8BF2924p~V z#|C83(AN#f(3{!WfDDP2nBS0LQr3SbLo>s_<_!Od3@xp28Tl*Ptj>BVjd^xk{HEx< zh(n%`vp~s_RXxHIrE)1po+=NOIk{N+Oso`Cp|yRmZL)O;ALN#^JIDZ3Opi7V1*v!) zbKjC{-Db~~Y8^+lweHEjXCgj`JRY??#@?tyT#v?y@q6Nr#mC0)iCYl6Cu(|7@UM4| z)s{F?r4nJL{h@8KE!wu$nr2P0{%GxMPZLw*80DTi%lVC~&VA7{+e`WKe0_ZhzA`WH z@}66+Qs+RenVPH=JIs#r@+G-OrX1JhxpJihq^rU*d#)|cx`ofN*4PG%X^t2TxxD5wy1)tF+mG9~+L!3rLzW%c z%WX4kSvI3>pLM#vu1bC>-;%H7)^J0))?5rHaVGAL<(y@gWtFAGGQl#`@`9zerIV$l zCB|a6)Ur4A?BE!?m;HoY$G*+ZWnX2-v!mGI>@apP+n+69)Aan{0dti36El|S#3V2p z!!jl&jH%Uc@oI9DTq38*QF4eJB!|gy-9AUolL~T#d`jLW(@B5Ql6Xisxrxu>WB4dO zi7(+wT!)c)K!OWqboy;RpB;{u{oJf56x9SNP9(J6@#U_Cb6C4MDYV z4h+Ex@JH~f&X{Rn3HbO4T`+XQNEi)c_4v$$z2Q{&p-#gep%EF;J@^&;9KHt^!ntrU zTno$KIamqnAdP5bK-GGdazOWf1CE2w>)A^>OoTBy8QoBU0^}fuW*7z^f+}zYoCf>! u@!kWAK#4y7I4~IW0_}7@rh@ihG}sL4K|Wjr55sFZ<<7wEdY{8!SNM0x*D)&q literal 0 HcmV?d00001 diff --git a/phsource/klatt/bh b/phsource/klatt/bh new file mode 100644 index 0000000000000000000000000000000000000000..a2f93d9ab7d3767dfdfb0ffec4916f965145490f GIT binary patch literal 5272 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 Kj+yfGHvKP{l*eTN literal 0 HcmV?d00001 diff --git a/phsource/klatt/dz_pzd b/phsource/klatt/dz_pzd new file mode 100644 index 0000000000000000000000000000000000000000..7d4ae9b90d533a84dbf8cae4b8b8034afcb93f9e GIT binary patch literal 1232 zcmeHEJxc>Y6r8);%bn2}KMEDW#>P5|mEeI2Vq;>o&_;_OmKGM0e<1iHEG+#27AaC# ziim}^KOu#cO`Lg~OCq)k7Vh%i&YSmkS!U|ht&RP9tx^EcXda(88xb1B!z+tldu8Ts za@6N`;c(DnueuM&irdj`a7ac0bkKGkoCRydN5(uS2;R7>tgel@AN9<505}G4S878u zsubPsOZh7UoXo>!-q}|GmkU5EY=r}6X>piY){w1A4*KUQF0hGJ%wi5@jAIHj%o8Xf zMv*%~0V7C>#_UX)6V@prc2esrYbNC#&4=JQJ}}?X2&yrq@3n zTk;6V;-~(fb1>lcNDch^EjNIlaAPI^KEAtA!w%VLx>2SYDK(#DE;6Ks)RcUVBjeTa6ZuPiI<{%OtT+BW`Foyx0>77jI{*Lx literal 0 HcmV?d00001 diff --git a/phsource/klatt/dz_pzd_ b/phsource/klatt/dz_pzd_ new file mode 100644 index 0000000000000000000000000000000000000000..107fd8295ff29aa56800154745b1f09f7be79e68 GIT binary patch literal 3177 zcmeH}dsGzH9mfZDX6|EN`Kt|H2wSP4EGv|2kxo5uf zz29^1%suD#Id}NbpJWyc9~KJ;f+(pdo>Ea#tRqUam-|~fJ$KL4UL&1a{GW+*-L5KU zuYM(jBuekb4-n}%N4GAdP;&~2k3*t~4x*9lAbuW_qB&0x40x3I5D+1sX?>{XEGFEz zf_R7d#^FNWR%(xzu=ZVg-Nc-%f)eP8*pqEq@PuPFv~g1S(hqI%T^ zC0RLO8)XBwJ=SSfn{}%kkZUBJG}~geoDn||8^yiie(|z6%d$nPvkp=-osYW@;wyAYCXzeH4x#aB(-{vDDuJ|f^o5HKTiJqOV z$gtIpB)dUPQT}9m-BxeAZp&A;DXdzkR;%mO73xT}Q+Y<&WxHU#CSR1AENjIIbFrz| z_>!SjKVC2B4+}2}X~H#rJzvDz_*QNkH(B0Q#U20!TvvI$&RztU3Ll7h?DY_z*OJTCf~cftjEL>pH}PS77N5s|#f^9g z&c(OUTJ#9I2$#VO*a^0S@xTfW(dBd!ZJ`x9i(X8hq%9y3Bmf5NqsP)B-AxUo57A@5 zKR_}pglX^!m;-Lmlj+;kMyiY|rhZE0P)U@V3Z+hwZ;%tn2=a4Xoo>FaLbph_MR!8i zt#gyilQ7;7kPxNBhQe}QzPjV5UQPz5e-MbKt(7H-GV#d zH0?}i*a{AUx4;@u4az~<&7Ptuy>*jL^{jaAZUucK?k9r=mAkY5O$I8|_W&6%82SJi zRQ%ZkWEjQmdVmb^Lg0VM@XO5qPlhDoyOUw8{h)((H-|qJSr)t<-4(MsR*65Hpidl} zyf|&uBf{Xh`AZ7gM+`5T^W=cyIZx&meKKNPL3;k`LF+T0N#**#9kV?uFZ@uL-(FzL zmKCkS;-$k^(KOpQ$>7tk;&-y+a5PF{m_m9Hgj5rp#Dq!xD8$F_Le9XR>qcOplebLK;`y%K2M9&uIOtr?EA}tbM zG9M4f)2-n4S zvRBzl>{+&jZDtR#2iYd}n5Iv$r`Z$i5%yhnEjyomnjOf7v7ziG<`d>9)65)a&NA&x zH-lM&)-l_|TxBk3-rty3<|5O<++@CD{>|KA{>7YUK4t#QG%zcf@r;l83!a3#(96h= zPQc&67c|DqgEjDvy>wxa9Yvrh6x8Z71C2tJXtPGcFOd%G@OAVldJnBb%TYCY6>UU~ z=oD&4-3VZS349fuK_6)8U!z%QG|EM3C>{kgGCGkBiAawaM57SY2|M69*a8n|`>lg3 z;UaDSS#Tm835RHWOo5NW>F_Ps1M|^J)P&A!lskzUv^6KA$I$m7!xKLcGTgf<+*99v Q`a?22B*Q~8d>1l&4b`+%djJ3c literal 0 HcmV?d00001 diff --git a/phsource/klatt/m b/phsource/klatt/m new file mode 100644 index 0000000000000000000000000000000000000000..043eb7c4d20ea184ce85252ca2e2f09d1b31244c GIT binary patch literal 1605 zcmeH{u};G<5QcxJPU6ypGO>WVWT_aD*g!-=-B1OT1!e{o_KtY~HeR3-jEsyODkdHQ zwmbkr3@mK?cSdqRtYwO=yYqd%vn-$O$M1W^gb>FcW4LLqna%dOvrMWXt^sbehxT;f|T8Wii;68^E@jRLJeM}(O zKqOfoj1d8*17IG_qdX(h5jzf`=h=9An&Uo literal 0 HcmV?d00001 diff --git a/phsource/klatt/m-syl b/phsource/klatt/m-syl new file mode 100644 index 0000000000000000000000000000000000000000..93c59a27b742e44e729030629a0c7666af0473c9 GIT binary patch literal 2446 zcmeH|yH8VL7{;H|p3|PvmKMcwwWbykQIJ#wA|i)N6~Q1_qNocRHE6^^9bho2CI$zM z|AAp()Y+wpjWLFS!4bDEPC77{m>7*d?{`kG4o=-TU%uP(U2^*T&ighslN_5%%_ckm zmbxCS+~w#7$EA;Dd~v3hdo4dIXp>YIhG2v`7D1<%W1j>NCh&1Y?;EFYvC*3v(S>(MfuJXQi0_tcyFoF5pOS1`ec)O zI`V@;KY<0l-wQlJ3X3?)I)__W#UqSk3FhLCu#PmnPSE!RI?)3Q zSIOxVx%9FQac!LRt~sMg?unw6em2qHeRSD&Ry?g$B}k8jg^=+nGA5Y>$)JH}Vl4Y{ z0CBbvQVo$~kgbrD^TWShramePmhr}Na1^?tcAeU3NAEVt#Zws@*+6A%WJ8s)ku}S| z`%C~8kw7lq@;!_VcX=fIFE$c|_y0FG4q=kt*8tAoHkNRV(J@K_BW$M_<&SY6gCx^U z*W+c_I0y%EMp4-PX*h9#S_hRv{6M(BmEUdHPGQ<8|I1-^1~n< zlf@t{i6Sr8{c1JHU17#hgtdv>8p&L4^Yb1*?+d6RylQx|l-cL3{bMbC+xgX&k=LgA z1~(lw_Vydn!JM|Na+#gawzRZw8?7#J$^zUI7nQ4<#Vf1@21Rbuh`Y4d6Y3kL+dQWn@@p}y$q#l>GYAs`U| literal 0 HcmV?d00001 diff --git a/phsource/klatt/m_ b/phsource/klatt/m_ new file mode 100644 index 0000000000000000000000000000000000000000..f65b8d9662c41c55553cc9eb31731f5c5dbeb9ae GIT binary patch literal 1606 zcmeH`p-uxq5QhKV?%i$a9j(GZYR)tm2*DDL5FBX=#el&eF!;)Q030vS1SAq!(V%z) zaQ6U&ATT)onIpMtf&`Khb~7_O-_C3{`)7xPz1^eX!G;BJaq4i!SRYyNG%fSY-FRurJmlC#AqOZun-ZaWppGFE#S&=Kcac10XrP?Q1_&>JV$Ef6gk0Z+WVWT_An5*vs}6>9}53(O2m%pLOpY`j1v7#SHmRJ;We zLmr?)3@mJXcSdqx2bS2nJNtKcj^(p6JvknqO;7g>fNP6Ons%$)^U}{N`}pMuY=U;i z3U$$#8O|9e0yL)1-mo2wIKEKw;+F2p+?!o~??%Zgt9y-UlvvpX9ttRtnJ4psj|l`@ zh$QQsF(SZh2rQyS6v(J-lYKmC9B?4v-`Ws|*g=U+RHRbReKV6x-DlUi+;{Ig@4lCpbKb2il}pvi zav=&}b>jKjvr8r(GY@}``NN+&dLziX*gTPIKDx8F2`8~0$?ErrhyxwXNe@L_?LKpH z;HQbqZ_U*&fdGhR&0OG%^VCtesPC5P_ye=ioexE#zsGc zkSQrr-&l}z;~XCHey_2P3RZA~Ud0n^;00z;!WCS_G|IS*CB`XS;5flp=DftUTPWfz zj$#-ma1MFc$RL3s9AZqtLL4#9V@T3dNOL8P!#IK*>usE-jHT%U>q0W z-~n~IPF*JHGhCacdXM~Uo;5Z`$mcQgdy*`B%nGN2$}Dm$T8J_UrA(ZfSkz#cd-AkX zID=7+S*n_*juuBzPWBgf-&8&;6&&+h%ag+~I$d1?Y!ODcoAU45s9Ua9Q+?s}hO5;R z9gIZeHF~}A-E5gF+Lm^n@7e2(cA~D!D;LD;jkgvQ5_HRCypi^50))rqz&;3fLd^!6 zk!B>^8)4)!KB^w-b+i9>7;N%7PByY+AW2V=19`#1W}IV^qwwjOymUdL3XO9Vj#JQK zDlAIgV|=kuvSTtcX$DPauCrE9lRFH~qiRiddgsWBoFXR}Di(LQKRs1f4QtWxFW5O??4uTcUmoB1PYYiNhOidFdj}5sqCb7{54gPV4gdfE literal 0 HcmV?d00001 diff --git a/phsource/klatt/n^ b/phsource/klatt/n^ new file mode 100644 index 0000000000000000000000000000000000000000..42c956254d94300c5819151a66f5025bff95161e GIT binary patch literal 2002 zcmeH|ze~eF6vw|gFUe`rrjrybU9uE$szVol6vS1Ox+vo0;N;xF!9T#we?ZVd(6K{@ zf*lz@Ozg?l6KHy5fu~ey}Qr7JC3}(`!?2BS2i0PRRQ2&*Tx=w`l;J@ z-Dq5wt#~3~YmliGJs>EF7Pc6t8*ppEe?&=C*xxo}N5S5=&aF8MI5wo{!RcFlLnJA1 zm4nnok0Np!3=+&72_5sq7~Ozo8R&?PNJu42lXIv1wDrB4!a{8a_NWA9)lI zAV;rgJ=!VS=yfq^h-0XtRU|$pU_&zpE?+?}NnAFYJ;`~OO&Mx)h2+>Vb9!a8kB-&5 z=pCf-%g<*g59YARcdyHv`1lF?o?L`#9J#3ep}U-sRFjUBro?`$}E>=VIhL>eIPERxhXxX}xIjCeP{xbAha09C|>1P%jL5 g*9&t;Wr(heXjP&PAL&I6MWZV~E%~kD-cQzxH}f9B+yDRo literal 0 HcmV?d00001 diff --git a/phsource/klatt/n^@ b/phsource/klatt/n^@ new file mode 100644 index 0000000000000000000000000000000000000000..d5ca44325b917378b9cc9a6b53887f1488db3840 GIT binary patch literal 2003 zcmeH{uTR536vw~qu0L42b&8N|nWZ1d!KuEz1-`!osIRitj-%fTK8*{9_^ z-X?KN-KP_VwV^UA20&D^ud&TMZNP(t@C7xy!SRle4 zQijq*M+rHNz7kZAY@PGU9Bn|i4)pE5ZAc@|k_GgvqE5u3_^hjA3A2bXjSvAXL>U!C zD6#kH1NtI;(mYHFafSNyK1qlI9BAgkW3$;S5|8F^q&V-6OVoI#=(a zcTm!=yq%pq%VEvE-#lHU$2aVEY7zUBTIj1c_nsCa$J&gHlBf%6AghZmzu0fOKwcMz z0Wi$z;;NL8kuIbbk~1QFQ8mdiD)>nkP27oofK@KfKVz+n_rc||9CuQSKmSMl%UaB& Nx@hJ_!DyUy@d4GO>WVWT_Yt5(|h*6>9}53(O2mojc|M7?5~@N-#1qcIX4} z0&JO4g&0`a_+bB|{ZW+5WpZ{px|p2rYXH-!!8L7j4ejeP+=u4*#}U~W z&5RYQqE<6pGR_O|rmE}%yL!O$m5>9sv^VNe-6`N!$SSKkwW@^}QsAk85Pu6~-U~62 zUi$|gC)i^Ks(KK$3};~0A=v5g#EN{&rzp@)LjQFo~~sKZW? z2}y)HYDbcz0}Ia*q}-a;kfapLlc7JQIH8sqhWA8#J~PzuvA&A0V8ot$J>0*`)5iC{ kzFw4W-u8msh`op(QeWVWT{Xm7A8axVy!@Bfti7cfvIC2fB}g|fJf-qq2evr z@&E{RU_oNwKRc3Bc3_FEyYqd%vn-#^)3ei)i|P5k25@_4a827DW&FDIere{-Mqm@P zGu}}3Yc<0q<3xa3RlOB<^@!^$N5;uAzERI=tblt*zHAlMs&>SX0uLD+5zmwPz{doF z9can=V2lVb8v+Zx(1DDKHaWnHivx}&d~FPIh&>e8MvjbBGA>g;-+~dZCkkt1r4*{OpUa7XR}{eFKl1sZ;;} literal 0 HcmV?d00001 diff --git a/phsource/klatt/qq b/phsource/klatt/qq new file mode 100644 index 0000000000000000000000000000000000000000..f85b29da9c1a76f47bc170a61581b561f95f785c GIT binary patch literal 5272 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 Ka0obA6#NG$kl*S6 literal 0 HcmV?d00001 diff --git a/phsource/klatt/qqh b/phsource/klatt/qqh new file mode 100644 index 0000000000000000000000000000000000000000..ed4cf1fb5ae9257dd1c506e6bc0f96094db06e56 GIT binary patch literal 5273 zcmbW530PLu*2mA;Ywh6-?*IrgB%mmxs5mBSVoo`bQw8Fjn&wz!isaRsmP5`r@Dp>$ zDHRP=a;PvKN!nl>$p)jQg|bjKi%Mo`o6PUnCbO~x=~~nSoSU@(XJtK=CFeYy zc+OMPa#=2`EYY-jYJzuV$?b|3G%a;oO5l?vnid}Ncu6yAvGNoC=-}^t74Nxzp9MV# zsTo>5^v{sOpp|~zJjPpzo}+z6`8xcz`tGRuuFsp^2dWIKa?7i>S8dN{JgT}KuCtCA zwvUxzDAhv5U@e@)n~66>R{>%PugP;T9j{=2p3g(YWN}q=mz!m|tf|5ks%^5BTrJM? z`v}+vw!$zJd@8@i+llwYDv>EZ7U^QX_>jJn#LL1%Y~)R;zS{T|OocQ!4ly_vFJoh# z!Z+|jewLr($M_Dug#N$CgZNd69Z-g6L)kKx7QfPZkwNRkGl5fc{`GXiQqVhPlPF;JJ*t83$o82*}p=va0CjdAzw8E8Y?f#5VpXDm=nk>RoiFeor3^ zGjJG3(UbbSyRgLu-hpaF9!tG=fHM&)T8MbjOS~>p#ayvg>=9?gE%7UjLY|mOZ&t#m z@P=IDSMUrLQoA##To=!Z&h)**C-AQ^6N>dTRt9<4hEL`*>G@-L8NJDV zy80I0#N(KSlj;6`I0~oWe4K+R_!5TU@9+bBMPs`I4#N#_V?#{9u{3VWX>``%$2bpD zX_VSxDC&3=7DE!aVGnzUy}+Jhud>zbSJoD0(A~vwleW{a35J6MHnMbfk~M|tkPF|# zQP>4*;X{}P|AetH5ZXaCxI*{#U_a|K^VsJ(D`dym zPBxphVK?-JdXnBse@=fz&(O>C7uX#3IonNj3}tm$D{Ad076Q$oA()WMIr!z^~B5cV=NKJo8hOSgHOUp1z z^jl_SNhXz`9^u@l#X2?OOXA-g(6s4Z8gb!&$-wmz@3@MRM`U0u$hY#EM$(|9qiZa5__d%y7M(xHTME{zWZ}`vRk^Rxir@p=Q&3^#{xUwDl&H&<5Zal;^W~Y zjuxwBy6R#4WDGG6nbFo%>x|XFo@O7hosI^Mrj7u|aeI_~!D?wuGj|*1s-YS$4~aPO zJzqd`J%fM6FOd%1LWpyGId9Fs!4Mn)UXTMTaXL>BZn;Iip!TaK#ysPQQEqVawz1Ec zZp0dw)nYYBwO5_h7`0Oc8Sfj#Mt~V(2AIc;K1Pl@AqzzYkHcng7D};z&k>Deo@}N* zRNtxds#xt(>1v>AqN*xML^G6+s-t?U<;pN-8h++7(`og#rdji>iB^JD!#Za!GULs1 zW4Y1VC{}MNUCokyGFv1FU-1jS!hhyM1dAr39qG0sy7d~_(sU&6OS=Dnls=g!^IklTNAO_Me1HB4 zzsbWzYa#FL*7HA*#xyGF)Y=2xG2soO-;>*l7$hN~y1l zWN&#>EEccQlUEU!cn*!=5dIR?6viLmUYvxHcmPI#C+uU(*jm!L7d#IG;7xcNl1csj zpd&=UU7Fp~Sql4*eZhWUr`bNXkaT&P^j@UD%(k-oECv#Yw$orPQDPXx!1t^x+o&(l zEmF>CmcV@3cD;u_P(Ps8VN=*aWgM&}i ziivCxU0kPg-IaA5(Vs__gnd&pv-;k^#?RdMbNTl3xl$$5YqjV19#I|{Znt}?tIYYL zGtH4lioR>wW|$FAdR{{DYXNqKEPcGbPp_iSVpqV;J;V)>DO;-@D%eOdP8vz3Xie+wfBS2R5LHc?`ReI=|(cNuig?pL7KY-@robz>9bfv0Zq|;c~yM zrxvQ;RTm@8IAj=RocX#r)=V%pbEq*>jg-~J1*$2V;(ZLa`6i6RAIYI)!x1<`US|s% zugAkcyiaZ?lwZIPFaq;oB-pT?z0O9k73>7N&c0@~*h%eOHVn=Kr+DgxEl8VN@e^*! zsp^^$Xxa8E`$v1bUC)lUyv#Z3fcTxXRt60*7Moxvir$@(;iqr`GI2D&%Nr7nw)1j4 z3yCaA@6A%#XN;6daXtYr0tbKA5_)4OU(fGwiwKs(6Zu`-fDeuolZ)irvOYPcq2eZulHjYUPeREZUW1cx z5Wb_|JK%vq=tsUHpOoDbo`p#8gPRnoJF{TcmmOxYFbOi?U-UZyI#aw}LuX=1`<+=J z`$li4x6oJV1$ve~SNCSySY4vZEOLbH;Wsvyx!GuawU(^^p%0>S_gDn9rY#Jv6K9;P zy*^d%M5OSAXs}>2@!_c6k?m(SVKn)Yhd!qZ3}RQc4QvMSp%eDO_GsfqXbhPwoXAk3 zO|4LT9N%?oRmIWHt0fitC&}Q}9+4qhJxPY2$e%pv8Lo;4Pmv+W;!k;odalb)ks;3W zjQ;;2Lx*kuJsAoDrw5Cg_d`2{XN7%O>w1lkgL4DdKJ$y;I-e-7XWY*_^Bk8P()qh% zr=yRf$d0qqty|^@io3T-<)0a;MwpRHE_%CcPV-?l&4^KAsVEb@<#)2anyr3N(g-p_ zjcB8dF^b}8K1G?G#$+SX_(mnEn=(aSBL5r3OCgzUXDdMBZI}tqkweUbEij%&eKE|V z|M!>+Lf|ZU!+h;^)(}?HIG%z+I0vzK0+;g96z?yP>%XIV899bB2by_ih&7xXN`LF7 z+1z~9m`knAmK`Wtm?SPzoLq?}d5_Da$sDTh00h(g?F%k8l5K!qm_~~H4I=mbITO%5a*}RbE&;kr5hjX43RzNw!J#yC_aTxBwnxv3y zzL%&ol05uu>_D1aL-kJNXLtnphiLIRWdr@mgU`p=JX2|1zWeBHBH>-?wG*(6`elgNEf$Dk zo{3SALr%OG^{5MPU^Zn+NumRJv3>L;&A3Ih%ETA(Iut-Omg60MS!Bs3lp~E+QR<}J zD8G<<u<0;x?&US!uIGx_3gTo zwPOR>V9EimQPgdvhp^@BI4fZDNZpxwj^2=*Krt(4zp#9^fan)Vc}6ZQC6`ddGN@!7 z+d|tK$`?kmPLwMIvS(O5dYVk8sNdGZK3D^dU>G~3ze_v`g1Yc3WI_?;GueE7PmDxm7Get9b<*GtuHgUqyPA@eo zODeO8hiykLIu8`hA<^H#QlD$T{uR2ogQ+8|TCf8y2Vh?}Mj-Fwj z>pTv)=ef|CY^PbjSr6=A9UnPMo%fu_ob#M9&fShz9DmsBh$0(^A`uj+|4=JbYxSkP zEiO|uZGhnv@groRY^B~)i_~NltMVu}A1f~K6?`sb;u~-jG-BR3f+F^L5hLT}^U^JI zM1AokT_MB@(L}D7x22n0{%QHCoJEA`D_h96GzHNQF7h=?tt9dc z9@eksKJy*3in+{aU=*ng)kg)WLOD(Lk^@L{rLw*HNSz{Ia7$&Wx@w&KMBL?z$VY_I zT%V6C(Bfb7EU{6}QT|lJQ5CAvi573kmXtM|uq9@9ORd5rKVclUN@x*j-3Iqy4`Q9icOzGj^@(~V%oWF+ypp>f^lWlk|in*QcY zV~5%-Q^d>EQZ8R4lH@hYy~e63^o>{dh;nnpO#T!4^LTPlCm{-wFoJT7_xT>)RvZ;k z(qFzKTJa*7i0k=C@_#+#Vwo$m3Y9Bu;3)I02v~seA-g^@DNLyNcTFU}RlVh<2 zL#TH;@!?uXP>PK?6G5 zQm?^|5;f~XI0Qo|G=o00UbU8Tt;ysX>X45bLwUp?V(CO;K~wN1=kYE3h*ml_L4V4; PeEAd`*HBq`+*f@>AI#3e0X*@?Ip5A)`R|g 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 literal 0 HcmV?d00001 diff --git a/phsource/klatt/v_ b/phsource/klatt/v_ new file mode 100644 index 0000000000000000000000000000000000000000..fe8b309e00e2cc22a5979cab56bca64b225eba25 GIT binary patch literal 5272 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 literal 0 HcmV?d00001 diff --git a/phsource/klatt/x_tap b/phsource/klatt/x_tap new file mode 100644 index 0000000000000000000000000000000000000000..b2e00e6426f675c2b648293ad738b7b7e0912ea7 GIT binary patch literal 3175 zcmeH{Yfuzd7RMW=r|<21Z})W1Oh2Z(XP6mgV0ef|kf5L-h@d=!3d>5?HDT54=HV+* zP!mgos}PORWDO=(${00~^#w7mWn73xBT{SDsHiDR*QklEfdva+6_st=twi~pkDgn% z>h%Afx_!>6dw%1Jv$MvJdup(iqNur(W>21Op^8oSVas3^?wj#I$e=&{|3QXjZ%xDl z|D7tuCxGGR#pND@Q{y)VGq~=Q$)u;5BF@4)C zz|&s|MLw(y>I-^cec3!}jCfp#5jQ#xD5b_v-d({DV)qZkLrR7{lir)vm2+?Gt^6+v ziVB+Y)G;mDw@1Pe-eJYbZw+owh=`jPjRQBlrJfX{PK$HhP`;LTNb8(i9M|o&_A2`} zJMWn9xa>%GE_1dzfiyDDIYV;bcCn92)cbu=npA&gM za#~w0Yb9E#SF^Qn z9BHP#DuL_(E;^>>v%R|kfg`w8ybx~|E6zTH?Bc{0R#&G?-)~@}e#p~nssrqC+ zQ)l(hw6WSjSG;S9dR7^s{9T?dPmwpt1C?&2U2Svi)#~+f++C>U17;?sTqp&T6R6?d9I%W^$uA2X~R| zCU23Mq?}}vMB*bHxrx8Ud+{1P1Lt4^{|7arIy4@+&^dM^JDV+Fli4TO4E9;Jo;}AV zpvCAk3gPK^JHCt^B#l&(I?_l^lRHG*51O5`9#ogFKMB*kvGJqtJRFXyVNtyYlS)_)% zM?NLT$aNxf!?{YXj@!nyap$=!+$FQhM(%Ykk3-xcvc$~5N5aTed=l?BGkF`&!KF9} z+wpbOZdTZU)}mT852fGgsBd{NJin0Pmsxt43>5X^&j*i^;Y3(MKQdsD-;WG_RNapZ zNnBGuGE~^yVg1RVz+aaPSHwc;do9*`A>fSpCO&@9ki_00>r;|aj}Kp&QJIx8`daR! zyq62;qLW3Ni!uxUoL7~TnK>wJ^AO)aU(BGuHt$MLnR|h8P#>mS^Z|OkE*j4nwZ?QK zVC>dY^)I!jHK6Tt&2(w5ZEBo3K^A3!?2^w(holy%Svny7D9w?#Dh;kNMpi_be|*px zs*Zg={^Wp731<>sPFOl1D!wvyLdY7mIP#)*tfyOdYrSf%I$QmdnxY<2o;2sUSze~N zU4!*G?i~@keRCs!49HQvQQM;jh8Bf3gla<0P-^tGpg+*zn-Ou%XwaZ5S#_(=t8MCi z^#`>^?J_6&l)PDPlM|IA$|7~5>-X9^U2y-^Q{iR&t0Mm$xD(tFMMrl>RYz?Jt_Y+= z?(xNVKky87i$EmWC>ISv z61u})WKXgu*bD3}){f%P2vZ-6a!{t}4L5f>%0Ou-5d{#3y4Zi1lRA$rVuNfiJP!}T zop3!|4Hv_g;BVjv7zOPRKnB{N2M&a(rjiT;5Wx=cPp}(o0INX_cm-5~LhvN;0Rce3 z0S`z8&w!QS0JsfeVJWOO@7n;kz-_PzHpAoaI@H)P>;krly~=t}F?tPsj9Sro^gTL@ zTF{%Q0NrIjWJj@A;3}92?|_|PDsX|rOcgVfkr|yC&Ah>!Vq}m4h5!t{VE({J%zf)f z<}foETmq@E9Hzr=@G7{;yu{qKeqx<#on$Ss=30kZ{nl{n8G0lA934$xwlr8?w^Uo| zEL$z@mirbzok5q=FVc(Xcj=wapIV+vo=R9Q~SgB9jKf&HmWgaqJ)2 r3O13w4R^trW=|M+0el4-!FsR)RDnJ+G(RT8V=_D@!(%c$LWchW3O*d# literal 0 HcmV?d00001 diff --git a/phsource/klatt/zh b/phsource/klatt/zh new file mode 100644 index 0000000000000000000000000000000000000000..bb19e53d65d58fe4dea98d4858202c76e036abf6 GIT binary patch literal 6322 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 literal 0 HcmV?d00001 diff --git a/phsource/ph_danish b/phsource/ph_danish index 3c2796c1..7f7e54d3 100644 --- a/phsource/ph_danish +++ b/phsource/ph_danish @@ -114,6 +114,13 @@ phoneme W# FMT(vowel/V) endphoneme +phoneme aI + vowel starttype #a endtype #i + length 250 + FMT(vdiph/ai) +endphoneme + + // CONSONANTS // PB added l/3 diff --git a/phsource/ph_english b/phsource/ph_english index 79b02eb5..03fd06e3 100644 --- a/phsource/ph_english +++ b/phsource/ph_english @@ -383,7 +383,7 @@ endphoneme phoneme aI@ vowel starttype #a endtype #@ - length 270 + length 280 IfNextVowelAppend(r-) FMT(vwl_en/aI@) endphoneme @@ -391,7 +391,7 @@ endphoneme phoneme aU@ vowel starttype #a endtype #@ - length 270 + length 280 IfNextVowelAppend(r-) FMT(vwl_en/aU@) endphoneme diff --git a/phsource/ph_english_n b/phsource/ph_english_n index b5c495f4..6bd8c21c 100644 --- a/phsource/ph_english_n +++ b/phsource/ph_english_n @@ -239,7 +239,7 @@ endphoneme phoneme aI@ vowel starttype #a endtype #@ - length 270 + length 280 IfNextVowelAppend(r-) FMT(vwl_en/aI@) endphoneme @@ -247,7 +247,7 @@ endphoneme phoneme aU@ vowel starttype #a endtype #@ - length 270 + length 280 IfNextVowelAppend(r-) FMT(vwl_en/aU@) endphoneme diff --git a/phsource/ph_english_wm b/phsource/ph_english_wm index 64c8d4f2..68bfd4a0 100644 --- a/phsource/ph_english_wm +++ b/phsource/ph_english_wm @@ -222,7 +222,7 @@ endphoneme phoneme aI@ vowel starttype #a endtype #@ - length 270 + length 280 IfNextVowelAppend(r-) FMT(vwl_en/ooi@) endphoneme @@ -230,7 +230,7 @@ endphoneme phoneme aU@ vowel starttype #a endtype #@ - length 270 + length 280 IfNextVowelAppend(r-) FMT(vwl_en/aU@) endphoneme diff --git a/phsource/ph_french b/phsource/ph_french index 72de3c7b..83088f52 100644 --- a/phsource/ph_french +++ b/phsource/ph_french @@ -1,7 +1,7 @@ //==================================================== // French //==================================================== -// Updated 2010-06-12 Michel Such +// Updated 2010-06-16 Michel Such phoneme #l virtual // Used for l and l/ @@ -80,8 +80,7 @@ phoneme r vcd uvl frc nopause rhotic starttype #r endtype #r - Vowelin f1=1 f2=1600 -500 500 f3=-200 100 len=65 - Vowelout f1=1 f2=1200 -400 800 f3=200 100 len=60 + Vowelin f1=0 f2=1500 -400 400 f3=-400 80 lengthmod 7 IF nextPh(isNotVowel) THEN @@ -148,7 +147,7 @@ endphoneme phoneme r/2 liquid rhotic uvl nopause starttype #r endtype #r - Vowelin f1=1 f2=1600 -500 500 f3=-200 100 len=65 amp=8 + Vowelin f1=0 f2=1500 -400 400 f3=-400 80 CALL post_r IF prevPhW(f) OR prevPhW(k) OR prevPhW(p) OR prevPhW(s) OR prevPhW(t) OR prevPhW(S) THEN @@ -163,7 +162,7 @@ endphoneme phoneme l - liquid nopause + liquid starttype #l endtype #l lengthmod 7 @@ -639,7 +638,11 @@ phoneme b ENDIF IF PreVoicing THEN - FMT(b/xb) + IF nextPhW(#r) THEN + FMT(b/xbr) + ELSE + FMT(b/xb) + ENDIF ENDIF IF nextPh(isPause2) OR nextPh(l) THEN @@ -663,7 +666,11 @@ phoneme d Vowelout f1=2 f2=1700 -300 300 f3=-100 80 IF PreVoicing THEN - FMT(d/xd) + IF nextPhW(#r) THEN + FMT(d/xdr) + ELSE + FMT(d/xd) + ENDIF ENDIF IF nextPh(isPause2) THEN @@ -699,7 +706,11 @@ phoneme g Vowelout f1=1 f2=2300 250 300 f3=-300 80 brk IF PreVoicing THEN - FMT(g/xg) + IF nextPhW(#r) THEN + FMT(g/xgr) + ELSE + FMT(g/xg) + ENDIF ENDIF IF nextPh(isPause2) THEN diff --git a/phsource/ph_nahuatl b/phsource/ph_nahuatl new file mode 100644 index 00000000..cb78c70a --- /dev/null +++ b/phsource/ph_nahuatl @@ -0,0 +1,16 @@ + +//==================================================== +// Nahuatl (classical) +//==================================================== + +phoneme : // lengthens the previous vowel by 'length' + virtual + length 300 +endphoneme + +phoneme e + vowel starttype #e endtype #e + length 170 + FMT(vowel/e_mid2) +endphoneme + diff --git a/phsource/ph_tamil b/phsource/ph_tamil index 67e85187..fc527e51 100644 --- a/phsource/ph_tamil +++ b/phsource/ph_tamil @@ -80,7 +80,10 @@ endphoneme phoneme u vowel starttype #u endtype #u length 110 - ChangeIfNotStressed(U) + IF prevPhW(isVel) THEN + ELSE + ChangeIfNotStressed(U) + ENDIF FMT(vowel/u_6) endphoneme diff --git a/phsource/phonemes b/phsource/phonemes index 47d17e42..f02832a9 100644 --- a/phsource/phonemes +++ b/phsource/phonemes @@ -1720,6 +1720,12 @@ phonemetable da base include ph_danish + + +// The following lines are experimental, for future additions. +// These langauges are not in a usable state. +// These lines can be deleted. + phonemetable rw base2 include ph_kinyarwanda @@ -1738,7 +1744,6 @@ include ph_nepali //phonemetable mr hi //include ph_marathi - //phonemetable eu base2 //include ph_basque diff --git a/phsource/r/@_ b/phsource/r/@_ new file mode 100644 index 0000000000000000000000000000000000000000..a9d5c9f122e931a0e794f6dec8773478c4ebb209 GIT binary patch literal 5632 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 V$p3?5VUNtn_oZK?d(uzR{{nh-y8QqE literal 0 HcmV?d00001 diff --git a/phsource/r/aa b/phsource/r/aa new file mode 100644 index 0000000000000000000000000000000000000000..b183fbfa5c2ffc49205f21d691e557959e03d100 GIT binary patch literal 5632 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

u#u@^ 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 literal 0 HcmV?d00001 diff --git a/phsource/r3/r_ru2 b/phsource/r3/r_ru2 new file mode 100644 index 0000000000000000000000000000000000000000..69c5c1d824689d2a7f6f2bfc6b1f35ce43f2cadb GIT binary patch literal 5809 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 E4Jt^qx&QzG literal 0 HcmV?d00001 diff --git a/phsource/ustop/t_short_.wav b/phsource/ustop/t_short_.wav new file mode 100644 index 0000000000000000000000000000000000000000..c00831e680e18a121a448026aa54d49db1089580 GIT binary patch literal 1340 zcmWNRdrX&g6vm%(zTa0g6qz$DFB9>S*9=r#Dm3pHp$o;r8A>406z`E{iW+Ls$l)#V zGOsC;=4FCSR8%Co zf{IL(>1B#_gZaZer{*S@9oxdB*$(C+bu$sRiq=w!If4w{#M%6w=28-k#VvUUvvjZy zq&Lt~hfrUP$5>pYnOH>2crV)US<{27Z88t0Gu(+2Ig(s|?>t)2A~Txq@?CXkH~&Hd zDV~DqPt?$C8c74BBQ2wudY|TMJQ|VCQ}78DV~1>}@ifVk-W2jKOA<@+H962r#&T{ON?dB3Zxn_N4tCxoE^c?Fj zL!;=dG?O_dfe$qfz&Q21G4!+g@H^I1j@Ht<6tCep$oF`Zd~T+5w&wCd`jWoERDHz; zYa3onDR`zqRLX^3me%R3T0@8Z>h4G~Ju*MgTxrf#RL*5cWzTwg8H4Q$Niv}}R_k$v zVkv`e`E|GF;hb(iMuB$@x#l)5Xo9(C0;C^j+fXi%FuiA%m}=>SmgWmw=1gkmZ7^GS zhYXd&aLsA=H7#<6$zfgTZ1)26IX~1$lxR91lcrQ=kBVZCmYF49n)j1^BGKL<`;^Lk zqj`Yz>_hW^HR zUGLQL@`hd%?Ob%%qS2Wky|m6|(^7q(HrkWYQu=dup5gAIPi>_46g$lU$kHN(`o&a$bjRx*rRe5h7Qx6~ib{Bj_O)&~5j=^s_mp z2>IHI!c24A#2I=ZQ+bJbprxA1`{}flyYtL&TkW>NU;4zi%ATi34QF(d(*Qd6Bl%bk)@tQzyA@2cC{9>Bz*-Q03ndjR-SVD>2!bZKj|zI?;DLk#EQl8yIlP zOu#6<;dlB4enVHAXkMoyI+;#k1ww2l?RS4f5ar8sY0JhOq$*RuEhty#V-_kUgR^Oa zM%(tzbyua)h9SM7&?`VW`tl$@@l69tD8*f@_5P$weBXL2%u3Gk){qUj$-TWM(vK22 X&TZ}cP(#gIbVeu8Ds7G&o#*`z{I(zh literal 0 HcmV?d00001 diff --git a/phsource/vdiph/aau_6 b/phsource/vdiph/aau_6 new file mode 100644 index 0000000000000000000000000000000000000000..899d3cc3ae10f397b6550a87d2f1848b3ea83f9e GIT binary patch literal 22465 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

J(w}C$&Lp$GWL!v_ky1AyE_y_0%j&LG9(q1 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 Gwf_&!3pMxv literal 0 HcmV?d00001 diff --git a/phsource/vwl_de/uu_@ b/phsource/vwl_de/uu_@ new file mode 100644 index 0000000000000000000000000000000000000000..221ccb3f83145cd535c4ebea7aee676d4d4a904c GIT binary patch literal 9048 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 F{|gFsgY*CZ literal 0 HcmV?d00001 diff --git a/phsource/vwl_en_us/aU@ b/phsource/vwl_en_us/aU@ new file mode 100644 index 0000000000000000000000000000000000000000..63ee0e09691f420b81a493ccd5ac7c56a2fd621f GIT binary patch literal 2173 zcmdUw-D@0G7{;HS&2(qKKeE~EW@pnRyBW7OO=6-JYH<(RhDuYgO$t@e(pn*wM)BjK z7ou~eUZ~&)g5X6is;DRhDT+nP)W4vYrJpfUDN@ACTDCn=&IWnWd@vFbZzZmh@V8QGs!f#Lfo%B zZ+&QqZriBtFnW6m`PJBJOyc)vmC;kqO5RU~@!#sOLw$T0)}Lm6ySYp2ZCv4De1~`N z9KOaEP`D2x7{(xqD4~oh>To$8#Vq!4&Vx9Ly%=X3W7I_p9{T|dA} zmP6?L@%~((NhtfWuLYtW3uEH3t}9m&q}Pncezj0p(!PqLYzKpLq2E$LF7(gMOsJ=v zxAV$)Y|6QGhsSR9JT_;E?%)7kz>j#1G)|G(BFT8V8gY!&nK5a4UII}hQEk3R=Lz(YEh+Ud} z#Spu=8WLOS3VJMz?O|lQj(!iMzcIv=r3PjUrTIR;vd`!nNk1DBb2G?-Vra<*&5_BOJYknNNR`i5UU(w z)pgRHX0>I`OwuPVc@*{T6Mv=k{wrx$Ib@aK4zl$-5KoTr*(RIxE!{V@n`_MK^6K3B zU}0LbQ1*pD3%YEjE66O2tus3TmHf&ub1c>G8BVa(z%ip!$)Lx~i!eK%3!IRjs;j=A z3@2gsOOM%Rtskammhl5#=P7jppJHA!7-Ria)?TE8O5|3h1GZori5{^f6CQJ1H ziUSpZMIG*8h^{Vyfs`-G9a-Hp*{U2fFbDdZ*cr2(wReNUg=zVv@+K T`|+P6%tGC6dY0(_F0;P?sL&h> literal 0 HcmV?d00001 diff --git a/phsource/vwl_fr/br b/phsource/vwl_fr/br index 8c79113de69ccff0bcc25e3e8890742682d03ba4..4e22dced3d95afccce6da5ac6d09dc9a88263842 100755 GIT binary patch delta 34 pcmeC*~q(>k@*Az!$f`A&94}jumAv?6bX3% diff --git a/phsource/vwl_fr/e_2r b/phsource/vwl_fr/e_2r new file mode 100755 index 0000000000000000000000000000000000000000..e58e63b77e559c56514b57bbca093fbf503855e6 GIT binary patch literal 2681 zcmeHI`)^cL5S}wL=ia@$+ij&SkFssI7D@}6Kugo|XnRvEEYI>NkCLc_P=i4*7*Z;) zu0b9e5~~R)SR;r=ff|XVQly$fQb5Bi802BVl2#%Vg$RNOf^)ZJw~c>*zi?0H+?nsp z+%sn;=eyG;my9Z#HYJ+?pd$Mff_b8JeQbSjYlm&)^@sPvY80CZ3?n<;FFdprcutZZ z%LQ=+Ac%HC9G=A4qB{cMH$#ala29S5-4S`*P4O+NMX>^K1YmxQ9orp=jkP`9krsaw zImj)Ea0H+##m4SPX8O1;$Oy+N{A4~-BJX~X52K*~{NRFkNPtA>1*wn@0nvMa58`A_ zkl~hf6D$#D7@+0+hG1^-@yOdHYc4^Y*%{9Iqd`DnT?^U~iGZT9*pD#Bw!)YZ)}r6h z;;Us(CxfDU2Ul$j=WZM87p&>f_(tbxY^p0*9M<=#elWQc1-JnrH%Gd&1Ck7JLGMNbZ4hG33qryRurk~aY!}zz>Ff!hI9NOoFui6cBio~ zsP4$nwEkU?{79bv?M{mId@Lsp=~L!^FC{K;D9{{83YslSsb9A9j z)(^OikMp;@hwFHUNIf_6MSj5jbg5pYcS}r9BWS#8>@a>b9vErnaC3}&Kil+}$Bart z8_RSXSMj?%LVLvHEpv$LYgd+4Y1LY9TjQ+*u6FZ`aZj%{(DkO(>NdQ$z4b9;e4qQ; zeJb{r@361hm*(3OGcu;hTkJjPDe~02Q{7cogX@CXY8=(O_zGq537(fS2 zX(@d{*Ju#G$lLf7-{nM|p$F=89j9+fTrJPz48BaCN>s7<2PlKGseo)6CYGDp@GE=` z$73oc$y|$n;yBtw=P90x`2}9dYdORVWar-8LZ8rLDy7j>Mhj^jZKe;!b0y7?FW$vV zcpa0eoN8zv9j9ZoSF{S6NVCPWk$$Cza&6kFSt1tFbec&o(OP<+KB6sDO;hA7-(xk7 z!C^QBD{&L1=HLumjbGx=$do2^8BQZ8 zpK@j7iB>3e%A+i)^Iv#ca#|_3Aq)NZ6qex{saq?$qz}WSBI77XMG_w%58cFb*eI1; zE;ld-z1XJqs~X9nP(7)VREEk^C2E2Ss(i7o!FDKtM)(IZ1)Z+S)l_AxboDo!fJ1N% zdWrXV!AjLAHCUyno+?%4idCU1RY<+As?`!TSB+Hzl~(7W4r<_IXogF02TT>Oitc|i z-wxl%D8oc9D0F9-=pSRNaQSelNeBNs46_x%H5eOI2md<^vs>u!s+!x${|>`sx@{e0 z4~Jo{dVr&d!!UDv5N7-6Kcc0tts13TQHFs&0NoKgwJVYvIlyCvdCV}68Rq|Gn12C6 CU^0XN literal 0 HcmV?d00001 diff --git a/phsource/vwl_fr/r b/phsource/vwl_fr/r index 3e6e6ae47a618f53b0d1b7f5db5ddd6b197bd01c..78e9d068ea5553fdc7b62fb40d0e6dcf23aa9750 100755 GIT binary patch delta 13 Ucmcb}c9Cs@78BEfjXJ8#03rAUG5`Po delta 13 Ucmcb}c9Cs@787&BMjcgV03f~t^8f$< diff --git a/phsource/vwl_ru/ii- b/phsource/vwl_ru/ii- new file mode 100644 index 0000000000000000000000000000000000000000..42f2be533126f7c57c2c43e522dda8d29430597e GIT binary patch literal 997 zcmbV~y>C)c7>6Gy9~UmSK&>tKfl?H;+S;J8jcw(&lvrt^G!Q=*G{(rFLnlo%K^MCi z7iT927dJ;oV>&qaCot&W(8QS3-??yG*2wA)id6ch~p z-0<&y>V~%bXt!2V<)M6g=RHI^K`UrRIssA}ffoT2e~L2N4RpQuTZ~jW_`#d`m1w1V z_3fQfGGqHQt?XvVkDuj=K|elS=*6qFxXW8!)8H}JUx2qFTG%()+FfB`dR*eTCg8lv#hetQ#QqEkz2}ci@|lC^O26I zltie+Br~|&6VWRocu~Hn-ikQi??*MwRnwFaLel`0nv?!=K$gxZQ29_CU3geA*f$SRc^aacfU+ z3-Q*7ueV9Z*W3OGo}tEqh+L)36D~+`%VM>pb&Wf`VuN`xoYwmaQdCjdvN$hEcQc%o z_RfjioZ>ZERT`X^yE<`5Z_jv2%!q`c87D+UYf2r%(k3j9mMko;MwwCdZLjNSDkWWx Y$+IGy(bqAz*}BKpeF@JD*|<*r18i)5CjbBd literal 0 HcmV?d00001 diff --git a/src/Makefile b/src/Makefile index dfaaa6f9..13177231 100644 --- a/src/Makefile +++ b/src/Makefile @@ -1,3 +1,5 @@ +# Makefile for 'espeak', 'speak', and 'libespeak' + # remove -fno-exceptions if it causes problems with stdio library on some platforms (ARM) PREFIX=/usr diff --git a/src/synthesize.cpp b/src/synthesize.cpp index c37fbf09..ed05b3e7 100755 --- a/src/synthesize.cpp +++ b/src/synthesize.cpp @@ -253,9 +253,9 @@ static int DoSample2(int index, int which, int std_length, int control, int leng else { // increase consonant amplitude at high speeds, depending on the peak consonant amplitude - x = ((35 - wav_scale) * speed.loud_consonants); - if(x < 0) x = 0; - wav_scale = (wav_scale * (x+256))/256; +// x = ((35 - wav_scale) * speed.loud_consonants); +// if(x < 0) x = 0; +// wav_scale = (wav_scale * (x+256))/256; } if(std_length > 0) @@ -383,32 +383,6 @@ static int DoSample2(int index, int which, int std_length, int control, int leng } // end of DoSample2 -#ifdef deleted -int DoSample(PHONEME_TAB *ph1, PHONEME_TAB *ph2, int which, int length_mod, int amp) -{//====================== ========================================================== - int index; - int match_level; - int amp2; - int result; - - EndPitch(1); - index = LookupSound(ph1,ph2,which & 0xff,&match_level,0); - if((index & 0x800000) == 0) - return(0); // not wavefile data - - amp2 = wavefile_amp; - if(amp != 0) - amp2 = (amp * wavefile_amp)/20; - - if(amp == -1) - amp2 = amp; - - result = DoSample2(index,which,length_mod,0,amp2); - last_frame = NULL; - return(result); -} // end of DoSample -#endif - int DoSample3(PHONEME_DATA *phdata, int length_mod, int amp) {//========================================================= diff --git a/src/tr_english.cpp b/src/tr_english.cpp deleted file mode 100644 index 6367df31..00000000 --- a/src/tr_english.cpp +++ /dev/null @@ -1,21 +0,0 @@ -/*************************************************************************** - * Copyright (C) 2005 to 2007 by Jonathan Duddington * - * email: jonsd@users.sourceforge.net * - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 3 of the License, or * - * (at your option) any later version. * - * * - * This program is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * GNU General Public License for more details. * - * * - * You should have received a copy of the GNU General Public License * - * along with this program; if not, write see: * - * . * - ***************************************************************************/ - -#include "StdAfx.h" - diff --git a/src/tr_languages.cpp b/src/tr_languages.cpp index bd43959d..cecdff88 100644 --- a/src/tr_languages.cpp +++ b/src/tr_languages.cpp @@ -881,7 +881,6 @@ SetLengthMods(tr,3); // all equal static const short stress_lengths_nl[8] = {160,135, 210,210, 0, 0, 260,280}; tr->langopts.stress_rule = STRESSPOSN_1L; - tr->langopts.vowel_pause = 1; tr->langopts.vowel_pause = 0x30; // ?? tr->langopts.param[LOPT_DIERESES] = 1; tr->langopts.param[LOPT_PREFIXES] = 1; diff --git a/src/wave.cpp b/src/wave.cpp index 364dcf57..0cef7467 100755 --- a/src/wave.cpp +++ b/src/wave.cpp @@ -168,89 +168,89 @@ static int pa_callback(void *inputBuffer, void *outputBuffer, PaStreamCallbackFlags flags, void *userData ) #endif { - int aResult=0; // paContinue - char* aWrite = myWrite; - size_t n = out_channels*sizeof(uint16_t)*framesPerBuffer; + int aResult=0; // paContinue + char* aWrite = myWrite; + size_t n = out_channels*sizeof(uint16_t)*framesPerBuffer; - myReadPosition += framesPerBuffer; - SHOW("pa_callback > myReadPosition=%u, framesPerBuffer=%lu (n=0x%x) \n",(int)myReadPosition, framesPerBuffer, n); + myReadPosition += framesPerBuffer; + SHOW("pa_callback > myReadPosition=%u, framesPerBuffer=%lu (n=0x%x) \n",(int)myReadPosition, framesPerBuffer, n); - if (aWrite >= myRead) - { - if((size_t)(aWrite - myRead) >= n) + if (aWrite >= myRead) { - memcpy(outputBuffer, myRead, n); - myRead += n; + if((size_t)(aWrite - myRead) >= n) + { + memcpy(outputBuffer, myRead, n); + myRead += n; + } + else + { + SHOW_TIME("pa_callback > underflow"); + aResult=1; // paComplete; + mInCallbackFinishedState = true; + size_t aUsedMem=0; + aUsedMem = (size_t)(aWrite - myRead); + if (aUsedMem) + { + memcpy(outputBuffer, myRead, aUsedMem); + } + char* p = (char*)outputBuffer + aUsedMem; + memset(p, 0, n - aUsedMem); + // myReadPosition += aUsedMem/(out_channels*sizeof(uint16_t)); + myRead = aWrite; + } } - else + else // myRead > aWrite { - SHOW_TIME("pa_callback > underflow"); - aResult=1; // paComplete; - mInCallbackFinishedState = true; - size_t aUsedMem=0; - aUsedMem = (size_t)(aWrite - myRead); - if (aUsedMem) - { - memcpy(outputBuffer, myRead, aUsedMem); - } - char* p = (char*)outputBuffer + aUsedMem; - memset(p, 0, n - aUsedMem); - // myReadPosition += aUsedMem/(out_channels*sizeof(uint16_t)); - myRead = aWrite; - } - } - else // myRead > aWrite - { - if ((size_t)(myBuffer + BUFFER_LENGTH - myRead) >= n) - { - memcpy(outputBuffer, myRead, n); - myRead += n; - } - else if ((size_t)(aWrite + BUFFER_LENGTH - myRead) >= n) - { - int aTopMem = myBuffer + BUFFER_LENGTH - myRead; - if (aTopMem) - { - SHOW("pa_callback > myRead=0x%x, aTopMem=0x%x\n",(int)myRead, (int)aTopMem); - memcpy(outputBuffer, myRead, aTopMem); - } - int aRest = n - aTopMem; - if (aRest) - { - SHOW("pa_callback > myRead=0x%x, aRest=0x%x\n",(int)myRead, (int)aRest); - char* p = (char*)outputBuffer + aTopMem; - memcpy(p, myBuffer, aRest); - } - myRead = myBuffer + aRest; - } - else - { - SHOW_TIME("pa_callback > underflow"); - aResult=1; // paComplete; + if ((size_t)(myBuffer + BUFFER_LENGTH - myRead) >= n) + { + memcpy(outputBuffer, myRead, n); + myRead += n; + } + else if ((size_t)(aWrite + BUFFER_LENGTH - myRead) >= n) + { + int aTopMem = myBuffer + BUFFER_LENGTH - myRead; + if (aTopMem) + { + SHOW("pa_callback > myRead=0x%x, aTopMem=0x%x\n",(int)myRead, (int)aTopMem); + memcpy(outputBuffer, myRead, aTopMem); + } + int aRest = n - aTopMem; + if (aRest) + { + SHOW("pa_callback > myRead=0x%x, aRest=0x%x\n",(int)myRead, (int)aRest); + char* p = (char*)outputBuffer + aTopMem; + memcpy(p, myBuffer, aRest); + } + myRead = myBuffer + aRest; + } + else + { + SHOW_TIME("pa_callback > underflow"); + aResult=1; // paComplete; - int aTopMem = myBuffer + BUFFER_LENGTH - myRead; - if (aTopMem) - { - SHOW("pa_callback > myRead=0x%x, aTopMem=0x%x\n",(int)myRead, (int)aTopMem); - memcpy(outputBuffer, myRead, aTopMem); - } - int aRest = aWrite - myBuffer; - if (aRest) - { - SHOW("pa_callback > myRead=0x%x, aRest=0x%x\n",(int)myRead, (int)aRest); - char* p = (char*)outputBuffer + aTopMem; - memcpy(p, myBuffer, aRest); - } + int aTopMem = myBuffer + BUFFER_LENGTH - myRead; + if (aTopMem) + { + SHOW("pa_callback > myRead=0x%x, aTopMem=0x%x\n",(int)myRead, (int)aTopMem); + memcpy(outputBuffer, myRead, aTopMem); + } + int aRest = aWrite - myBuffer; + if (aRest) + { + SHOW("pa_callback > myRead=0x%x, aRest=0x%x\n",(int)myRead, (int)aRest); + char* p = (char*)outputBuffer + aTopMem; + memcpy(p, myBuffer, aRest); + } - size_t aUsedMem = aTopMem + aRest; - char* p = (char*)outputBuffer + aUsedMem; - memset(p, 0, n - aUsedMem); - // myReadPosition += aUsedMem/(out_channels*sizeof(uint16_t)); - myRead = aWrite; + size_t aUsedMem = aTopMem + aRest; + char* p = (char*)outputBuffer + aUsedMem; + memset(p, 0, n - aUsedMem); + // myReadPosition += aUsedMem/(out_channels*sizeof(uint16_t)); + myRead = aWrite; + } } - } - SHOW("pa_callback > myRead=%x\n",(int)myRead); + SHOW("pa_callback > myRead=%x\n",(int)myRead); // #if USE_PORTAUDIO == 18 @@ -288,7 +288,7 @@ static int pa_callback(void *inputBuffer, void *outputBuffer, #endif - return(aResult); + return(aResult); //#endif } // end of WaveCallBack