diff --git a/dictsource/de_list b/dictsource/de_list index 1d1ab836..c2b9dd3a 100644 --- a/dictsource/de_list +++ b/dictsource/de_list @@ -49,6 +49,8 @@ _[ 'EkIg@kl'am3||_|'aUf _] 'EkIg@kl'am3||ts'u: _< klaIn3 _> grY:s3 +_« 'anfy:RUNsts,aIC@n +_» 'anfy:RUNsts,aIC@n||ts'u: _` grA:v _^ tsIrkUmflEks _— g@d'aNk@nStr,IC @@ -188,7 +190,7 @@ oder o:d3 $u+ $pause sondern $pause denn dEn $u+ $pause weil $pause -als $u+ $brk +als als $u+ $brk bevor b@fo:r $2 $pause also $pause wenn ,vEn $pause $strend @@ -362,7 +364,7 @@ hätten h,Et@n $only war %vA:r $only warst %vA:rst $only wart %vA:rt $only -waren 'vA:r@n +waren %vA:r@n will %vIl $only willst %vIlst $only @@ -536,6 +538,7 @@ bronchie $alt changier SaNZ'i:r ciao tSaU +clique kli:k@ coup ku: dahlie $alt @@ -568,6 +571,7 @@ erde e:rd@ erst e:rst ersten e:rst@n erstmal e:rstma:l +erzgebirg e:rtsg@bIrg extravagant $1 extrem Ekstr'e:m diff --git a/dictsource/de_rules b/dictsource/de_rules index 45d6aaae..37863d7e 100644 --- a/dictsource/de_rules +++ b/dictsource/de_rules @@ -21,6 +21,7 @@ .L01 l r .L02 c f h k p q s t z // unvoiced, except s+vowel .L03 a ä +.L04 o ö // This file is UTF-8 encoded @@ -38,6 +39,7 @@ a (CC a a (sch a a (x a + a (ph A: &CC) a (_ =A: ai aI @@ -161,11 +163,11 @@ .group b _) b (_ be: _) b (L01A b // allow bl br at start of word + _) b (jA b // allow bj b b b) b b (_N p b (L02 p - blich plIC b (sA b bt (_N pt @@ -221,7 +223,7 @@ c) c ck k - _) c (el S + _) c (el ts fa) c (et ts _) cey tsaI chef (_ SEf @@ -280,7 +282,6 @@ d) d d (_N t d (L02 t - dlich tlIC d (sA d ds (_ ts dt t @@ -345,6 +346,7 @@ e (CC E e (sch E e (x E + e (ph e: ei aI eu OY @@ -427,6 +429,7 @@ h) ee (_ 'e: _) e (ff %E l) e (g_ 'e: + kr) e (ier e: eih (_ aI _) eil (aP3 'aIl _) eil (fP3 'aIl @@ -518,7 +521,6 @@ g (g g (_N k g (L02 k - glich klIC g (sA g gd (_N kt _) gh (A g @@ -547,7 +549,7 @@ ungs) ge (C@ g@ _) ge (beX ge: geben ge:b@n - ge(birg g@ + gebirge (_S7 g@bIrg@ _) gegen (@P5 ge:g@n gegen ge:g@n gegn ge:gn @@ -631,6 +633,7 @@ i (CC I i (sch I i (x I + i (ph i: @) i (ng I &CC) i (_ =i: @@ -786,24 +789,24 @@ formal) ie =I@ _) leit (@P4 l'aIt _) lern (@@P4 l'Ern _) lexi (@ lEksi: - &) lich (_S4 lIC - &) liche (_S5 lIC@ - &) lichem (_S6 lIC@m - &) lichen (_S6 lIC@n - &) licher (_S6 lIC3 - &) liches (_S6 lIC@s - &) lichere (_S7 lIC@r@ - &) licherem (_S8 lIC@r@m - &) licheren (_S8 lIC@r@n - &) licherer (_S8 lIC@r@3 - &) licheres (_S8 lIC@r@s - &) lichste (_S7 lICst@ - &) lichstem (_S8 lICst@m - &) lichsten (_S8 lICst@n - &) lichster (_S8 lICst@r - &) lichstes (_S8 lICst@s - &) lichkeit (_S8 lICkaIt - &) lichung (_S7 lIC%UN + &) lich (_S4 l2IC // [l2] means devoice previous consonant + &) liche (_S5 l2IC@ + &) lichem (_S6 l2IC@m + &) lichen (_S6 l2IC@n + &) licher (_S6 l2IC3 + &) liches (_S6 l2IC@s + &) lichere (_S7 l2IC@r@ + &) licherem (_S8 l2IC@r@m + &) licheren (_S8 l2IC@r@n + &) licherer (_S8 l2IC@r@3 + &) licheres (_S8 l2IC@r@s + &) lichste (_S7 l2ICst@ + &) lichstem (_S8 l2ICst@m + &) lichsten (_S8 l2ICst@n + &) lichster (_S8 l2ICst@r + &) lichstes (_S8 l2ICst@s + &) lichkeit (_S8 l2ICkaIt + &) lichung (_S7 l2IC%UN @) lo (gisch l'o: _) luft (CP4 l'Uft @@ -860,6 +863,8 @@ formal) ie =I@ &) ness (_N _^_EN news _^_EN nieder ni:d3 + nord (L04st n%Ort + nord (west n%Ort .group o _) o (_ o: @@ -874,6 +879,7 @@ formal) ie =I@ o (CC O o (sch O o (x O + o (ph o: &CC) o (_ =o: o (Co_ 'o: o (lo_ o: @@ -934,7 +940,8 @@ formal) ie =I@ _) peri p,e:ri: _) perio p,e:rIo: _) periphe p,e:ri:fe: - _) personen (@P8 pErs'o:n@n + _) personen (@P8 pErz'o:n@n + person p%Erzo:n philie f'i:li: _) photo f,o:to: _) pro (@ %pro: @@ -966,6 +973,7 @@ formal) ie =I@ q k qu kv @) que (_ =k + @) quen (_ =k@n .group r @@ -1040,6 +1048,7 @@ formal) ie =I@ &C) sten (_S4 st@n &C) ster (_S4 st3 &C) stes (_S4 st@s + &n) st (_ st // needs more work _be) st St _ge) st St @@ -1081,8 +1090,11 @@ formal) ie =I@ @) straße (_S6 str,A:s@ _) street _^_EN style _^_EN + süd (L04st z%y:t + süd (west z%y:t synthesi _^_EN - system z%Iste:m + system z%yste:m + s (system s .group t @@ -1425,6 +1437,6 @@ formal) ie =I@ $ dOl'A: __) - (_D mi:nUs - D_) - (_D daS + D_) - (_D StrIC _) - (_D _ diff --git a/dictsource/dict_phonemes b/dictsource/dict_phonemes index f057d304..159c8d31 100644 --- a/dictsource/dict_phonemes +++ b/dictsource/dict_phonemes @@ -77,7 +77,7 @@ n n^ p r R R2 s S s2 t t2 tS ts v z Z -Dictionary de_dict 2011-05-14 +Dictionary de_dict 2011-05-23 3 @ @- a A A: aI aU A~ E E2 E: e: EI i I @@ -85,9 +85,10 @@ i2 i: n- o O o: OY U u: W y y: Y: * : ; b C d D dZ -f g g# h j k l m -n N p pF r s S t -tS ts v w x z Z +f g g# h j k l l2 +m n N p pF r R s +S t tS ts v w x z +Z Dictionary el_dict 2011-05-19 @@ -100,7 +101,7 @@ p Q r R s s; t T ts v x z -Dictionary en_dict 2011-05-18 +Dictionary en_dict 2011-05-24 0 3 3: @ @- @2 @5 @L a a# A: A@ aa aI aI@ aU @@ -150,7 +151,7 @@ l m n N p r s S s2 t v w Z -Dictionary fr_dict 2011-04-15 +Dictionary fr_dict 2011-05-21 @ @- a A~ e E E: E~ i I o O O~ u u: w @@ -200,7 +201,7 @@ q r r. s S s. t T t. th th. v w x z -Dictionary ta_dict 2011-05-08 +Dictionary ta_dict 2011-05-23 a a: aI aU e E e: i I i: o o: u U u2 u: diff --git a/dictsource/en_list b/dictsource/en_list index 629d51b1..af5938f7 100644 --- a/dictsource/en_list +++ b/dictsource/en_list @@ -390,6 +390,7 @@ un $abbrev $allcaps url $abbrev usa $abbrev usb $abbrev +ussr $abbrev utc $abbrev VI $abbrev wwii dVb@Lju:dVb@Lju:t'u: @@ -423,16 +424,16 @@ no noU $allcaps -abbey abI +abbey abi abdomen abd@m@n abed a#bEd abet a#bEt abhor a#bho@ abler eIbl3 ablest eIbl@st -ability a#bIl@tI +ability a#bIl@ti ablaut ablaUt -aborigine ab@r'IdZ@nI +aborigine ab@r'IdZ@ni abracadabra abr@k@d'abr@ absence abs@ns absent abs'Ent @@ -444,7 +445,7 @@ absolutely $3 $verbf abstemious a#bst'i:mi@s abstract abstrakt $only abstract a#bstr'akt $verb -academe a#kad@mI +academe a#kad@mi access aksEs $onlys access aksEs $verb accouchement a#ku:SmO~ @@ -456,7 +457,7 @@ accursed a#k3:sI2d ?5 accursed a#kVRsI2d achille a#kIli: aching eIkI2N -achy eIkI +achy eIki adam ad@m adamant ad@m@nt add ad @@ -470,8 +471,8 @@ adios aDj'o:s admirable adm@r@b@L admonition adm@n'IS@n ado a#du: -adobe a#doUbI -adversary adv3s@rI +adobe a#doUbi +adversary adv3s@ri advert a#dv3:t $verb advertise adv3taIz advertiser adv3taIz3 @@ -552,23 +553,22 @@ analogue an@l0g analyses a#nal@si:z analyses an@laIzI2z $verb analysis a#nal@sIs -anenome a#nEn@mI +anenome a#nEn@mi angel eIndZ@L anecdote anIkdoUt anecdotal anIkd'oUt@L anemometer anIm'0mI2t3 -anemone a#nEn@mI anew a#nju: ?3 anew a#nu: anime anImeI anion aneI@n anise anIs -anniversary anIv'3:s@rI +anniversary anIv'3:s@ri anon a#n0n anonymous $2 another a#nVD3 answer aans3 -ante antI +ante anti antecedent antIs'i:d@nt antibody $1 antichrist $1 @@ -581,17 +581,17 @@ antilog $1 antimatter $1 antimony $2 antioch $1 -antipathy ant'Ip@TI +antipathy ant'Ip@Ti antiphonal ant'If@n@L antique ant'i:k antithesis ant'IT@sIs antitheses ant'IT@si:z anus eInVs -anxiety aNz'aI@tI +anxiety aNz'aI@ti anxious aNS@s anymore $3 anything EnI2TIN -apache a#patSI +apache a#patSi apostle a#p0s@L apron eIpr@n appal a#pO:l @@ -628,38 +628,38 @@ atlas atl@s atop a#t0p attache at'aSeI $only attaches a#tatSI2z -attorney a#t3:nI -?5 attorney a#tVRnI +attorney a#t3:ni +?5 attorney a#tVRni attribute atrIbju:t attribute $2 $verb au ,oU aubergine oUb3Zi:n auger O:g3 aurora $2 -aussie 0zI +aussie 0zi austere O:st'i@3 -authority a#T0rI2tI +authority a#T0rI2ti authoritative O:T'0rI2t@tIv autograph O:t@graf auto O:toU -autocracy O:t'0kr@sI +autocracy O:t'0kr@si automobile O:t@m@bi@l -autopsy O:t0psI +autopsy O:t0psi avalanche av@laanS average av@-rI2dZ -aviary eIvi@rI +aviary eIvi@ri awry a#raI axes aksI2z backend bak'End -backstory baksto@rI +backstory baksto@ri ballad bal@d ballast bal@st ballet baleI ?3 ballet bal'eI balloon b@lu:n ballot bal@t -baloney b@loUnI +baloney b@loUni bagel beIg@L banal beIn@L banana b@nA:n@ @@ -687,7 +687,7 @@ biased baI@st bible baIb@L bidet bi:deI bijou bi:Zu: -bikini bIk'i:nI +bikini bIk'i:ni binman bInman biped baIpEd bipedal baIp'i:d@L @@ -707,7 +707,7 @@ bombard $2 bonbon b0nb0n bonhomie b0n@mi: bonjour bO:nZ'U@ -boogie b'u:gI +boogie b'u:gi bosom bUz@m bosun boUs@n boutique bu:t'i:k @@ -730,7 +730,7 @@ brooch broUtS budgerigar bVdZ@rIgA@ buffet bVfeI bunion bVnI2@n -bureaucracy bjU@'0kr@sI +bureaucracy bjU@'0kr@si bursar b3:s3 bus bVs buses bVsI2z @@ -755,7 +755,7 @@ calve kA:v cameo kamIoU campus kamp@s // campuses canal k@nal -canary k@ne@rI +canary k@ne@ri canine keInaIn canoe k@nu: canoes k@nu:z @@ -771,7 +771,7 @@ caress k@rEs carpel kA@p@l cascade $2 cashmere kaSm'i@3 -catastrophe ka#tastr@f%I +catastrophe ka#tastr@f%i catarrh k@tA@ caterer keIt3r3 catholic kaTlIk @@ -858,9 +858,9 @@ commend k@mEnd comment k0mEnt commentary k0m@ntrI commie k0mI -committee k@mItI +committee k@mIti communique k@mju:nI2keI -community k@mju:nI2tI +community k@mju:nI2ti compat k@mpat // for compatible competed k@mp'i:tId competing k@mp'i:tI2N @@ -917,7 +917,7 @@ coupon ku:p0n couscous ku:sku:s covert koUv'3:t coworker koUw3:k3 -coyote kaI'oUtI +coyote kaI'oUti creature kri:tS3 crevasse kr@vas crisis kraIsIs @@ -936,7 +936,7 @@ cutaway kVt@weI cutoff kVt0f cutout kVtaUt cyan saI'an -cymru kVmrI +cymru kVmri dahlia deIli:@ dais deIIs @@ -958,7 +958,7 @@ decry dI2kraI defens dI2fEns // for defensible deficit dEfI2sIt definitive dI2fInI2tIv -deity deI@tI +deity deI@ti deja deIZA: $only deli dElI deliberate dI2lIb@r@t @@ -969,7 +969,7 @@ demon di:m@n demoness di:m@nEs demo dEmoU demonstrative $2 -dengue dEngI +dengue dEngi denier dI2naI3 denouement deIn'u:mO~ deny dI2naI @@ -995,11 +995,11 @@ diehard daIhA@d dielectric daI@l'EktrIk diesel di:z@L dilemma daIl'Em@ -dinghy dINgI +dinghy dINgi dingy dIndZI dinosaur daIn@sO@ diode daIoUd -diplomacy dIpl'oUm@sI +diplomacy dIpl'oUm@si dipole daIpoUl disconsolate dIsk'0ns@l@t disc dIsk // for discs @@ -1053,7 +1053,7 @@ efile i:faIl egg Eg // egging eh eI el ,El -electricity I2lEktr'IsI2tI +electricity I2lEktr'IsI2ti electrode I2lEktroUd electron I2lEktr0n electrocute $2 @@ -1124,7 +1124,7 @@ extradite Ekstr@daIt // extradited extrem Ekstr'i:m // extremism extremist Ekstr'i:mIst extricate $1 -eyrie i@rI +eyrie i@ri facade f@sA:d façade f@sA:d @@ -1141,7 +1141,7 @@ favorite feIv@-rI2t // sp. favourite feIv@-rI2t favorites feIv@-rI2ts // sp. favourites feIv@-rI2ts -feisty faIstI +feisty faIsti feline fi:laIn feminine fEm@nIn fete feIt @@ -1150,7 +1150,7 @@ fi f,aI // as in "hi-fi" fiasco fi:'askoU fiat fi:@t fiery faI@rI -finale fI2nA:lI +finale fI2nA:li finance faInans $only finance $verb finess fI2nEs // for finessed @@ -1191,7 +1191,7 @@ frontpage fr'Vntp,eIdZ fruition fru:'IS@n frustrate $2 fuchsia fju:S@ -furore fju:r'O:rI +furore fju:r'O:ri furthermore f3:D3m'o@ $pause ?5 furthermore fVRD3m'o@ $pause fuscia fju:S@ @@ -1199,7 +1199,7 @@ fuselage fju:z@lA:Z futon fu:t0n gala gA:l@ -galaxy gala#ksI +galaxy gala#ksi galileo galI2l'eIoU galore ga#lo@ gases gasI2z @@ -1208,7 +1208,7 @@ gauge geIdZ gecko gEkoU geese gi:s gemini dZEmI2naI -geni dZi:nI +geni dZi:ni genome dZi:noUm genre Z0nr@ ?!3 genuine dZEnju:In @@ -1218,7 +1218,7 @@ gibbon gIb@n gig gIg gigantic dZaIg'antIk gilead g'IlIad -gimme gImI +gimme gImi giraffe dZI2raaf goin ,goUI2n $only // for goin' goodbye $2 @@ -1229,15 +1229,15 @@ goto goUtu: gourmet gU@meI graduate gradju:@t graduate gradju:eIt $verb -graffiti gra#fi:tI +graffiti gra#fi:ti gredient gri:di@nt // ingredient grenade gr@neId griffon grIf@n grosvenor groUv@n3 -groupie gru:pI +groupie gru:pi guacamole gwA:ka#m'oUli: -gui gu:I -guinea gInI +gui gu:i +guinea gIni gurus gu:ru:z haggis hagIs @@ -1306,7 +1306,7 @@ hussar hVz'A@ huzza hVz'A: huzzah hVz'A: hyperbola haIp'3:b@l@ -hyperbole haIp'3:b@lI +hyperbole haIp'3:b@li hypothesis haIp'0T@sIs hypotheses haIp'0T@si:z hypotenuse haIp'0t@nju:s @@ -1334,18 +1334,18 @@ indeterminate IndI2t'3:mI2n@t indicative $2 indices IndI2si:z indict Ind'aIt -indie IndI +indie Indi indiscriminate IndI2skr'ImI2n@t indo IndoU indoor $1 $only industry IndVstrI -indy IndI +indy Indi infamous Inf@m@s infer Inf'3: inference Inf@r@ns influenza Influ:'Enz@ infrastructure $1 -ingenuity IndZI2n'ju:I2tI +ingenuity IndZI2n'ju:I2ti inherit Inh'ErIt // inherited innard In3d inner In3 @@ -1392,7 +1392,7 @@ jukebox dZu:kb0ks july dZu:l'aI kaput ka#pUt -karate k@rA:tI +karate k@rA:ti kebab k@bab kefir ki:f3 hiatus haI'eIt@s @@ -1403,7 +1403,7 @@ kiwi ki:wi: knavish neIvIS koala koU'A:l@ koan koUA:n -kopje k0pI +kopje k0pi kosher koUS3 la ,la $only @@ -1423,12 +1423,12 @@ lawyer lOI3 lava lA:v@ le l@_| $only lead li:d -leafy li:fI +leafy li:fi leant lEnt leapt lEpt lego lEgoU leisure l'EZ3 -lemme lEmI // let me +lemme lEmi // let me lemonade $3 leo li:oU leopard lEp@d @@ -1440,11 +1440,11 @@ lichen laIk@n lier laI3 // outlier ligate li:geIt lilac laIl@k -lily lIlI +lily lIli limit lImI2t // limited limo lImoU limousine lIm@zi:n -lingerie l0nZ@rI +lingerie l0nZ@ri linen lInI2n liqueur lI2kjU@ liter li:t3 @@ -1472,7 +1472,7 @@ lunchroom lVntS||ru:m lychee li:tSi: macabre m@kA:br@ -machete ma#SEtI +machete ma#SEti machismo ma#tSIzmoU mademoiselle mad@m@zEl magazine $3 @@ -1481,7 +1481,7 @@ magpies magpaIz (main st) m'eInstr,i:t maintain $2 maintainer $2 -majority m@dZ0rI2tI +majority m@dZ0rI2ti malic malIk malice malI2s mall mal @@ -1513,7 +1513,7 @@ medicine mEds@n melon mEl@n menus mEnju:z memo mEmoU -menagerie m@n'adZj@rI +menagerie m@n'adZj@ri meow mi'aU mercedes m3:s'eIdi:z mercenary m3:s@n@rI @@ -1597,14 +1597,14 @@ negate nI2geIt neglect nI2glEkt negligee nEglIZeI neon ni:0n -nepenthe nI2pEnTI +nepenthe nI2pEnTi nescience nEsI@ns -nicety naIs@tI +nicety naIs@ti niche ni:S ninja nIndZ@ noah noUV nobly noUblI $verbf -nobody 'noUb0dI +nobody 'noUb0di nocturnal $2 nomenclature n@mENkl@tS3 nonsense n0ns@ns @@ -1620,7 +1620,7 @@ nowhere noUwe@ oases oU'eIsi:z oasis oU'eIsI2s obelisk 0b@lI2sk -obesity oUb'i:s@tI +obesity oUb'i:s@ti obey oUb'eI obituary 0b'ItSU@I object $1 $onlys @@ -1715,7 +1715,7 @@ passerby pas3b'aI passersby pas3zb'aI pasted peIstI2d pasting peIstI2N -pastry peIstrI +pastry peIstri pate pateI pathos peIT0s paypal peIpal @@ -1742,7 +1742,7 @@ petite p@ti:t petroleum p@troUli:@m pharaoh fe@roU philistine fIlI2staIn -philosophy fI2l0s@fI +philosophy fI2l0s@fi phoenix fi:nIks photographer f@t'0gr@f@ piano pI'anoU @@ -1758,7 +1758,7 @@ pioneer paI@n'i@3 pious paI@s pipette pIp'Et piquant pi:k@nt -piracy paI@r@sI +piracy paI@r@si piranha p@rA:n@ pirate paIr@t pisces paIsi:z @@ -1776,7 +1776,7 @@ polls poUlz polyamide p0lI'eImaId polythene $1 portend po@t'End -posse p0sI +posse p0si postage poUstI2dZ practise praktI2s prayer pre@ @@ -1802,10 +1802,10 @@ prestige prEst'i:Z ?3 pretense pri:tEns pretext pri:tEkst pretrial pri:tr'aI|@L -pretty prItI +pretty prIti privation praIv'eIS@n privilege prIvI2lI2dZ -privy prIvI +privy prIvi prix pri: proactive proU'aktIv pros proUz @@ -1813,7 +1813,7 @@ proceed proUsi:d $onlys proceed $verb proceed $only produce pr0dju:s $noun -progeny pr0dZ@nI +progeny pr0dZ@ni progress proUgrEs $only ?3 progress pr0grEs $only progress $verb @@ -1838,7 +1838,7 @@ psychosis saIk'oUsIs psychotic saIk'0tIk pud pUd // and pudding punative pju:n@tIv -puny pju:nI +puny pju:ni purist pju:r-Ist purport p3:p'o@t purportedly p3p'o@tI2dlI $verbf @@ -1864,7 +1864,7 @@ rainforest r'eInf,0rI2st rajah rA:dZA: rapier reIpi@3 rapport rap'o@ -rarity re@r@tI +rarity re@r@ti rascal raask@L ratatouille rat@t'u:I ?!3 rather rA:D3 @@ -1926,7 +1926,7 @@ relative rEl@tIv relic rElIk relish rElI2S rely rI2laI -remedy rEm@dI +remedy rEm@di remit ri:mIt remit ri:m'It $verb remnant rEmn@nt @@ -1978,7 +1978,7 @@ rout raUt // for routed routine $2 row roU row raU $noun -ruby ru:bI +ruby ru:bi rugged rVgI2d ruin ru:I2n // for ruining @@ -1989,7 +1989,7 @@ sabre seIb3 sachet saSeI sacred seIkr@d sacrifice sakrI2faIs -safety seIftI +safety seIfti saga sA:g@ salad sal@d saline seIlaIn @@ -1999,7 +1999,7 @@ sardine $2 satan seIt@n satanist seIt@nIst saucepan sO:sp@n -saudi saUdI +saudi saUdi saute sO:teI says sEz scaly skeIlI @@ -2020,7 +2020,7 @@ sealion si:laI@n seance seI0ns secant si:k@nt seconded sEk'0ndI2d -secrecy si:kr@sI +secrecy si:kr@si secret si:kr@t secretive si:kr@tIv secretary sEkr@trI @@ -2044,7 +2044,7 @@ series si:ri:z serenade sErI2n'eId serene s@ri:n sergeant sA@dZ@nt -sesame sEsa#mI +sesame sEsa#mi settee $2 severe sI2v'i@3 $only severely sI2v'i@3lI2 $verbf @@ -2088,7 +2088,7 @@ skied ski:d skua sku:@ slavish sleIvIS snooker snu:k3 -society s@saI@tI +society s@saI@ti sofa soUf@ soiree swA:reI soldier soUldZ3 @@ -2104,7 +2104,7 @@ sooth su:D soundbite saUndbaIt souvenir su:v@n'i@3 sorbet sO@beI -spaghetti spag'EtI +spaghetti spag'Eti spasm spas@m specific sp@sIfIk specimen spEsI2m@n @@ -2115,7 +2115,7 @@ squirrel skwIr@L standby standbaI stagnate $2 stampede $2 -starry stA:ri +starry stA:rI stiletto stI2lEtoU strychnine str'Ikni:n sterile stEraIl @@ -2180,7 +2180,7 @@ tear ti@3 $onlys tear te@ $verb teargas ti@3gas teddybear t'EdIb,e@ -telephony tEl'Ef@nI +telephony tEl'Ef@ni ten tEn // untenable termini t3:mInaI terrain t@reIn @@ -2199,12 +2199,12 @@ tho DoU thousand TaUz@nd throughout $2 tidal taId@L -tidy taIdI +tidy taIdi tikka ti:k@ tilde tIld@ timetable taImteIb@L timider tImId3 -tiny taInI +tiny taIni tirade taIr'eId tis tIz titan taIt@n @@ -2228,16 +2228,16 @@ transport transpo@t $only transport $verb transports transpo@t|s $nounf trajectory tr@dZEkt@rI -travesty trav@stI +travesty trav@sti treatise tri:tIz triage tri:A:Z tribunal traIb'ju:n@L -trilogy trIl@dZI +trilogy trIl@dZi trio tri:oU trojan troUdZ@n -trophy troUfI +trophy troUfi troubadour tru:b@do@ -truely tru:lI2 $verbf +truely tru:lI $verbf truest tru:@st tryst trIst tudor tju:d3 @@ -2252,7 +2252,7 @@ twos tu:z typo taIpoU tyr taI@ -ukulele ju:k@l'eIlI +ukulele ju:k@l'eIli ultraviolet $3 umbrella $2 unable Vn'eIb@L @@ -2261,13 +2261,13 @@ uncle VNk@L undeny VndIn'aI undermine Vnd3m'aIn undo Vnd'u: -uni ju:nI +uni ju:ni uninterest Vn'Int@r@st -university ju:nIv'3:sI2tI +university ju:nIv'3:sI2ti unless Vnl'Es unread Vnr'Ed $only unsure VnS'U@ -untidy Vnt'aIdI +untidy Vnt'aIdi untie Vnt'aI unty Vnt'aI // for untying unwind Vnw'aInd @@ -2298,7 +2298,7 @@ vagary veIg@rI vagina v@dZaIn@ (van den) vandEn (van der) vand3: -variety v@raI@tI +variety v@raI@ti ?!3 vase vA:z vaseline vas@li:n veg vEdZ @@ -2312,11 +2312,12 @@ vertices v3:tIsi:z vestige vEstI2dZ vex vEks // for vexed vicar vIk3 -vigilante vIdZI2l'antI2 +vigilante vIdZI2l'anti vignette vInj'Et villi vIlaI vineyard vInj3d vinyl vaInI2l +viola vaI'oUl@ violin $2 virus vaI@r@s viral vaI@r@L @@ -2332,7 +2333,7 @@ wastage weIstI2dZ wast weIst // wasted watershed wO:t3SEd watson w0t|s@n -waxy waksI +waxy waksi webpage wEbpeIdZ wehrmacht ve@maxt website wEbsaIt @@ -2346,7 +2347,7 @@ whol hoUl // for wholly whore ho@ wicked wIkI2d wilderness wIld3nEs -winding waIndI2N // verb +winding waIndIN // verb wind waInd $verb (wind power) w'Ind||p'aU3 (wind up) w'aInd||'Vp @@ -2368,7 +2369,7 @@ wounded wu:ndI2d wretched rEtSI2d writable raIt@b@L writh raID -wrongdoing r0Ndu:I2N +wrongdoing r0Ndu:IN wuss wUs wysiwyg wIzi:wIg @@ -2388,7 +2389,7 @@ zulus zu:lu:z // place names Altrincham O:ltrIN@m -Anglesey aNg@LsI +Anglesey aNg@Lsi Argyle A@g'aIl Argyll A@g;aIl Bacup beIk@p @@ -2406,7 +2407,7 @@ Dover doUv3 Dumfries dVmfr'i:s Dyfed d'VvId Edinburgh EdInb%Vr@ -Ely i:lI +Ely i:li Exeter EksIt3 Exmoor EksmU@ Fylde faIld @@ -2415,7 +2416,8 @@ Glenrothes gl,Enr'0TI2s Greenwich grEnItS Harwich harIdZ Hasting heIstI2N -Kirkcaldy kIRk'0dI +Inverness Inv3n'Es +Kirkcaldy kIRk'0di Leven li:v@n Lincoln lInk@n Malvern mO:lv3n @@ -2425,7 +2427,7 @@ Norwich n0rI2tS Plymouth plIm@T Regis ri:dZI2s Rhyl rIl -Salisbury sO:lsbrI +Salisbury sO:lsbri Southend sA:f'End Stonehenge st,oUnh'EndZ Suffolk sVf@k @@ -2443,7 +2445,7 @@ Aegean $2 Afghan afgan Aires aIrIz Alamo al@moU -Albuquerque alb@k'3:kI +Albuquerque alb@k'3:ki Algiers $2 Amman a#m'A:n Andes andi:z @@ -2475,7 +2477,7 @@ Bologna b@loUn;@ Bucharest bu:ka#r'Est Budapest bu:d@p'Est Buenos bweIn0s -Burundi bUr'UndI +Burundi bUr'Undi Brazil braz'Il Cadiz $2 Cairo kaIroU @@ -2486,8 +2488,8 @@ Carolina kar@l'aIn@ Caribbean kar@b'i@n Ceylon $2 Cheyenne SaI'an -Chile tSIlI -Cincinnati sInsIn'atI +Chile tSIli +Cincinnati sInsIn'ati Cologne k@loUn Columbus $2 Congo $1 @@ -2498,9 +2500,9 @@ Cyprus saIpr@s Dahomey $2 Damascus da#mask@s Danish deInIS -Delhi dElI +Delhi dEli Dhabi dA:bi -Djibouti dZIb'u:tI +Djibouti dZIb'u:ti Donegal d0nI2g'O:l Durham dVr@m Egyptian IdZ'IpS@n @@ -2510,7 +2512,7 @@ Erie i@ri Geneva dZ@ni:v@ Gdansk g@-dansk Gomera goUm'e@r@ -Harare ha#rA:rI +Harare ha#rA:ri Hanoi han'OI Hawaii h@w'aIi: Hawai'i h@w'aIi: @@ -2523,15 +2525,15 @@ Idaho $1 Illinois Il@n'OI Indochina IndoUtS'aIn@ Ipanema Ipa#n'i:m@ -Israeli Izr'eIlI +Israeli Izr'eIli Istanbul ,Ist,anb'Ul Italia It'alI2@ // Italian(s) Jakarta $2 Jerusalem dZ@ru:s@l@m Johannesburg $2 -Kalgoorlie kalgU@lI +Kalgoorlie kalgU@li Kannada kA:n@d@ -Karachi ka#rA@tSI +Karachi ka#rA@tSi Kentucky $2 Kiev ki:Ev Khmer kmi@3 @@ -2549,9 +2551,9 @@ Lvov l@-v0v Madagascar mad@g'ask3 Madras m@draas Madrid m@drId -Malawi ma#lA:wI +Malawi ma#lA:wi Maldives mO:ld'i:v -Mali mA:lI +Mali mA:li Manhatten $2 Massachusetts $3 Maya maI@ @@ -2560,18 +2562,18 @@ Melbourne mElb3n Memphis mEmfI2s Merced m3:s'Ed Mexico $1 -Miami maI'amI +Miami maI'ami Michigan mISIg@n Milan $2 Mindanao mInd@n'aU Minneapolis mIni:'ap@lI2s -Missouri mIz'U@rI +Missouri mIz'U@ri Monaco m0n@koU Montreal m0ntrI'O:l Morocco m@r0koU Moroccan m@r0k@n Munich mju:nIk -Nairobi naIr'oUbI +Nairobi naIr'oUbi Naples neIp@Lz Nauru naUru: Nebraska $2 @@ -2598,11 +2600,11 @@ Portuguese po@tju:g'i:z Potomac $2 Prague prA:g Provence pr0v'A~s -Punjabi pVndZ'A:bI +Punjabi pVndZ'A:bi Pyrenees pIr@n'i:z Qatar katA@ Quebec kwI2bEk -Raleigh rA:lI +Raleigh rA:li Reno ri:noU Rio ri:oU Sahel sA:h'El @@ -2613,13 +2615,13 @@ Savoy sa#vOI Seattle si:'at@L Seychelle seIS'El Shanghai $2 -Sicily sIsI2lI +Sicily sIsI2li Slovak sloUvak Seoul soUl Sri sr,i: // Sri Lanka(n) Sudan su:d'an Suez su:I2z -Sulawesi su:la#w'eIsI +Sulawesi su:la#w'eIsi Suriname sU@rIn'am Taipei t,aIp'eI Taiwan taI'wan @@ -2631,7 +2633,7 @@ Toronto t@r0ntoU Timor ti:mo@ Tokyo toUkIoU Toulouse tu:l'u:z -Tripoli trIp@lI +Tripoli trIp@li Ukraine ju:kr'eIn Ural ju:@r@L Utah ju:t2A: @@ -2641,12 +2643,13 @@ Vancouver $2 Vegas veIg@s Vermont $2 Vienna vI'En@ +Wichita wItSI2t@ Winnipeg wInI2pEg Wisconsin wI2sk'0nsIn Wyoming waI'oUmI2N Xhosa kO:s@ zaire zaI'i@3 -zimbabwe zI2mbA:bwI +zimbabwe zI2mbA:bwi zimbabwean zI2mbA:bwI@n Aaliyah @li:@ @@ -2812,7 +2815,7 @@ Llewellyn l#@w'ElIn Llywelyn l#@w'ElIn Loinnir lVni@ Lois loUIs -Louis lu:I +Louis lu:i Louise lu:w'i:z Luis lu:Is Lupe lu:peI @@ -2915,17 +2918,18 @@ Andromeda andr'0mId@ Beethoven beItoUv@n Buchanan bju:k'an@n Campbell kamb@l -Carnegie kA@nEgI +Carnegie kA@nEgi Cohen koU@n Cthulhu k@-Tu:l#u: Chrysler kraIzl3 -Disney dIznI +Disney dIzni Dolce d0ltSeI Dvorak d@-vo@Zak Gibson gIbs@n Guinness gInIs Hades heIdi:z Mackenna m@kEn@ +Montague m0nt@gju: Niro ni@roU Patel pa#tEl Prescot prEsk0t @@ -2944,7 +2948,7 @@ zhivago ZI2vA:goU -(de jure) deIdZ'U@rI +(de jure) deIdZ'U@ri (en masse) ,0n||m'as (en route) ,0n||r'u:t (each of) i:tS||@v $pause @@ -2958,7 +2962,7 @@ zhivago ZI2vA:goU (such as) sVtS||_a#z $pause (too few) t'u:||f,ju: -(too many) t'u:||m,EnI +(too many) t'u:||m,Eni (too much) t'u:||m,VtS //************************************************************************* @@ -2971,7 +2975,7 @@ zhivago ZI2vA:goU so ,soU $strend2 $verbf (so far) s'oU||f,A@ $strend2 -(so many) s,oU||m'EnI +(so many) s,oU||m'Eni (so much) s'oU||m,VtS //prepositions @@ -2994,7 +2998,7 @@ for fO@ $u (for one) fO@w0n $2 $atend to t@5 $verbf // @ change to U before vowel -(to be) t@b%I $pastf +(to be) t@b%i $pastf (to be) t@||'bi: $atend (to to) %tU_t@5 $verbf (to and fro) tu:@ndfr'oU @@ -3303,7 +3307,7 @@ now $verbf now naU $verbf $allcaps soon $verbf still $verbf -already O:lrEdI $u2 $verbf $strend2 +already O:lrEdi $u2 $verbf $strend2 not ,n0t $verbextend $only $strend (not have) n0ta#v $pastf $u1 @@ -3311,10 +3315,10 @@ not ,n0t $verbextend $only $strend (not have to) ,n0thavt@5 $pastf $strend (not a) ,n0t@ $nounf not n0t $allcaps $verbextend // don't spell "NOT"; speak it with stress -only oUnlI $verbextend +only oUnli $verbextend -any ,EnI $nounf $only -many mEnI $nounf +any ,Eni $nounf $only +many mEni $nounf (many of) mEnI|@v some ,sVm $nounf $unstressend $only (some one) sVmw0n @@ -3399,7 +3403,7 @@ like laIk $strend2 ?3 beta beIt@ ?3 caffeine $2 ?3 comrade k0mrad -?3 commentary k0m@ntErI +?3 commentary k0m@ntEri ?3 current k'3@nt ?3 depot di:poU ?3 detail $2 @@ -3411,13 +3415,13 @@ like laIk $strend2 ?3 herb 3:b ?3 hurricane h3:@keIn ?3 investigative Inv,EstI2g'eItIv -?3 laboratory labr@tO:rI +?3 laboratory labr@tO:ri ?3 launch lA:ntS ?3 lost lOst ?3 multi mVltaI ?3 pasta pA:st@ ?3 patent pat@nt -?3 privacy praIv@sI +?3 privacy praIv@si ?3 respite rEspI2t ?3 semi sEmaI ?3 sojourn soUdZ3:n diff --git a/dictsource/fr_list b/dictsource/fr_list index 9e4e0fbb..00c080d2 100755 --- a/dictsource/fr_list +++ b/dictsource/fr_list @@ -1,4 +1,4 @@ -/ + // *************************************************************************** // * Copyright (C) 2005 to 2010 by Jonathan Duddington * // * email: jonsd@users.sourceforge.net * diff --git a/dictsource/fr_rules b/dictsource/fr_rules index e59dc09b..b800eaab 100755 --- a/dictsource/fr_rules +++ b/dictsource/fr_rules @@ -1,7 +1,7 @@ // French translation rules for Espeak // *************************************************************************** -// * Copyright (C) 2005 to 2010 by Jonathan Duddington * +// * Copyright (C) 2005 to 2011 by Jonathan Duddington * // * email: jonsd@users.sourceforge.net * // * * // * This program is free software; you can redistribute it and/or modify * @@ -27,7 +27,7 @@ // http://www.fluxnic.net/cicero // // Rules are now maintained by Michel Such -// Last update: 2011-04-15 Michel Such +// Last update: 2011-05-20 Michel Such // // Letter classes: @@ -72,6 +72,12 @@ .L14 be in up ut .L15 c f g h +// Hours +.L16 0 1 2 3 4 5 6 7 8 9 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 + +// Minutes +.L17 0 1 2 3 4 5 + .group a @@ -1518,6 +1524,7 @@ nC) y (_ _^_en // symbols that are normally spoken when reading text // , (D pilk:u +_L16_) : (_L17D_ Wr // Say time $ dOlar ° d@gre _n_) ° // n° diff --git a/dictsource/ta_list b/dictsource/ta_list index 46725bb1..9d70a6a5 100644 --- a/dictsource/ta_list +++ b/dictsource/ta_list @@ -298,6 +298,9 @@ tamil தமிழ் $text போரடிக்காம $alt பரத் $alt பாஷா $alt +பூட் $alt +படுக $alt +படுகா $alt (பி . ஏ) bije: diff --git a/dictsource/ta_rules b/dictsource/ta_rules index a3932ff4..ddfc7b7e 100644 --- a/dictsource/ta_rules +++ b/dictsource/ta_rules @@ -128,6 +128,7 @@ _) க (ந்தர்வ gV _) க (னக்க gV _) க (னத் gV + _) க (னபாடி gV _) க (னம gV _) கப் (L04ா gVp _) கப்ச (ிப் gVptS @@ -167,6 +168,7 @@ _) க (ானா g க (ாரன k க (ாரர k + _) க (ார்டன g _) க (ிடுகிடு g _) க (ின்னஸ g _) க (ின்னென்ற g @@ -205,6 +207,7 @@ _) கி (ளாL04ை k _) கி (ளாஸ்_ g _) கிளிட kl.it.V# + _) கிளிண்ட (ன klint.V _) கி (ளினிக் k _) கிளிப் (_ kl.ip _) கி (ளிப்பில k @@ -430,8 +433,10 @@ _சூரிய) க (லா kV _தாலு) க (ா k _ராதி) க (ா k _லங்) க (ா k + ஆஷி) க (ா k இலா) க (ா k _கீர்த்தி) க (ா k + _கேஷி) க (ா k _தாலூ) க (ா k _தேவி) க (ா k _யுரே) க (ா k @@ -444,6 +449,7 @@ _மோனி) க (ா k _மௌனி) க (ா k _ஸ்ரீலங்) க (ா k _ஹன்L04ி) க (ா k +அனாமி) க (ா k _ஹாங்) க (ாங் k _தென்) க (ாசி k _நேர்) க (ாணல k @@ -645,6 +651,7 @@ _துப்பாக்கி) க்க (ுண்ட gg ச (ந்திர tSV _ஹட்) ச (ன sV _வாட்) ச (ன sV +_டேவிட்) ச (ன sV _) ச (ப்பா tSV _) ச (ப்பி tSV _) ச (ப்பு tSV @@ -786,6 +793,8 @@ _தணிகா) ச (ல tSV _) ச (ேலஞ் tS _) ச (ேஷ்டை tS _) ச (ைத்திய tS + _) ச (ைனா tS + _) ச (ைனா_நேவால s _) ச (ைனாவ tS _) ச (ைனீஸ tS _) ச (ௌதரி tS @@ -819,6 +828,7 @@ _தணிகா) ச (ல tSV //sort + _வால்) ட t.V# _கமெண்) ட t.V# _ரிப்போர்) ட t.V# அL04ால்) ட t.V# @@ -830,6 +840,7 @@ _ரிப்போர்) ட t.V# ங்) ட (ன t.V // -ington _நியூ) ட (ன t.V _மில்) ட (ன t.V + _) ட (னல t.V _) ட (ன் t.V _) ட (ப்_ t.V _) டப்ப (ில t.Vbb @@ -840,6 +851,7 @@ _ரிப்போர்) ட t.V# _) ட (யரு t.V _) ட (யர் t.V _ப்ரிண்) ட (ர t.V + _ஷெல்) ட (ர t.V _ஸ்கூ) ட (ர t.V என்கவுண்) ட (ர t.V என்கௌண்) ட (ர t.V @@ -878,6 +890,7 @@ _ரிப்போர்) ட t.V# _டியூ) ட (ி t. _ட்யூ) ட (ி t. _சேஃப்) ட (ி t. + _பேண்) ட (ி t. _ராயல்) ட (ி t. _க்வாலி) ட (ி t. _நாவல்) ட (ி t. @@ -896,6 +909,7 @@ _நாவல்) ட (ி t. _) டி (யூசன t. _) டியூட (ி d.jU:t. _) டி (யூன t. + _) டி (யூப t. _) டி (யூஷன t. _) டி (ரங் t. _) டி (ரங்கு t. @@ -931,6 +945,7 @@ _நாவல்) ட (ி t. _) டி (ரெயின t. _) டி (ரெய்லர t. _) டி (ரெஸ d. + இண்) டி (ரெஸ்ட t. _) டிரேயின (ை t.re:jn _) டி (ரை_ d. _) டி (ரை_செஞ்ச t. @@ -986,6 +1001,7 @@ _லான்_) ட (ென்னிஸ t. _) டோரண்ட (ோ t.o:rVn.t. _ப்ரி) ட (ோரிய t. @மெண்) ட் t. // -ment + _பேண்) ட் t. இண்டர்நெ) ட் t. _ல) ட்ட d.d.V# _ரெ) ட்ட (ியா d.d. @@ -993,6 +1009,7 @@ _லான்_) ட (ென்னிஸ t. அப்பாயிண்) ட்மெண்ட t.men.t.V# _) ட் (யூசன t. _) ட் (யூன t. + _) ட் (யூப t. ஸ்) ட் (ர _|t. // ?? make t. distinct _) ட் (ரங் t. _) ட் (ரங்கு t. @@ -1018,6 +1035,7 @@ _லான்_) ட (ென்னிஸ t. _) ட் (ராலி t. _) ட் (ராவல t. _) ட் (ராவெல t. + எண்) ட் (ரி t. _) ட்ரிக (ர t.riggV _) ட்ரிக் t.rik _) ட்ரிக்க (ர t.riggV @@ -1028,6 +1046,7 @@ _லான்_) ட (ென்னிஸ t. _போ) ட் (ரு t. _) ட்ரெயி (லர t.rej _) ட் (ரெய்லர t. + இண்) ட் (ரேஸ்ட t. _) ட் (ரை_செஞ்ச t. _) ட் (ரை_செய் t. _) ட் (ரை_பண் t. @@ -1110,6 +1129,7 @@ _நடுரோ) ட் (ல t. _) த (டிமாட dV _) த (டியன dV _) த (டியர dV + _) த (டியான dV _) த (ட்சசீல dV _) த (ட்சன dV _) த (ட்சிண dV @@ -1339,6 +1359,7 @@ _நடுரோ) ட் (ல t. _) த (ேச d _) த (ேவகான d _) த (ேவகி d + _) த (ேவகுரு d _) த (ேவகுல d _) த (ேவக் d _) த (ேவசேன d @@ -1425,6 +1446,7 @@ _பிரசார்_பார) த (ி t _பிர) த (ீ t த (ுறை t வீண்) த (ேவை t +_நிவேதி) த (ை t வீண்) த (ொல்லை t அம்பே) த்க tkV# யு) த்த ddV# @@ -1481,6 +1503,7 @@ _சிறை) த்த (ண்டனை ddV வி) த்த (ையால்_ dd வி) த்த (ையி dd வி) த்த (ையை dd + _ஜெ) த் (மலானி t ச) த (்ய t நி) த (்ய t இ) த் (யாதி t @@ -1561,6 +1584,8 @@ _காமசூ) த் (ர t _) ப (ச்சன bV _) ப (ச்சான bV _) ப (ஜ bV + _) ப (டுகாக்கள bV + _) ப (டுகாவ bV _) ப (ட்சண bV _) ப (ட்சிக்க bV _) ப (ட்சிப்ப bV @@ -1613,6 +1638,8 @@ _சொந்த_) ப (ந்த bV _) ப (ர்கர bV _) ப (ர்த் bV _) ப (ர்னாலா bV + _) பர்னிச (ர fVrnitSV + _) ப (ர்னிச்சர fV _) ப (ர்மா bV _) ப (ர்லாங் fV _) ப (லகீன bV @@ -1724,11 +1751,14 @@ _சொந்த_) ப (ந்த bV _) ப (ாமாவ b _) ப (ாமினி b _) ப (ாம்பே b +_ஆடு_) ப (ாம்பே p +_விளையாடு_) ப (ாம்பே p _) ப (ாரத b _) ப (ாரதி b _) ப (ாரத்த b _) ப (ாரம b _) ப (ாரம்பரிய p + _) ப (ாரவி b _) ப (ாராமுல்லா b _) ப (ாரிஸ்டர b _) ப (ார்L04லோனா b @@ -1812,6 +1842,7 @@ _ராகத்தின்_) ப (ாவ b _) ப (ிட்டடி b _) ப (ினாமி b _) ப (ினிஷ f + _) பின் (_லேடன b _) ப (ின்லாந்த f _) பிப (ி bip _) ப (ிபிசி b // bbc @@ -1892,6 +1923,7 @@ _ராகத்தின்_) ப (ாவ b _) பி (ராண்ட p _) பி (ராண்ட்_ b _) பி (ராதித் p + _) பி (ராத்தல b _) பி (ராந்தி_ b _) பி (ராந்தியங் p _) பி (ராந்தியத் p @@ -1936,6 +1968,7 @@ _ராகத்தின்_) ப (ாவ b _) பி (ரிஸ்டல b _) பிரிஸ்ப (ேன brisb _) பிரு (கன்நளை bri + _) பி (ருகு b _) பிரு (ந்தா bri _) பிரெஞ்ச fren^tSV# _) பிரெட்ரிக் fred.rik @@ -1948,6 +1981,8 @@ _ராகத்தின்_) ப (ாவ b _) பி (ரைல b _) பி (ரோகிதர p _) பி (ரௌச b + _) பி (ரௌன b + _) ப (ில்டப் b _) ப (ில்டிங் b _) ப (ில்லியன b _) பி (ளவுஸ b @@ -2076,6 +2111,7 @@ _பெனசீர்_) ப (ுட்டோ b _) ப (ேகத் b _) ப (ேகம b _) ப (ேக்கரி b + _) ப (ேங்க் b _) ப (ேச்சலர b _) ப (ேச்சிலர b _) ப (ேச்சுலர b @@ -2098,6 +2134,7 @@ _பெனசீர்_) ப (ுட்டோ b _) ப (ொம்மன b _) ப (ொம்மல b _) ப (ொம்மை b + _) ப (ோஃபோர் b _) ப (ோக_L11 b _) ப (ோகங்க b _) ப (ோகத்த b @@ -2126,6 +2163,7 @@ _பெனசீர்_) ப (ுட்டோ b _) ப (ோன்கள f _) ப (ோன்ஸ்லே b _) போப (ால bo:p + _) போப (ோர் bo:f _) ப (ோரடிக்காமலா b _) ப (ோரடிக்குத b _) ப (ோரடிக்கும b @@ -2146,6 +2184,7 @@ _சந்திர_) ப (ோஸ b _) ப் (ரவுச b _) ப் (ரஷ் b _) ப் (ரஸல்ஸ b + _) ப் (ராத்தல b _) ப் (ரான்சிஸ்க f _) ப் (ரான்ஸ f _) ப் (ராவ b @@ -2162,6 +2201,7 @@ _சந்திர_) ப (ோஸ b _) ப் (ரோக்கர b _) ப்ரோட (ான pro:t _) ப் (ரௌச b + _) ப் (ரௌன b _) ப் (ளவுஸ b _) ப் (ளோரிடா f _) ப் (ளௌஸ b @@ -2342,6 +2382,7 @@ _ப்ரின்சி) ப (ால p கண்டு) ப (ிடி p திமிர்) ப (ிடி p ராவல்) ப (ிண்டி p + _டால்) ப (ின f ஒ) ப (ினியன p அன்) ப (ின் b _பண்) ப (ின் b @@ -2690,6 +2731,7 @@ _சந்தேக) ப்ப (ுத்தி bb இ (ரசிக்க இ (ரசித்த இ (ரத்த + இரப்ப (ர irVbbV இ (ரயில இ (ராக இ (ராச diff --git a/espeak-data/voices/grc b/espeak-data/voices/grc deleted file mode 100755 index ffa94206..00000000 --- a/espeak-data/voices/grc +++ /dev/null @@ -1,8 +0,0 @@ -name greek-ancient -language grc -gender male - -stressLength 170 170 190 190 0 0 230 240 -dictrules 1 -words 3 - diff --git a/espeak-data/voices/jbo b/espeak-data/voices/jbo deleted file mode 100644 index ebab1a87..00000000 --- a/espeak-data/voices/jbo +++ /dev/null @@ -1,3 +0,0 @@ -name lojban -language jbo - diff --git a/espeak-data/voices/mb/mb-br1 b/espeak-data/voices/mb/mb-br1 index ba7c42cc..370a5ea1 100755 --- a/espeak-data/voices/mb/mb-br1 +++ b/espeak-data/voices/mb/mb-br1 @@ -1,7 +1,9 @@ language pt 7 name brazil-mbrola-1 gender male + pitch 82 117 +voicing 80 dictrules 2 3 4 diff --git a/espeak-data/voices/mb/mb-br3 b/espeak-data/voices/mb/mb-br3 index 8479e658..0cf9daa5 100644 --- a/espeak-data/voices/mb/mb-br3 +++ b/espeak-data/voices/mb/mb-br3 @@ -1,9 +1,10 @@ language pt 7 name brazil-mbrola-3 gender male -pitch 82 117 +pitch 80 120 dictrules 2 3 4 +voicing 120 mbrola br3 ptbr_phtrans diff --git a/espeak-data/voices/mb/mb-br4 b/espeak-data/voices/mb/mb-br4 index d3d77200..1cc596d8 100644 --- a/espeak-data/voices/mb/mb-br4 +++ b/espeak-data/voices/mb/mb-br4 @@ -1,7 +1,9 @@ language pt 7 name brazil-mbrola-4 gender female + pitch 140 220 +voicing 80 dictrules 2 3 4 diff --git a/espeak-data/voices/mb/mb-cr1 b/espeak-data/voices/mb/mb-cr1 index 9b280bf8..1f0ab08a 100755 --- a/espeak-data/voices/mb/mb-cr1 +++ b/espeak-data/voices/mb/mb-cr1 @@ -5,5 +5,6 @@ gender male dictionary hbs dictrules 1 +voicing 150 pitch 82 117 mbrola cr1 cr1_phtrans diff --git a/espeak-data/voices/mb/mb-de2 b/espeak-data/voices/mb/mb-de2 index c0a5475e..39e3c434 100755 --- a/espeak-data/voices/mb/mb-de2 +++ b/espeak-data/voices/mb/mb-de2 @@ -1,6 +1,7 @@ name german-mbrola-2 language de 6 gender male +voicing 80 mbrola de2 de2_phtrans diff --git a/espeak-data/voices/mb/mb-de4 b/espeak-data/voices/mb/mb-de4 index 31bd479a..abd8713d 100755 --- a/espeak-data/voices/mb/mb-de4 +++ b/espeak-data/voices/mb/mb-de4 @@ -2,5 +2,7 @@ name german-mbrola-4 language de 6 gender male +voicing 130 + mbrola de4 de4_phtrans diff --git a/espeak-data/voices/mb/mb-de4-en b/espeak-data/voices/mb/mb-de4-en index 8fd4a63a..5980fbf0 100755 --- a/espeak-data/voices/mb/mb-de4-en +++ b/espeak-data/voices/mb/mb-de4-en @@ -2,5 +2,7 @@ name en-german language en 9 gender male +voicing 130 + mbrola de4 de4_phtrans diff --git a/espeak-data/voices/mb/mb-de7 b/espeak-data/voices/mb/mb-de7 index aa80edaa..d51583c8 100755 --- a/espeak-data/voices/mb/mb-de7 +++ b/espeak-data/voices/mb/mb-de7 @@ -2,6 +2,7 @@ name german-mbrola-7 language de 7 gender female +voicing 150 pitch 140 220 mbrola de7 de6_phtrans 22050 diff --git a/espeak-data/voices/mb/mb-en1 b/espeak-data/voices/mb/mb-en1 index fc60f416..8de8e01c 100755 --- a/espeak-data/voices/mb/mb-en1 +++ b/espeak-data/voices/mb/mb-en1 @@ -3,5 +3,6 @@ language en-uk 3 language en 2 gender male +voicing 150 pitch 82 117 mbrola en1 en1_phtrans diff --git a/espeak-data/voices/mb/mb-fr1 b/espeak-data/voices/mb/mb-fr1 index 7cbdab33..04651527 100755 --- a/espeak-data/voices/mb/mb-fr1 +++ b/espeak-data/voices/mb/mb-fr1 @@ -5,5 +5,7 @@ gender male dictrules 1 stressLength 180 180 180 180 0 0 220 220 pitch 82 117 +voicing 70 + mbrola fr1 fr1_phtrans diff --git a/espeak-data/voices/mb/mb-fr1-en b/espeak-data/voices/mb/mb-fr1-en index 36665314..47cb1825 100755 --- a/espeak-data/voices/mb/mb-fr1-en +++ b/espeak-data/voices/mb/mb-fr1-en @@ -4,5 +4,6 @@ gender male dictrules 1 pitch 82 117 +voicing 70 mbrola fr1 fr1_phtrans diff --git a/espeak-data/voices/mb/mb-fr4 b/espeak-data/voices/mb/mb-fr4 index c276bec0..8e3c3921 100755 --- a/espeak-data/voices/mb/mb-fr4 +++ b/espeak-data/voices/mb/mb-fr4 @@ -4,5 +4,6 @@ gender female dictrules 1 pitch 140 220 +voicing 90 mbrola fr1 fr1_phtrans diff --git a/espeak-data/voices/mb/mb-fr4-en b/espeak-data/voices/mb/mb-fr4-en index b8f78294..8126770b 100755 --- a/espeak-data/voices/mb/mb-fr4-en +++ b/espeak-data/voices/mb/mb-fr4-en @@ -4,5 +4,6 @@ gender female dictrules 1 pitch 140 220 +voicing 90 mbrola fr1 fr1_phtrans diff --git a/espeak-data/voices/mb/mb-gr2 b/espeak-data/voices/mb/mb-gr2 index 30dea892..92d2f20f 100755 --- a/espeak-data/voices/mb/mb-gr2 +++ b/espeak-data/voices/mb/mb-gr2 @@ -3,4 +3,5 @@ language el 7 gender male pitch 82 117 +voicing 65 mbrola gr2 gr2_phtrans diff --git a/espeak-data/voices/mb/mb-gr2-en b/espeak-data/voices/mb/mb-gr2-en index b48b1788..d30970d2 100755 --- a/espeak-data/voices/mb/mb-gr2-en +++ b/espeak-data/voices/mb/mb-gr2-en @@ -3,4 +3,5 @@ language en 7 gender male pitch 82 117 +voicing 65 mbrola gr2 gr2_phtrans diff --git a/espeak-data/voices/mb/mb-hu1 b/espeak-data/voices/mb/mb-hu1 index b8519559..195ea330 100755 --- a/espeak-data/voices/mb/mb-hu1 +++ b/espeak-data/voices/mb/mb-hu1 @@ -3,4 +3,5 @@ language hu 7 gender female pitch 140 220 +voicing 160 mbrola hu1 hu1_phtrans diff --git a/espeak-data/voices/mb/mb-hu1-en b/espeak-data/voices/mb/mb-hu1-en index 73ac62a4..28ce3754 100755 --- a/espeak-data/voices/mb/mb-hu1-en +++ b/espeak-data/voices/mb/mb-hu1-en @@ -3,4 +3,5 @@ language en 10 gender female pitch 140 220 +voicing 160 mbrola hu1 hu1_phtrans diff --git a/espeak-data/voices/mb/mb-ic1 b/espeak-data/voices/mb/mb-ic1 index 19fd69d3..b08b53a2 100644 --- a/espeak-data/voices/mb/mb-ic1 +++ b/espeak-data/voices/mb/mb-ic1 @@ -2,5 +2,6 @@ name mbrola-icelandic language is 6 gender male +voicing 180 mbrola ic1 ic1_phtrans diff --git a/espeak-data/voices/mb/mb-id1 b/espeak-data/voices/mb/mb-id1 index b86f5930..aa57c315 100755 --- a/espeak-data/voices/mb/mb-id1 +++ b/espeak-data/voices/mb/mb-id1 @@ -3,5 +3,6 @@ language id 7 gender male pitch 82 117 +voicing 120 mbrola id1 id1_phtrans diff --git a/espeak-data/voices/mb/mb-it3 b/espeak-data/voices/mb/mb-it3 index 00e88867..89f7dcd4 100755 --- a/espeak-data/voices/mb/mb-it3 +++ b/espeak-data/voices/mb/mb-it3 @@ -3,6 +3,7 @@ language it 7 gender male pitch 82 117 +voicing 65 mbrola it3 it3_phtrans replace 03 i I // final unstressed "i" diff --git a/espeak-data/voices/mb/mb-it4 b/espeak-data/voices/mb/mb-it4 index f2130ba4..cb3a6ffb 100755 --- a/espeak-data/voices/mb/mb-it4 +++ b/espeak-data/voices/mb/mb-it4 @@ -3,6 +3,7 @@ language it 7 gender female pitch 140 220 +voicing 60 mbrola it4 it3_phtrans replace 03 i I // final unstressed "i" diff --git a/espeak-data/voices/mb/mb-nl2 b/espeak-data/voices/mb/mb-nl2 index fc377156..273f98b6 100755 --- a/espeak-data/voices/mb/mb-nl2 +++ b/espeak-data/voices/mb/mb-nl2 @@ -3,5 +3,7 @@ name dutch-mbrola-2 gender male pitch 82 117 +voicing 130 + mbrola nl2 nl_phtrans diff --git a/espeak-data/voices/mb/mb-nl2-en b/espeak-data/voices/mb/mb-nl2-en index 0c2d13a6..ad0ac406 100755 --- a/espeak-data/voices/mb/mb-nl2-en +++ b/espeak-data/voices/mb/mb-nl2-en @@ -3,5 +3,7 @@ name en-dutch gender male pitch 82 117 +voicing 130 + mbrola nl2 nl_phtrans diff --git a/espeak-data/voices/mb/mb-pl1 b/espeak-data/voices/mb/mb-pl1 index 4e2b9d23..cedeb46b 100755 --- a/espeak-data/voices/mb/mb-pl1 +++ b/espeak-data/voices/mb/mb-pl1 @@ -3,4 +3,5 @@ language pl 7 gender female pitch 140 220 +voicing 120 mbrola pl1 pl1_phtrans diff --git a/espeak-data/voices/mb/mb-pt1 b/espeak-data/voices/mb/mb-pt1 index ebd92ffb..a2168959 100644 --- a/espeak-data/voices/mb/mb-pt1 +++ b/espeak-data/voices/mb/mb-pt1 @@ -1,9 +1,10 @@ language pt 7 name portugal-mbrola-1 gender female -pitch 140 220 +pitch 145 240 dictrules 1 +voicing 70 mbrola pt1 pt1_phtrans diff --git a/espeak-data/voices/mb/mb-sw1 b/espeak-data/voices/mb/mb-sw1 index 4c623926..57ee32a9 100755 --- a/espeak-data/voices/mb/mb-sw1 +++ b/espeak-data/voices/mb/mb-sw1 @@ -3,5 +3,7 @@ language sv 7 gender male pitch 82 117 +voicing 120 + mbrola sw1 sv_phtrans diff --git a/espeak-data/voices/mb/mb-sw1-en b/espeak-data/voices/mb/mb-sw1-en index 52692c38..627af2fb 100755 --- a/espeak-data/voices/mb/mb-sw1-en +++ b/espeak-data/voices/mb/mb-sw1-en @@ -3,5 +3,7 @@ language en 11 gender male pitch 82 117 +voicing 120 + mbrola sw1 sv_phtrans diff --git a/espeak-data/voices/mb/mb-sw2 b/espeak-data/voices/mb/mb-sw2 index c632e263..55cfa0d7 100755 --- a/espeak-data/voices/mb/mb-sw2 +++ b/espeak-data/voices/mb/mb-sw2 @@ -3,5 +3,7 @@ language sv 8 gender female pitch 140 220 +voicing 130 + mbrola sw2 sv2_phtrans diff --git a/espeak-data/voices/mb/mb-sw2-en b/espeak-data/voices/mb/mb-sw2-en index f2033dc1..19dbea5d 100755 --- a/espeak-data/voices/mb/mb-sw2-en +++ b/espeak-data/voices/mb/mb-sw2-en @@ -3,5 +3,7 @@ language en gender female pitch 140 220 +voicing 130 + mbrola sw2 sv2_phtrans diff --git a/espeak-data/voices/mb/mb-tr2 b/espeak-data/voices/mb/mb-tr2 index 9b06e0bd..158a0440 100644 --- a/espeak-data/voices/mb/mb-tr2 +++ b/espeak-data/voices/mb/mb-tr2 @@ -3,6 +3,8 @@ language tr 7 gender female pitch 140 220 +voicing 170 + mbrola tr2 tr1_phtrans dictrules 1 diff --git a/espeak-data/voices/mb/mb-us2 b/espeak-data/voices/mb/mb-us2 index f9624b31..de799f06 100755 --- a/espeak-data/voices/mb/mb-us2 +++ b/espeak-data/voices/mb/mb-us2 @@ -9,4 +9,5 @@ dictrules 3 6 stressLength 170 135 205 205 0 0 245 275 pitch 82 117 +voicing 80 mbrola us2 us_phtrans diff --git a/espeak-data/voices/mb/mb-us3 b/espeak-data/voices/mb/mb-us3 index 740601d1..c538b134 100755 --- a/espeak-data/voices/mb/mb-us3 +++ b/espeak-data/voices/mb/mb-us3 @@ -8,5 +8,6 @@ dictrules 3 6 stressLength 170 135 205 205 0 0 245 275 +voicing 150 pitch 82 117 mbrola us3 us3_phtrans diff --git a/phsource/compile_report b/phsource/compile_report index 7b30f1e2..9a51d7ef 100644 --- a/phsource/compile_report +++ b/phsource/compile_report @@ -12,7 +12,7 @@ consonants 10 116 en-wi 30 150 af 39 136 cy 29 132 - de 37 138 + de 41 139 eo 13 114 jbo 2 114 nci 3 123 @@ -368,8 +368,8 @@ l/l_ [l] base [l/] fr l/l_@ [l/3] base [l/] fr -l/l@ [h†s] base - [l#] base +l/l@ [l#] base + [”¦] base [l] fr [l/2] fr [K] nso @@ -402,16 +402,16 @@ 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†s] base - [l#] base +l/la [l#] base + [”¦] base [l] fr [l/2] fr [K] nso [K] tn l/l_a [l/3] base [l/] fr -l/le [h†s] base - [l#] base +l/le [l#] base + [”¦] base [l] fr [l/2] fr [K] nso @@ -422,8 +422,8 @@ l/L_eL_af [&] af [&:] af l/l_front [L] sq l/l_front_ [l/4] sq -l/li [h†s] base - [l#] base +l/li [l#] base + [”¦] base [l] fr [l/2] fr [l] zh @@ -436,8 +436,8 @@ ll/ll [L] bg ll/_ll [L] bg l/l_long [l] base [l] fr -l/lo [h†s] base - [l#] base +l/lo [l#] base + [”¦] base [l/2] fr [K] nso [K] tn @@ -446,8 +446,8 @@ l/l_o [l/3] base l^/l_rfx [l.] base [l] ru [l^] ru -l/lu [h†s] base - [l#] base +l/lu [l#] base + [”¦] base [l] fr [l/2] fr [K] nso diff --git a/phsource/mbrola/af1 b/phsource/mbrola/af1 index c2e75250..ef8d1eef 100644 --- a/phsource/mbrola/af1 +++ b/phsource/mbrola/af1 @@ -1,3 +1,5 @@ +volume 16 + 0 l/2 NULL 0 l 0 l/ NULL 0 l 0 r/ NULL 0 r diff --git a/phsource/mbrola/cr1 b/phsource/mbrola/cr1 index 1c417ea0..2916bc42 100644 --- a/phsource/mbrola/cr1 +++ b/phsource/mbrola/cr1 @@ -1,4 +1,3 @@ -volume 16 0 l/2 NULL 0 l 0 l/ NULL 0 l diff --git a/phsource/mbrola/de4 b/phsource/mbrola/de4 index d387559f..bb79f7b6 100644 --- a/phsource/mbrola/de4 +++ b/phsource/mbrola/de4 @@ -51,7 +51,7 @@ 0 O~ NULL 0 o~ 16 _| VWL 0 ? -16 _! VWL 0 ? +//16 _! VWL 0 ? // phonemes for English words 0 @L NULL 0 L diff --git a/phsource/mbrola/en1 b/phsource/mbrola/en1 index b6ea279c..ca3ce58d 100644 --- a/phsource/mbrola/en1 +++ b/phsource/mbrola/en1 @@ -1,4 +1,4 @@ -//volume 29 + 0 oU NULL 0 @U 0 a# NULL 0 @ 0 @2 NULL 0 @ diff --git a/phsource/mbrola/fr1 b/phsource/mbrola/fr1 index 39f2dc3b..b4a07e7d 100644 --- a/phsource/mbrola/fr1 +++ b/phsource/mbrola/fr1 @@ -1,4 +1,4 @@ -volume 15 + 0 l/2 NULL 0 l 0 l/ NULL 0 l 0 l2 NULL 0 l diff --git a/phsource/mbrola/gr2 b/phsource/mbrola/gr2 index 6e6c7ac3..8eea2222 100644 --- a/phsource/mbrola/gr2 +++ b/phsource/mbrola/gr2 @@ -1,4 +1,4 @@ -volume 16 +volume 15 0 l/2 NULL 0 l 0 l/ NULL 0 l diff --git a/phsource/mbrola/hu1 b/phsource/mbrola/hu1 index 116d6c2a..c51bb592 100644 --- a/phsource/mbrola/hu1 +++ b/phsource/mbrola/hu1 @@ -1,4 +1,3 @@ -volume 32 0 l/2 NULL 0 l 0 l/ NULL 0 l diff --git a/phsource/mbrola/id1 b/phsource/mbrola/id1 index 0833d0c8..3fe9587a 100644 --- a/phsource/mbrola/id1 +++ b/phsource/mbrola/id1 @@ -1,4 +1,3 @@ -volume 32 // CR1 doesn't like same phonemes twice 0 e E 5 e _ diff --git a/phsource/mbrola/it3 b/phsource/mbrola/it3 index dd3d22bd..2c12887c 100644 --- a/phsource/mbrola/it3 +++ b/phsource/mbrola/it3 @@ -1,4 +1,5 @@ // for voices "it3" "it4" +volume 15 0 r/ NULL 0 r 0 w/ NULL 0 w diff --git a/phsource/mbrola/pt1 b/phsource/mbrola/pt1 index 107bcc47..8319b96b 100644 --- a/phsource/mbrola/pt1 +++ b/phsource/mbrola/pt1 @@ -1,3 +1,5 @@ +volume 15 + 0 l/ NULL 0 w 0 l/2 w 0 l 0 l/2 j 0 l diff --git a/phsource/mbrola/ptbr b/phsource/mbrola/ptbr index 3a332d26..909a646b 100644 --- a/phsource/mbrola/ptbr +++ b/phsource/mbrola/ptbr @@ -1,3 +1,5 @@ +volume 15 + 0 l/ NULL 0 w 0 l/2 w 0 l 0 l/2 j 0 l diff --git a/phsource/mbrola/sv b/phsource/mbrola/sv index 1fecd9ea..acff6ecd 100644 --- a/phsource/mbrola/sv +++ b/phsource/mbrola/sv @@ -67,7 +67,7 @@ 0 aU@ NULL 70 A: u0 0 T VWL 0 th 0 T NULL 0 t -0 D NULL 0 z +0 D NULL 0 d 0 w NULL 0 v 0 z NULL 0 s 0 tS NULL 50 t rs diff --git a/phsource/mbrola/sv2 b/phsource/mbrola/sv2 index 0f0e95ce..0e82dade 100644 --- a/phsource/mbrola/sv2 +++ b/phsource/mbrola/sv2 @@ -63,7 +63,7 @@ 0 aU@ NULL 70 A: u0 0 T VWL 0 th 0 T NULL 0 t -0 D NULL 0 z +0 D NULL 0 d 0 w NULL 0 v 0 z NULL 0 s 0 tS NULL 50 t s diff --git a/phsource/ph_german b/phsource/ph_german index 2e20c68e..198ecc00 100755 --- a/phsource/ph_german +++ b/phsource/ph_german @@ -400,6 +400,37 @@ phoneme A~ FMT(vnasal/aa_n4) endphoneme + +phoneme l2 // as [l] but devoice previous phoneme + liquid lengthmod 7 + ChangePhoneme (l) +endphoneme + +phoneme b + vcd alv frc sibilant + IF nextPh(l2) THEN + ChangePhoneme(p) + ENDIF + CALL base/b +endphoneme + +phoneme d + vcd alv stop + IF nextPh(l2) THEN + ChangePhoneme(t) + ENDIF + CALL base/d +endphoneme + +phoneme g + vcd vel stop + IF nextPh(l2) THEN + ChangePhoneme(k) + ENDIF + CALL base/g +endphoneme + + // translate from English to German phonemes equivalents NULL // disable this table 0 O diff --git a/phsource/phonemes b/phsource/phonemes index d0517ce1..284b87df 100644 --- a/phsource/phonemes +++ b/phsource/phonemes @@ -54,7 +54,7 @@ endphoneme phoneme || // End Word pause - lengthmod 1 + lengthmod 9 // no effect endphoneme phoneme _ // Short pause diff --git a/src/dictionary.cpp b/src/dictionary.cpp index 0964ae32..a4e8bf22 100644 --- a/src/dictionary.cpp +++ b/src/dictionary.cpp @@ -536,6 +536,13 @@ static void WritePhMnemonic(char **buf, PHONEME_TAB *ph, PHONEME_LIST *plist) phon_out = *buf; + if(ph->code == phonEND_WORD) + { + // ignore + phon_out[0] = 0; + return; + } + if(option_phonemes == 3) { // has an ipa name been defined for this phoneme ? @@ -2920,6 +2927,7 @@ static const char *LookupDict2(Translator *tr, const char *word, const char *wor const char *word_end; const char *word1; int wflags = 0; + int wflags2; char word_buf[N_WORD_BYTES+1]; if(wtab != NULL) @@ -3014,11 +3022,16 @@ static const char *LookupDict2(Translator *tr, const char *word, const char *wor skipwords = flag - 80; // don't use the contraction if any of the words are emphasized - for(ix=0; ix <= skipwords; ix++) + // or has an embedded command, such as MARK + if(wtab != NULL) { - if(wflags & FLAG_EMPHASIZED2) + for(ix=0; ix <= skipwords; ix++) { - condition_failed = 1; + if(wtab[ix].flags & FLAG_EMPHASIZED2) +// if(((wflags2 = wtab[ix].flags) & FLAG_EMPHASIZED2) || ((ix > 0) && (wflags2 & FLAG_EMBEDDED))) + { + condition_failed = 1; + } } } diff --git a/src/phoneme.h b/src/phoneme.h index 85b11ebd..d834d4b3 100644 --- a/src/phoneme.h +++ b/src/phoneme.h @@ -47,9 +47,7 @@ #define phVOWEL2 0x100 // liquid that is considered a vowel #define phPALATAL 0x200 #define phSINGLE_INSTN 0x1000 // this phoneme has a single instruction program, with an implicit Return -#define phAPPENDPH 0x2000 // always insert another phoneme (link_out) after this one #define phBRKAFTER 0x4000 // [*] add a post-pause -#define phBEFOREPAUSE 0x8000 // replace with the link_out phoneme if the next phoneme is a pause #define phNONSYLLABIC 0x100000 // don't count this vowel as a syllable when finding the stress position #define phLONG 0x200000 @@ -106,14 +104,14 @@ extern const unsigned char pause_phonemes[8]; // 0, vshort, short, pause, long, // main table of phonemes, index by phoneme number (1-254) typedef struct { - unsigned int mnemonic; // 1st char is in the l.s.byte + unsigned int mnemonic; // Up to 4 characters. The first char is in the l.s.byte unsigned int phflags; // bits 16-19 place of articulation - unsigned short program; + unsigned short program; // index into phondata file unsigned char code; // the phoneme number unsigned char type; // phVOWEL, phPAUSE, phSTOP etc unsigned char start_type; unsigned char end_type; - unsigned char std_length; // for vowels, in mS/2; for phSTRESS, the stress/tone type + unsigned char std_length; // for vowels, in mS/2; for phSTRESS phonemes, this is the stress/tone type unsigned char length_mod; // a length_mod group number, used to access length_mod_tab } PHONEME_TAB; diff --git a/src/synth_mbrola.cpp b/src/synth_mbrola.cpp index f3d74ae5..6d1841a9 100644 --- a/src/synth_mbrola.cpp +++ b/src/synth_mbrola.cpp @@ -139,15 +139,18 @@ espeak_ERROR LoadMbrolaTable(const char *mbrola_voice, const char *phtrans, int if(GetFileLength(path) <= 0) { sprintf(path,"/usr/share/mbrola/%s",mbrola_voice); + + if(GetFileLength(path) <= 0) + { + sprintf(path,"/usr/share/mbrola/%s/%s",mbrola_voice,mbrola_voice); + + if(GetFileLength(path) <= 0) + { + sprintf(path,"/usr/share/mbrola/voices/%s",mbrola_voice); + } + } } - if(GetFileLength(path) <= 0) - { - sprintf(path,"/usr/share/mbrola/%s/%s",mbrola_voice,mbrola_voice); - } - if(GetFileLength(path) <= 0) - { - sprintf(path,"/usr/share/mbrola/voices/%s",mbrola_voice); - } + close_MBR(); #endif #ifdef PLATFORM_WINDOWS if(load_MBR() == FALSE) // load mbrola.dll @@ -478,7 +481,8 @@ int MbrolaTranslate(PHONEME_LIST *plist, int n_phonemes, int resume, FILE *f_mbr else len = (80 * speed.wav_factor)/256; - DoMarker(espeakEVENT_PHONEME, (p->sourceix & 0x7ff) + clause_start_char, 0, ph->mnemonic); + if(ph->code != phonEND_WORD) + DoMarker(espeakEVENT_PHONEME, (p->sourceix & 0x7ff) + clause_start_char, 0, ph->mnemonic); ptr += sprintf(ptr,"%s\t",WordToString(name)); @@ -645,12 +649,15 @@ int MbrolaGenerate(PHONEME_LIST *phoneme_list, int *n_ph, int resume) } -int MbrolaFill(int length, int resume) -{//=================================== -// Read audio data from Mbrola (length is in milisecs) +int MbrolaFill(int length, int resume, int amplitude) +{//================================================== +// Read audio data from Mbrola (length is in millisecs) static int n_samples; int req_samples, result; + int ix; + short value16; + int value; if (!resume) n_samples = samplerate * length / 1000; @@ -661,7 +668,20 @@ int MbrolaFill(int length, int resume) result = read_MBR((short *)out_ptr, req_samples); if (result <= 0) return 0; - out_ptr += result*2; + + for(ix=0; ix < result; ix++) + { + value16 = out_ptr[0] + (out_ptr[1] << 8); + value = value16 * amplitude; + value = value / 40; // adjust this constant to give a suitable amplitude for mbrola voices + if(value > 0x7fff) + value = 0x7fff; + if(value < -0x8000) + value = 0x8000; + out_ptr[0] = value; + out_ptr[1] = value >> 8; + out_ptr += 2; + } n_samples -= result; return n_samples ? 1 : 0; } @@ -688,7 +708,7 @@ int MbrolaGenerate(PHONEME_LIST *phoneme_list, int *n_ph, int resume) return(0); } -int MbrolaFill(int length, int resume) +int MbrolaFill(int length, int resume, int amplitude) { return(0); } diff --git a/src/synthdata.cpp b/src/synthdata.cpp index 48ce9956..2bc04739 100644 --- a/src/synthdata.cpp +++ b/src/synthdata.cpp @@ -35,7 +35,7 @@ #include "translate.h" #include "wave.h" -const char *version_string = "1.45.27 19.May.11"; +const char *version_string = "1.45.28 24.May.11"; const int version_phdata = 0x014500; int option_device_number = -1; diff --git a/src/synthesize.cpp b/src/synthesize.cpp index 1ee4c5dc..0bb71d4e 100644 --- a/src/synthesize.cpp +++ b/src/synthesize.cpp @@ -1393,7 +1393,7 @@ int Generate(PHONEME_LIST *phoneme_list, int *n_ph, int resume) // DoMarker(espeakEVENT_END, count_characters, 0, count_sentences); // end of clause if(p->newword & 1) - DoMarker(espeakEVENT_WORD, sourceix, p->sourceix >> 11, clause_start_word + word_count++); + DoMarker(espeakEVENT_WORD, sourceix, p->sourceix >> 11, clause_start_word + word_count++); // NOTE, this count doesn't include multiple-word pronunciations in *_list. eg (of a) } EndAmplitude(); @@ -1401,7 +1401,7 @@ int Generate(PHONEME_LIST *phoneme_list, int *n_ph, int resume) if(p->prepause > 0) DoPause(p->prepause,1); - if(option_phoneme_events && (p->type != phVOWEL)) + if(option_phoneme_events && (p->type != phVOWEL) && (p->ph->code != phonEND_WORD)) { // Note, for vowels, do the phoneme event after the vowel-start DoMarker(espeakEVENT_PHONEME, sourceix, 0, p->ph->mnemonic); diff --git a/src/synthesize.h b/src/synthesize.h index eac934cb..384b0caf 100644 --- a/src/synthesize.h +++ b/src/synthesize.h @@ -553,7 +553,7 @@ espeak_ERROR LoadMbrolaTable(const char *mbrola_voice, const char *phtrans, int void SetParameter(int parameter, int value, int relative); int MbrolaTranslate(PHONEME_LIST *plist, int n_phonemes, int resume, FILE *f_mbrola); int MbrolaGenerate(PHONEME_LIST *phoneme_list, int *n_ph, int resume); -int MbrolaFill(int length, int resume); +int MbrolaFill(int length, int resume, int amplitude); void MbrolaReset(void); void DoEmbedded(int *embix, int sourceix); void DoMarker(int type, int char_posn, int length, int value); diff --git a/src/translate.cpp b/src/translate.cpp index eb129a01..39170a19 100644 --- a/src/translate.cpp +++ b/src/translate.cpp @@ -1672,9 +1672,20 @@ static int TranslateWord2(Translator *tr, char *word, WORD_TAB *wtab, int pre_pa } while((embedded_cmd & 0x80) == 0); } - if(word[0] == 0) + if((word[0] == 0) || (word_flags & FLAG_DELETE_WORD)) { - // nothing to translate + // nothing to translate. Add a dummy phoneme to carry any embedded commands + if(embedded_flag) + { + ph_list2[n_ph_list2].phcode = phonEND_WORD; + ph_list2[n_ph_list2].stresslevel = 0; + ph_list2[n_ph_list2].wordstress = 0; + ph_list2[n_ph_list2].tone_ph = 0; + ph_list2[n_ph_list2].synthflags = embedded_flag; + ph_list2[n_ph_list2].sourceix = 0; + n_ph_list2++; + embedded_flag = 0; + } word_phonemes[0] = 0; return(0); } @@ -3175,6 +3186,7 @@ if((c == '/') && (tr->langopts.testing & 2) && IsDigit09(next_in) && IsAlpha(pre else { pre_pause = 0; + dict_flags = TranslateWord2(tr, word, &words[ix], words[ix].pre_pause, words[ix+1].pre_pause); if(pre_pause > words[ix+1].pre_pause) @@ -3206,7 +3218,12 @@ if((c == '/') && (tr->langopts.testing & 2) && IsDigit09(next_in) && IsAlpha(pre if(dict_flags & FLAG_SKIPWORDS) { - ix += dictionary_skipwords; // dictionary indicates skip next word(s) + // dictionary indicates skip next word(s) + while(dictionary_skipwords > 0) + { + words[ix+dictionary_skipwords].flags |= FLAG_DELETE_WORD; + dictionary_skipwords--; + } } } diff --git a/src/translate.h b/src/translate.h index 7c8b7ee6..9a0f781c 100644 --- a/src/translate.h +++ b/src/translate.h @@ -109,6 +109,7 @@ #define FLAG_COMMA_AFTER 0x20000 // comma after this word #define FLAG_MULTIPLE_SPACES 0x40000 // word is preceded by multiple spaces, newline, or tab #define FLAG_INDIVIDUAL_DIGITS 0x80000 // speak number as individual digits +#define FLAG_DELETE_WORD 0x100000 // don't speak this word, it has been spoken as part of the previous word #define FLAG_SUFFIX_VOWEL 0x08000000 // remember an initial vowel from the suffix #define FLAG_NO_TRACE 0x10000000 // passed to TranslateRules() to suppress dictionary lookup printout diff --git a/src/wavegen.cpp b/src/wavegen.cpp index 56948585..944233fc 100644 --- a/src/wavegen.cpp +++ b/src/wavegen.cpp @@ -1966,7 +1966,7 @@ int WavegenFill2(int fill_zeros) break; case WCMD_MBROLA_DATA: - result = MbrolaFill(length, resume); + result = MbrolaFill(length, resume, (general_amplitude * wvoice->voicing)/64); break; case WCMD_FMT_AMPLITUDE: