From 14e212f3a16e03098bf87486c64d8e634f5cb8cc Mon Sep 17 00:00:00 2001 From: jonsd Date: Wed, 15 Sep 2010 14:03:05 +0000 Subject: [PATCH] espeak 1.44.05 release version MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fix error in big-endian data conversion program, producing bad data. Make geminated voiced stops (eg. [bb] ) longer at fast speeds. Provide conditional compilation of the mbrola interface, define macro INCLUDE_MBROLA in speech.h Mbrola: also look for mbrola voices in /usr/share/mbrola/voices Pad TUNES and frame_t structures to a multiple of 4 bytes. lang=da, Don't weaken unvoiced stops before pause. lang=el, Remove final unstressed [a] if the next word starts with [a]. lang=pt, Change final [U] to [w] if next word starts with a vowel. espeak 1.44.03 Fixes: Lang=el, mk. Was speaking words as individual letters. Lang=pl. Fix prounciation of 'ć' and 'ci'. Fix crash in big-endian data conversion program. Fix problem where changing voices reduces the speaking rate, at fast rates. speak_lib.h: add macro definitions for minimum, maximum, and normal speaking rate values. git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@253 d46cf337-b52f-0410-862d-fd96e6ae7743 --- dictsource/af_list | 2 +- dictsource/da_list | 424 ++++++++++++++++++++++++++++++++++++++- dictsource/da_rules | 209 ++++++++++++++++--- dictsource/de_list | 3 +- dictsource/de_rules | 4 +- dictsource/dict_phonemes | 69 +++---- dictsource/el_list | 98 +++++---- dictsource/el_rules | 22 +- dictsource/en_list | 13 +- dictsource/en_rules | 10 +- dictsource/eo_list | 22 +- dictsource/fr_rules | 5 +- dictsource/hu_list | 12 ++ dictsource/hu_rules | 15 +- dictsource/nl_list | 140 +++++++++++++ dictsource/nl_rules | 88 +++++--- dictsource/pt_list | 7 +- dictsource/pt_rules | 4 + dictsource/sv_rules | 130 ++++++------ dictsource/ta_list | 22 +- dictsource/ta_rules | 220 +++++++++++++++++--- dictsource/zh_list | 4 +- docs/speak_lib.h | 2 +- phsource/compile_report | 52 +++-- phsource/ph_danish | 53 +++++ phsource/ph_dutch | 6 + phsource/ph_german | 8 +- phsource/ph_greek | 30 +-- phsource/ph_pt_brazil | 3 + phsource/phonemes | 4 +- src/compiledata.cpp | 6 +- src/dictionary.cpp | 5 +- src/espeakedit.cpp | 2 + src/mbrowrap.cpp | 5 + src/numbers.cpp | 11 + src/readclause.cpp | 8 +- src/setlengths.cpp | 2 +- src/speak_lib.h | 12 +- src/speech.h | 1 + src/synth_mbrola.cpp | 38 +++- src/synthdata.cpp | 4 +- src/synthesize.cpp | 2 +- src/synthesize.h | 38 +--- src/tr_languages.cpp | 5 +- src/translate.cpp | 7 +- src/voices.cpp | 9 +- src/wavegen.cpp | 2 +- 47 files changed, 1469 insertions(+), 369 deletions(-) diff --git a/dictsource/af_list b/dictsource/af_list index e4caffa3..2cc0594a 100755 --- a/dictsource/af_list +++ b/dictsource/af_list @@ -207,7 +207,7 @@ _3o d'&:r _7o s'e@v@n _8o _'ax2 _9o ne@x2@n -_0Co h'On@rtst@ +//_0Co h'On@rtst@ // Place names diff --git a/dictsource/da_list b/dictsource/da_list index 7e62d605..9c17a8b3 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 @@ -170,7 +170,7 @@ da $u // conjunctions og V $u+ $pause // and men $pause // but -eller $u+ $pause $only // or +eller // or mens $pause // while for fV fordi fVd'i $pause // because - PB: changed stress @@ -202,10 +202,10 @@ han $u hun $u det de $u dét de -vi $u +vi vi $u i _i $u+ mig maj $u // me -dig daj $u+ +dig daj $u dem $u ham $u hende $u @@ -396,13 +396,11 @@ oregon _^_EN $alt paul _^_EN $alt reynolds _^_EN $alt purvis _^_EN -sally _^_EN $alt washington _^_EN $alt white _^_EN $alt chicago _^_EN $alt // PB French words -croissant _^_FR croquis _^_FR crouton _^_FR jugement _^_FR @@ -965,6 +963,7 @@ inventar $alt jaguar $alt janitshar $alt jubilar $alt +kommentar $alt korsar $alt laminar $alt legatar $alt @@ -1588,6 +1587,7 @@ opponent $alt opulent $alt orient $alt patent $alt +patient $alt piment $alt permanent $alt potent $alt @@ -2194,6 +2194,357 @@ vestalinde $alt violinistinde $alt værtinde $alt +// PB nouns with final -isme - stressed i +absolutisme $alt +absurdisme $alt +aforisme $alt +afværgemekanisme $alt +agnosticisme $alt +akademisme $alt +aktivisme $alt +albinisme $alt +alkoholisme $alt +alpinisme $alt +altruisme $alt +amatørisme $alt +amerikanisme $alt +anakronisme $alt +analfabetisme $alt +anarkisme $alt +anarkosyndikalisme $alt +anglicisme $alt +animisme $alt +antagonisme $alt +antropomorfisme $alt +aristokratisme $alt +arkaisme $alt +astigmatisme $alt +atavisme $alt +ateisme $alt +atomisme $alt +autisme $alt +avantgardisme $alt +baptisme $alt +barbarisme $alt +barthianisme $alt +behaviorisme $alt +bilisme $alt +bolsjevisme $alt +bonapartisme $alt +botulisme $alt +brahmanisme $alt +brandesianisme $alt +brutalisme $alt +buddhisme $alt +bureaukratisme $alt +calvinisme $alt +centralisme $alt +chauvinisme $alt +cyklisme $alt +cæsarisme $alt +dadaisme $alt +danisme $alt +darwinisme $alt +decentralisme $alt +defaitisme $alt +deisme $alt +dekonstruktivisme $alt +demokratisme $alt +despotisme $alt +determinisme $alt +dilettantisme $alt +dirigisme $alt +dogmatisme $alt +doktrinarisme $alt +dokumentarisme $alt +dramadokumentarisme $alt +dualisme $alt +egoisme $alt +eklekticisme $alt +ekshibitionisme $alt +eksistentialisme $alt +eksorcisme $alt +eksotisme $alt +ekspansionisme $alt +ekspressionisme $alt +ekstremisme $alt +ekvilibrisme $alt +elitisme $alt +empirisme $alt +epikuræisme $alt +erotisme $alt +eskapisme $alt +etnocentrisme $alt +eudaimonisme $alt +eufemisme $alt +evolutionisme $alt +fanatisme $alt +farisæisme $alt +fascisme $alt +fatalisme $alt +fauvisme $alt +federalisme $alt +feminisme $alt +fetichisme $alt +feudalisme $alt +flagellantisme $alt +forbrugerisme $alt +formalisme $alt +freudianisme $alt +fundamentalisme $alt +funktionalisme $alt +futurisme $alt +føderalisme $alt +gallicisme $alt +gaullisme $alt +georgisme $alt +germanisme $alt +gigantisme $alt +gnosticisme $alt +grundtvigianisme $alt +græcisme $alt +hedonisme $alt +hegemonisme $alt +hellenisme $alt +hermafroditisme $alt +heroisme $alt +hinduisme $alt +historicisme $alt +historisme $alt +holisme $alt +hooliganisme $alt +humanisme $alt +hypnotisme $alt +idealisme $alt +idiotisme $alt +imperialisme $alt +impressionisme $alt +indeterminisme $alt +individualisme $alt +industrialisme $alt +infantilisme $alt +intellektualisme $alt +internationalisme $alt +interventionisme $alt +irrationalisme $alt +islamisme $alt +isolationisme $alt +isomorfisme $alt +jesuitisme $alt +judaisme $alt +kannibalisme $alt +kapitalisme $alt +katolicisme $alt +klassicisme $alt +klerikalisme $alt +kokainisme $alt +kollektivisme $alt +kolonialisme $alt +kolorisme $alt +kommercialisme $alt +kommunisme $alt +kommunitarisme $alt +komparatisme $alt +konformisme $alt +konfucianisme $alt +konkretisme $alt +konservatisme $alt +konsonantisme $alt +konstruktivisme $alt +korporatisme $alt +korporativisme $alt +kosmopolitisme $alt +kreationisme $alt +kretinisme $alt +kubisme $alt +kulturisme $alt +kvietisme $alt +kynisme $alt +lakonisme $alt +lamaisme $alt +lamarckisme $alt +latinisme $alt +leninisme $alt +lesbianisme $alt +liberalisme $alt +lobbyisme $alt +lutheranisme $alt +lyrisme $alt +machiavellisme $alt +magnetisme $alt +malthusianisme $alt +manierisme $alt +maoisme $alt +markedsmekanisme $alt +marxisme $alt +maskulinisme $alt +masochisme $alt +materialisme $alt +mccarthyisme $alt +mekanisme $alt +merkantilisme $alt +messianisme $alt +metabolisme $alt +metodisme $alt +militarisme $alt +minimalisme $alt +modernisme $alt +monarkisme $alt +monetarisme $alt +mongolisme $alt +monisme $alt +monopolisme $alt +monoteisme $alt +moralisme $alt +morfinisme $alt +mormonisme $alt +muhamedanisme $alt +mutisme $alt +mysticisme $alt +naivisme $alt +narcissisme $alt +nationalisme $alt +naturalisme $alt +naturisme $alt +nazisme $alt +negativisme $alt +neologisme $alt +nepotisme $alt +neutralisme $alt +nihilisme $alt +nomadisme $alt +nordisme $alt +norvagisme $alt +nudisme $alt +objektivisme $alt +obskurantisme $alt +okkultisme $alt +opportunisme $alt +optimisme $alt +organisme $alt +ostrakisme $alt +pacifisme $alt +panteisme $alt +papisme $alt +parallelisme $alt +parkinsonisme $alt +parlamentarisme $alt +partikularisme $alt +paternalisme $alt +patriarkalisme $alt +patriotisme $alt +pennalisme $alt +perfektionisme $alt +perspektivisme $alt +pessimisme $alt +pietisme $alt +platonisme $alt +pluralisme $alt +pointillisme $alt +polycentrisme $alt +polyteisme $alt +populisme $alt +positivisme $alt +pragmatisme $alt +primitivisme $alt +privatisme $alt +professionalisme $alt +protektionisme $alt +protestantisme $alt +provinsialisme $alt +psykologisme $alt +purisme $alt +puritanisme $alt +racisme $alt +radikalisme $alt +rationalisme $alt +realisme $alt +reformisme $alt +regionalisme $alt +relativisme $alt +reumatisme $alt +revanchisme $alt +revisionisme $alt +rigorisme $alt +romantisme $alt +royalisme $alt +sadisme $alt +sadomasochisme $alt +satanisme $alt +seksualisme $alt +sekterisme $alt +sekularisme $alt +seminarisme $alt +sensationalisme $alt +sensualisme $alt +sentimentalisme $alt +separatisme $alt +serialisme $alt +sexisme $alt +shamanisme $alt +shiisme $alt +shintoisme $alt +skandinavisme $alt +skepticisme $alt +slavisme $alt +snobbisme $alt +socialisme $alt +sofisme $alt +solipsisme $alt +somnambulisme $alt +spiritisme $alt +spiritualisme $alt +spontanisme $alt +stalinisme $alt +stoicisme $alt +strukturalisme $alt +subjektivisme $alt +supranaturalisme $alt +surrealisme $alt +svecisme $alt +syllogisme $alt +symbolisme $alt +syndikalisme $alt +synkretisme $alt +synkronisme $alt +tachisme $alt +taoisme $alt +teisme $alt +terrorisme $alt +thomisme $alt +totalitarisme $alt +totemisme $alt +traditionalisme $alt +transvestisme $alt +transvestitisme $alt +tropisme $alt +trotskisme $alt +truisme $alt +tsarisme $alt +turisme $alt +uniformisme $alt +unionisme $alt +unitarisme $alt +universalisme $alt +urbanisme $alt +utilitarisme $alt +utopisme $alt +vandalisme $alt +vegetarianisme $alt +vegetarisme $alt +verisme $alt +victorianisme $alt +vitalisme $alt +vokalisme $alt +voyeurisme $alt +vulgarisme $alt +vulkanisme $alt +zarisme $alt +zenbuddhisme $alt +zionisme $alt +ækvilibrisme $alt +æsteticisme $alt + // PB words with final -ni - stressed i agoni $alt androgyni $alt @@ -2292,7 +2643,6 @@ metonymi $alt monogami $alt origami oreg'ami $alt pandemi $alt -pastrami p&stR'Ami $alt polygami $alt salami sal'&mi $alt socionomi $alt @@ -2304,6 +2654,59 @@ uræmi $alt vasektomi $alt økonomi $alt +// PB stressed second syllable in words with initial ge +gebet $alt +gebis $alt +gebommerlig $alt +gebrokken $alt +gebrækkelig $alt +gebyr $alt +gebærde $alt +gedigen $alt +gedulgt $alt +gehalt $alt +gehejmeråd $alt +gehenna $alt +gehæng $alt +gehør $alt +gelassen $alt +geled $alt +gelejde $alt +gelinde $alt +gelænder $alt +gemak $alt +gemal $alt +gemen $alt +gemyse $alt +gemyt $alt +gemytlig $alt +genom $alt +gentil $alt +genuin $alt +gepard $alt +geranie $alt +geranium $alt +geråde $alt +gesandt $alt +gesandtskab $alt +gesims $alt +gesjæft $alt +geskæftig $alt +gespenst $alt +gestagen $alt +gestalt $alt +gestik $alt +gesvejsning $alt +gesvindt $alt +gevaldig $alt +gevalt $alt +gevandt $alt +gevind $alt +gevinst $alt +gevir $alt +gevækst $alt +gevær $alt + // words with final "in" - stressed i aborigin $alt adrenalin $alt @@ -6018,7 +6421,7 @@ meriter $alt merkantiliser $alt metalliser $alt metamorfoser $alt -metastaser $alt +metastasere $alt migrer $alt mikroskoper $alt militariser $alt @@ -6306,6 +6709,7 @@ refuser $alt regaler $alt regenerer $alt reger $alt +ureger $alt // PB uregerlig regionaliser $alt registrer $alt regreder $alt @@ -10458,13 +10862,16 @@ fx fVegsemp@l // PB "fx" is short for 'for eksempel' (cd'en) se:de:3n // PB (cd'er) se:de:V // PB emp $abbrev +hbo $abbrev // TV station usa $abbrev who $abbrev $allcaps // PB World Health Organization vsop $abbrev eu $abbrev +ekg $abbrev co $abbrev $allcaps // PB for CO2-kvote ngo $abbrev edb $abbrev +mri $abbrev wc v'ese // w is pronounces as v in Danish (wc'et) v'ese@d (wc'er) v'eseV @@ -10545,6 +10952,7 @@ legenderne leg'EndVn3s (så længe) sV||l'EN3 (så må) sV||m'O (så har) sV||har +(ville så) vil3||sV så sV $sentence $atstart (virkede så) v'irkeD@||sV (kom så) kVm||sV diff --git a/dictsource/da_rules b/dictsource/da_rules index 13fc3e8d..c044c7a3 100755 --- a/dictsource/da_rules +++ b/dictsource/da_rules @@ -59,6 +59,7 @@ // PB words in da_list with final -ance &) ance ($p_alt 'ANs@ // balance, romance &) ance (+ ANs@ // PB unstressed after a syllable - ferieromance + &) ance (re+ ANse // PB afbalancere &) ance (re$p_alt ANs'e // PB avancere // PB general rule: [a] after consonant before m C) a (m a // PB ham, gamle, lam @@ -73,6 +74,7 @@ // PB general rule: [&] after k k) a (+ & // PB kage, kaste sk) a (k A // PB skak + _mak) a (b '& // PB makaber - stressed // PB general rule: [a] after k before p k) a (p+ a // PB kappe, kaptajn k) a (pi+ & // PB [&] before i - kapitel @@ -92,7 +94,7 @@ // PB general rule: [&] after d d) a (+ & // PB dame, dag - d) a (g@ a // PB dagbog + d) ag (@ au // PB dagbog dd) a (g & // PB middagstid _d) a (m_ a // PB dam _d) a (mm a // PB dammen @@ -157,7 +159,7 @@ // PB general rule: [A] before nk a (nk+ A // planke, slanke, anke, flanke a (nklag+ & // PB anklage - a (nko+ & // PB ankomme + a (nkom+ & // PB ankomme ang (re aN // PB angre _) ang (eC aN // PB anger, angelsaksisk @@ -192,6 +194,7 @@ _milli) a (r 'A // PB stressed - milliard _trilli) a (r 'A // PB stressed - trilliard _sejl) a (ds '& // PB stressed _sah) a (ra 'A // PB stressed +metast) a (se '& // PB stressed L08) av (C Au // stavn st) av (nin &v // PB stavning h) av (_ & // PB hav - problem with the noun "hav" [hAu] @@ -244,6 +247,7 @@ _trilli) a (r 'A // PB stressed - trilliard &) ation ($p_alt &S'on // delegation &r) ation ($p_alt AS'on // koncentration &r) at ($p_alt 'At // [A] after "r" - kammerat + &r) at (i$p_alt At // [A] after "r" - demokrati &r) at (ur$p_alt At' // [A] after "r", stressed u - littteratur intern) atio (nal &So // clash with "internat" _oblig) atio (n &S'o // PB clash with "obligat" in da_list @@ -333,6 +337,9 @@ _impres) a (rio 'A // PB stressed _rab) a (rber 'A // PB stressed _ar) a (ber 'A // PB stressed eng) a (ng 'a // PB stressed +_chimp) a (n '& // PB stressed - chimpanse + pastr) a (mi 'A // PB stressed + a (sme '& // PB orgasme, entusiasme bl) a (d & // PB blad h) a (n & // PB han j) a & // PB ja @@ -450,6 +457,8 @@ restaur) ant 'AN // PB added stress angeles &ndZ3lEs // PB arrow &Rou // PB abilene &bili:n // PB + s) ally &li // PB + th) a (nks & // PB thanksgiving str) abads Ab'&s // PB stressed a, silent d disput) a (ts '& // PB stressed amsterd) a (m 'a // PB @@ -458,6 +467,7 @@ amsterd) a (m 'a // PB _domin) a (n '& // PB stressed - dominans aw (K aw ay (K Ej // PB a changed to E + bookm) a (ker Ej // PB .group af @@ -514,8 +524,9 @@ _domin) a (n '& // PB stressed - dominans band) age &:S@ // PB gipsbandage sC) ag &j // PB slag, slaget, Skagen, smag sl) ag (C@ au // PB slagskib + sl) ag (ne &j // PB rædselsslagne l) ag (_ &j // lag - opsl) ag &j // PB + opsl) ag &j // PB f) ag (s au // PB fagsnak l) ag (C au // PB flagstang, lagkage l) ag (re &j // PB oplagres @@ -606,6 +617,9 @@ _trienn) ale '&:l@ baseball bejsBO:l/2 // PB butterfly bVtVflaj // PB beach bi:tS // PB Beach Boys + _) blake blEjk // PB name + bridge bridZ // PB + _) bligh blAj // PB name .group be // PB words beginning with "be" with stress on the second syllable (850) @@ -690,7 +704,8 @@ frederi) c (ia =ks // PB fa) c (on s ceylon sajl/2Vn // PB cornichon kVrniS'VN // PB - charlie _^_EN // PB + charlie tSAli // PB + charles tSA:ls // PB c (æsar s // PB ni) ch (ol k // PB Nicholas computer kVmpj'u:tV // PB @@ -704,6 +719,15 @@ frederi) c (ia =ks // PB connecticut kVn'etikVd // PB carlisle kAlajl // PB china tjajn& // PB + cleveland kli:vl&n // PB + croissant kroas'AN // PB + _) cartier kartj'e // PB + clair (voy klEr // PB clairvoyance + co (nrad kV // PB name + country kVntri // PB + chagall S&g'&l // PB name + _ali) ce s // PB + connie kVni // PB .group d @@ -843,7 +867,7 @@ stikor) d // PB exception - silent d in 'stikord' ti) d (s D ti) d (sel // PB silent d sli) d (so D - A) d (t // PB silent d - forbudt, skudt, ladt + A) d (t++ // PB silent d - forbudt, skudt, ladt fjer) d (e // PB silent d - fjerde L09A) d (ta D // PB modtage, medtage, nedtage in) d (u d @@ -863,6 +887,8 @@ stikor) d // PB exception - silent d in 'stikord' _) duke dZu:k // PB Duke - name _) drive (- dRAjv // PB drive-in _) dean (_ di:n // PB name + dubois dybw'A // PB name + dorothy _^_en // PB .group é // added by PB é 'e // idé, entré @@ -878,6 +904,7 @@ stikor) d // PB exception - silent d in 'stikord' al) er V // PB maler mal) e (ri V // PB perl) e @ // PB + ml) e @ // PB samlestykke _dil) e (mma 'E // PB ll) e (de // PB silent e - billede midl) er V // PB midlertidig @@ -885,7 +912,12 @@ stikor) d // PB exception - silent d in 'stikord' _koll) e (ga 'e // PB stressed _koll) eg (e 'ej // PB stressed kolleger _sem) e (ster 'E // PB stressed + _) borgm) e (st 'E // PB borgmester - stressed + _) kompl) e (ks 'E // PB stressed + _grot) e (s 'E // PB gtotesk r) e E // PB general rule: [E] after r + skr) eg aj // PB + r) e (nd a // PB røvrendt r) e (nte &# // PB r) e (st & // PB restlager klatr) e V // PB @@ -1030,6 +1062,7 @@ _en_ball) e (t 'E // PB carst) e (n @ karst) e (n @ hest) e (n+ @ // PB hestene + serv) e @ // PB reservehjul tr) edive aDv@ // PB tredive entente ANt'ANt // PB prof) essionel 'eSonel // PB @@ -1071,8 +1104,8 @@ målesk) e e // PB måleske strøsk) e e // PB strøske støbesk) e e // PB støbeske tesk) e e // PB teske - gourm) e 'e // PB gourmet + _rod) e (o 'e // PB stressed // PB stressed e in words with -ekt - konfekt _aff) e (kt 'E _arkit) e (kt 'E @@ -1088,6 +1121,7 @@ _intell) e (kt 'E _konf) e (kt 'E _korr) e (kt '& _obj) e (kt 'E + obj) e (ktiv E _perf) e (kt 'E _proj) e (kt 'E _prosp) e (kt 'E @@ -1150,6 +1184,7 @@ _sakram) e (nte 'e underl) eg ej // PB underlegen str) eg (+ aj // PB stregen p) eg aj // PB pegefinger + p) eggy Egi // PB name _) ege (_ e:j@ // PB added _ - ege(træer) _) ege (træ e:j@ // PB added _ - egetræe L06) eg (e aj // PB p) changed to L06 to include b @@ -1222,14 +1257,18 @@ _parent) e (s 'e PB stressed ey i // PB jockey eiffel ajf3l // PB Eiffeltårnet ecstacy Est&si // PB + rev) eill (e 'Elj // PB ef) eu Vj // PB plant _) earl W:l/2 // PB Earl _) earp W:b // PB name _) east i:sd // PB Eastwood eu (rop Wu // PB Europa eau 'o // PB bureau, niveau + eau (kti @au // PB pladeauktion _t) e (_ e // PB te kin) e (s 'e // PB kineser + d) e (s_ @ // PB mødes + ar) e @ // PB vareprøve TEST // PB plural suffix -ene @) ene (_S3 @n@ // brødrene - the brothers @@ -1253,9 +1292,13 @@ _parent) e (s 'e PB stressed t) el (t_ el // PB ilttelt // PB exceptions to the -el rule -// PB final -el i da_list - stressed e +// PB final -el in da_list - stressed e &) el ($p_alt ''El - model &) el (l$p_alt ''E - modellen - only one l + _app) el (sin El // PB + +// PB final -elig in da_list - stress on previous syllable + &) elig ($p_alt =@li // PB jomfruelig _) el el // elkedel muskat) el ''El // PB @@ -1392,6 +1435,7 @@ verdensd) el el kuglep) en En // PB ord) en @n anci) enn EN // anciennitet + _) en (tusias AN // PB entusiasme ep) en En (+ // PB fyldepen app) en (diks 'En // PB stressed susp) en (sion en // PB suspension @@ -1473,6 +1517,8 @@ skizofr) en 'En // PB vurd) ere (_ er3 // overvurdere overs) er er // PB g) er (+ V // unger, borgerkrig + g) er (ani er // PB geranium + g) er (man er // PB germansk m) er (et V // PB nummeret nysg) er (ri er // PB nysgerrig revolv) er V // PB @@ -1499,7 +1545,8 @@ _perif) er 'er // PB stressed perif) er er // PB not stressed after a syllable klav) er er // PB after a syllable - værtshusklaver _univ) er (s 'Er // PB stressed - ubiv) er Er // PB after a syllable - skoleunivers + univ) er Er // PB after a syllable - skoleunivers + flatt) er (ende 'er // PB n) er (_ V // PB italiener up) er (C V // PB superfølsom @d) er (C V // PB hæderlig - TOO BROAD? @@ -1508,20 +1555,21 @@ _perif) er 'er // PB stressed // not a -erne suffix _mod) erne (+ 'ern@ - &mod) erne (+ ern@ + mod) erne (+ ern@ _cist) erne (+ 'ern@ - &cist) erne (+ ern@ + cist) erne (+ ern@ +fascist) erne (+ Vn@ // exception to "&cist) erne" _kas) erne (+ 'ern@ - &kas) erne (+ ern@ + kas) erne (+ ern@ _lant) erne (+ 'ern@ - &lant) erne (+ ern@ + lant) erne (+ ern@ plant) erne (++ Vn@ _luc) erne (+ 'ern@ - &luc) erne (+ ern@ + luc) erne (+ ern@ _saut) erne (+ 'ern - &saut) erne (+ ern + saut) erne (+ ern _tav) erne (+ 'ern@ - &tav) erne (+ ern@ + tav) erne (+ ern@ // Exceptions to the suffix rules // Words ending with -ere - stressed e - around 1.600 words in list file @@ -1603,6 +1651,7 @@ reserv) ert 'ert _) 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 + tatov) er er // PB tatovering am) er (ika_ 'er // PB Amerika _røv) er (i Vr' // PB røveri - stressed i røv) er (i Vr // PB togrøveri @@ -1654,7 +1703,7 @@ L06L06) er V // PB klipper vildr) ede (_+ ED@ // PB vildrede spr) ede (_+ ED@ // PB adsprede ber) ede (_+ ED@ // PB berede - br) ede (_+ ED@ // PB brede + _br) ede (_+ ED@ // PB brede _fr) ede (_+ ED@ // PB frede vr) ede (_+ ED@ // PB vrede ler) ede (_+ ED@ // PB fuglerede @@ -1675,8 +1724,15 @@ L06L06) er V // PB klipper @) et (_+ @D // PB elsket // PB exceptions: not a 'et suffix + en_du) et (_ 'Et // PB +synge_du) et (_ 'Et // PB +sunget_du) et (_ 'Et // PB +synger_du) et (_ 'Et // PB +sang_du) et (_ 'Et // PB + @du) et (_ 'Et // PB _sk) et et // PB sket el) et (+ et // PB pærelet + spl) et (+ Et // PB skønhedsplet geb) et (+ 'et // PB s) et (_+ et // PB set it) et (_+ 'et // aktivitet @@ -1700,6 +1756,7 @@ _servi) et 'et // PB _prof) et 'et // PB stressed klarin) et et // PB _plan) et 'et // PB +_pubert) et 'et // PB stressed meg) et (+ et // PB not a suffix om) et (++ 'et // PB kilometer, kometer r) et (_++ &#t // ret @@ -1709,18 +1766,19 @@ klarin) et et // PB @r) et (_+ -@D // PB såret av) et (+ @D // havet, lavet - avoid [Au] tag) et @D - amul) et 'et // PB + amul) et 'Et // PB alfab) et 'et // pb - _bill) et 'et // PB stressed - bill) et et // PB + _bill) et 'Et // PB stressed + _park) et 'Et // PB stressed + bill) et Et // PB _tib) et 'et // PB tib) et et // PB - _bill) ett 'et // PB stressed - only one t + _bill) ett 'Et // PB stressed - only one t _kask) et 'et // PB stressed _bajon) et 'Et // PB stressed _tabur) et (+ '&#t // PB bajon) et Et // PB - udsl) et et // PB udslet + udsl) et Et // PB udslet intern) et Et // PB // PB final -ette stressed e @@ -1827,6 +1885,7 @@ _vinaigr) ette '&t@ .group g g g gg (e g // lægge + a) gg (res g // PB aggresiv - only one g ru) g // PB rug, rugmel fru) g (t g // PB æ) g (ernA j // PB lægerne @@ -1856,6 +1915,7 @@ _vinaigr) ette '&t@ l) g (s j øl) g (e j // PB bølge, selvfølgelig A) g (n j // PB tegn, regne + a) g (nos g // PB diagnose sky) g (ni g // PB afskygning i) g (no g // PB ignorere æ) g (n+ g // PB udlægning, prægnant @@ -1863,6 +1923,7 @@ _vinaigr) ette '&t@ ble) g (sot j // PB blegsot ble) g (ansigt j // PB blegansigt ble) g (fi j + e) g (enskab j // PB L08e) g j // PB steg, spegepølse g (å++ g // PB præstegård val) g (år j // PB @@ -1883,6 +1944,7 @@ _vinaigr) ette '&t@ spur) gte t@ // PB silent g - spurgte n) gæ gE Co) g w // PB sprog, tog, toge + østro) gen g'en // PB vo) g (t g // PB bevogtning surro) g (at g // PB to) g (a g // PB exception toga @@ -1893,7 +1955,9 @@ _vinaigr) ette '&t@ ro) g (es g // PB progesteron o) g (raf g // autograf o) g (n u // PB g => u - vogn, sogn - r) g (_ w + r) g (_ w // kirurg + r) gen (_ @n // PB kirurgen + r) gen (s_ @n // PB kirurgens ær) g w // PB bjærge r) g (er_ u // PB herberger u) g (e : @@ -1979,6 +2043,9 @@ _vinaigr) ette '&t@ _) gudskelov (_ gusg@lVu // PB georgia dZV:dZj& // PB gibraltar SibRalt'A // PB + _) gates (_ gEjts // PB name + _) gable gEjb@l // PB name + gendarm S&nd'arm // PB .group ge @@ -2013,10 +2080,16 @@ _korte) ge =Se _a) ge (re g'e // PB agere ge (nial ge // PB ge (ni Se // PB + ge (nital ge // PB + ge (nitiv ge // PB + ge (nius // PB ge (nind ge // PB genindspille ger (ning gEr // PB bud) ge (t S'E + // PB stressed second syllable in words with initial ge + ge ($w_alt %ge // PB gesjæft, gebet + .group h h h @@ -2033,6 +2106,7 @@ _korte) ge =Se homer hom'er // PB Homer - Greek hawaii h&w'a:ji // PB heather hEDV // PB + houston hju:sdVn // PB .group i i i // PB i: => i - made a lot of rules redundant @@ -2055,6 +2129,7 @@ _korte) ge =Se t) igg eg // PB tigge t) ig (e i // PB fattige, stige l) ig i // PB virkelig + l) ig (ram ig // PB milligram l) ig (a ig // PB liga l) ig (i ig // PB religiøs pl) ig (t ek // PB pligt @@ -2092,6 +2167,8 @@ _princ) i (p 'i // PB stressed gr) i (m e // PB l) i (lla e // PB kv) i (st e // PB + sv) i (mm e // PB svimmel + sv) i (ml e // PB svimle // PB stress on previous syllable - around 400 words in da_list // -ig words with the prefix be- are handled by group b - the be- rule. @@ -2129,7 +2206,7 @@ intell) ige (n ig'e // PB intelligent v) i (p e // PB vippe s) i (d e // PB sidde s) i (ds i // PB sidst - t) i (n e // PB stinke + t) i (nk e // PB stinke _inst) i (nkt 'e // PB f) i (ng e // PB finger r) i (nK e // PB ring @@ -2138,12 +2215,14 @@ intell) ige (n ig'e // PB intelligent br) i (lle e // PB briller vr) i (m e // PB vrimle i (dt e // PB midt, lidt + sl) i (d i // PB slide, slidt _sol) i (d 'i // PB solid b) i (dt i // PB bidt b) i (tter e // PB sm) i (dt i // PB sk) i (dt i // PB skidt sk) i (mm e // PB skimmel + s) i (mp e // PB simpel mask) i (n 'i // PB stressed - maskinskrive par) i (s 'i // PB h) i (d i // PB hidtil @@ -2190,6 +2269,9 @@ intell) ige (n ig'e // PB intelligent // PB words with final -ti in da_list - stressed i &t) i ($p_alt 'i // politi +// PB words with final -isme in da_list (348) - stressed i + &) isme ($p_alt 'ism@ // kommunisme, egoisme + // PB words with final -inde in da_list - stressed i &) inde ($p_alt 'en@ // malerinde @@ -2230,6 +2312,8 @@ _konfl) i (kt 'i // PB stressed l) i (m i // PB lim gl) i (m e // PB glimt, glimrende i (kK e // PB ikke, pik + d) i (kt i // PB diktatur + f) i (kt i // PB fiktiv lin) i (k i // PB klinik @t) i (k i // PB ferieromantik sk) i (k i // PB skikkelse @@ -2356,6 +2440,7 @@ _franc) i (sco 'i // PB // PB put stress on the syllable before final 'ie' - words in da_list &) ie ($p_alt =i3 // valkyrie + &) ie (liv$p_alt =i@ // familieliv &s) ie ($p_alt =j3 // gymnasiereform &) ie (l$p_alt i'E // materiel @@ -2428,7 +2513,7 @@ _terap) i 'i v) i (sk e // PB viskelæder v) i (sne e // PB l) i (e j - r) i (gt e // PB rigtigt + r) i (gti e // PB rigtigt r) i (ca e // PB Fredericia l) ig (g+ e // PB ligge - only one g s) i (e j @@ -2536,6 +2621,8 @@ _sport) iv 'iw joint dZVjnt // PB _) james _^_EN jay dZEj // PB name + jess dZEs // PB Jess + jessie dZEsi // PB Jessie .group k @@ -2621,10 +2708,11 @@ _sport) iv 'iw money mVni // PB makeup mEjk'Vb // PB madagaskar m&d&g'&sk& // PB + marilyn m&rilen // PB .group me // PB General rule for words with -ment - &) ment m'end // PB element, segment + &) ment m'ent // PB element, segment // PB exceptions for the -ment rule (French words) arrange) ment mAN // PB arrangement avance) ment mAN // PB avancement @@ -2733,11 +2821,13 @@ _harmo) nika =nik& // PB stressed o A) ndn n // PB endnu -> [enu] - only one n // exceptions A) nd (el nd // PB andel, ejendel + kvi) nd (e n // PB e) nd (elig n // PB endelig ve) ndig ndi // PB udvendig å) nd (eli n // PB åndelig ha) nd (el n // PB y) ndig ndi // PB + nd (ida nd // PB kandidat ste) nd nd // PB stendynge, stendige ke) nd (el n // PB kendelse pe) nd (i nd // PB appendiks @@ -2747,6 +2837,7 @@ _harmo) nika =nik& // PB stressed o nd (om nd // PB ejendom nd (ød nd // PB stendød fu) nd (er nd // PB fundere + u) nd (ne nd // PB bundne bi) nd (e n // PB forbindelse mi) nd (e n // PB mindelund u) nde (l n // PB silent de - misundelig @@ -2802,6 +2893,7 @@ subtrahe) nd nd .group ng ng (_ N // general rule - ting, ring + i) ng N // PB // PB springvand A) ng (e N // general rule - mange, penge ng (evær ng // PB maskingevær i) ngeni (ø nSin // PB ingeniør @@ -2836,6 +2928,7 @@ subtrahe) nd nd // PB final - ose - stressed o &) ose ($p_alt 'o:s@ // hypnose + &) ose (r$p_alt 'o:sV // hypnoser // PB final -ode - stressed o di) o (de 'o @@ -2852,20 +2945,23 @@ elektr) o (de 'o _) o' ou' // PB for Irish names - O'Grady s) outh aus // PB South Pacific r) o (bin V // PB + _h) olmes (_ oums // PB name k) oor (d oV:? // PB koordinat _biot) o (p 'o // PB stressed _isot) o (p 'o // PB stressed +antibi) o (tik 'o // PB antibiotika o (L06 V // PN op, opdrage, obstruere f) o (b o // PB fobi _antil) o (pe 'o // PB stressed o (bliga o // PB obligation - o (pi o // PB opium + o (piu o // PB opium _t) o (bak o' // PB tobak vide) o o // PB videobånd gl) o o // PB global kn) o (L06 o // PB knob, knop h) o (lding Ou // PB holdingselskab br) occ (oli Vk // PB + br) o (n V // PB bronkie helik) o (pt 'V // PB stressed - helikopter p) o (pu o // PB populær p) o (tt V // PB potte @@ -2888,11 +2984,13 @@ _antil) o (pe 'o // PB stressed sj) o (f o // PB sjofel o (be o // PB oberst, koben r) o (L06 o // PB problem + r) o (ck V // PB pr) o (p V // PB blodprop kr) o (p V // PB gr) ogg Vg // PB groggy gr) og Vg // PB grog k) og (t Vg // PB + k) og (nit Vg // PB kognitiv hvalr) o (s V // PB _eur) o (pa 'o // PB stressed _eskim) o 'o // PB stressed @@ -2904,6 +3002,7 @@ _eskim) o 'o // PB stressed Ca) o (s V // PB kaos Laos r) o (ma o // PB romantik org (+ V:w // PB sorg, morgen, Norge + org (ie Vg // PB ge) org (ine og // PB o (rga+ V // PB organ r) or (g oR // PB rorgænger @@ -2950,6 +3049,7 @@ _horis) o (n 'V // PB horisont ov (ærn+ ov // autoværn h) ov (+ Vu // hov, sove ov (+ Vw // PB sjov, lov, skov + o (vej+ o // PB kommandovej o (vi+ o // PB pseudovidenskabelig tr) o (v o // PB troværdig sk) ov (tur Vw // PB @@ -2963,6 +3063,7 @@ _horis) o (n 'V // PB horisont o (fC V // PB ofte skiz) o (fren o // PB n) ov (++ ov // PB nova, november + oven) ov Vw // PB ovenover _C) o (k 'V // PB beginning with 1 consonant followed by o and k: sok, nok, kok k) o (kos o // PB p) o (ka o // PB pokal @@ -2973,8 +3074,12 @@ _horis) o (n 'V // PB horisont ch) o (ko o // PN chokolade o (mr V // PB område o (mf V // PB omformulere + o (lga V // PB Olga, Volga _m) o (rt V // PB mortadel o (k V // PB okker, lok + t) or (t V:? // PB tortur + em) o o // PB demokrati + v) o (lC V // PB volt, vold prot) o o // PB protokol kr) o (k o // PB krokus v) o (ke o // PB provokere @@ -3046,6 +3151,7 @@ _metad) o (n 'o PB stressed tr) o (pi o // PB tropisk tr) o (pe o // PB troperne t) or (_ V // PB faktor + mot) or V // PB t) or (sd V // PB torsdag t) or (n or // PB t) or (ny V // PB tornyster @@ -3093,9 +3199,12 @@ _metad) o (n 'o PB stressed L11) o (ma o // PB koma, narkoman L11) o (mman o // PB kommando p) o (m V // PB pomp + p) o (n V // PB ponton + pomp) on VN // PB pompon 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 alderdom VERY BROAD + o (mt V // PB tomt _) o (mC V // PB omgang s) o (m V // PB langsomt, ensom o (mm V // PB ensomme VERY BROAD @@ -3116,6 +3225,7 @@ _metad) o (n 'o PB stressed kol) o (st o // PB kolostomi kol) o (ssa o // PB kolossal k) o (nC V // PB konfirmand, konfekt, konkurrence + k) o (ntor o // PB c) o (ngo V // PB k) o (ne o // PB kone k) o (pi o // PB kopimaskine @@ -3127,13 +3237,16 @@ _metad) o (n 'o PB stressed r) o (ll V // PB rolle o (se o: // PB rose, skose, pose h) o (spice V // PB hospice + v) od (ka Vd // PB C) o (st V // PB post, moster + p) o (sttrau o // PB posttraumatisk komp) o (st 'V // PB stressed r) o (st o // PB rost pr) o (sta V // PB prostata fr) o (st V // PB f) oged o:@D // PB silent g k) o (sC V // PB kosmisk + k) o (sko o // PB bronkoskop kok) o (s o // PB kokosnød k) o (st o // PB kost (broom) Problem with kost = food k) o (ste V // PB verb - koste = brooms will be mispronounced @@ -3142,6 +3255,7 @@ _metad) o (n 'o PB stressed helsek) o (st V // PB bek) o (st V // OB bekostning frok) o (st V // PB + L08) o (t V spotte, skotte omk) o (st V // PB omkostninger pr) o (sti o // PB prostitueret st) o (mi o // PB stomi @@ -3178,6 +3292,7 @@ _filos) o (fisk 'o //PB aprop) o (s 'o // PB r) oastbeef Ousdbif // PB roastbeef illin) ois V:j // PB + ink) og (nito 'Vk // PB // PB final -ol words in da_list - stressed o &) ol ($p_alt+ 'ol // parabol @@ -3221,6 +3336,7 @@ _filos) o (fisk 'o //PB tr) o (ld V // PB trold kn) o (ld V // PB knold sn) o (t V // PB snot + ne) o (n V // PB neonlys h) otdog VtdVg // PB _h) o (t_ V // PB or (l O: // PB orlov @@ -3291,6 +3407,7 @@ _maked) on 'on // PB makedoner sv) or (e+ or // PB svoret _) or V // PB orientere orm orm // PB + _h) ormon Vrm'on // PB n) or (m O // PB st) or (m O: // PB b) or (t Vr // PB bortforklare @@ -3618,6 +3735,8 @@ _success) or =V pseu sWw // PB pseudo posthum pOsth'um // PB _) pete (_ pi:t // PB name + penelope pen'Elopi // PB + pony pVni // PB .group ph @@ -3658,6 +3777,7 @@ _success) or =V bu) rd (eK rd A) r (er_N // silent r - skærer A) re (_N V // silent r - skære + æ) re V // PB lærerigt g) re (_ rV // PB yngre sa) rd (el rd // PB sardel ga) rd (e rd // PB garde @@ -3750,6 +3870,7 @@ franci) sc (o sk // PB Francisco sheik Sajk // PB sicilien sis'ili@n // PB - Italian island scene sen@ // PB + i) scene (s s'en@ // PB stressed 'e - iscenesætte speak spi:k // PB eSpeak siegfried _^_DE // PB slovakiet slov&k'i@D // PB @@ -3761,6 +3882,7 @@ franci) sc (o sk // PB Francisco shor (t SV // PB shorts _) stone sdoun // PB namde - Stone _) sir (_ sW: // PB Sir Arthur + sher (wood SW // PB Sherwood Forrest er_) sig (_til saj // PB avoid [si] - glæder sig [saj] til et_) sig (_til saj // PB avoid [si] - glædet sig [saj] til e_) sig (_til saj // PB avoid [si] - glæde sig [saj] til @@ -3787,9 +3909,11 @@ erklære_) sig (_ saj // PB hygge_) sig (_ saj // PB skød_) sig (_ saj // PB tog_) sig (_ saj // PB + kom_) 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 + _) sig (_ind_ saj // PB bilde sig ind ak_) sig (_ saj // PB drak sig fuld gik_) sig (_ saj // PB gik sig en tur red_) sig (_ saj // PB red sig en tur @@ -3819,6 +3943,7 @@ kompromi) s ' // PB stress added smiley smajli // PB straight sdrE:jt // PB seattle si'&t@l // PB + _) sunset sVnsEt PB .group t t t @@ -3872,6 +3997,8 @@ glemen) t (al t tracy trEjsi // PB tombstone tu:msdoun // PB town tAwn // PB + touchdown tVtSdawn // PB touchdown + // PB final -tek - stressed e _apo) tek t'ek _biblio) tek t'ek @@ -3938,7 +4065,7 @@ laryngi) ti (s =ti meningi) ti (s =ti pas) tis t'is raki) ti (s =ti - lek) ti S + lek) ti (e S ak) ti (e S // PB aktie &) ti (on+ S // station, dispotion bas) ti (on // PB @@ -3973,6 +4100,7 @@ meningi) ti (s =ti _) u (retfæ++P1 u // uretfærdig - prefix _) u (ds+ u // udsætte u (de u // PB uden, udenfor + uskyldig usg'yldi // PB // PB nouns with final -um in da_list - stress on previous syllable &) um ($p_alt =Om // PB jubilæum @@ -4063,11 +4191,13 @@ meningi) ti (s =ti l) u (n_ u // PB lun l) u (ne u // PB lune l) u (nte 0 // PB lunte + j) u (nt 0 // PB junta l) u (ka u // Lukas h) u (nd u // PB hund r) u (s u r) u (st O // PB udrustning ue (_ u: // PB due, vindue, statue + aven) ue 'y // PB alb) ue u: // PB albuerum st) ue u: // PB stuearrest d) ue (s u: // PB vinduesstørrelse @@ -4094,6 +4224,7 @@ centrif) u (g 'u // PB stressed _k) u (n_ 0 // PB kun kl) u (ns 0 // PB k) u (l O // PB kulmine + k) u (li u // PB kulisse hovedk) u (ls u // PB k) u (ld u // PB kulde k) u (ldio O // PB kuldioxid @@ -4112,6 +4243,7 @@ hovedk) u (ls u // PB m) u (nt 0 // PB munter sn) u (L06 0 // PB snup s) u (L06 0 // PB suppe + s) u (pple u // PB suppleant s) u (bs u // PB substitut u (nk 0 // PB sunket h) u (n u // PB hunkøn @@ -4132,6 +4264,7 @@ hovedk) u (ls u // PB p) u (lv 0 // PB pulver _r) u (b_ O // PB rub n) u (l 0 // PB nul + nn) u (lle u // PB annullere _r) u (bbe O // PB rubbe, rubbet k) u (ffert O b) u (k O // PB buk @@ -4162,6 +4295,8 @@ proven) u y s) u (rrel Y // PB surreel s) u (rrea y // PB surrrealistisk t) u (berkul y // PB tuberkulose + res) ume ym'e // PB + res) umé ym'e // PB g) ui (tar i // PB guitar resso) u (rs 'u comp) u (ter ju @@ -4220,6 +4355,7 @@ proven) u y wright _^_EN // PB willie wili // PB _) wild wAjld // PB + ware w&:r // PB software .group x @@ -4237,8 +4373,9 @@ proven) u y r) yg (_en y // PB "ryg en cigar" r) yg (ning y // PB silent g r) yg (C '@k, // PB rygrad + pr) yg (l y // PB tr) yg (le Y // PB trygle - str) yg yj // PB strygetøj + str) yg yj // PB strygetøj r) y (s W // PB ryste fr) y (s y // PB fryse kr) y (st Y // PB kryster @@ -4257,6 +4394,8 @@ proven) u y _l) y (ste_ y // PB &l) y (st y // PB åbenlyst fl) y y // PB flystøtte + fl) y (tn W // PB flytning + afl) y (t y // PB aflytning L08) y (t W // PB spyt, skyts sk) y (ti y // PB Skytien, skytisk sk) y (ter y // PB skyter @@ -4283,6 +4422,7 @@ _molek) y (le 'y // PB stressed k) yss Ws // PB kysse k) y (se y: // PB kyse y (nK W // PB changed from Y to W - synge, ynde + s) y (ndrom y // PB s) y (ns y // PB s) y (nl y // PB synlig s) y (nkr y // PB synkron @@ -4292,6 +4432,7 @@ _molek) y (le 'y // PB stressed l) y (n y // PB lyn kl) y (nk W // PB klynke pl) y (n W // PB plyndre + s) y (tten W // PB fl) y (t_ W // PB flyt fl) y (tt W // PB flytte afl) y (tt y // PB @@ -4307,6 +4448,7 @@ _molek) y (le 'y // PB stressed yankee j&nki // PB yale jEjl/2 // PB cl) yde ajd // PB + b) ypass ajpa:s // PB d) y (lan i // PB name obb) y i // PB hobby, lobby brookl) y (n i // PB @@ -4332,7 +4474,7 @@ brookl) y (n i // PB æ E // PB nouns ending with -ær in da_list - stressed last syllable - &) ær ($p_alt 'Er // elementær + &) ær ($p_alt ''Er // elementær // æ (CK E r) æ (dd a // PB forræder @@ -4365,7 +4507,9 @@ brookl) y (n i // PB tr) æ (t &# // PB træt tr) æ (f &# // PB træffe tr) æ (k &# // PB trække + tr) æ (b &# // PB træbord fr) æ (k &# // PB + skr) æ &# // PB skrænt gr) æ (n & // PB grænse _migr) æ (ne '& // PB stressed gr) æ (s &# // PB græs @@ -4407,7 +4551,7 @@ majest) æ (t 'E // PB stressed æ gl) øgg Wg // PB gløgg g) øg (l Vj // PB gøgler l) ø (s W - C) ø (j W# // PB søjle, bøjle + C) ø (j+ W# // PB søjle, bøjle, sprøjte L09) ø (g V // PB m => L09 (m + n) - møg _n) ø (d@ 'W: // PB nød- stressed - nødsituation _n) ødt (_ Wd // PB nødt @@ -4417,6 +4561,7 @@ majest) æ (t 'E // PB stressed æ r) ø (mer W: // PB strømere s) ø_ W: L08) ø (g W // PB skøge + sp) øg (_ Vj // PB spøg = joke s) ø (g W // PB søgte sp) ør (g W:r // PB spørge sp) ør (gs Wr // PB spørgsmål @@ -4452,7 +4597,7 @@ majest) æ (t 'E // PB stressed æ r) å (dg+ V // PB rådgive ård O:? // PB gårdmand, bondegård - silent d ården O@n // PB gården - h) årde V: // PB + h) årde V: // PB p) å (ske O // PB påske s) å O // PB så s) å (vel V // PB @@ -4460,6 +4605,7 @@ majest) æ (t 'E // PB stressed æ s) å (_få V // PB s) å (kald V // PB såkaldt s) å (mænd V // PB +_var_s) å (_ V // PB jeg var så glad jas) å (_ 'V // PB jaså alts) å V // PN altså hvorn) år 'O? // PB hvornår - stressed @@ -4474,6 +4620,7 @@ uimodst) å (elig 'O // PB stressed sl) å (s V // PB slås sm) å (C@ V // PB småkage, småfolk m) å (l++ O // meningsmåling + m) å (ltid+ V // PB s) å (d V // PB sådan s) å (t V // PB undersåt skr) å (p V // PB skråplan diff --git a/dictsource/de_list b/dictsource/de_list index 14ab3011..d0192dd2 100644 --- a/dictsource/de_list +++ b/dictsource/de_list @@ -34,7 +34,7 @@ _| paIp _: d'Op@lp,UNkt _; Str'ICpUNkt __ ,Unt3Str'IC -_- b'IndEstr,IC +_- b'Ind@str,IC _! 'aUs_|r,u:f@ts,aIC@n _? fr'Ag@ts,aIC@n _' ,apo:str'Of @@ -424,6 +424,7 @@ beat _^_EN browser _^_EN byte _^_EN camcorder _^_EN +change _^_EN chart _^_EN chat _^_EN coach _^_EN diff --git a/dictsource/de_rules b/dictsource/de_rules index f769781f..673371ac 100644 --- a/dictsource/de_rules +++ b/dictsource/de_rules @@ -482,7 +482,7 @@ B) gn (A g@-n i) gt (_ Ct - zei) gt (_ kt + ei) gt (_ kt gtet (_ kt@t gtest kt@st @@ -1150,6 +1150,7 @@ formal) ie =I@ v v v) v v (_N f + _) v (A v _) v (lad v _) v (lies f @@ -1159,7 +1160,6 @@ formal) ie =I@ _) vi (CC vI _) vi vi: - _) v v vater fA:t3 väter fE:t3 _) v (ät f diff --git a/dictsource/dict_phonemes b/dictsource/dict_phonemes index be10a135..1b4f2402 100644 --- a/dictsource/dict_phonemes +++ b/dictsource/dict_phonemes @@ -1,7 +1,7 @@ Phonemes which are used in the *_rules and *_list files -Dictionary af_dict 2010-08-03 +Dictionary af_dict 2010-08-26 & &: 3: @ @- @L @U a A: aI AI aU A~ E e: e@ @@ -53,7 +53,7 @@ p r s S t T v w x z -Dictionary da_dict 2010-08-11 +Dictionary da_dict 2010-08-26 & &# 0 3 @ @- a A e E i o O u V W @@ -65,7 +65,7 @@ l/2 l/3 m n N p r R s S t T tS v w z -Dictionary hu_dict 2010-08-13 +Dictionary hu_dict 2010-09-13 A a: E e: i i: o o: u u: Y y y: Y: @@ -76,7 +76,7 @@ n^ p r R R2 s S s2 t tS ts v z Z -Dictionary de_dict 2010-07-27 +Dictionary de_dict 2010-08-25 3 3: @ @- a A A: aI aU E E2 E: e: EI i I @@ -89,18 +89,17 @@ n N p pF r s S t tS ts v w x z Z -Dictionary el_dict 2008-12-16 +Dictionary el_dict 2010-08-26 -@ @- a aI e i o oI -u +a aI e i o oI u -* ; b c C d D f -g j k l l^ m n N -n^ p Q r R s s; t -T ts v x z z; +; b c C d D f g +j k l l^ m n N n^ +p Q r R s s; t T +ts v x z z; -Dictionary en_dict 2010-08-11 +Dictionary en_dict 2010-09-14 0 3 3: @ @- @2 @5 @L a a# A: A@ aa aI aI@ aU @@ -116,7 +115,7 @@ S t T t2 tS v w x z Z -Dictionary eo_dict 2010-05-19 +Dictionary eo_dict 2010-08-27 @- a aI aU e eI eU i o oI u uI @@ -150,7 +149,7 @@ l m n N p r s S s2 t v w Z -Dictionary fr_dict 2010-08-06 +Dictionary fr_dict 2010-09-04 @ @- a A~ e E E: E~ i I o O O~ u u: w @@ -200,7 +199,7 @@ q r r. s S s. t T t. th th. v w x z -Dictionary ta_dict 2010-08-12 +Dictionary ta_dict 2010-09-14 a a: aI aU e E e: i I i: o o: u U u2 u: @@ -325,16 +324,17 @@ k l m n p R s S t tS v w x -Dictionary nl_dict 2010-08-13 +Dictionary nl_dict 2010-09-13 -8 @ @- A a: A~ E e: -EI eU i I O O: o: u -VU Wy y Y: yU +8 @ @- a A a: A~ E +E2 e: EI eU i I o O +O: o: O~ u VU Wy y Y: +yU -* : ; b d D f g -h j k l m n N n^ -p Q r s S t tS v -v# w x z Z +* : ; b d D dZ f +g h j k l m n N +n^ p Q r s S t tS +v v# w x z Z Dictionary no_dict 2010-01-20 @@ -372,7 +372,7 @@ S s; S; t t; tS ts tS; ts; v w x z Z Z; -Dictionary pt_dict 2010-07-03 +Dictionary pt_dict 2010-09-04 & &/ &U~ &~ @ @- a A aI aU e E eI EI eU EU @@ -441,7 +441,7 @@ R2 s S t T tS ts v w z Z -Dictionary sv_dict 2010-05-28 +Dictionary sv_dict 2010-09-08 8 @ a A: E E- e: E: I i: O o: U u- u: W @@ -463,7 +463,7 @@ p Q R s S t T tS v w x z -Dictionary sl_dict 2010-07-14 +Dictionary sl_dict 2010-08-14 @ a a: e E e: i i: o O o: u u: y @@ -498,7 +498,7 @@ p Q r s s. t t[ tS; v w x z Z z. -Dictionary zh_dict 2010-06-29 +Dictionary zh_dict 2010-09-13 @ @r a A ai Au E ei i i. i[ iA iE io iou N- @@ -618,15 +618,16 @@ t; tS ts ts; v x z Z z; -Dictionary nso_dict 2010-05-26 +Dictionary nso_dict 2010-08-27 -@ a e i m- n- N- o -u +@ a e E i m- n- N- +o u U -- : b d D dZ f g -h j J k l l# m n -N n^ p Q r R R3 s -S t T tS v w x z +- : ; b B d D dZ +f h j J k K l l# +m n N n^ p Q R3 s +S t tS v w x X x2 +z Dictionary ht_dict 2010-06-29 diff --git a/dictsource/el_list b/dictsource/el_list index d4065347..4a8de07f 100644 --- a/dictsource/el_list +++ b/dictsource/el_list @@ -8,49 +8,49 @@ // numbers -_0 miD'en -_1 'ena -_2 D'io -_3 t@-@'ia -_3f t@-@'is -_4 t'esera -_4f t'eseris -_5 p'ente -_6 'eksi -_7 ept'a -_8 okt'o -_9 en'ea -_1X D'eka -_11 'enDeka -_12 D'oDeka -_2X 'ikosi -_3X t@-*i'anda -_4X sar'anda -_5X pen'inda -_6X eks'inda -_7X ebdom'inda -_8X ogd'onda -_9X enen'inda -_0C ekat'on_ -_1C0 ekat'o -_1C ekat'on_ -_2C D;ak'os;a_ -_3C t@-*iak'os;a_ -_4C tet@-*ak'os;a_ -_5C pendak'os;a_ -_6C eksak'os;a_ -_7C eptak'os;a_ -_8C oktak'os;a_ -_9C en^ak'os;a_ -_0M1 Cil^'aDes -_1M1 C'il^a // no '1' before thousand -_1M2 'ena|ekatom'irio -_0M2 ekatom'iria -_1M3 'ena|Disekatom'irio -_0M3 Disekatom'iria -_dpt k'oma -_. tel'ia - +_0 miD'en +_1 'ena +_2 D'io +_3 tr'ia +_3f tr'is +_4 t'esera +_4f t'eseris +_5 p'ente +_6 'eksi +_7 ept'a +_8 okt'o +_9 en'ea +_1X D'eka +_11 'enDeka +_12 D'oDeka +_2X 'ikosi +_3X tri'anda +_4X sar'anda +_5X pen'inda +_6X eks'inda +_7X ebdom'inda +_8X ogd'onda +_9X enen'inda +_0C ekat'on_ +_1C0 ekat'o +_1C ekat'on_ +_2C D;ak'os;a_ +_3C triak'os;a_ +_4C tetrak'os;a_ +_5C pendak'os;a_ +_6C eksak'os;a_ +_7C eptak'os;a_ +_8C oktak'os;a_ +_9C en^ak'os;a_ +_0M1 Cil^'aDes +_1M1 C'il^a // no '1' before thousand +_1M2 'ena|ekatom'irio +_0M2 ekatom'iria +_1M3 'ena|Disekatom'irio +_0M3 Disekatom'iria +_dpt k'oma +_. tel'ia +_#ος %os // ordinal suffix // articles ο o $u // definate article @@ -85,6 +85,8 @@ _. tel'ia // verbs +θα $u // future + είμαι $u // to be είσαι $u είναι $u @@ -165,6 +167,8 @@ _. tel'ia προς $brk // towards μέχρι $brk // until κοντά $brk // beside +επί $u + // conjunctions @@ -180,8 +184,16 @@ _. tel'ia επειδή $pause // because γιατί $pause // because, why διότι $pause // because, for +για $pause +ότι $pause +// Pronunciation exceptions + + + +(για να) jan'a + // Letters // If a letter has a "word" pronunciation which is different from its // "letter" name, then include the letter name here, with the letter diff --git a/dictsource/el_rules b/dictsource/el_rules index 77c19bae..ada7bd8b 100644 --- a/dictsource/el_rules +++ b/dictsource/el_rules @@ -86,6 +86,8 @@ ι i C) ι (A ; ρ) ι (A i + δ) ι (α_ i + ι (ε i .group κ κ k @@ -157,17 +159,17 @@ ν_) π b .group ρ - ρ R - ρρ R - A) ρ (A * - C) ρ @-* + ρ r + ρρ r + A) ρ (A r + C) ρ r - αυ) ρ @-* // υ becomes consionant [v] - αύ) ρ @-* - ευ) ρ @-* - εύ) ρ @-* - ηυ) ρ @-* - ηύ) ρ @-* + αυ) ρ r // υ becomes consionant [v] + αύ) ρ r + ευ) ρ r + εύ) ρ r + ηυ) ρ r + ηύ) ρ r .group σ diff --git a/dictsource/en_list b/dictsource/en_list index 0a535012..c33ae670 100644 --- a/dictsource/en_list +++ b/dictsource/en_list @@ -223,6 +223,7 @@ _₠ jU@roU ≠ n0t'i:kw@LtU № nju:m@roU । dVnda# +● bl,aks'3:k@L ß S,A@p'Es ə SwA: @@ -326,8 +327,8 @@ _60o s'Iksti@ _70o s'Ev@nti@ _80o 'eIti@ _90o n'aInti@ -_0Co h'Vndr@dT -_0M1o T'aUz@ndT +//_0Co h'Vndr@dT +//_0M1o T'aUz@ndT // ABBREVIATIONS @@ -2090,6 +2091,7 @@ supplier s@plaI3 suppose $2 suprise $2 // misspell surest SU@@st +surplus s3:pl@s surrogate sVr@geIt ?3 surrogate s3:@geIt survey s3:veI $onlys @@ -2440,6 +2442,7 @@ Dahomey $2 Damascus da#mask@s Danish deInIS Delhi dElI +Dhabi dA:bi Djibouti dZIb'u:tI Donegal d0nI2g'O:l Durham dVr@m @@ -2615,6 +2618,7 @@ Barack ba#rA:k Barbara bA@b@r@ Betsy bEtsI Bjorn bjO@n +Bjørn bj3:n Boris b0rIs Brien braI@n Candace kandIs @@ -2646,7 +2650,7 @@ Dmitri d@mi:tri Dominic d0mI2nIk Donaghy d0n'hi: Doris d0rIs -Dorothy dO@r@Ti +Dorothy d0r@Ti Dougall du:g@L Duncan dVnk@n Dvina d@vi:n@ @@ -2911,7 +2915,7 @@ through Tru: $u $strend2 toward tUwO@d $2 over oUv3 $u $strend2 $only under Vnd3 $u $strend2 $only -within wIDIn $u2 +within wIDIn $u2 $strend2 $brk without wIDaUt $u2 $strend2 above @bVv $u2 $strend2 about a#baUt $u2 $strend2 @@ -3156,7 +3160,6 @@ since sIns $pause thus DVs $pause though ,DoU whenever wEnEv3 $u2 $pause -within $u $pause whoever hu:Ev3 $2 whatever w0tEv3 $2 $pause ?3 whatever wVtEv3 $2 $pause diff --git a/dictsource/en_rules b/dictsource/en_rules index 96449c09..d5b89694 100644 --- a/dictsource/en_rules +++ b/dictsource/en_rules @@ -1173,7 +1173,7 @@ _) be (sC bI2 _) be (stia bE _) be (tC bI2 - _) be (v bE + _) be (vA bE be (gA bI2 be (gr bI2 be (lat bI2 @@ -1489,6 +1489,7 @@ _) dj (Y dZ _) d (nie d _) d (wY d // allow _dw + _) d (h@@ d d (d _) d' (AP2 d @@ -2608,6 +2609,8 @@ &) i (c_ =I &) i (ca_ =I &) i (cal =I + &) i (cism_ =I + &) i (cist_ =I pr) i (ce aI adv) i (ce aI dev) i (ce aI @@ -3283,6 +3286,7 @@ _) k (L01Y k _) k (hY k _) k (wY k + _) kj (e@ kj _) kn (Y n kn (if n kn (iv n @@ -4197,6 +4201,7 @@ l) ov (e Vv _l) ove Vv cl) ov (e oUv + _sl) ov (enA oUv pl) ov oUv pull) ov oUv m) ov (A u:v @@ -4346,6 +4351,7 @@ _) pre (C@ pr%I _) prea (ch pri: _) pre (am pri: + _) pre (cinc pri: pre (cio prE preda (to prEd@ prede (ces pri:dI @@ -5465,7 +5471,7 @@ 6_) 's (_ I2z 16_) 's (_ z 're (_S3 @ - 've (_S3 v + 've (_S3 @v 'd (_S2 d 'll (_S3 @L diff --git a/dictsource/eo_list b/dictsource/eo_list index 30d23bd1..637bf0af 100644 --- a/dictsource/eo_list +++ b/dictsource/eo_list @@ -30,14 +30,14 @@ _0M4 duili'ono _dpt _komo_ // ordinal numbers -_#a a -_#aj aI -_#an an -_#ajn aIn -_#-a a -_#-aj aI -_#-an an -_#-ajn aIn +_#a %a +_#aj %aI +_#an %an +_#ajn %aIn +_#-a %a +_#-aj %aI +_#-an %an +_#-ajn %aIn // accent names _lig ligat'uRa @@ -69,6 +69,8 @@ _? demandosigno _! _k@-*isigno_ _- dividost@-*eko __ subst@-*eko +_' apost@-*'ofo +_" tsito ~ tildo ° gradoI % p@-*otsento $max3 @@ -80,8 +82,8 @@ __ subst@-*eko | duktosigno * asteRisko $max3 © kopiRaIto -_( R'ondak@-*'ampo -_) f'eRmaRondak@-*'ampo +_( parentezo +_) f'eRmaparent'ezo _[ R'ektak@-*'ampo _] f'eRmaRektak@-*'ampo _{ k'uRbak@-*'ampo diff --git a/dictsource/fr_rules b/dictsource/fr_rules index e9300409..bcc4c3a0 100755 --- a/dictsource/fr_rules +++ b/dictsource/fr_rules @@ -27,7 +27,7 @@ // http://www.fluxnic.net/cicero // // Rules are now maintained by Michel Such -// Last update: 2010-08-01 Michel Such +// Last update: 2010-09-04 Michel Such // // Letter classes: @@ -136,6 +136,7 @@ _C) aud (_ od // Maud bb) aye (X ei // abbaye ay (C E // aymé ay Ej // paye + ay (ak aj // kayak ay (_ E // display Xl) ayer (X EjWr // player, layer h) am (_S2 am @@ -206,6 +207,7 @@ _) be (L15A _^_en toma) c (_ se) c (ond g // seconde secondaire c k // recoin donc +zin) c (_ g // zinc cient (_ sit2 // ils appr�ient, remercient. effi) cient sjA~ // coefficient @@ -578,6 +580,7 @@ gu) eu (ler Y // gueuler _y) en (_ En iew) er (X er2 _m) e (ga e + app) en (di E~ // appendice // group e: English section diff --git a/dictsource/hu_list b/dictsource/hu_list index d9ee38a6..dd1af906 100755 --- a/dictsource/hu_list +++ b/dictsource/hu_list @@ -1178,6 +1178,18 @@ diagnosztizálható $unstressend működik $unstressend hat $unstressend mutatnak $unstressend +rés $unstressend +szélén $unstressend +lógott $unstressend +tűnő $unstressend +kötni $unstressend +lopni $unstressend +döntöttem $unstressend +szerzett $unstressend +érted $unstressend +járni $unstressend +döntöttek $unstressend +írt $unstressend // word pairs diff --git a/dictsource/hu_rules b/dictsource/hu_rules index 34680a40..a94d14e6 100644 --- a/dictsource/hu_rules +++ b/dictsource/hu_rules @@ -46,7 +46,8 @@ jo) bbr (a bR2 tö) bbr (e bR2 kise) bb (ség b - + tö) bb (száz b + tö) bb (száz b .group c c ts @@ -223,6 +224,9 @@ menetren) dsz (erű d|s föl) d (szegély d stran) d (szezon d _hol) d (sarló d + mó) d (sor d + csalá) d (segít d + .group dz fogó) dz (kod ts @@ -456,6 +460,9 @@ harmince) gy (edik J: t) í (zes i sz) í (vel i: _t) í (zük i + _sz) í (vattak i + _sz) í (vattákk i + _sz) í (vató i .group j j j @@ -695,6 +702,8 @@ gyalogo) s (zászló S szennye) s (zsá S alvá) s (zavar S magatartá) s (zavar S +erőforrá) s (zabál S +működé) s (zava S .group ss ssz ss2 @@ -1123,6 +1132,10 @@ művele) t (sáv t zár) t (sorú t skó) t (juhász t szerete) t (szolgálat t + ú) t (jelzés t +vizsgála) t (sor t +dagana) t (sej t +tábláza) t (sor t .group ts ts (_S2 tS //general rule with word end of ts letters diff --git a/dictsource/nl_list b/dictsource/nl_list index 74851703..559812dd 100644 --- a/dictsource/nl_list +++ b/dictsource/nl_list @@ -386,6 +386,7 @@ glimmer $alt glinster $alt glitter $alt glunder $alt +goeder $alt halter $alt hamer $alt hamster $alt @@ -646,13 +647,149 @@ metrage me:tr'a:Z@ outillage utij'a:Z@ vrijage vre:j'a:Z@ +// stress on final -et +facet $2 +pincet $2 +cachet kAS'E +crochet krOS'E +manchet mAnS'Et +planchet plAnS'Et +pochet pOS'Et +cadet $2 +kadet $2 +biljet $2 +sajet $2 +sujet syZ'Et +banket $2 +boeket $2 +briket $2 +etiket $3 +klinket klINk'Et +koket $2 +kroket $2 +loket $2 +musket $2 +pakket $2 +parket $2 +piket $2 +raket $2 +winket $2 +amulet $3 +ballet $2 +cabriolet ka:briol'Et +corselet $3 +couplet kupl'Et +doublet dubl'Et +epaulet e:po:l'Et +filet fil'e: +gilet Zil'Et +kotelet $3 +omelet $3 +palet $2 +pamflet $2 +pistolet pisto:l'Et +poulet pul'Et +reglet re:Ql'Et +skelet sk@l'Et +tablet $2 +toilet tv#Al'Et +violet $3 +bajonet $3 +cabinet $3 +carnet $2 +castagnet kAstAn^'Et +kabinet $3 +klarinet $3 +kornet $2 +marionet $4 +sonnet $2 +spinet $2 +vignet vIn^'Et +karpet $2 +lampet $2 +pipet $2 +toupet tup'Et +trompet $2 +baret $2 +cabaret ka:ba:r'Et +floret $2 +lazaret $3 +minaret $3 +portret $2 +sigaret $3 +closet klo:z'Et +corset $2 +falset $2 +kwartet $2 +kwintet $2 +motet $2 +nonet $2 +octet $2 +septet $2 +sextet $2 +brevet br@v'Et +corvet $2 +servet $2 +buffet byf'Et +budget b8dZ'Et +rozet $2 +sorbet $2 +duet dy'Et +jacquet Zak'Et +menuet me:ny'Et +silhouet silu'Et +tourniquet turnik'Et + +amorette $3 +amourette a:mu*'Et@ +anisette a:niz'Et@ +brunette $2 +cassette $2 +chambrette Sambr'Et@ +coquette ko:k'Et@ +couchette kuS'Et +courgette kurZ'Et +diskette $2 +estafette $3 +etiquette e:tik'Et@ +kokette $2 +maisonnette mEzOn'Et@ +majorette $3 +maquette ma:k'Et@ +modinette $3 +musette $2 +pirouette pi*uv#'Et@ +pochette pOS'Et +operette o:p@r'Et@ +raclette $2 +roulette rul'Et@ +soubrette subr'Et@ +suffragette syfra:Z'Et@ +ultraviolette 8ltra:vio:l'Et@ +vedette v@d'Et@ +violette $3 +wasserette $3 // pronunciation exceptions aangrijpend $2 +agenda $2 +amnestie $3 bourgondier burx'o:ndi:@r circuit sIrku'i +chalet Sa:lE +champagne SAmp'An^@ +champignon SAmpij'On +chanson SA~s'O~ +chapiter $2 +charade $2 // ?? what is plural +chassis SAs'i +chat tSEt +check tSEk +chiffon Sif'On contour ko:nt'ur +dynastie $3 +eucharistie $4 ingewikkeld $3 ingrijpend $2 ingeval $3 @@ -668,6 +805,7 @@ ongerieflijk $3 ongrondwettig $3 proces $2 renaissance rEne:s'A~s@ +sacristie $3 tegenaan $3 tegenin $3 tegenover $3 @@ -675,11 +813,13 @@ tegendraads $3 tegennatuur $4 tegenstrijdig $3 tegenwoordig $3 +travestie $3 waarschijnlijk $2 // names +charlotte $2 Inge IN@ Ingeborg INe:bOrx Ingmar INmAr diff --git a/dictsource/nl_rules b/dictsource/nl_rules index 947d5d23..6c523a9e 100644 --- a/dictsource/nl_rules +++ b/dictsource/nl_rules @@ -18,11 +18,15 @@ ages (_S1 s age (_$w_alt a:Q@ aire (_ 'E:r + @) ant (_ 'Ant + + @) a (de_ 'a: + @) a (ta_ 'a: .group b b b // auto-devoice at end-of-word - bb b + b) b bs (_N ps &) baar (_ =ba:r @@ -44,18 +48,35 @@ c k ch x _) ch S - _) ch (arit x + _) ch (ador tS + _) ch (ao x + _) chang (e SA~Z + _) chaperon S,Ap@rO~n + _) charg (@ SArZ + _) ch (ari x _) ch (arter tS + _) chau (ffe S%o: + _) chau (vin S,o: _) ch (emi x + _) cheque SEk + _) cherry tSEri + _) chi (cane S%i _) ch (ip tS - _) ch (olest x + _) ch (lo x + _) ch (ole x + _) cho (que SO + _) ch (or x _) ch (r x + &) che (_ =S ck k + cieel S'e:l + ciële S'e:l@ + coach ko:tS .group d d d // auto-devoice at end-of-word - dd d + d) d dt t ds (_N ts @@ -73,8 +94,10 @@ ee e: eeuw eU eu Y: - @) ee (l_ 'e: - @) ee (m_ 'e: + + eau o: //words with French origin + @) ee (_ 'e: + @) ee (X_ 'e: @) ee (r_ 'I: @) ee (rt_ 'I: @) ee (rd_ 'I: @@ -83,31 +106,32 @@ it) eit (_ 'EIt &) el (_ @l &) eld (_ @ld - &) ele (_ @l@ + &) ele (_ 'e:l@ &) em (_ @m - &) en (_S2q @n + &) en (_S2qd @n &) ens (_S3q @ns &) end (_ @nd &) ende (_ @nd@ + @) ent (_ 'Ent &) er (_ @r &) ere (_ @r@ &) er (en_$p_alt @r // where 'eren' is not a verb ending eren (_ 'I:r@n &) es (_ @s - - eau o: //words with French origin + @) etten (_S3 @n + @) eur (_ 'Y:r _) er (@P2 Er @) e (raar_ @ - - &) e (nB@ @ + &) e (nB@ E2 id) e (nt E - &) e (rC@ @ + &) e (rC@ E2 + .group f f f - ff f + f) f .group g @@ -128,6 +152,7 @@ C) h (K _) her (@P3 hEr + _) her (en hI:r .group i @@ -143,16 +168,18 @@ m) ie (_ 'i p) ie (_ 'i - ie (f_ 'i - ie (r_ 'i + &) ica (_ =ika: + ie (X 'i ie (rd_ 'i @) ig (_S2d @x @) ige (_ @Q@ + @) ij (n_ 'EI _) in (C@P2 'In // _) in (gP2 'In io (nage iO @) isch (_ =is @) ische (_ =is@ + @) ist (_ 'Ist .group j @@ -161,7 +188,7 @@ .group k k k - kk k + k) k _) koning k'o:nIN // in compounds _) koningin ko:nIQ'In @@ -169,7 +196,7 @@ .group l l l - ll l + l) l &) lijk (_S4 l@k &) lijke (_S5 l@k@ &) laan (_S4 la:n @@ -178,14 +205,15 @@ .group m m m - mm m + m) m + manage (ment ma:nIdZ _) mee (@P3 m'e: .group n n n - nn n + n) n ng N nj n^ @@ -205,6 +233,7 @@ ou VU ou (rage u + oo (X 'o: telef) oo (n 'o: _) op (@@P2 'Op _) open (@P4 'o:p@n @@ -238,7 +267,7 @@ .group p p p - pp p + p) p _) ph f ph (K f @@ -248,6 +277,7 @@ qu kv @) qu (eer k @) qu (eren_ k + @) que (_ k .group r @@ -266,7 +296,7 @@ .group s s s - ss s + s) s sch sx sch (_ s sch (e_ s @@ -278,9 +308,13 @@ .group t t t - tt t - tie (_ tsi - c) tie (_ si + t) t + tie (_ =tsi + c) tie (_ =si + k) tie (_ =si + p) tie (_ =si + s) tie (_ =ti + cra) tie (_ ts'i tj t; tsj tS _) th t @@ -289,6 +323,8 @@ t (hav t _) toe (@P3 t'u + _) team t'i:m + team (_ ti:m .group te _) tegen (P5 t'e:Q@n @@ -350,6 +386,8 @@ .group y y i + y (CK I + y (x I .group z diff --git a/dictsource/pt_list b/dictsource/pt_list index 81a878d9..40905f6b 100755 --- a/dictsource/pt_list +++ b/dictsource/pt_list @@ -309,8 +309,7 @@ aquele &k'ely $u+ $nounf // that aquela $u+ daquele d&k'ely $u+ $nounf -?1 que ky $u -?2 que ke $u + que $u // pronunciation is in pt_rules // possessive adjectives meu $u+ $nounf @@ -325,7 +324,7 @@ seu $u+ $nounf sua $u+ seus $u+ suas $u+ -?2 nosso $u+ n'OsU +?2 nosso $u+ // n'OsU ?2 nossa $u+ n'Os& ?2 nossos $u+ n'OsUs ?2 nossas $u+ n'Os&s @@ -738,7 +737,9 @@ elixir eliSir page p'eIdZ ?2 pior pi'Or ?2 piores pi'O*is +preço $alt2 python p'aIT&~N +queda $alt ?1 readme r'i:dmi: ?1 sapi s,ap'i ?1 scanner sk'En&r diff --git a/dictsource/pt_rules b/dictsource/pt_rules index cdb2f7a3..f8be7456 100755 --- a/dictsource/pt_rules +++ b/dictsource/pt_rules @@ -169,6 +169,8 @@ e (co_ E e (ctA_ E e (ctAm_ E + e (çA_ E + e (çAm_ E e (de_ E e (dem_ E @@ -656,6 +658,8 @@ qü kw qu (Y k qu (K ku +?2 _) que (_K ke + _) que (_ ky ?1 _) qua kwa // quatro, etc. ?1 _) que ke // quente, etc. ?1 _) quei (C k'eI // queira, queima, etc diff --git a/dictsource/sv_rules b/dictsource/sv_rules index 25f35017..823df9bb 100755 --- a/dictsource/sv_rules +++ b/dictsource/sv_rules @@ -338,8 +338,7 @@ garant g%aR'ant gata gA:ta glöm glWm - guide g'aId - guider g'aIdER + guid (e g'ajd group _^_EN .group h @@ -463,82 +462,85 @@ .group o o u: - o (CC O + +//sort o (C% U + o (CC O + pr) o (b %O o (bb O - o (dd O - o (mm O - o (pp O - o (ss O - o (tt O - o (ff O - o (rC u: - o (rr O - o (ll O - o (m_ O - d) o (k O - o (rk O - o (rg O - o (ck O - f) o (n 'o: pr) o (c %U + pr) o (cent %O + och 'Ok s) o (ci %U + o (ck O + g) o (d u: + k) o (d o: + bl) o (d 'u: + pr) o (d %O + o (dd O + o (ff O l) o (g 'o: - l) o (v 'o: + kr) o (g u: l) o (gg 'O - b) o (x 'O - s) o (r 'O - k) o (pi 'O - f) o (rm 'O + _) o (j O pr) oj Osx' - o (ns U + b) o (k u: + d) o (k O + k) o (k 'u: l) o (k %U - g) o (r U - nn) o (ns O + kr) o (k u: + p) o (lis %O + o (ll O + k) o (lu %O + o (m_ O + o (mm O + d) o (n O + f) o (n 'o: + g) o (n O + l) o (n O + kr) o (n u: ss) o (n O - C) o (rs O - k) o (rt O - b) o (rt O + o (ni 'o: + o (ns U + k) o (ns O + nn) o (ns O + operat OpERat + k) o (pi 'O + o (pp O + p) o (pu O + g) o (r U + s) o (r 'O + lk) o (r o: + o (rC u: n) o (r_ O - t) o (r_ O s) o (r_ O + t) o (r_ O rs) o (rd u: o (rde o: - b) o (st u: - b) o (k u: - kr) o (k u: - kr) o (g u: - kr) o (n u: - f) o (tb u: - pr) o (v u: - osparat u:spA:Rat - och 'Ok - k) o (ns O - pr) o (cent %O - p) o (lis %O - p) o (pu O - g) o (n O - sp) o (rt O - pp) o (rt O - upp) o (rt o: - l) o (n O - d) o (n O - pr) o (b %O - pr) o (d %O - k) o (lu %O - inf) o (rmati %O - k) o (d o: - lk) o (r o: - g) o (d u: - _) o (j O - o (ni 'o: - m) o (t 'u: - k) o (k 'u: - bl) o (d 'u: - k) o (rv O - n) o (vell %O + o (rg O + o (rk O + f) o (rm 'O st) o (rm O - operat OpERat + inf) o (rmati %O + o (rr O + C) o (rs O + b) o (rt O + k) o (rt O + pp) o (rt O + sp) o (rt O + upp) o (rt o: + k) o (rv O + osparat u:spA:Rat + o (ss O + b) o (st u: + m) o (t 'u: + f) o (tb u: + o (tt O + l) o (v 'o: + pr) o (v u: + n) o (vell %O + b) o (x 'O +//endsort .group p p p diff --git a/dictsource/ta_list b/dictsource/ta_list index 923d2b0a..d2a001f9 100644 --- a/dictsource/ta_list +++ b/dictsource/ta_list @@ -246,6 +246,15 @@ tamil தமிழ் $text பலத்தின் $alt பைக்ல $alt பாவ்லா $alt +பீச்சில் $alt +பீல் fi:l +பலத்தால் $alt +புக் $alt +பீர் $alt +போயிங் $alt +பலத்தாலான $alt +பெஞ்ச் $alt +பெஞ்சு $alt (பி . ஏ) bije: @@ -283,15 +292,15 @@ tamil தமிழ் $text தீரமுள்ள $alt தீரமற்ற $alt தலாய் $alt -தேசிங்கு $alt -தேச $alt -தேசப் $alt தானம் $alt தீரமும் $alt தீரத்தோடு $alt தவத்தில் $alt தவத்தின் $alt தவத்தினால் $alt +திம் $alt +தேவதா $alt +தெனம் $alt // initial ட @@ -315,7 +324,6 @@ tamil தமிழ் $text கில்லி $alt காந்தி $alt கிரி $alt -கோமதி $alt கயா $alt காயத்ரி $alt கட $alt @@ -340,6 +348,12 @@ tamil தமிழ் $text காந்தம் $alt கான $alt கோத்திர $alt +கும்முன்னு $alt +கூகுல் $alt +கேட் $alt +கேட்டில் $alt +கின் $alt + // p as [f] diff --git a/dictsource/ta_rules b/dictsource/ta_rules index e35be8a8..ac9dad09 100644 --- a/dictsource/ta_rules +++ b/dictsource/ta_rules @@ -27,7 +27,7 @@ .L01 ஷ் ஸ் ட் // ப is p when preceded by these -.L02 ட் ற் ல் ஷ் ஸ் +.L02 ட் ற் ஷ் ஸ் // consonants @@ -57,6 +57,7 @@ //sort _) க (ங்கா gV + _) க (ங்காரு kV _) க (ங்கை gV _) க (டகட gV _) க (டப்பாரை gV @@ -76,6 +77,7 @@ _) க (ந்தர்வ gV _) க (னத் gV _) க (னம gV + _) க (ப்பெ gV _) க (ப்பென்ர gV _) க (மகம gV _) க (ம்பீர gV @@ -102,8 +104,12 @@ க (ாரன k க (ாரர k _) க (ிடுகிடு g + _) க (ின்னென்ற g _) க (ிரிஜா g _) க (ிரிதர g + _) க (ிருகஸ்தர g + _) க (ிருஹஸ்தர g + _) கி (ரேக்க g _) க (ீதல k _) க (ீத்த k _) க (ுகன g @@ -112,8 +118,10 @@ _) க (ுடியாத்த g _) க (ுணங் g _) க (ுணத் g + _) க (ுணநல g _) க (ுணப்பட g _) க (ுணம g + _) க (ுணவான g _) க (ுணாதிசய g _) க (ுண்டடி g _) க (ுண்டன g @@ -123,6 +131,7 @@ _) குண்டாந்த (டி gun.d.a:ntV _) க (ுண்டாய g _) க (ுண்டு g + _) க (ுண்டை g _) க (ுதிக் g _) க (ுதிச் g _) க (ுதித் g @@ -136,9 +145,11 @@ _) க (ும்பல g _) க (ும்மிடிப்பூண் g _) க (ும்மிருட்ட g + _) க (ும்மெ g _) க (ுருக்கள g _) க (ுருதேவ g _) க (ுருநா g + _) க (ுருபூஜை g _) க (ுருமார g _) க (ுருரா g _) க (ுருவா g @@ -152,7 +163,12 @@ _) க (ூர்க்கா g _) க (ெட்டி g _) க (ெட்டிரு k + _) கெள gaU + _) கெள (ம்ப kel.V + _) க (ேட்டிலிருந்த g + _) க (ேட்டுக்கு g _) க (ேலி g + _) கோக (ிலா go:k _) க (ோகுல g _) க (ோதாவரி g _) க (ோதுமை g @@ -170,6 +186,7 @@ _) க (ோபிநா g _) க (ோபிய g _) க (ோபுர g + _) க (ோமதி g _) க (ோர_ g _) க (ோர_மாட்ட k _) க (ோர_முடிய k @@ -187,6 +204,7 @@ _) க (ௌ g _) கௌட (ில்ய kaUt. _) க (ௌட்டில்ய k + _) க் (ரூப g //endsort //sort @@ -199,6 +217,8 @@ _கல்) க (த்தா kV கொல்) க (த்தா kV மோ) க (ன HV + _வீண்) க (னவ kV + _வெல்) க (ம kV தின) க (ர kV மது) க (ர kV திவா) க (ர kV @@ -216,12 +236,15 @@ வீண்) க (ஷ்ட kV ம) க (ா H _தாலு) க (ா k + _நேர்) க (ாணல k _வலை) க (ாப் k தொல்) க (ாப்பி k மூல) க (ாரண k + _சம) க (ால k அந்திம) க (ால k கோயில்) க (ாளை k _கல்) க (ி k + வால்மீ) க (ி k _ம) க (ிந்த H மோ) க (ினி H _ம) க (ிமை H @@ -234,9 +257,12 @@ _) கி (ராதக k _) கி (ராம g _) கி (ரீட k + _) கி (ரீன்லாந்த g ங்) க (ிரு g கிரு (ஷ் kri _) கி (ரைண்டர g + _) கி (ரௌண்ட g + இங்) கி (லீஷ் g கி (லேச k _) கி (ளாஸ g _வட) க (ிழ k @@ -252,6 +278,7 @@ க (ுல k _அங்) க (ுல g _) குல்க (ந்த gulkV + _ஓ) க (ே k நீல) க (ேசி k புலி) க (ேசி k குண்டல) க (ேசி k @@ -265,6 +292,7 @@ க (ொண்ட k க (ொள் k வீண்) க (ோப k + _ஷா) க் (_ k துர்) க்க ggV# மார்) க்க ggV# மூர்) க்க ggV# @@ -278,11 +306,15 @@ வைரா) க்க (ிய gg _வி) க்க (ிரக gg கு) க்கி (ராம gg + அணு) க்க (ுண்ட gg ஜன) க்க (ும்பல gg + _எல) க்டிரானிக் (ஸ kt.ira:nik அ) க (்டோபர k வி) க்ட (ோரியா kt. // victoria + _எலெ) க்ட்ரிக (ல kt.rikV வி) க (்ரம k ஆ) க (்ரோஷ k + கோபா) க்க (ினி gg //endsort @@ -315,16 +347,25 @@ //sort _) ச (க்கரவர்த்தி tSV சங்க (ர s.VNkV + _) ச (ட்னி tSV ச (ண்பக s.V ச (ண்மு s.V _) ச (துர் tSV + _) ச (த்ரு tSV ச (ந்திர tSV _) ச (ப்பாத்தி tSV + _) சரசு (வதி sVrVs +அருணா) ச (ல tSV ச (ாந்தி s. _தே) ச (ாந்திர s _) ச (ான்ஸ tS _) ச (ாமுண்ட tS + _) ச (ாய்ஸ tS சமா) ச (ார tS + _) ச (ார்ஜை tS + _) ச (ார்ஜ்_ tS + _) ச (ாளுக்கிய tS + _) சிக (ாகோ tSik _) ச (ிட்டாக tS _) ச (ிட்டாட்ட tS _) ச (ிட்டி tS @@ -333,7 +374,10 @@ _) ச (ிதம்பர tS _) ச (ித்தப்ப tS _) ச (ித்தப்பிரமை s + _) ச (ித்திர tS வி) ச (ித்திர tS + _) ச (ித்திரவதை tS + _) ச (ித்ரவதை tS _) ச (ித்ரா tS சு) சித (்ரா tSit _) சி (நே s @@ -341,11 +385,15 @@ _) ச (ின் tS சி (ரம s _) சிரு (ஷ்டி sri - _) ச (ீன tS + _) ச (ீன_ tS + _) ச (ீனத்து tS + _) ச (ீனப் tS + _) ச (ீனா tS + _) ச (ீனாவ tS _) ச (ீனிவா s சீ (னிவாச sri: - _) ச (ீன்_ s _ஈ) சு s + _) ச (ுடிதார tS _) சு (லோக s கே) சு (வ s மே) சு (வ s @@ -353,6 +401,7 @@ _சனீ) சு (வர s இராவணே) சு (வர s ராவணே) சு (வர s + _) சுவர்க்க svVrggV# _) சு (வாச s சு (வாதீன s சு (வாமி s @@ -361,9 +410,14 @@ _) ச (ெட்டியார tS ச (ெண்பக s. _) ச (ென்னை tS + _) ச (ெல்லக்குட்டி tS + _) ச (ெல்லத்துக்கு tS + _) ச (ெல்லத்தை tS _) ச (ெல்லம tS _) ச (ெஸ் tS _) ச (ேரி tS + _) ச (ைனாவ tS + _) ச (ௌதரி tS //endsort @@ -386,28 +440,42 @@ ட்ட (B t.t. ஷ்) ட t.V ஷ்) ட (B t. - _) டாக்ட (ர d.a:kt.V - _) ட (ோக்கியோ t. + +//sort ிங்) ட (ன் t.V // -ington - _) ட (ாக்க t. // talkies - _) டிராக்ட (ர t.ira:gt.V - _) ட (ைம்_ t. - டெலிப (ோன t.elif _) ட (ம்ப்ளர t.V - _) ட (ிக்க t. - _) ட (ிராம t. - _) ட (வுன t.V - _) டென்டுல்க (ர t.ent.UlkV - _) டிரேயின (ை t.re:jn - _) ட (ியூஷன t. - _) ட (ிவிய t. - _) ட (வல t.V - _) ட (வர t.V - _) ட (ேப t. - _) டாக (்ஸி t.a:k - _ல) ட்ட d.d.V# - _) ட (யர் t.V _) ட (யரில t.V + _) ட (யர் t.V + _) ட (வர t.V + _) ட (வல t.V + _) ட (வுன t.V + _) ட (ாக்க t. // talkies + _) டாக்ட (ர d.a:kt.V + _) டாக (்ஸி t.a:k + _) ட (ிஃபன t. + _) ட (ிக்க t. + _) டி (யூசன t. + _) டி (யூஷன t. + _) டிராக்ட (ர t.ira:gt.V + _) ட (ிராம t. + _) டி (ராவல t. + _) டி (ராவெல t. + _) டிரேயின (ை t.re:jn + _) ட (ிவிய t. + _) டென்டுல்க (ர t.ent.UlkV + _) டெம்ப (ர t.empV + டெலிப (ோன t.elif + _) ட (ெலிவிஷன t. + _) ட (ேப t. + _) ட (ேஸ்ட t. + _) ட (ைம்_ t. + _) ட (ோக்கியோ t. + _ல) ட்ட d.d.V# + _) ட் (ராவல t. + _) ட் (ராவெல t. + _பெ) ட் (ரோ t. + _ஹி) ட் (லர t. +//endsort .group ண @@ -439,6 +507,7 @@ _) த (க்க்ஷிண dV _) த (க்ஷிணா dV _) த (சகண்ட dV + _) த (சரத dV _) த (சரதர dV _) த (சரா dV _) த (சை dV @@ -451,6 +520,7 @@ _) த (டிJ_மாட dV _) த (டிக்க dV _) த (டித்த dV + _) த (டிமாட dV _) த (டியன dV _) த (டியர dV _) த (ட்சன dV @@ -466,6 +536,8 @@ _) த (ண்டிப்ப dV _) த (ண்டிப்பா dV _) த (ண்டியுங்கள dV + _) த (ண்டோரா dV + _) தத்த (ியா dVdd _) த (னகோடி dV _) த (னசேகரன dV _) த (னன்ஜெயன dV @@ -476,6 +548,7 @@ _) த (னுஷ dV _) த (ன்மந்திரி dV _) த (ன்ராஜ dV + _) தபதப dVbVdVbV# _) த (மயந்தி dV _) த (ம்பதி dV _) த (ம்பிடி dV @@ -490,6 +563,7 @@ _) த (ருமி dV _) த (ர்க dV _) த (ர்பார dV + _) த (ர்பூச dV _) த (ர்பை dV _) த (ர்ம dV _) த (லித் dV @@ -507,6 +581,7 @@ _) த (ானத் d _) த (ானிய d _) த (ானுவ d + _) த (ாமோதர d _) த (ாம்_தூம d _) த (ாயாதி d _) த (ாரணி d @@ -516,6 +591,7 @@ _) த (ாவணி d _) த (ாவா d _) த (ிகில d + _) த (ிகுதிகு d _) த (ிக்கில d _) த (ிக்கு d _) த (ிக்கு_முக்க t @@ -526,6 +602,7 @@ _) திக்பி (ரமை digb _) த (ிக்விஜய d _) த (ிசை d + _) திடசங்கல்ப did.VsVNgVlpV# _) த (ிடப d _) த (ிடம d _) த (ிடீ d @@ -541,16 +618,20 @@ _) த (ினம d _) த (ினுச d _) த (ினேஷ d + _) த (ிம்ம d _) தி (யான dj _) த (ிரவ d _) த (ிரவிய d _) தி (ராவிட d _) த (ிரௌபதி d _) த (ில்லி d + _) த (ில்லு_ d + _) த (ில்லு_முல்லு t _) த (ிவச d _) த (ிவாகர d _) த (ிவான d _) த (ிவ்ய d + _) த (ீட்சித d _) த (ீட்சை d _) த (ீப d _) த (ீப்ப t @@ -569,6 +650,7 @@ _) த (ுச்சாதனன d _) த (ுட்ட d _) த (ுபாய d + _) த (ுரதிருஷ்ட d _) த (ுரதிர்ஷ்ட d _) த (ுராசை d _) த (ுரியோதனன d @@ -579,22 +661,26 @@ _) த (ுரோண d _) த (ுர் d _) து (வந்த_ d - _) து (வார d + _) துவாப (ர dva:pV + _) துவ (ார dv _) த (ுஷ் d _) த (ூசி d _) த (ூப d _) த (ூம d _) த (ூர d + _) த (ூரிகை t + _) த (ூர்_ t + _) த (ூர்ந் t + _) த (ூர்வ t _) த (ூஷணை d _) த (ூஷித்த d _) த (ெய்வ d _) த (ேக d _) த (ேக்க t - _) த (ேசத்தார d - _) த (ேசத்தில d - _) த (ேசாந்திர d + _) த (ேச d _) த (ேவகான d _) த (ேவகி d + _) த (ேவக் d _) த (ேவதை d _) த (ேவன d _) த (ேவராட்டி d @@ -611,6 +697,7 @@ _) த (ேவேந் d _) த (ைரிய d _) த (ொனி d + _) த (ொபதொப d _) த (ொபுக் d _) த (ொம் d _) த (ோசை d @@ -637,6 +724,7 @@ _வினி) த (ா t _புஷ்பல) த (ா t பிரேமல) த (ா t + _மும்) த (ாஜ t _சும) த (ி t _சாந்) த (ி t _சுகந்) த (ி t @@ -662,6 +750,8 @@ _பார்வ) த (ி t யு) த்த ddV# பு) த்த (ன ddV பு) த்த (ர ddV + _விரு) த்தாச (ல dda:tSV + அ) த்த (ாசி dd பு) த்த (ி dd அயோ) த்த (ி dd சில) த்த (ினங் dd @@ -674,8 +764,12 @@ _பார்வ) த (ி t உ) த்த (ியோக dd பு) த்த (ிர tt சமு) த்த (ிர dd + _உப) த்த (ிர dd + _சுப) த்த (ிர dd _ரு) த்த (ிர dd _ரௌ) த்த (ிர dd + _தேச) த்து (ரோகி td + _வி) த்து (வான d _முக) த்து (வார dd அ) த்த (ெய்வ dd குல) த்த (ெய்வ dd @@ -715,8 +809,7 @@ _பார்வ) த (ி t ப் (ப p ப்) ப pV ப்) ப (B p - L02) ப pV - L02) ப (B p + L02) ப pV# குஷ்) ப (ு b ம) ப pV @@ -736,30 +829,36 @@ _பார்வ) த (ி t //sort _) ப (கவதி bV + _) ப (கவன bV _) ப (கவான bV _) ப (காசுர bV _) ப (கிரங்க bV _) ப (கிஷ்க bV _) ப (கீர bV _) ப (க்கெட் bV + _) ப (க்கென்ற bV _) பக் (த bVk _) ப (ங்கம bV _) ப (ங்களா bV _) ப (ங்கார bV + _) ப (சவகல்யாண bV _) ப (ஜ bV _) ப (ட்சண bV _) ப (ட்சிக்க bV _) ப (ட்சிப்ப bV + _) ப (ட்ஜெட் bV _) ப (ட்டன bV _) ப (ட்டன_ pV _) ப (தில bV _) பத்த (ிரகாளி bVdd + _) ப (த்திரப் bV _) ப (த்திரமா bV _) ப (ந்தங்கள bV _) ப (ந்தத் bV _) ப (ந்தப் bV _) ப (ந்தம bV _) ப (ந்துக்கள bV + _) பந்த (ுலு bVnt _) ப (ந்துவ bV _) ப (ந்தோபஸ்த bV _) ப (னியன bV @@ -798,6 +897,7 @@ _பார்வ) த (ி t _) ப (லிபீட bV _) ப (லிய bV _) ப (லூன bV + _) பல்ட (ி bVlt. _) ப (வாணி bV _) ப (வானி bV _) பவுண்ட (ன faUn.t.V @@ -834,8 +934,7 @@ _பார்வ) த (ி t _) ப (ாரம b _) ப (ாரம்பரிய p _) ப (ார்கவி b - _) ப (ார்மசி f - _) ப (ார்மஸி f + _) ப (ார்ம f _) ப (ாலக b _) ப (ாலக்காட p _) ப (ாலச b @@ -869,6 +968,7 @@ _முகத்தின்_) ப (ாவ b _) ப (ாவனை b _) ப (ாவிக்கிற b _) ப (ாவித்த b + _) ப (ாவிப்பத b _) ப (ாவிப்பதா b _) ப (ாவிப்பதி b _) ப (ாவிப்பது b @@ -879,16 +979,21 @@ _முகத்தின்_) ப (ாவ b _) ப (ிக்கு b _) ப (ிக்ஷு b _) ப (ிக்ஷூ b + _) ப (ிசினஸ b + _) ப (ின்லாந்த f _) ப (ிம்ப b _) ப (ிரகதீ b _) ப (ிரகஸ்பதி b _) ப (ிரம்ம b _) ப (ிரம்மை b + _) பி (ரான்ஸ f _) ப (ிரித்தானி b _) ப (ிரியாணி b _) ப (ில்டிங் b _) ப (ிஸினஸ b _) ப (ிஸ்கோத் b + _) ப (ீகார b + _) ப (ீச்சு b _) ப (ீஜிங b _) ப (ீடி b _) ப (ீடிகை p @@ -896,7 +1001,10 @@ _முகத்தின்_) ப (ாவ b _) ப (ீம b _) ப (ீரங்கி b _) ப (ீராமணர b + _) ப (ீஹார b + _) ப (ுக்கென்ற b _) ப (ுக்தி b + _) ப (ுக்ல b _) ப (ுஜ b _) ப (ுட்டி b _) ப (ுதன b @@ -916,15 +1024,22 @@ _முகத்தின்_) ப (ாவ b _) ப (ூதகணங்க b _) ப (ூதங் b _) ப (ூதத் b + _) ப (ூதபாண்டிய b _) ப (ூதம b + _) ப (ூதவுடம்ப b _) ப (ூதாகார b _) ப (ூதேவி b + _) பூப (தி bu:pV _) ப (ூபாள b _) ப (ூமாதேவி b _) ப (ூமி b _) ப (ூலோக b _) ப (ெங்களூர b + _) ப (ெஞ்சா b + _) ப (ெஞ்சி b _) ப (ெட்ரூம b + _) ப (ெர்னார்ட b + _) ப (ெர்முடா b _) ப (ெர்லிங b _) ப (ெல் b _) ப (ெஸ்ட் b @@ -947,10 +1062,13 @@ _முகத்தின்_) ப (ாவ b _) ப (ோபால b _) ப (ௌதிக b _) ப (ௌத்த b + _) ப் (ராவ b //endsort //sort - இயல்) ப (+ bV# + சங்கல்) ப pV# + _விகல்) ப pV# + அநுதா) ப (+ bV# பரிதா) ப (+ bV# அனுதா) ப (+ bV# நன்) ப (கல pV @@ -967,6 +1085,7 @@ _முகத்தின்_) ப (ாவ b @) ப (ட்ச+ pV ப (ண pV _சிவ) ப (த pV + _கல்) ப (தரு pV கஜ) பதி pVti கண) பதி pVti பசு) பத (ி pVt @@ -983,12 +1102,15 @@ _முகத்தின்_) ப (ாவ b அம்பிகா) பதி pVti வளையா) பதி pVti வேங்கட) பதி pVti + _புகு) ப (திகை pV மின்) ப (திப்ப+ pV காண்) பத (ில bVd + _முன்) ப (திவ pV பதை) ப (தை pV _க) ப (த் bV வீர) ப (த்தினி pV கல்) ப (னா pV + _கம்) ப (னி pV நிரு) ப (மா pV அனு) ப (மா pV _க) ப (ம்_ bV @@ -1002,21 +1124,31 @@ _முகத்தின்_) ப (ாவ b வட) ப (ழ pV வீண்) ப (ழி pV _தீ) ப (ா p + முதற்) ப (ாக b உ) ப (ாசனை p சமன்) ப (ாட p முரன்) ப (ாட p + தண்ட) ப (ாணி p ப (ாண்டி p ப (ாதை p ச) பாபதி ba:pVti + _டீ) ப (ாய் p எதிர்) ப (ார p + _சிவ) ப (ாலன b _கா) ப (ாலி b + தொடர்) ப (ால் b முக) ப (ாவ b அட) ப (ாவ p வீண்) ப (ாவ p அடி) ப (ாவி p + _நவ) ப (ாஷ p + வாதா) ப (ி p கோ) ப (ி p + _பசி) ப (ிக் f _முன்) ப (ின்_ p _) ப (ிப்ரவரி f + ஆ) ப (ிரிக்க f +போஜனப்) பி (ரியர p உடன்) ப (ிற p ப (ிறகு+ p தேய்) ப (ிறை p @@ -1024,6 +1156,10 @@ _முகத்தின்_) ப (ாவ b சிறு) ப (ிள்ளை p ஆண்) ப (ிள்ளை p பெண்) ப (ிள்ளை p + _திம்) ப (ு p + _அன்) ப (ுட b + _மார்) ப (ுட b + வில்லி) ப (ுத்தூர p ம்) ப (ுரா b இன்) ப (ுற b _துன்) ப (ுற b @@ -1036,7 +1172,12 @@ _முகத்தின்_) ப (ாவ b இளம்) ப (ெண் p ப (ெருமான p ப (ெற p // ?? end-of-word + suffix ?? + _கை) ப (ேசி p + _செல்) ப (ேசி p + அலை) ப (ேசி p + தொலை) ப (ேசி p வீண்) ப (ேச்ச p + _வெல்) ப (ேர f ப (ேரில்_ p ப (ேர்_ p வன்) ப (ொருள் p @@ -1048,6 +1189,7 @@ _முகத்தின்_) ப (ாவ b ப (ோகிற p ப (ோகும்_ p _வீண்) ப (ோக்க p + _மார்) ப (ோட b _சத்தம்) ப (ோட p ப (ோதிலும்+ p ப (ோது+ p @@ -1078,6 +1220,7 @@ _முகத்தின்_) ப (ாவ b மன) ப்பி (ரமை bb துர்) ப்ப (ோதனை bb கம்) ப்யூட (ர pjU:t.V + அருள்) ப (ாலி b //endsort // If ப+ appearing in the middle of a word is followed by ட+ @@ -1112,6 +1255,7 @@ _முகத்தின்_) ப (ாவ b _) பி (ரச்சனை p _) பிரச (்னை prVtS _) பி (ரஜ p + _) பிர (ண்ட்ஸ fre பி (ரத p _) பி (ரதம p _) பி (ரதர்_ b @@ -1146,7 +1290,9 @@ _முகத்தின்_) ப (ாவ b _) பி (ரஸ்தா p _) பி (ரஹலாத p _) பி (ராகார p + _) பி (ராகிருத p _) பி (ராக்கள b + _) பி (ராட்வே b _) பி (ராண_ p _) பி (ராணன p _) பி (ராணி p @@ -1186,6 +1332,8 @@ _முகத்தின்_) ப (ாவ b _) பி (ரியாவை p _) பிரு (கன்நளை bri _) பிரு (ந்தா bri + _) பி (ரெஞ்சு f + _) பி (ரெண்ட்ஸ f _) பி (ரே p _) பி (ரோகிதர p _) பி (ளாட்பார p @@ -1198,7 +1346,7 @@ _முகத்தின்_) ப (ாவ b // musical notes சா) ப (ா p - ரி) ப (K pV +// ரி) ப (K pV ரீ) ப (K pV ரி) ப (ா p ரீ) ப (ா p @@ -1230,7 +1378,7 @@ _முகத்தின்_) ப (ாவ b _க) ப (ால b _கா) ப (ந்து bV சு) ப்ப bbV# - + மகா) ப (ாரத b _) ப (ோனை f _) ப (ோட்டோ f @@ -1324,13 +1472,17 @@ _முகத்தின்_) ப (ாவ b _) இ (யேச _) இ (ரகசிய // silent _) இ (ரசாயன + _) இ (ரசிக்க _) இ (ரத்த + _) இ (ராக _) இ (ராஜ _) இ (ராணி _) இ (ராணுவ _) இ (ராத்த _) இ (ராம + _) இ (ராயபுர _) இ (ராவண + _) இ (ராஷ்டிர _) இ (லகுவாக _) இ (லட்சண _) இ (லட்சிய // silent @@ -1388,6 +1540,8 @@ _முகத்தின்_) ப (ாவ b ெ e _ம) ெள (ன aU // bad scanning _ம) ெள (ஸ aU // bad scanning + _ச) ெள aU + _ப) ெள aU ே e: diff --git a/dictsource/zh_list b/dictsource/zh_list index 90c21017..d18ba4c5 100644 --- a/dictsource/zh_list +++ b/dictsource/zh_list @@ -314,7 +314,7 @@ $textmode 罪 zui4 衰 shuai1 暄 xuan1 -個 ge4 +個 ge5 頻 pin2 嗎 ma5 也 ye3 @@ -440,7 +440,7 @@ $textmode 注 zhu4 问 wen4 质 zhi4 -个 ge4 +个 ge5 猬 wei5 便 bian4 烁 shuo4 diff --git a/docs/speak_lib.h b/docs/speak_lib.h index 8a9400ea..79aad7c0 100644 --- a/docs/speak_lib.h +++ b/docs/speak_lib.h @@ -386,7 +386,7 @@ espeak_ERROR espeak_SetParameter(espeak_PARAMETER parameter, int value, int rela relative=1 Sets a relative value of the parameter. parameter: - espeakRATE: speaking speed in word per minute. + espeakRATE: speaking speed in word per minute. Values 80 to 450. espeakVOLUME: volume in range 0-200 or more. 0=silence, 100=normal full volume, greater values may produce amplitude compression or distortion diff --git a/phsource/compile_report b/phsource/compile_report index 9d6af28a..7ae499f3 100644 --- a/phsource/compile_report +++ b/phsource/compile_report @@ -12,7 +12,7 @@ consonants 9 115 en-wi 30 148 af 39 136 cy 29 132 - de 36 137 + de 37 138 eo 13 114 jbo 2 114 nci 3 123 @@ -23,7 +23,7 @@ consonants 9 115 ta 21 153 hu 24 121 lv 29 125 - nl 24 125 + nl 25 126 pl 22 120 sk 28 135 cs 6 135 @@ -53,16 +53,16 @@ consonants 9 115 id 15 125 sq 33 126 hy 23 117 - da 24 120 + da 27 120 rw 15 130 ml 13 151 ne 18 157 pa 14 151 prs 8 111 - sl 7 135 + sl 10 135 gd 6 107 bg 10 121 - nso 8 107 + nso 12 111 ht 11 140 az 10 127 ak 8 109 @@ -343,10 +343,11 @@ l/l_ [l/] base [l/] fr l/l_@ [l/3] base [l/] fr -l/l@ [h–z] base +l/l@ [hæy] base [l#] base [l] fr [l/2] fr + [K] nso l/L1_aL [l/] base [l/] de l/L1_eL [l/] base @@ -369,27 +370,30 @@ l/L2_oL [l/2] base l/L2_uL [l/2] base l/l_3 [l/] de l/l_4 [ll] sq -l/la [h–z] base +l/la [hæy] base [l#] base [l] fr [l/2] fr + [K] nso l/l_a [l/3] base [l/] fr -l/le [h–z] base +l/le [hæy] base [l#] base [l] fr [l/2] fr + [K] nso l/l_e [l/3] base [l/] fr l/L_eL_af [&] af [&:] af l/l_front [L] sq l/l_front_ [l/4] sq -l/li [h–z] base +l/li [hæy] base [l#] base [l] fr [l/2] fr [l] zh + [K] nso l/l_i [l/3] base [l/] fr [i] sq @@ -397,17 +401,19 @@ ll/ll [L] bg ll/_ll [L] bg l/l_long [l] base [l] fr -l/lo [h–z] base +l/lo [hæy] base [l#] base [l] fr [l/2] fr + [K] nso l/l_o [l/3] base [l/] fr l^/l_rfx [l.] base -l/lu [h–z] base +l/lu [hæy] base [l#] base [l] fr [l/2] fr + [K] nso l/l_u [l/3] base [l/] fr l/l_vi [l] vi @@ -423,6 +429,7 @@ l/xl [l] base [l] fr [l] hu [ll] sq + [K] nso m/_m [m] base m/m_ [m] base m/m@ [m] base @@ -526,7 +533,6 @@ r3/r_trill [R2] base [R] pl [r*] sr [x] pt - [r] el r3/r_trill2 [R] base [r] cy r3/r_trill2.wav [R] base @@ -540,7 +546,6 @@ r3/r_trill.wav [R2] base [R] pl [r*] sr [x] pt - [r] el r3/r_uvl [r"] base [r] de r3/r_uvl.wav [r"] base @@ -629,6 +634,7 @@ ufric/s [s] base [z2] fr [s] es [z] sq + [s] da ufric/s_ [s] base [z] base [s2] consonants @@ -640,6 +646,7 @@ ufric/s_ [s] base ufric/s! [s] base [s] fr [s] es + [s] da ufric/s_continue [s2] consonants [s2] lv ufric/sh [S] base @@ -668,6 +675,7 @@ ufric/sx_sv [sx] sv ufric/th [T] base ufric/th_ [T] base ufric/tl# [tl#] is +ufric/tlh [K] nso ufric/x [x] base [kh] vi ufric/x2 [x2] af @@ -725,6 +733,7 @@ ustop/null [?] base ustop/p [p] base [p2] fr [p] zhy + [p] da ustop/p_ [p] base [ph] consonants [p] fr @@ -742,10 +751,12 @@ ustop/pl [p] base [p] lv [p] sk [p] sq + [p] da ustop/pr [p] base [p-] consonants [ph] consonants [p] base2 + [p] da ustop/p_unasp [p] base [p-] consonants [p] base2 @@ -754,6 +765,7 @@ ustop/p_unasp [p] base [p] sk [p] zh [p] sq + [p] da ustop/p_unasp_ [p-] consonants [p] base2 [p] fr @@ -766,12 +778,12 @@ ustop/t [t] base [dh.] hi [th.] hi [t] zhy + [t] da ustop/t_ [t] base [t] en-us [t] fr [t] lv [t] sk - [t] el [th] zh ustop/t_dnt [t] base [t[] base @@ -788,6 +800,7 @@ ustop/t_pzd [c] base [t;] pl ustop/tr [t] base [t] en-us + [t] da ustop/ts [ts] consonants [dz] consonants [ts] hu @@ -809,7 +822,6 @@ ustop/t_short [t] fr [t.] hi [t] lv [t] sk - [t] el ustop/t_short_ [t] fr ustop/tsh_pzd [tS;] zh ustop/tsh_pzd_unasp [tS;] zh @@ -829,7 +841,8 @@ ustop/ts_rfx_unasp [ts.] zh ustop/ts_sr [tS;] sr [dZ;] sr ustop/ts_unasp [ts] zh -ustop/t_unasp2 [t] zh +ustop/t_unasp2 [t] el + [t] zh vdiph/0i [OI] pt [OI] grc [OI] vi @@ -1109,6 +1122,7 @@ vnasal/o_n2 [o~] af [O~] fr vnasal/oo_n2 [O~] en [O~] hi + [O~] nl [o] zh vnasal/oo_n3 [O~] pl vnasal/u_n [U~] hi @@ -1269,6 +1283,7 @@ vowel/a [a] base [a] it [a] zh [a] id + [a] sl [a] bg vowel/a# [a] base2 [a/] base2 @@ -1286,6 +1301,7 @@ vowel/a_2 [a] base2 [A] pt [a] pt-pt [a] ro + [a] el [a] da [a] rw vowel/a#_2 [A] nl @@ -1326,7 +1342,7 @@ vowel/a#_3 [a#] en [a/] sq [3] da [a] ml -vowel/a_4 [a/] el +vowel/a_4 [a] el [a] vi vowel/a#_4 [a:] nl [a] tr @@ -1607,6 +1623,7 @@ vowel/ii_3 [I] cy [I] no [I] tr [I] pa + [i] sl vowel/ii#_3 [I2] en-us vowel/ii_4 [I2] en [I] en-us @@ -1789,6 +1806,7 @@ vowel/u_2 [u1] fi [u] ro [u] is [u] tr + [u] sl [u] bg vowel/u#_2 [u-] sv vowel/u#_3 [U] ta diff --git a/phsource/ph_danish b/phsource/ph_danish index bd503d38..cd871985 100644 --- a/phsource/ph_danish +++ b/phsource/ph_danish @@ -154,3 +154,56 @@ phoneme R endphoneme + +// don't weaken consonants at end of word or before a stop + +phoneme s + vls alv frc sibilant + voicingswitch z + lengthmod 3 + Vowelin f1=0 f2=1700 -300 300 f3=-100 80 + Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20 + + IF nextPh(p) OR nextPh(t) OR nextPh(k) THEN + WAV(ufric/s!) + ENDIF + WAV(ufric/s) +endphoneme + + +phoneme p + vls blb stop + voicingswitch b + lengthmod 2 + Vowelin f1=0 f2=1000 -50 -100 f3=-200 80 amp=11 + Vowelout f1=0 f2=1000 -500 -350 f3=-300 80 rms=22 + + IF nextPh(isPause2) THEN + WAV(ustop/p_unasp) + ELIF nextPh(r) THEN + WAV(ustop/pr, 70) + ELIF nextPh(R) OR nextPh(R2) THEN + WAV(ustop/pr) + ELIF nextPh(@-) THEN + WAV(ustop/p_unasp) + ELIF nextPh(l) THEN + WAV(ustop/pl) + ENDIF + WAV(ustop/p) +endphoneme + + + +phoneme t + vls alv stop + voicingswitch d + lengthmod 2 + Vowelin f1=0 f2=1700 -300 300 f3=-100 80 + Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20 + + IF nextPh(r) OR nextPh(R) OR nextPh(R2) THEN + WAV(ustop/tr) + ENDIF + WAV(ustop/t, 90) +endphoneme + diff --git a/phsource/ph_dutch b/phsource/ph_dutch index f836e154..3d17eb9d 100644 --- a/phsource/ph_dutch +++ b/phsource/ph_dutch @@ -96,6 +96,12 @@ phoneme A~ import_phoneme fr/A~ endphoneme +phoneme O~ + vowel starttype #o endtype #o + length 190 + FMT(vnasal/oo_n2) +endphoneme + // Diphthongs //=========== diff --git a/phsource/ph_german b/phsource/ph_german index f7e560e1..cfb0261e 100755 --- a/phsource/ph_german +++ b/phsource/ph_german @@ -361,7 +361,9 @@ endphoneme -// TESTING +phoneme oU // for English words + import_phoneme en-us/oU +endphoneme @@ -388,7 +390,7 @@ A~ O n E E e: e: e@ E: r -eI e: +eI e j i I I I I2 I @@ -401,7 +403,7 @@ o: o: O@ O : r o@ O : r OI OY -oU o: +oU oU O~ O n U U u: u: diff --git a/phsource/ph_greek b/phsource/ph_greek index d88065b7..d5bcfe4c 100644 --- a/phsource/ph_greek +++ b/phsource/ph_greek @@ -4,12 +4,21 @@ //==================================================== -phoneme a/ - vowel starttype #@ endtype #@ +phoneme a + vowel starttype #a endtype #a length 180 - FMT(vowel/a_4) + + IF thisPh(isWordEnd) AND thisPh(isNotStressed) AND nextPh(a) THEN + ChangePhoneme(NULL) + ENDIF + + IF thisPh(isDiminished) THEN + FMT(vowel/a_4) + ENDIF + FMT(vowel/a_2) endphoneme + phoneme e vowel starttype #e endtype #e length 180 @@ -40,9 +49,9 @@ phoneme t // revert to alveolar /t/ Vowelin f1=1 f2=1600 -300 300 f3=-100 80 amp=11 Vowelout f1=0 f2=1600 -300 250 f3=-100 80 rms=20 IF nextPh(isPause2) THEN - WAV(ustop/t_) + WAV(ustop/t_unasp2) ENDIF - WAV(ustop/t_short, 80) + WAV(ustop/t_unasp2) endphoneme @@ -70,12 +79,7 @@ phoneme k endphoneme -phoneme r // this is [R] from Slovak/Czech - liquid - trill - lengthmod 6 - ipa r - Vowelin f1=0 f2=1700 -300 300 f3=-300 80 - Vowelout f1=2 f2=1700 -300 300 f3=-300 80 brk - FMT(r3/r_trill) addWav(r3/r_trill.wav, 50) +phoneme r + import_phoneme base/R2 endphoneme + diff --git a/phsource/ph_pt_brazil b/phsource/ph_pt_brazil index c364bd06..6de680c6 100644 --- a/phsource/ph_pt_brazil +++ b/phsource/ph_pt_brazil @@ -132,6 +132,9 @@ endphoneme phoneme U vowel starttype #u endtype #u length 140 + IF thisPh(isWordEnd) AND nextPh(isVowel) THEN + ChangePhoneme(w) + ENDIF FMT(vowel/uu_bck) endphoneme diff --git a/phsource/phonemes b/phsource/phonemes index 4d01f032..93f21ed7 100644 --- a/phsource/phonemes +++ b/phsource/phonemes @@ -1127,9 +1127,9 @@ phoneme z ENDIF IF nextPh(isPause2) THEN - FMT(voc/z_) addWav(ufric/s_, 85) + FMT(voc/z_) addWav(ufric/s_, 70) ENDIF - FMT(voc/z) addWav(ufric/s_) + FMT(voc/z) addWav(ufric/s_, 85) endphoneme diff --git a/src/compiledata.cpp b/src/compiledata.cpp index 10e581f4..3fccb67b 100644 --- a/src/compiledata.cpp +++ b/src/compiledata.cpp @@ -1605,7 +1605,7 @@ int LoadSpect(const char *path, int control) displ = ftell(f_phdata); seq_out.n_frames=0; - seq_out.flags=0; + seq_out.sqflags=0; seq_out.length_total=0; total = 0; @@ -1752,7 +1752,7 @@ for(ix=0; ix<8; ix++) if(klatt_flag) { seqk_out.n_frames = seq_out.n_frames; - seqk_out.flags = seq_out.flags; + seqk_out.sqflags = seq_out.sqflags; seqk_out.length_total = seq_out.length_total; ix = (char *)(&seqk_out.frame[seqk_out.n_frames]) - (char *)(&seqk_out); @@ -3613,7 +3613,7 @@ static const TUNE default_tune = { PITCHfall, 64, 8, PITCHfall, 70, 18, 24, 12, PITCHfall, 70, 18, 24, 12, 0, -{0,0,0,0,0,0,0,0,0,0} +{0,0,0,0,0,0,0,0}, 0 }; #define N_TUNE_NAMES 100 diff --git a/src/dictionary.cpp b/src/dictionary.cpp index 12801000..b671c414 100644 --- a/src/dictionary.cpp +++ b/src/dictionary.cpp @@ -2621,6 +2621,9 @@ int TranslateRules(Translator *tr, char *p_start, char *phonemes, int ph_size, c if(match1.points > 0) { + if(word_flags & FLAG_UNPRON_TEST) + return(match1.end_type | 1); + if((match1.phonemes[0] == phonSWITCH) && ((word_flags & FLAG_DONT_SWITCH_TRANSLATOR)==0)) { // an instruction to switch language, return immediately so we can re-translate @@ -2628,8 +2631,6 @@ int TranslateRules(Translator *tr, char *p_start, char *phonemes, int ph_size, c return(0); } - if(word_flags & FLAG_UNPRON_TEST) - return(match1.end_type | 1); match1.end_type &= ~SUFX_UNPRON; if((match1.end_type != 0) && (end_phonemes != NULL)) diff --git a/src/espeakedit.cpp b/src/espeakedit.cpp index 52eb7643..172beea5 100644 --- a/src/espeakedit.cpp +++ b/src/espeakedit.cpp @@ -247,6 +247,8 @@ END_EVENT_TABLE() MyFrame::~MyFrame(void) {//==================== + myframe->Show(false); + myframe->Iconize(false); // os=Windows, get the non-iconsized size myframe->GetPosition(&frame_x, &frame_y); myframe->GetSize(&frame_w, &frame_h); } diff --git a/src/mbrowrap.cpp b/src/mbrowrap.cpp index 3c250c4a..f773ab6d 100644 --- a/src/mbrowrap.cpp +++ b/src/mbrowrap.cpp @@ -15,6 +15,9 @@ * GNU General Public License for more details. */ +#include "speech.h" +#ifdef INCLUDE_MBROLA + #include #include #include @@ -603,3 +606,5 @@ void resetError_MBR(void) { mbr_errorbuf[0] = 0; } + +#endif // INCLUDE_MBROLA diff --git a/src/numbers.cpp b/src/numbers.cpp index f1389e95..574d3c9e 100644 --- a/src/numbers.cpp +++ b/src/numbers.cpp @@ -1343,6 +1343,7 @@ static int LookupNum3(Translator *tr, int value, char *ph_out, int suppress_null int hundreds; int tensunits; int x; + int ix; int exact; int ordinal; char string[12]; // for looking up entries in **_list @@ -1500,6 +1501,16 @@ static int LookupNum3(Translator *tr, int value, char *ph_out, int suppress_null ph_hundred_and[0] = 0; // don't put 'and' after 'hundred' if there's 'and' between tens and units } } + else + { + if(ph_ordinal2[0] != 0) + { + ix = strlen(buf1); + if((ix > 0) && (buf1[ix-1] == phonPAUSE_SHORT)) + buf1[ix-1] = 0; // remove pause before addding ordinal suffix + strcpy(buf2, ph_ordinal2); + } + } sprintf(ph_out,"%s%s%s",buf1,ph_hundred_and,buf2); diff --git a/src/readclause.cpp b/src/readclause.cpp index 52562287..6adf9950 100644 --- a/src/readclause.cpp +++ b/src/readclause.cpp @@ -889,13 +889,13 @@ static int AnnouncePunctuation(Translator *tr, int c1, int *c2_ptr, char *output else if(punct_count < 4) { - sprintf(buf,"\001+15S"); + sprintf(buf,"\001+10S"); while(punct_count-- > 0) { sprintf(buf2," %s",punctname); strcat(buf, buf2); } - sprintf(buf2," \001-15S"); + sprintf(buf2," \001-10S"); strcat(buf, buf2); } else @@ -1482,8 +1482,8 @@ static void SetProsodyParameter(int param_type, wchar_t *attr1, PARAM_STACK *sp) {"x-slow",60}, {"slow",80}, {"medium",100}, - {"fast",120}, - {"x-fast",150}, + {"fast",125}, + {"x-fast",160}, {NULL, -1}}; static const MNEM_TAB mnem_pitch[] = { diff --git a/src/setlengths.cpp b/src/setlengths.cpp index fab86494..29334df4 100644 --- a/src/setlengths.cpp +++ b/src/setlengths.cpp @@ -154,7 +154,7 @@ void SetSpeed(int control) if(wpm > 1000) { // TESTING - test = wpm / 1000; +// test = wpm / 1000; wpm = wpm % 1000; } #endif diff --git a/src/speak_lib.h b/src/speak_lib.h index 8a9400ea..9ca01f59 100644 --- a/src/speak_lib.h +++ b/src/speak_lib.h @@ -28,7 +28,7 @@ #include #include -#define ESPEAK_API_REVISION 5 +#define ESPEAK_API_REVISION 6 /* Revision 2 Added parameter "options" to eSpeakInitialize() @@ -41,11 +41,19 @@ Revision 4 Revision 5 Added espeakCHARS_16BIT + +Revision 6 + Added macros: espeakRATE_MINIMUM, espeakRATE_MAXIMUM, espeakRATE_NORMAL */ /********************/ /* Initialization */ /********************/ +// values for 'value' in espeak_SetParameter(espeakRATE, value, 0), nominally in words-per-minute +#define espeakRATE_MINIMUM 80 +#define espeakRATE_MAXIMUM 450 +#define espeakRATE_NORMAL 175 + typedef enum { espeakEVENT_LIST_TERMINATED = 0, // Retrieval mode: terminates the event list. @@ -386,7 +394,7 @@ espeak_ERROR espeak_SetParameter(espeak_PARAMETER parameter, int value, int rela relative=1 Sets a relative value of the parameter. parameter: - espeakRATE: speaking speed in word per minute. + espeakRATE: speaking speed in word per minute. Values 80 to 450. espeakVOLUME: volume in range 0-200 or more. 0=silence, 100=normal full volume, greater values may produce amplitude compression or distortion diff --git a/src/speech.h b/src/speech.h index b457527d..8fcec58e 100644 --- a/src/speech.h +++ b/src/speech.h @@ -22,6 +22,7 @@ // conditional compilation options #define INCLUDE_KLATT +#define INCLUDE_MBROLA #if defined(BYTE_ORDER) && BYTE_ORDER == BIG_ENDIAN #define ARCH_BIG diff --git a/src/synth_mbrola.cpp b/src/synth_mbrola.cpp index 13f91914..86989c4c 100644 --- a/src/synth_mbrola.cpp +++ b/src/synth_mbrola.cpp @@ -17,6 +17,8 @@ * . * ***************************************************************************/ + + #include "StdAfx.h" #include @@ -33,6 +35,10 @@ #include "translate.h" #include "voice.h" +int option_mbrola_phonemes; + +#ifdef INCLUDE_MBROLA + extern int Read4Bytes(FILE *f); extern void SetPitch2(voice_t *voice, int pitch1, int pitch2, int *pitch_base, int *pitch_range); extern unsigned char *outbuf; @@ -103,7 +109,6 @@ void unload_MBR() static MBROLA_TAB *mbrola_tab = NULL; static int mbrola_control = 0; -int option_mbrola_phonemes; espeak_ERROR LoadMbrolaTable(const char *mbrola_voice, const char *phtrans, int srate) @@ -133,6 +138,11 @@ espeak_ERROR LoadMbrolaTable(const char *mbrola_voice, const char *phtrans, int // mbrola voice file not found, look in /usr/share sprintf(path,"/usr/share/mbrola/%s",mbrola_voice); } + if(GetFileLength(path) <= 0) + { + // mbrola voice file not found, look in /usr/share + sprintf(path,"/usr/share/mbrola/voices/%s",mbrola_voice); + } #endif #ifdef PLATFORM_WINDOWS if(load_MBR() == FALSE) // load mbrola.dll @@ -639,3 +649,29 @@ void MbrolaReset(void) reset_MBR(); } + +#else // INCLUDE_MBROLA + +// mbrola interface is not compiled, provide dummy functions. + +espeak_ERROR LoadMbrolaTable(const char *mbrola_voice, const char *phtrans, int srate) +{ + return(EE_INTERNAL_ERROR); +} + +int MbrolaGenerate(PHONEME_LIST *phoneme_list, int *n_ph, int resume) +{ + return(0); +} + +int MbrolaFill(int length, int resume) +{ + return(0); +} + +void MbrolaReset(void) +{ +} + + +#endif // INCLUDE_MBROLA diff --git a/src/synthdata.cpp b/src/synthdata.cpp index 55b6689a..5ebf446d 100644 --- a/src/synthdata.cpp +++ b/src/synthdata.cpp @@ -35,8 +35,8 @@ #include "translate.h" #include "wave.h" -const char *version_string = "1.44.02 13.Aug.10"; -const int version_phdata = 0x014400; +const char *version_string = "1.44.04 14.Sep.10"; +const int version_phdata = 0x014404; int option_device_number = -1; FILE *f_logespeak = NULL; diff --git a/src/synthesize.cpp b/src/synthesize.cpp index ff908245..da473bde 100644 --- a/src/synthesize.cpp +++ b/src/synthesize.cpp @@ -1469,7 +1469,7 @@ int Generate(PHONEME_LIST *phoneme_list, int *n_ph, int resume) DoSpect2(ph, 0, &fmtp, p, 0); if(p->synthflags & SFLAG_LENGTHEN) { - DoPause(20,0); + DoPause(25,1); DoSpect2(ph, 0, &fmtp, p, 0); } } diff --git a/src/synthesize.h b/src/synthesize.h index 910f440c..fb61374e 100644 --- a/src/synthesize.h +++ b/src/synthesize.h @@ -89,7 +89,7 @@ extern int embedded_default[N_EMBEDDED_VALUES]; -typedef struct { // 44 bytes +typedef struct { // 64 bytes short frflags; short ffreq[7]; unsigned char length; @@ -102,8 +102,10 @@ typedef struct { // 44 bytes unsigned char klattp2[5]; // continuation of klattp[], Avp, Fric, FricBP, Turb unsigned char klatt_ap[7]; // Klatt parallel amplitude unsigned char klatt_bp[7]; // Klatt parallel bandwidth /2 + unsigned char spare; // pad to multiple of 4 bytes } frame_t; // with extra Klatt parameters for parallel resonators + typedef struct { // 44 bytes short frflags; short ffreq[7]; @@ -114,32 +116,7 @@ typedef struct { // 44 bytes unsigned char fright[3]; // width/4 f0-2 unsigned char bw[4]; // Klatt bandwidth BNZ /2, f1,f2,f3 unsigned char klattp[5]; // AV, FNZ, Tilt, Aspr, Skew -} frame_t2; // TESTING - - -#ifdef deleted -typedef struct { - short frflags; - unsigned char length; - unsigned char rms; - short ffreq[9]; - unsigned char fheight[9]; - unsigned char fwidth[6]; // width/4 - unsigned char fright[6]; // width/4 - unsigned char fwidth6, fright6; - unsigned char klattp[N_KLATTP]; -} frame_t; - -typedef struct { // 43 bytes - short frflags; - unsigned char length; - unsigned char rms; - short ffreq[9]; - unsigned char fheight[9]; - unsigned char fwidth[6]; // width/4 - unsigned char fright[6]; // width/4 -} frame_t2; // the original, without Klatt additions, used for file "phondata" -#endif +} frame_t2; // without the extra Klatt parameters @@ -193,14 +170,14 @@ typedef struct { typedef struct { short length_total; // not used unsigned char n_frames; - unsigned char flags; + unsigned char sqflags; frame_t2 frame[N_SEQ_FRAMES]; // max. frames in a spectrum sequence } SPECT_SEQ; // sequence of espeak formant frames typedef struct { short length_total; // not used unsigned char n_frames; - unsigned char flags; + unsigned char sqflags; frame_t frame[N_SEQ_FRAMES]; // max. frames in a spectrum sequence } SPECT_SEQK; // sequence of klatt formants frames @@ -433,7 +410,8 @@ typedef struct { unsigned char split_tail_end; unsigned char split_tune; - unsigned char spare[10]; + unsigned char spare[8]; + int spare2; // the struct length should be a multiple of 4 bytes } TUNE; extern int n_tunes; diff --git a/src/tr_languages.cpp b/src/tr_languages.cpp index 603598fa..d07281d1 100644 --- a/src/tr_languages.cpp +++ b/src/tr_languages.cpp @@ -883,7 +883,7 @@ SetLengthMods(tr,3); // all equal SetupTranslator(tr,stress_lengths_mk,stress_amps_mk); tr->charset_a0 = charsets[5]; // ISO-8859-5 - tr->letter_groups[0] = vowels_cyrillic; + tr->letter_groups[0] = tr->letter_groups[7] = vowels_cyrillic; tr->langopts.stress_rule = STRESSPOSN_3R; // antipenultimate tr->langopts.numbers = NUM_DECIMAL_COMMA | NUM_AND_UNITS | NUM_OMIT_1_HUNDRED | NUM_OMIT_1_THOUSAND | NUM_DFRACTION_2; @@ -1037,6 +1037,7 @@ SetLengthMods(tr,3); // all equal tr->langopts.stress_flags = 0x20; tr->langopts.param[LOPT_REGRESSIVE_VOICING] = 0x13; tr->langopts.numbers = NUM_DECIMAL_COMMA | NUM_ALLOW_SPACE | NUM_SWAP_TENS | NUM_OMIT_1_HUNDRED | NUM_DFRACTION_2 | NUM_ORDINAL_DOT | NUM_ROMAN; + tr->langopts.numbers2 = 0x100; // plural forms of millions etc tr->langopts.thousands_sep = ' '; // don't allow dot as thousands separator SetLetterVowel(tr,'r'); break; @@ -1192,7 +1193,7 @@ SetLengthMods(tr,3); // all equal tr->langopts.stress_rule = STRESSPOSN_1L; tr->langopts.word_gap = 0x21; // length of a final vowel is less dependent on the next consonant, don't merge consonant with next word // tr->langopts.vowel_pause = 4; - tr->letter_groups[0] = vowels_vi; + tr->letter_groups[0] = tr->letter_groups[7] = vowels_vi; tr->langopts.tone_language = 1; // Tone language, use CalcPitches_Tone() rather than CalcPitches() tr->langopts.unstressed_wd1 = 2; tr->langopts.numbers = NUM_DECIMAL_COMMA | NUM_HUNDRED_AND | NUM_DFRACTION_4; diff --git a/src/translate.cpp b/src/translate.cpp index 14ed848b..ad137e14 100644 --- a/src/translate.cpp +++ b/src/translate.cpp @@ -1705,7 +1705,7 @@ static int TranslateWord2(Translator *tr, char *word, WORD_TAB *wtab, int pre_pa return(flags); } - if(flags & FLAG_COMBINE) + if((flags & FLAG_COMBINE) && !(wtab[1].flags & FLAG_PHONEMES)) { char *p2; int ok = 1; @@ -1807,6 +1807,7 @@ static int TranslateWord2(Translator *tr, char *word, WORD_TAB *wtab, int pre_pa // ?? Option to set the word-stress according to language1 rules eg. lang=fr) if(ChangeEquivalentPhonemes(tr, switch_phonemes, (char *)p)) { + // Phonemes have been converted from the foreign language to the native language switch_phonemes = -1; } @@ -1814,6 +1815,10 @@ static int TranslateWord2(Translator *tr, char *word, WORD_TAB *wtab, int pre_pa { strcpy(dictionary_name, old_dictionary_name); SelectPhonemeTable(voice->phoneme_tab_ix); + + // leave switch_phonemes set, but use the original phoneme table number. + // This will suppress LOPT_REGRESSIVE_VOICING + switch_phonemes = voice->phoneme_tab_ix; // original phoneme table } } diff --git a/src/voices.cpp b/src/voices.cpp index 508efcfd..17970803 100644 --- a/src/voices.cpp +++ b/src/voices.cpp @@ -921,7 +921,10 @@ voice_t *LoadVoice(const char *vname, int control) phtrans[0] = 0; sscanf(p,"%s %s %d",name,phtrans,&srate); - LoadMbrolaTable(name,phtrans,srate); + if(LoadMbrolaTable(name,phtrans,srate) != EE_OK) + { + fprintf(stderr,"mbrola voice not found\n"); + } voice->samplerate = srate; } break; @@ -934,7 +937,7 @@ voice_t *LoadVoice(const char *vname, int control) case V_FAST: Read8Numbers(p,speed.fast_settings); - SetSpeed(2); + SetSpeed(3); break; default: @@ -958,7 +961,7 @@ voice_t *LoadVoice(const char *vname, int control) new_translator = SelectTranslator(translator_name); } - SetSpeed(1); // for speed_percent + SetSpeed(3); // for speed_percent for(ix=0; ix