diff --git a/dictsource/af_list b/dictsource/af_list index a0a01bd6..8f286f0a 100755 --- a/dictsource/af_list +++ b/dictsource/af_list @@ -1,4 +1,4 @@ -//maintainer: Willem van der Walt +//maintainer: Willem van der Walt // email: wvdwalt@csir.co.za // tel: +27 12 8413996 // Meraka Institute, CSIR @@ -33,6 +33,7 @@ sms'e Es_Em_'Es@ sauk $abbrev st s@nt $dot supt suprEntEnd'Ent $dot +tv te@fe@_ vsa $abbrev // letter names @@ -156,10 +157,9 @@ alaska al'aska algerië alx2'e@re@:@- antwerpen antv&rp@n babilon babilOn -bangladesh baNglad'ES +bangladesj baNglad'ES bastille bast'il bellevue b&lvju: -berlyn $2 bermuda $2 bethlehem bEt_liEm boedapest budapEst @@ -233,8 +233,9 @@ nigel _^_EN outeniekwa @Ut@n'ikwa oxford _^_EN pelindaba p&l@nd'A:ba -portugal $1 +portugal pOrtyx2al potchefstroom pOtSIfstr'o@m +richardsbaai ritS@dsb'AI robertson _^_EN sahara sah'A:ra secunda s@kunda @@ -244,6 +245,7 @@ soshanguve sOSaNg'u:vE soweto suw'E:tu springs _^_EN $capital sunnyside _^_EN +suriname syrin'A:m@ swellendam $3 tokio to@kiu tunisië $2 @@ -292,6 +294,7 @@ cecilia s@si:lia charl SA:l charles _^_EN charlie tSA:li +charmaine SA:m'eI:n chopin S%OpA~ conradie $2 chris krIs @@ -376,9 +379,11 @@ jones _^_EN jordaan $2 josef jo@s@f juanita juan'ita +julia _^_EN kelvin _^_EN kim _^_EN $capital krige krix2@ +labuschagne labWsk'ax2ni langenhoven laN@nho@f@n lasarus lA:s@r%Ws lategan lA:t@x2an @@ -497,7 +502,6 @@ schalkwyk skalkveIk schreiner SraIn@r tony t@Uni trichardt trix2A:rt -xhosa kO:za khumalo kum'A:lu zuma zu:ma @@ -510,6 +514,7 @@ checkers tSEk@rs chrysler kraIsl@r ferrari f@rA:ri martini mart'i:ni +naspers nasp&rs venda vEnda wimpy wImpi @@ -626,7 +631,7 @@ julle $u $verbf hulle $u $verbf hulleself hWl@s&lf $verbf my $u $verbf -jou $u $verbf +jou $u $only $verbf hom $u $verbf haar $u $only $verbf se Es@ $capital @@ -690,10 +695,12 @@ boskaas $2 bostaande b'o@stA:nd@ bourgeois _^_FR bourgeoisie _^_FR +briewemes briv@mEs cabernet kab@rn'eI camembert kam@mb'&:r camouflage kamufl'A:Z +capita kapita casino kas'i:n@U charisma kar'Isma chemikalieë $3 @@ -773,6 +780,7 @@ hokaai hOkAI hoofsaaklik $2 hoogedele ho@x2 _e@d@l@ hosanna hus'ana +hotagter hOt_ax2t@r ibis $1 idee $2 @@ -816,7 +824,6 @@ lord _^_EN macaroni makar'o@ni madame mad'A:m madamoiselle _^_FR -malles mal@s maskering mask'e@r@N $only massaal $2 massale $2 @@ -915,7 +922,7 @@ parkie $1 patos pA:tOs patriotisme patri|ut'Ism@ penorent pEno@rEnt -per pIr +per p@r $only persent p@rsEnt petite p@tit pinotage pinut'A:Z @@ -926,6 +933,7 @@ primate $2 rebelleer r@b@le@r rededele re@d@de@l@ +regie r@Zi: renaissance rEn@s'A~ns retoriek r@tur'ik rimpeling rImp@l@N diff --git a/dictsource/af_rules b/dictsource/af_rules index 9920ddcb..dec639a0 100755 --- a/dictsource/af_rules +++ b/dictsource/af_rules @@ -140,6 +140,7 @@ apart %apart // fix stress: (bus-/klein)apartheid _) a (po %a // apollo/apostel apo (krieC %ap%u // fix stress and vowel sounds: apokrief/-iewe + a (politi %A: // lengthen a sound: apolitiek/apolities/-e apolog (A %ap%Ol%ux2 // fix stress and vowel sounds: apologie/apologeer/-gering/-geties/-getika/-geet/-gete C) ap (oor ap_ // fix stress and a sound: flap-/lap-/pap-/slapoor(hond) C) ap (ore_ ap_ // fix a sound: flap-/lapore @@ -502,6 +503,7 @@ boulevard bul@vard // boulevard/-s _) bowe b''o@v@ // fix e sound in compounds: boweaards/bowemaans/bowetoon _) breda br@dA: // move default stress: (van )Breda/Bredasdorp + _) briewe (C br''iv@ // fix stress and e sound: briewekolom/-literatuur/-redakteur/-tas bril (jant br@l // move default stress: briljant/-e/-heid/-ste bro (mi br%o@ // fix stress: bromide/bromied(papier)/silwerbromide/ied bru (ta br%y // move default stress: brutaal/brutale/brutaliteit @@ -537,6 +539,7 @@ bene (dy b%e@n@ // fix stress and e sounds: gebenedy/-de _) ben (ga b%EN // fix stress and n/g sounds: Bengaalse/Bengale beni (g be@n@ // fix stress and e sound: (swaar/twee/vier)benig, etc. + ber (lyn b%&r // move default stress: Berlyn/-er/-se ber (serk b@r // fix stress and 1st e sound: berserk/-er C) be (rsie b'&: //kombersie etc. bene (r be@n@ //benerig/e @@ -730,6 +733,7 @@ deur (waaid d%Y@r // move default stress: deurwaaid/-e deur (weeC d%y@r // move default stress: deurweef/deurweek/-te deur (winter d%y@r // move default stress: deurwinter/-de + dewe (tK d@vE // fix stress and vowel sounds: Groepsgebiedewet/Dewetsdorp/-hof dia (C d%i%a // diabeet/diafragma/diagnose/dialek/dialoog/diamant diaken d%iA:k@n // diaken and compounds diako (nie d%i%ak%u // fix stress and o sound: diakonie/-ë @@ -789,7 +793,7 @@ detail d'i:teIl detai (lleer d%i:t%eI // fix stress: (ge)detailleer(d/-e) di (ssi d@ // move default stress: dissipel/-s - dissipline d@s@plin@ // fix stress and e sound: dissipline/-s/dissiplinebeleid, etc. + dissipline (K d@s@plin@ // fix stress and e sound: dissipline/-s/dissiplinebeleid, etc. distri (bu d@str@ // distribusie/distribueer and compounds _) dis (t d@s // stress: distrik/-te and compounds/distansie/distinksie/distorsie/distraksie distel dIst@l // restore default stress: distel and compounds @@ -1055,7 +1059,7 @@ eind (eks eInt_ // fix d sound and make short pause: eindeksamen/-s and compounds sirk) e (l @ // compounds: sirkelgang/sirkelvormig nk) e (lC @ // onwankelbaar/skenkelbeen/sprinkelbesproeiing/kinkeldraai/kronkelpad/seunsenkelspel - u) ele (K+ 'e@l@ // words ending in uele take stress on penultimate slb + Cu) ele (K+ 'e@l@ // words ending in uele take stress on penultimate slb _) erde (C &rd@ // fix connecting e in compounds: erdekruik/-ware and similar _) ere e@r@ // ereamp/erediens/ererol/erevoorsitter ere (ksiA %e@rE // fix stress and e sounds: ereksie/ereksionele @@ -1251,8 +1255,6 @@ &) etjie (+ ici Cn) etjies Eicis // kraaknetjies/hipernetjies nn) etjies icis // kannetjies/mannetjies/pennetjies, etc. - &) elik (_S4 @l@k - &) elike (_S5 @l@k@ // to go with suffixes elik/elikheid &) elikheid (_S8 @l@keIt // vriendelikheid/duidelikheid epi (deC %Ep%i // epidemie/-s/-e/epidermies/epidermis @@ -1352,7 +1354,7 @@ ar) e (sse_ 'E // bibliotekaresse/sekretaresse Ks) e (na @ //senator and friends/watsenaam p) e (talje @ // fix stress and 1st e sound: petalje and compounds - interpr) e (teer @' //stress and e sound interpreteer + interpr) e (tA @' //stress and e sound interpreteer/interpretasie _) e (ks %E //move default stress in words starting with eks _C) e (on_ 'i //Leon, Deon etc. @C) e (oor @_ // fix e sound: boekbeoordelaar/klasseoorheersing/tarieweoorlog/waardeoordeel @@ -1584,6 +1586,7 @@ gewe (_ x2'e@v@ // begewe/gegewe @) gewende (_ x2'e@v@nd@ @) gewend (_ x2'e@v@nt // insiggewend/deurslaggewend/liggewend + @) gewend (ste x2'e@v@nt // fix stress and e sound: toonaangewendste and similar gewel (d x2@v&l //geweld/ig/gewelddadig gewel (f x2@v&l //gewelf/boog gewel (w x2@v'&l //gewelwe @@ -1898,7 +1901,7 @@ &C) ikend @k@nt // grinnikend/runnikend/sanikend &C) ikende @k@nd@ // grinnikende/runnikende/sanikende ingenieur @nx2@n'y@r - insurgen (s @ns%Wrx2En // fix stress and e sound: (teen)insurgensie and compounds + insurgen (C @ns%Wrx2En // fix stress and e sound: (teen)insurgensie and compounds/insurgent/-e inten (s @ntEn // move default stress in (tussen @n // move default stress _) iri (s ir@ // restore stress on 1st slb.: iris/-se @@ -1974,6 +1977,7 @@ jag (ing jA:x2 // long a in (ver)jaging and similar jaguar jagwar // fix a, g and u sounds: jaguar and compounds _) ja (CobA j%a // fix stress and a sound: Jacoba/Jacobus/Jakobus + jacaranda j%ak%ar'anda //jacaranda and compounds jakaranda j%ak%ar'anda //jakaranda and compounds jakopewer j%ak%Ope@v@r_ // fix stress and vowel sounds: jakopewer/-oë jaloe (sie j%al%u // stress: jaloesie/beroepsjaloesie @@ -2148,6 +2152,7 @@ kanfer kA~nf@r_ // fix e sound: kanferboom/-bos/-hout/-olie, etc. kanfer (foel k%A~nf@r // move default stress: kanferfoelie and compounds kanni (ba k%an%i // move default stress: kannibaal/kannibale/kannibalisme + @) ka (non k%a // shorten a sound in compounds like waterkanon/-ne _) kano (vaar k%ano@ // fix stress and vowel sounds: kanovaarder/vaart, etc. kano (_ k%ano@ // fix last o sound: (opblaas)kano/-'s kan (tien k%an // move default stress: kantien and compounds @@ -2429,12 +2434,14 @@ makaber m%akA:b@r // fix stress and vowel sounds: makaber/-e/-heid maka (paan m%ak%a // fix stress and a sounds: Makapaan/-s/-grot and compounds @) makie (sie mak'i // fix a sound and stress: bol(le)makiesie/-slanery + ma (kietie m%a // fix stress and a sound: makietie and compounds: verjaardagmakietie/-s @) makranka makr'anka // fix stress and vowel sounds: koek(e)makranka/-s ma (kriel m%a // move default stress: makriel/-e maksi (ma@ m%aks%i // move default stress: maksimaal/-male &) mal (_S3 mal malaria mal'A:ria mal (gas m%al // move default stress: Malgas/-se/-sies + malles (_ mal@s // fix e sound: (mags)malles and similar _) malte (sA m%alte@ // move default stress and fix e sound: maltese/maltesies mam (poer m%am // move default stress: mampoer and compounds man (da m%an //mandaat and compounds @@ -2483,8 +2490,9 @@ CA) mme (C m@ CA) mme (tjie mi // lemmetjie/stemmetjie and similar middagete m'Idax2_e@t@ // middagete/s - middel mId@l // middellyf/middelpunt/middelste/bemiddelend + midde (l mId@ // middellyf/middelpunt/middelste/bemiddelend middel (jari m@d@l // move default stress: middeljarig and derivatives + middelli (k mId@l@ // drop one l: (on)middellik/-e milit m@l@t // militêr/militaris mil (jA m@l // move default stress: miljoen/-e/miljard/-e mille (nniA m@lE // millennium/millennia @@ -2731,6 +2739,7 @@ n (_n //cause one n sound kan nie doen nie etc. n (_n_ n // fix n in phrases like: afkappingsteken n neer (drukk n%e@r // move default stress: neerdrukkend/-e + _) neerge (C@P6 n''e@rx2@ // fix e sound: neergepen/neergetel neer (halend n%e@r // move default stress: neerhalend/-e @) nees (_ n'e@s // fix stress: Soedanees and similar &) nele (_ n'e@l@ @@ -3686,8 +3695,10 @@ seku (l s%Ek%y // sekulër/sekulariseer sekwe (strA s%Ekw@ // fix e sounds: sekwestrasie/sekwestreer and compounds bloed) se (l s& // fix e sound: (wit)bloedsel(le)(telling and similar compounds + braille) se (l s& // fix e sound: braillesel/-le heuning) se (lK s& // fix e sound: heuningsel/-le liggaam) se (lK s& // fix e sound: liggaamsel/-le + stam) se (l s& // fix e sound: stamsel/-le/stamselnavorsing, etc. sela (kant s%e@l@ // fix stress and vowel sounds: selakant/-e selder (y s%&ld@r // move default stress: seldery and compounds &) sele (_ s'e@l@ @@ -3704,6 +3715,7 @@ _) seme (Ct s@mE // sementtafel/blad/vierkant/semester/-s _) semi (_ sEmi // fix e sound: semi/semi-formeel, etc. semi (na s%Em%i // seminaar/seminare/seminarium + _) semi (C sEmi // fix vowel sounds: semistaatsinstellings and similar sening se@n@N // sening/haaksening/heupsening _) se (ni@ s@ // fix stress and e sound: seniel/-e/seniliteit @@ -3736,6 +3748,8 @@ skaker (ing sk%ake@r // skakering/-s/kleurskakering skan (da sk%an // move default stress: skandaal/skandale/skandalig and compounds skande (ring sk%ande@ // fix stress and e sound: (brein)skandering and similar compounds + @) skap (in@ skap_ // shorten a sound, pause: leierskapinstituut and similar + @) skap (o skap_ // shorten a sound: entrepreneur-/leierskapontwikkeling/wetenskaponderrig/-onderwyser, etc. _) skar (C sk%ar // move default stress: skarlaken/skarminkel/skarnier and many compounds skarrel skar@l // restore default stress: (ge)skarrel/-ing ska (vot sk%a // fix stress and a sound: skavot and compounds @@ -3859,6 +3873,7 @@ nd) ste (r st& // fix e sound: aandster/oggendster pool) ste (r st& // fix e sound: poolster see) ste (r st& // fix e sound: seester/-re/seesterpunte and similar compounds + sepie) ste (r st& // fix e sound: sepiester/-re sewe) ste (r st& // fix e sound: sewester and compounds visie) ste (r st& // fix e sound: televisiester/-re _) ste (ri st%E // fix stress and e sound: steriel/-e/steriliteit @@ -4155,6 +4170,7 @@ teleks t&lEks // fix stress and vowel sounds: teleks and compounds _) teler te@l@r // fix stress and vowel sounds: teler/-s/-y/-svereniging, etc. ten (der tEn // fix e sound in compounds: regeringstenders and similar + @) ten (derwyK t@n // fix e sound: spottenderwys/-e/uitsluitenderwys/-e/verkortenderwys/-e @C) te (nk t& ++ //tenk and friends _) te (no t@ //tenoor, tenore etc. @C) te (C t@ /// @@ -4240,7 +4256,7 @@ &) tert (r t@rt // fix e sound: pleistertroffel/venstertralie/ystertralies/ystertrap &s) tert (aan t&:rt // fix e sound: swa(w)elstertaandpak/-ke &s) tert (e_ t&:rt // fix e sound: swa(w)elsterte/vissterte - wa) tert t@rt + wa) ter (t t@r // fix last e sound: watertekort and similar &) tert t&rt &) tertjie t@rki @) ter (tyd t@r // mettertyd/pinkstertyd/toentertyd @@ -4325,6 +4341,7 @@ _b) us (A ''Ws_ //busongeluk/-operateur/-uitstappie, etc. utjie Yyci univers (A@ %yn%iv%&rs // universiteit and compounds/universeel/-ele + C) untjie YyNci // muntjie/puntjie/-s C) uwelik yv@l@k // gruwelik/huwelik/afskuwelik m) u (skiet %W //change stress for muskiet compounds n) uwe (C yv@ // nuwelinge/nuwemaan @@ -4744,6 +4761,7 @@ x ks x (x xen (o z%En // xeno-/fiel/-filie/-fobie/-fobies/-e + xhosa k''O:sa // (ama)Xhosa/-s; xh click does not yet work .group y y eI @@ -4757,6 +4775,45 @@ zambesi z%ambe@s%i // fix stress and e sound: Zambesi(rivier) zebra ze@bra // fix vowel sounds: zebra/-strepe +.group 0xce // Greek letters +// 0xce is the first byte of the utf-8 code for these characters + + α 'alfa_ + ά 'alfa_ + β b'e@ta_ + γ g'ama_ + δ d'<a_ + ε 'EpsilOn_ + έ 'EpsilOn_ + ζ z'e@ta_ + η 'e@ta_ + ή 'e@ta_ + θ T'e@ta_ + ι i'o@ta_ + ί i'o@ta_ + κ k'apa_ + λ l'ambda_ + μ m'y:_ + ν n'y:_ + ξ ks'i_ + ο 'OmikrOn_ + +.group 0xcf // Greek letters + + π p'i_ + ρ r'o@_ + σ s'igma_ + ς s'igma_ + τ t'aU_ + υ 'upsilOn_ + ύ 'upsilOn_ + φ f'i_ + χ x'i_ + ψ ps'i_ + ω o@m'e@x2a_ + ώ o@m'e@x2a_ + ό 'OmikrOn_ + .group @) 's (S2 s // plurals of wrds ending in vowels: crescendo's/innuendo's/okapi's, etc. @) 'tjie %ici // foto'tjie/ma'tjie, etc. diff --git a/dictsource/dict_phonemes b/dictsource/dict_phonemes index 2d247c10..e20a436d 100644 --- a/dictsource/dict_phonemes +++ b/dictsource/dict_phonemes @@ -30,13 +30,13 @@ t. t.h th tS x z Dictionary ca_dict -@ a a# aI e E i o -O u U +@ a a# aI e E E2 i +o O u U -* ** : b B d D dZ; -f g j J J^ k l l^ -m n N n^ p Q r R -R2 s S; t T tS ts tS; +* ** : ; b B d D +dZ; f g j J J^ k l +l^ m n N n^ p Q r +R R2 s S; t T ts tS; v v# w z Z Z; @@ -181,9 +181,9 @@ E e e: i I i: l- O o o: oU r* r- u U u: * ; b d dZ dZ; f g -h j k l L l^ m n -N n^ p r R R2 s S -t tS ts tS; v x z Z +h j k l l^ m n N +n^ p r R R2 s S t +tS ts tS; v x z Z Dictionary hi_dict @@ -218,8 +218,8 @@ Dictionary hy_dict u W y ** b d dZ f g h j -k l m n p R3 s S -t tS ts v x z Z +k l m n p R R3 s +S t tS ts v x z Z Dictionary id_dict @@ -485,10 +485,10 @@ Dictionary sq_dict eI i I I# O OI u V y yE -** b c d D dZ f g -h j J k l ll m n -n^ p r R R2 s S t -T tS ts v w z Z +** b c d D dZ dZ; f +g h j k l L ll m +n n^ p r R R2 s S +t T tS ts v w z Z Dictionary sv_dict @@ -555,8 +555,8 @@ i i. i[ iA iE io iou N- o o- ou u u@ ua uai uei uo y y& y@ yE yi yu -(u) ; C f h j k kh -l m n N p ph q r +; C f h j k kh l +L m n N p ph r R s s. S; t th ts ts. ts. tS; tS; tsh v w x X z. diff --git a/dictsource/en_list b/dictsource/en_list index 91061044..dca72b7e 100644 --- a/dictsource/en_list +++ b/dictsource/en_list @@ -672,7 +672,7 @@ breakfast brEkf@st breath brET $onlys breath bri:D $verb $onlys brethren brEDr@n -bridesmaid braIdzmeId +bridal braId@L brigade $2 brigadier brIga2d'i@3 brochure broUS3 @@ -1157,7 +1157,6 @@ havoc hav@k hasty heIstI hatred heItrI2d hazardous haz3d@s -hedgehog hEdZh0g hehe hi:h'i: heifer hEf@ helium hi:li@m @@ -1284,6 +1283,7 @@ japan dZ@pan jasmine dZazmIn jesus dZi:z@s joky dZoUkI +jukebox dZu:kb0ks july dZu:l'aI kaput ka2pUt @@ -1352,6 +1352,7 @@ looser lu:z3 lorenz l0r@nts los ,l0s $only losing lu:zI2N // misspell +lukewarm lu:kwO@m lullaby lVl@baI lunatic lu:n@tIk @@ -1712,6 +1713,7 @@ rainforest r'eInf,0rI2st rajah rA:dZA: rapier reIpi@3 rapport rap'o@ +rarity re@r@tI rascal raask@L ratatouille rat@t'u:I ?!3 rather rA:D3 @@ -1863,7 +1865,10 @@ segue sEgweI separate sEp@-r@t separate sEp3reIt $verb semen si:m@n +semibreve $1 +semicircle $1 semicolon sEmIk'oUl@n +semitone $1 senator sEn@t3 sens sEns // for sensible sentient sEnti@nt @@ -2018,6 +2023,7 @@ tiny taInI tirade taIr'eId tis tIz titan taIt@n +toboggan t@b0g@n today t@deI todo t@du: tombola t0mb'oUl@ @@ -2043,6 +2049,7 @@ trilogy trIl@dZI trio tri:oU trojan troUdZ@n trophy troUfI +troubadour tru:b@do@ truely tru:lI2 $verbf truest tru:@st tryst trIst @@ -2558,6 +2565,7 @@ Seamus SeIm@s Sean SO:n Sebastian $2 Sheila Si:l@ +Sinead SI2neId Sonia s0nj@ Sophie soUfI Stephen sti:v@n @@ -2928,6 +2936,7 @@ whilst waIlst $pause just $verbf never $verbf now $verbf +now naU $verbf $allcaps soon $verbf still $verbf already O:lr,EdI $verbf $strend2 diff --git a/dictsource/en_rules b/dictsource/en_rules index 471bbdc3..8eb0bce6 100644 --- a/dictsource/en_rules +++ b/dictsource/en_rules @@ -615,7 +615,7 @@ &) am (o_ @m &d) am (_ @m @erd) am (_ am - &h) am (_ @m +?!3 &h) am (_N @m &s) am (_ @m @r) am (a 'A:m _) am (al a2m @@ -733,6 +733,8 @@ m) anoeu (v @nu: _qu) an 0n _w) an 0n + _w) an (g an + _w) an (k an _tr) an (s %an tr) ansfer %ansf3: tr) an (si an @@ -1882,6 +1884,7 @@ @) ed (ien 'i:d m) ed (io i:d m) ed (iu i:d + edg (e# EdZ @m) ediate i:dI2@t cr) edib EdIb @dr) ed (_ Id @@ -1980,6 +1983,8 @@ em (uls I2m h) em (o i:m h) emorrh Em@r + sph) em @m + sph) em (e 'i:m .group en _) en (@ %En @@ -2175,7 +2180,7 @@ er (ent_ r adh) er (e 'i@3 coh) er (e 'i@3 - h) er (ed I2r + _h) er (ed I2r c) ere (mon ErI2 h) er (en i@r st) ereo ErI2oU @@ -2456,8 +2461,6 @@ h (h h (_ _B) h - &) ham (_ @m -?3 &) ham (_ ham @) hammed h'amId A) han (_ h'an // places ha (st heI @@ -2564,9 +2567,7 @@ br) i (dl aI _s) i (dl aI f) i (del I2 - br) i (dA aI br) i (dg I - ybr) i (d I _s) i (der aI i (der_+ aI @) i (do_ 'i: @@ -4489,6 +4490,8 @@ secur sI2kjU@ self (_ 'sElf selves (_ 'sElvz + _) semi (@@P4 s,EmI2 + _) semin sEmIn sh S _mi) s (h s @) s (head_ s @@ -4675,10 +4678,12 @@ theless D@l'Es theque tEk ther (_ D3 + ther (er D3 th (erC D there (_ D3 // thering th (est D - n) th (er T + ea) th (er D + n) th (er+ T therap TEr@p th (erm T ca) th (eri T diff --git a/dictsource/eo_list b/dictsource/eo_list index b4c683cd..14158cfc 100644 --- a/dictsource/eo_list +++ b/dictsource/eo_list @@ -30,16 +30,27 @@ _0M4 duili'ono _dpt _komo_ // accent names -_acu dekst@-*akoRno -_brv hoko -_cir tsiRkumflekso -_dia dupunktasupeRsigno -_grv maldekst@-*akoRno -_tld tildo +_lig ligat'uRa +_acu dekst@-*ak'oRna +_ac2 duoblak'oRna +_brv h'oka +_ced tsed'ila +_cir tsiRkumfl'eksa +_dia dupunkta +_dot p'unkta +_grv maldekst@-*ak'oRna +_hac hatS'eka +_mcn st@-*'ia +_ogo subh'oka +_rng R'inga +_stk st@-*eka +_tld t'ilda +_cap maI,uskla +_?? lit,eRo +_#9 t'abo +_#32 sp'atso - -_?? liteRo _. punkto _: dupunkto _; punktokomo @@ -59,16 +70,16 @@ __ subst@-*eko | duktosigno * asteRisko © kopiRaIto -_( Rondak@-*'ampo -_) feRm'itaRondak@-*'ampo -_[ Rektak@-*'ampo +_( R'ondak@-*'ampo +_) f'eRmaRondak@-*'ampo +_[ R'ektak@-*'ampo _] f'eRmaRektak@-*'ampo -_{ k'u@-*bak@-*'ampo -_} f'eRmaku@-*bak@-*'ampo +_{ k'uRbak@-*'ampo +_} f'eRmakuRbak@-*'ampo _< angulk@-*'ampo _> f'eRmaangulk@-*'ampo -_« du'oblaangulk@-*'ampo -_» f'eRmadu,oblaangulk@-*'ampo +_« du'oblak@-*'ampo +_» f'eRmadu,oblak@-*'ampo v vo // not Roman numbers @@ -83,6 +94,7 @@ anst anstataU $dot bea $abbrev bv bon,volu% ekz ekzemple $dot +(ekz-e) ekzemple i.a 'i'a k.a kaIal'iaI k.c kaItset'eRe @@ -148,6 +160,8 @@ je $u $brk kun $u+ $pause laŭ $u+ $brk per $u+ $brk +(pere de) pe@-*e%d'e $u+ $brk +(fare de) fa@-*e%d'e $u+ $brk preter $u+ $brk pri $u+ $pause por $u+ $pause diff --git a/dictsource/es_list b/dictsource/es_list index 369ff273..2c7fe42d 100644 --- a/dictsource/es_list +++ b/dictsource/es_list @@ -7,8 +7,6 @@ _cap m'aJ^us // should be "mayúscula" after the letter? _?? s'imbOlo _#32 Esp'aTjo -// NOTE: Some of these pronunciations may still be in -// Spanish, and need to be changed. // accent names _lig liQaD'u**a @@ -38,15 +36,11 @@ _! TE*R'aRaDmi**aTj'On _? TE*R'aRintE*R,oQaTj'On _¡ aB**'iRaDmi**aTj'On _¿ aB**'iRintE*R,oQaTj'On -_= iQw'al _< men'ORke _> maJ^'ORke _' apOst**'ofo _" kom'iJ^as _+ s'iQnOdesum'aR -_$ dolar -_# almoaD'iJ^a -_* aste*'isko _- gJ^On __ suB**aJ^'aDo _/ ba*Ra @@ -61,9 +55,15 @@ _} Tj,E*RaJ^'aBe _« kom'iJ^as||iTkJ^'ERDas _» kom'iJ^as||dE**'EtSas += iQw'al $max3 ++ m'as $max3 +# almOaD'iJ^a $max3 +* astE*'isko $max3 +. punto $max3 + ^ TiRkumfl'exo € eU**o -% pOrTj'Ento +% pOrTj'Ento $max3 & ampERs'ant @ a*R'oBa / ba*Ra diff --git a/dictsource/es_rules b/dictsource/es_rules index d4cff207..e63e51b9 100644 --- a/dictsource/es_rules +++ b/dictsource/es_rules @@ -214,25 +214,8 @@ $ d'Olar - + m'as - _) ++ (_ masm'as - \+\+\+) + // ignore + after the first 3 - - # almOaD'iJ^a - \#) # - - __) - (_D m'EnOs + _) - (_D m'EnOs A_) - (_D _ C_) - (_D _ - --) - - - * astE*'isko - *) * (* - ** - **) * (_ _:: - - . punto - . (. _: - \.) . , (D kOma diff --git a/dictsource/fr_list b/dictsource/fr_list index bf32cc3a..565b44fb 100755 --- a/dictsource/fr_list +++ b/dictsource/fr_list @@ -24,7 +24,7 @@ // 2006-11-18 Gilles Casse // -// Updated 2008-12-03 Michel Such +// Updated 2008-12-09 Michel Such // // * Numbers, a few abbreviations and exceptions. // @@ -762,7 +762,6 @@ sun _^_en (text aloud) tEkst||@la=wd ubuntu ubuntu up _^_en -yacht jO2t yes _^_en diff --git a/dictsource/fr_rules b/dictsource/fr_rules index 4cc49119..83162485 100755 --- a/dictsource/fr_rules +++ b/dictsource/fr_rules @@ -23,7 +23,7 @@ // 2006-11-18 Gilles Casse // -// Updated: 2008-11-28 Michel Such +// Updated: 2008-12-09 Michel Such // // Letter classes: @@ -964,14 +964,15 @@ C) oing (_ _^_en // going .group q q k // coq _) qu' (AP3 k - _a) qu (a kw // aquarium - _a) qu (if kw // aquifère - _A) qu (idist ky // équidistant - _A) qu (ilat ky // équilatéral - _C) qu (a kw // squale square - _A) qu (a kw // équateur - dé) qu (a kw // adequate - _) qu (artz kw // quartz + _) qua (d kwA // quadrature + _a) qua kwA // aquarium + _a) qu (if ku // aquifère + _A) qui (dist kw^i // équidistant + _A) qui (lat kw^i // équilatéral + _C) qua kwA // squale square + _A) qua kwA // équateur + dé) qua kwA // adequate + _) qua (rtz kwA // quartz qu k // quatre _) que (_ k@ // que n) q (_ k // cinq cent @@ -1318,6 +1319,7 @@ Vn) t (_ t2 .group y y i // cryogénique myope _) y (A j // yak, yacht + _) yacht _^_en // yacht, yachtman _) y (eu i // yeux _) yahoo (P5 ia'u diff --git a/dictsource/hbs_list b/dictsource/hbs_list index e6238483..ed3268a9 100644 --- a/dictsource/hbs_list +++ b/dictsource/hbs_list @@ -218,7 +218,7 @@ _tld t'ild& ?2 _0M1 h'il^,&d& ?2 _0MA1 h'il^,&de ?2 _1M1 h'il^,&dU -?2 _1MA1 jedn&||hiL&d& +?2 _1MA1 jedn&||hil^&d& ?3 _0M1 h'il^ad& ?3 _0MA1 h'il^ade ?3 _1M1 h'il^adU diff --git a/phsource/compile_report b/phsource/compile_report index 9ff8943a..6df9afc7 100644 --- a/phsource/compile_report +++ b/phsource/compile_report @@ -20,7 +20,7 @@ hi 59 148 ta 17 151 hu 23 119 - lv 28 125 + lv 29 126 nl 28 126 pl 19 116 sk 28 134 @@ -33,7 +33,7 @@ la 21 121 es 9 123 es_la 1 123 - ca 9 124 + ca 11 125 pt 28 139 pt_pt 20 139 ro 36 146 @@ -52,7 +52,7 @@ rw 15 129 ko 18 158 da 15 133 - sq 31 127 + sq 35 130 ml 13 150 kn 15 150 bn 59 153 @@ -117,6 +117,7 @@ d/d [d] base [d] el [d] sw [d] id + [d] sq [d] bn [d.] bn [d`] om @@ -138,6 +139,7 @@ d/d_ [d] base [d] el [d] sw [d] id + [d] sq [d] bn [d.] bn [d`] om @@ -161,6 +163,7 @@ d/dr [*] base [d] el [d] sw [d] id + [d] sq [d] bn [d.] bn [d[] ga @@ -186,6 +189,7 @@ d/xd [d] base [d] el [d] sw [d] id + [d] sq [d] bn [d.] bn [d[] ga @@ -631,7 +635,8 @@ l/l_e [(e)] base [(e)] en_klatt l/L_eL_af [&] af [&:] af -l/l_front [l] sq +l/l_front [L] sq +l/l_front_ [l/4] sq l/li [(i)] base [i] fr [i:] fr @@ -647,7 +652,7 @@ l/l_long [l] base [l] fr [l] la [l;] ro - [l] sq + [L] sq l/lo [(o)] base [O] fr [o] fr @@ -661,7 +666,6 @@ l/l_o [(o)] base [o2] fr [(o)] en_klatt l^/l_rfx [l.] hi - [l.] sq [l.] bn l/lu [(u)] base [u] fr @@ -687,7 +691,7 @@ l/tl [l] base [l] ca [l] pt [l;] ro - [l] sq + [L] sq l/xl [(@)] base [(a)] base [(e)] base @@ -828,6 +832,7 @@ r3/r_trill.wav [R2] base r3/r_u [(u)] base [(u)] en_klatt r3/r_uvl [r"] base +r3/r_uvl.wav [r"] base r3/rx [*] base [r/] base [r/] af @@ -914,6 +919,7 @@ r/xr [(@)] base [o2] fr [i:] fr [u:] fr + [wA] fr [A~] fr ufric/ch [C] base [J^] base @@ -1184,7 +1190,7 @@ ustop/t_ [t] base [t] sk [t] el [th] zh - [t2] sq + [t3] sq [t.] bn [t.h] bn ustop/t_dnt [t] base @@ -1203,11 +1209,15 @@ ustop/t_dnt [t] base [t[] vi [t] sw [t`] ko + [t5] sq [t] bn [t[] ga ustop/t_dnt2 [t[] vi ustop/t_ejc [t`] om +ustop/t_hard [t2] sq +ustop/t_hard_ [t2] sq ustop/t_hi [t] hi + [t5] sq [t] bn [th] bn ustop/t_pzd [t;] pl @@ -1253,7 +1263,7 @@ ustop/t_short [t] fr [t] lv [t] sk [t] el - [t2] sq + [t3] sq [t.] bn ustop/tsh_pzd [tS;] zh ustop/tsh_pzd_unasp [tS;] zh @@ -1275,6 +1285,7 @@ ustop/ts_pzd3 [tS;] hr [dZ;] hr ustop/t_sr [d] sr [t] sr + [t4] sq ustop/ts_rfx [ts.] zh ustop/ts_rfx_unasp [ts.] zh ustop/ts_sr [tS;] sr @@ -1297,6 +1308,7 @@ vdiph2/ei_2 [eI] en_rp vdiph2/ei_3 [i:] en_wm vdiph2/ei_4 [eI] en_us [ei] zh + [eI] sq vdiph2/eo [eo] ro vdiph2/e[u [e[u] ro vdiph2/i@ [i@] en_n @@ -1439,7 +1451,6 @@ vdiph/ei [eI] base2 [eI] is [eI] vi [ei] zhy - [eI] sq vdiph/eu [eU] base2 [eU] en [eU] cy @@ -1742,7 +1753,6 @@ vowel/a [a] en [aa] en_wm [a] cy [a] de - [A] fr [a] ta [a:] hu [a:] nl @@ -1772,7 +1782,6 @@ vowel/a_2 [a] base2 [A@] en_wi [aa] en_wi [a] eo - [a] ca [A] pt [a] pt_pt [a] ro @@ -1824,6 +1833,7 @@ vowel/a_5 [a:] ta [A] om vowel/a_6 [a] fr [a2] fr + [a] ca [a:] vi vowel/aa [a] fi [A] fr_ca @@ -1859,6 +1869,7 @@ vowel/aa_8 [0] en_us vowel/aa_9 [a:] hi [a:] bn [a] ne +vowel/a_en [A] fr vowel/@_bck [@] hi [@/] hi [@] zh @@ -1954,6 +1965,7 @@ vowel/e_mid [E] en_rp [E] it [E] es [E] ca + [E2] ca [E] pt_pt [E] no [E] is @@ -2096,12 +2108,12 @@ vowel/ii#_3 [I2] en_us vowel/ii_4 [I] en [I2] en [I] en_us -vowel/ii_5 [I] en_wi - [I2] en_wi - [I] la +vowel/ii_5 [I] la [i] zh vowel/ii_6 [I] en_wm [I2] en_wm + [I] en_wi + [I2] en_wi [I] sr [I] pt [y] pt @@ -2306,6 +2318,7 @@ vowel/u_bck [u] base2 [u] hr [U] it [u] it + [u] ca [u] pt [u:] sv [u:] no @@ -2360,6 +2373,7 @@ vowel/V_3 [V] en_rp vowel/V_4 [V] en_sc [V] da vowel/V_6 [V] en_us + [a#] lv vowel/y [y:] en [y:] de [y] fi @@ -2456,7 +2470,6 @@ vwl_fr/@R3 [R] fr [r] fr [Q2] hy vwl_fr/@R4 [R] fr - [r] fr [r2] fr [Q2] hy vwl_fr/@R5 [r] fr @@ -2581,6 +2594,7 @@ x/d [d] base [d] el [d] is [d] id + [d] sq [d.] bn [d`] om [d] en_klatt @@ -2600,6 +2614,7 @@ x/d_ [d] base [d] is [d] sw [d] id + [d] sq [d] bn [d.] bn [d`] om diff --git a/phsource/l^/l^ b/phsource/l^/l^ index c31dcd3d..6328d4ca 100644 Binary files a/phsource/l^/l^ and b/phsource/l^/l^ differ diff --git a/phsource/ph_catalan b/phsource/ph_catalan index 94ab0cc8..2378de2b 100644 --- a/phsource/ph_catalan +++ b/phsource/ph_catalan @@ -6,7 +6,7 @@ phoneme a vowel starttype (a) endtype (a) length 180 - formants vowel/a_2 + formants vowel/a_6 reduceto a# 2 endphoneme @@ -31,6 +31,12 @@ phoneme E reduceto @ 2 endphoneme +phoneme E2 // don't reduce + vowel starttype (e) endtype (e) + length 180 + formants vowel/e_mid +endphoneme + phoneme O vowel starttype (o) endtype (o) length 170 @@ -52,6 +58,13 @@ phoneme U unstressed endphoneme +phoneme u + vowel starttype (u) endtype (u) + length 160 + formants vowel/u_bck + reduceto U 2 +endphoneme + phoneme l diff --git a/phsource/ph_english_us b/phsource/ph_english_us index 03c65130..dbe8cb48 100644 --- a/phsource/ph_english_us +++ b/phsource/ph_english_us @@ -22,7 +22,7 @@ phoneme @ // Schwa length 130 endphoneme -phoneme @/ // Schwa, ebd of word +phoneme @/ // Schwa, end of word vowel starttype (@) endtype (@) formants vowel/@_6 unstressed diff --git a/phsource/ph_english_wi b/phsource/ph_english_wi index ad319a41..9071e2cb 100644 --- a/phsource/ph_english_wi +++ b/phsource/ph_english_wi @@ -40,7 +40,7 @@ endphoneme phoneme I vowel starttype (i) endtype (i) length 140 - formants vowel/ii_5 + formants vowel/ii_6 linkout ; endphoneme @@ -48,7 +48,7 @@ phoneme I2 vowel starttype (i) endtype (i) unstressed length 140 - formants vowel/ii_5 + formants vowel/ii_6 linkout ; endphoneme diff --git a/phsource/ph_french b/phsource/ph_french index 7166b15d..d6613c5f 100644 --- a/phsource/ph_french +++ b/phsource/ph_french @@ -212,6 +212,7 @@ phoneme wA formants vwl_fr/w_a after l l/lo-10 before l/ DFT-10+l/l_a + before (r) DFT+r/xr before r/2 DFT+vwl_fr/r_a endphoneme @@ -289,7 +290,7 @@ endphoneme phoneme A // same as [a] vowel starttype (a) endtype (a) length 166 - formants vowel/a + formants vowel/a_en endphoneme @@ -418,15 +419,15 @@ endphoneme phoneme r liquid rfx starttype (r) endtype (r) - vowelin f1=0 f2=1600 -300 300 f3=-200 80 - vowelout f1=2 f2=1600 -300 300 f3=-200 80 brk + vowelin f1=0 f2=1600 -300 300 f3=100 80 + vowelout f1=1 f2=1600 -300 300 f3=100 80 brk length 100 lengthmod 7 beforenotvowel r/2 formants vwl_fr/@R3+r3/rx%30 after @2 vwl_fr/@R5+r3/rx%40 after (u) vwl_fr/@R5+r3/rx%30 - after (e) vwl_fr/@R4+r3/rx%20 + after (e) vwl_fr/@R5+r3/rx%25 endphoneme @@ -437,13 +438,13 @@ phoneme r2 // silent unless followed by vowel length 100 lengthmod 7 beforenotvowel NULL - formants vwl_fr/@R4+r3/rx%15 + formants vwl_fr/@R4+r3/rx%20 endphoneme phoneme R // After consonnants vcd frc - vowelin f1=0 f2=1600 -300 300 f3=-200 80 + vowelin f1=0 f2=1600 -300 300 f3=100 80 length 100 lengthmod 7 beforenotvowel r/2 @@ -454,7 +455,7 @@ endphoneme phoneme r/2 // variant of [r] when not preceding a vowel liquid - vowelout f1=2 f2=1600 -300 300 f3=-200 80 brk + vowelout f1=2 f2=1600 -300 300 f3=100 80 brk length 100 lengthmod 2 formants r3/r_2+r3/rx%20 diff --git a/phsource/ph_latvian b/phsource/ph_latvian index 5c7d8df7..b8e713d4 100644 --- a/phsource/ph_latvian +++ b/phsource/ph_latvian @@ -50,6 +50,7 @@ phoneme a vowel starttype (a) endtype (a) length 120 formants vowel/aa + reduceto a# 0 endphoneme phoneme a: @@ -58,6 +59,11 @@ phoneme a: formants vowel/aa endphoneme +phoneme a# + vowel starttype (a) endtype (a) + length 120 + formants vowel/V_6 +endphoneme phoneme o vowel starttype (o) endtype (o) diff --git a/phsource/phonemes b/phsource/phonemes index a891601b..655136e5 100644 --- a/phsource/phonemes +++ b/phsource/phonemes @@ -215,7 +215,6 @@ phoneme (@) virtual after ; j2/j2@ after w w/w@ after l l/l@ - after L l/l@ after l^ l^/j2@ after #r r/r@-15 after r- r2/r2@ @@ -239,7 +238,6 @@ phoneme (a) virtual after ; j2/j2a after w w/wa after l l/la - after L l/la after l^ l^/j2a after #r r/ra-15 after r- r2/r2a @@ -263,7 +261,6 @@ phoneme (e) virtual after ; j2/j2e after w w/we after l l/le - after L l/le after l^ l^/j2e after #r r/re-15 after r- r2/r2e @@ -287,7 +284,6 @@ phoneme (i) virtual after ; j2/j2i after w w/wi after l l/li-10 - after L l/li after l^ l^/j2i after #r r/ri-15 after r- r2/r2i @@ -312,7 +308,6 @@ phoneme (o) virtual after ; j2/j2o after w w/wo after l l/lo - after L l/lo after l^ l^/j2o after #r r/ro-15 after r- r2/r2o @@ -336,7 +331,6 @@ phoneme (u) virtual after ; j2/j2u after w w/wu after l l/lu - after L l/lu after l^ l^/j2u after #r r/ru-15 after r- r2/r2u @@ -437,8 +431,8 @@ endphoneme phoneme r" // uvular trill vcd uvl frc - formants r3/r_uvl+r3/r_uvl%75 - before _ r3/r_uvl+r3/r_uvl%50 + formants r3/r_uvl+r3/r_uvl.wav%75 + before _ r3/r_uvl+r3/r_uvl.wav%50 lengthmod 6 endphoneme @@ -1125,6 +1119,7 @@ endphoneme phoneme L // Welsh "ll" vls alv frc + starttype l endtype l length 100 lengthmod 3 wave ufric/ll%80 diff --git a/phsource/vowel/@_6 b/phsource/vowel/@_6 index 1c91a7c2..eb7eaad8 100644 Binary files a/phsource/vowel/@_6 and b/phsource/vowel/@_6 differ diff --git a/phsource/vowel/a b/phsource/vowel/a index 912230ac..4cead38e 100644 Binary files a/phsource/vowel/a and b/phsource/vowel/a differ diff --git a/phsource/vowel/aa b/phsource/vowel/aa index 97b995b0..9ccfd37a 100644 Binary files a/phsource/vowel/aa and b/phsource/vowel/aa differ diff --git a/phsource/vowel/aa_2 b/phsource/vowel/aa_2 index ae382408..c852e445 100644 Binary files a/phsource/vowel/aa_2 and b/phsource/vowel/aa_2 differ diff --git a/phsource/vowel/e b/phsource/vowel/e index eaba176a..464686b3 100644 Binary files a/phsource/vowel/e and b/phsource/vowel/e differ diff --git a/phsource/vowel/ii# b/phsource/vowel/ii# index ad21ea95..fbc4ea2f 100644 Binary files a/phsource/vowel/ii# and b/phsource/vowel/ii# differ diff --git a/phsource/vwl_en_us/3_us b/phsource/vwl_en_us/3_us index 52e30148..b390b26c 100644 Binary files a/phsource/vwl_en_us/3_us and b/phsource/vwl_en_us/3_us differ diff --git a/src/compiledata.cpp b/src/compiledata.cpp index 00e151fc..11b2ca11 100755 --- a/src/compiledata.cpp +++ b/src/compiledata.cpp @@ -1223,6 +1223,12 @@ void Compile::VowelTransition(int which, unsigned int *trans) { len = 50 / 2; // defaults for transition into vowel rms = 25 / 2; + + if(ph->type == phSTOP) + { + len = 42 / 2; // defaults for transition into vowel + rms = 30 / 2; + } } else if(which==2) diff --git a/src/dictionary.cpp b/src/dictionary.cpp index c6318e15..4652c350 100755 --- a/src/dictionary.cpp +++ b/src/dictionary.cpp @@ -684,7 +684,7 @@ int Translator::IsLetterGroup(char *word, int group, int pre) // match the word against a list of utf-8 strings char *p; char *w; - int len; + int len=0; p = letterGroups[group]; if(p == NULL) diff --git a/src/formantdlg.cpp b/src/formantdlg.cpp index 3689da3e..b8537ee8 100755 --- a/src/formantdlg.cpp +++ b/src/formantdlg.cpp @@ -278,9 +278,9 @@ void FormantDlg::ShowFrame(SpectSeq *spectseq, int frame, int pk, int field) } if(field & 4) { - value.Printf(_T("%3d"),sf->peaks[ix].pkwidth); + value.Printf(_T("%3d"),sf->peaks[ix].pkwidth/2); t_pkwidth[ix]->SetValue(value); - value.Printf(_T("%3d"),sf->peaks[ix].pkright); + value.Printf(_T("%3d"),sf->peaks[ix].pkright/2); t_pkright[ix]->SetValue(value); } } diff --git a/src/klatt.cpp b/src/klatt.cpp index 97ee59ef..1a9c480d 100644 --- a/src/klatt.cpp +++ b/src/klatt.cpp @@ -1120,7 +1120,7 @@ void SetSynth_Klatt(int length, int modn, frame_t *fr1, frame_t *fr2, voice_t *v } { -FILE *f; +//FILE *f; //f=fopen("klatt_log","a"); //fprintf(f,"len %4d (%3d %4d %4d) (%3d %4d %4d)\n",length,fr1->ffreq[1],fr1->ffreq[2],fr1->ffreq[3],fr2->ffreq[1],fr2->ffreq[2],fr2->ffreq[3]); //fclose(f); diff --git a/src/numbers.cpp b/src/numbers.cpp index 5e541a9c..f1e761a0 100644 --- a/src/numbers.cpp +++ b/src/numbers.cpp @@ -483,7 +483,7 @@ void Translator::LookupAccentedLetter(unsigned int letter, char *ph_buf) if((langopts.accents & 1) || (accents_tab[accent1].flags & 1)) sprintf(ph_buf,"%s%c%c%s", ph_accent1, phonPAUSE_VSHORT, phonSTRESS_P, ph_letter1); else - sprintf(ph_buf,"%s%c%s%c", ph_letter1, phonPAUSE_VSHORT, ph_accent1, phonPAUSE_VSHORT); + sprintf(ph_buf,"%c%s%c%s%c", phonSTRESS_2, ph_letter1, phonPAUSE_VSHORT, ph_accent1, phonPAUSE_VSHORT); } } } diff --git a/src/spect.h b/src/spect.h index 8d6eaf8d..85b71837 100755 --- a/src/spect.h +++ b/src/spect.h @@ -131,7 +131,7 @@ public: void ToggleMarker(int n); void ApplyVoiceMods(); - void MakeWave(int peaks, PitchEnvelope &pitch, int amplitude, int duration); + void MakeWaveF(int peaks, PitchEnvelope &pitch, int amplitude, int duration); void MakeHtab(int numh, int *htab, int pitch); double GetRms(int amp); void KlattDefaults(); diff --git a/src/spectdisplay.cpp b/src/spectdisplay.cpp index 8f03fae4..897038ee 100755 --- a/src/spectdisplay.cpp +++ b/src/spectdisplay.cpp @@ -831,12 +831,12 @@ void SpectDisplay::OnKey(wxKeyEvent& event) case WXK_F1: // make and play selected ReadDialogValues(); - sf->MakeWave(0,voicedlg->pitchenv,spectseq->amplitude,spectseq->duration); + sf->MakeWaveF(0,voicedlg->pitchenv,spectseq->amplitude,spectseq->duration); break; case WXK_F3: // make and play selected ReadDialogValues(); - sf->MakeWave(1,voicedlg->pitchenv,spectseq->amplitude,spectseq->duration); + sf->MakeWaveF(1,voicedlg->pitchenv,spectseq->amplitude,spectseq->duration); break; default: diff --git a/src/spectseq.cpp b/src/spectseq.cpp index 449df1ff..24fe0293 100755 --- a/src/spectseq.cpp +++ b/src/spectseq.cpp @@ -1056,7 +1056,7 @@ KlattInit(); if((start==end) || (total_length == 0)) { - sp1->MakeWave(0,voicedlg->pitchenv,amplitude,duration); + sp1->MakeWaveF(0,voicedlg->pitchenv,amplitude,duration); return; } @@ -1071,7 +1071,7 @@ KlattInit(); // if((start==end) || (total_length == 0)) // { -// sp1->MakeWave(1, pitch, amplitude, duration); +// sp1->MakeWaveF(1, pitch, amplitude, duration); // return; // } @@ -1144,7 +1144,7 @@ void SpectFrame::MakeHtab(int numh, int *htab, int pitch) } // end of SpectFrame::MakeHtab -void SpectFrame::MakeWave(int control, PitchEnvelope &pitche, int amplitude, int duration) +void SpectFrame::MakeWaveF(int control, PitchEnvelope &pitche, int amplitude, int duration) {//====================================================================================== // amplitude: percentage adjustment @@ -1157,7 +1157,6 @@ void SpectFrame::MakeWave(int control, PitchEnvelope &pitche, int amplitude, int int ipitch; int pbase; char *fname_speech; -// USHORT htab0[600]; KlattInit(); SpeakNextClause(NULL,NULL,2); // stop speaking file @@ -1204,18 +1203,22 @@ KlattInit(); else { #ifdef SPECT_EDITOR + int maxh; + USHORT htab0[600]; + maxh = nx; if(maxh >= 600) maxh = 600-1; for(ix=0; ix<=maxh; ix++) htab0[ix] = 0; - SetSynthHtab(20,htab0,maxh,dx,spect,maxh,dx); - MakeWaveFile(); +// SetSynthHtab(20,htab0,maxh,dx,spect,maxh,dx); + SetSynthHtab(20,spect,maxh,dx,spect,maxh,dx); + MakeWaveFile(0); SetSynthHtab(length,spect,maxh,dx,spect,maxh,dx); - MakeWaveFile(); + MakeWaveFile(0); SetSynthHtab(30,spect,maxh,dx,htab0,maxh,dx); - MakeWaveFile(); + MakeWaveFile(0); #endif } diff --git a/src/synthdata.cpp b/src/synthdata.cpp index 35f2bcbe..24604281 100755 --- a/src/synthdata.cpp +++ b/src/synthdata.cpp @@ -35,7 +35,7 @@ #include "translate.h" #include "wave.h" -const char *version_string = "1.39.36 03.Dec.08"; +const char *version_string = "1.39.39 11.Dec.08"; const int version_phdata = 0x013900; int option_device_number = -1; diff --git a/src/synthesize.cpp b/src/synthesize.cpp index 6840bb9d..70207d53 100755 --- a/src/synthesize.cpp +++ b/src/synthesize.cpp @@ -67,7 +67,7 @@ int n_soundicon_tab=N_SOUNDICON_SLOTS; SOUND_ICON soundicon_tab[N_SOUNDICON_TAB]; #define RMS_GLOTTAL1 35 // vowel before glottal stop -#define RMS_START 28 // 14 - 30 +#define RMS_START 28 // 28 #define VOWEL_FRONT_LENGTH 50 diff --git a/src/tr_languages.cpp b/src/tr_languages.cpp index 15011ed1..8e543f7e 100644 --- a/src/tr_languages.cpp +++ b/src/tr_languages.cpp @@ -123,7 +123,7 @@ Translator *SelectTranslator(const char *name) int name2 = 0; Translator *tr; - static const unsigned char stress_amps_sk[8] = {17,17, 20,20, 20,24, 24,22 }; + static const unsigned char stress_amps_sk[8] = {17,17, 20,20, 20,22, 22,21 }; static const short stress_lengths_sk[8] = {190,190, 210,210, 0,0, 210,210}; // convert name string into a word of up to 4 characters, for the switch() @@ -232,7 +232,7 @@ Translator *SelectTranslator(const char *name) case L_grc: // Ancient Greek { static const short stress_lengths_el[8] = {155, 180, 210, 210, 0, 0, 270, 300}; - static const unsigned char stress_amps_el[8] = {15,12, 20,20, 20,24, 24,22 }; // 'diminished' is used to mark a quieter, final unstressed syllable + static const unsigned char stress_amps_el[8] = {15,12, 20,20, 20,22, 22,21 }; // 'diminished' is used to mark a quieter, final unstressed syllable // character codes offset by 0x380 static const char el_vowels[] = {0x10,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x35,0x37,0x39,0x3f,0x45,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,0}; @@ -275,7 +275,7 @@ Translator *SelectTranslator(const char *name) case L('e','o'): { static const short stress_lengths_eo[8] = {145, 145, 230, 170, 0, 0, 360, 370}; - static const unsigned char stress_amps_eo[] = {16,14, 20,20, 20,24, 24,22 }; + static const unsigned char stress_amps_eo[] = {16,14, 20,20, 20,22, 22,21 }; static const wchar_t eo_char_apostrophe[2] = {'l',0}; tr = new Translator(); @@ -378,7 +378,7 @@ Translator *SelectTranslator(const char *name) case L('n','e'): // Nepali { static const short stress_lengths_hi[8] = {190, 190, 210, 210, 0, 0, 230, 250}; - static const unsigned char stress_amps_hi[8] = {17,14, 20,19, 20,24, 24,22 }; + static const unsigned char stress_amps_hi[8] = {17,14, 20,19, 20,22, 22,21 }; tr = new Translator(); SetupTranslator(tr,stress_lengths_hi,stress_amps_hi); @@ -399,7 +399,7 @@ Translator *SelectTranslator(const char *name) case L('b','s'): // Bosnian case L('s','r'): // Serbian { - static const unsigned char stress_amps_hr[8] = {17,17, 20,20, 20,24, 24,22 }; + static const unsigned char stress_amps_hr[8] = {17,17, 20,20, 20,22, 22,21 }; static const short stress_lengths_hr[8] = {180,160, 200,200, 0,0, 220,230}; static const short stress_lengths_sr[8] = {160,150, 200,200, 0,0, 250,260}; @@ -430,7 +430,7 @@ Translator *SelectTranslator(const char *name) case L('h','u'): // Hungarian { - static const unsigned char stress_amps_hu[8] = {17,17, 19,19, 20,24, 24,22 }; + static const unsigned char stress_amps_hu[8] = {17,17, 19,19, 20,22, 22,21 }; static const short stress_lengths_hu[8] = {185,195, 195,190, 0,0, 210,220}; tr = new Translator(); @@ -467,6 +467,7 @@ SetLengthMods(tr,3); // all equal SetLetterBits(tr,LETTERGP_A,hy_vowels); SetLetterBits(tr,LETTERGP_C,hy_consonants); tr->langopts.max_initial_consonants = 6; + tr->langopts.numbers = 0x409; } break; @@ -567,7 +568,7 @@ SetLengthMods(tr,3); // all equal case L('k','u'): // Kurdish { - static const unsigned char stress_amps_ku[8] = {18,18, 20,20, 20,24, 24,22 }; + static const unsigned char stress_amps_ku[8] = {18,18, 20,20, 20,22, 22,21 }; static const short stress_lengths_ku[8] = {180,180, 190,180, 0,0, 230,240}; tr = new Translator(); @@ -597,8 +598,8 @@ SetLengthMods(tr,3); // all equal case L('l','v'): // latvian { - static const unsigned char stress_amps_lv[8] = {17,14, 20,20, 20,22, 22,22 }; - static const short stress_lengths_lv[8] = {180,140, 210,210, 0,0, 210,210}; + static const unsigned char stress_amps_lv[8] = {17,13, 20,20, 20,22, 22,21 }; + static const short stress_lengths_lv[8] = {180,130, 210,210, 0,0, 210,210}; tr = new Translator(); SetupTranslator(tr,stress_lengths_lv,stress_amps_lv); @@ -614,7 +615,7 @@ SetLengthMods(tr,3); // all equal { static wchar_t vowels_cyrillic[] = {0x440, // also include 'р' [R] 0x430,0x435,0x438,0x439,0x43e,0x443,0x44b,0x44d,0x44e,0x44f,0x450,0x451,0x456,0x457,0x45d,0x45e,0}; - static const unsigned char stress_amps_mk[8] = {17,17, 20,20, 20,24, 24,22 }; + static const unsigned char stress_amps_mk[8] = {17,17, 20,20, 20,22, 22,21 }; static const short stress_lengths_mk[8] = {180,160, 200,200, 0,0, 220,230}; tr = new Translator(); @@ -672,7 +673,7 @@ SetLengthMods(tr,3); // all equal case L('p','l'): // Polish { static const short stress_lengths_pl[8] = {160, 190, 175, 175, 0, 0, 200, 210}; - static const unsigned char stress_amps_pl[8] = {17,13, 19,19, 20,24, 24,22 }; // 'diminished' is used to mark a quieter, final unstressed syllable + static const unsigned char stress_amps_pl[8] = {17,13, 19,19, 20,22, 22,21 }; // 'diminished' is used to mark a quieter, final unstressed syllable tr = new Translator(); SetupTranslator(tr,stress_lengths_pl,stress_amps_pl); @@ -692,7 +693,7 @@ SetLengthMods(tr,3); // all equal case L('p','t'): // Portuguese { static const short stress_lengths_pt[8] = {180, 125, 210, 210, 0, 0, 270, 295}; - static const unsigned char stress_amps_pt[8] = {16,13, 19,19, 20,24, 24,22 }; // 'diminished' is used to mark a quieter, final unstressed syllable + static const unsigned char stress_amps_pt[8] = {16,13, 19,19, 20,22, 22,21 }; // 'diminished' is used to mark a quieter, final unstressed syllable tr = new Translator(); SetupTranslator(tr,stress_lengths_pt,stress_amps_pt); tr->langopts.length_mods0 = tr->langopts.length_mods; // don't lengthen vowels in the last syllable @@ -709,7 +710,7 @@ SetLengthMods(tr,3); // all equal case L('r','o'): // Romanian { static const short stress_lengths_ro[8] = {170, 170, 180, 180, 0, 0, 240, 260}; - static const unsigned char stress_amps_ro[8] = {15,13, 18,18, 20,22, 22,22 }; + static const unsigned char stress_amps_ro[8] = {15,13, 18,18, 20,22, 22,21 }; tr = new Translator(); SetupTranslator(tr,stress_lengths_ro,stress_amps_ro); @@ -789,7 +790,7 @@ SetLengthMods(tr,3); // all equal case L('s','v'): // Swedish { - static const unsigned char stress_amps_sv[] = {16,16, 20,20, 20,24, 24,22 }; + static const unsigned char stress_amps_sv[] = {16,16, 20,20, 20,22, 22,21 }; static const short stress_lengths_sv[8] = {160,135, 220,220, 0,0, 250,280}; tr = new Translator(); SetupTranslator(tr,stress_lengths_sv,stress_amps_sv); @@ -805,7 +806,7 @@ SetLengthMods(tr,3); // all equal case L('s','w'): // Swahili { static const short stress_lengths_sw[8] = {160, 170, 200, 200, 0, 0, 320, 340}; - static const unsigned char stress_amps_sw[] = {16,12, 19,19, 20,24, 24,22 }; + static const unsigned char stress_amps_sw[] = {16,12, 19,19, 20,22, 22,21 }; tr = new Translator(); SetupTranslator(tr,stress_lengths_sw,stress_amps_sw); @@ -878,7 +879,7 @@ SetLengthMods(tr,3); // all equal case L('t','r'): // Turkish { - static const unsigned char stress_amps_tr[8] = {18,18, 20,20, 20,24, 24,22 }; + static const unsigned char stress_amps_tr[8] = {18,18, 20,20, 20,22, 22,21 }; static const short stress_lengths_tr[8] = {190,190, 190,190, 0,0, 250,270}; tr = new Translator(); diff --git a/src/translate.cpp b/src/translate.cpp index 422a9880..fdc5e706 100755 --- a/src/translate.cpp +++ b/src/translate.cpp @@ -412,7 +412,7 @@ int IsSpace(unsigned int c) Translator::Translator() {//===================== int ix; - static const unsigned char stress_amps2[] = {17,17, 20,20, 20,24, 24,21 }; + static const unsigned char stress_amps2[] = {17,17, 20,20, 20,22, 22,20 }; static const short stress_lengths2[8] = {182,140, 220,220, 220,240, 260,280}; static const wchar_t empty_wstring[1] = {0}; static const wchar_t punct_in_word[2] = {'\'', 0}; // allow hyphen within words diff --git a/src/voices.cpp b/src/voices.cpp index 6b6c5a4d..073dc947 100755 --- a/src/voices.cpp +++ b/src/voices.cpp @@ -362,6 +362,9 @@ void VoiceReset(int tone_only) // Set voice to the default values int pk; + static unsigned char default_heights[N_PEAKS] = {255,255,240,240,220,220,255,255,255}; + static unsigned char default_widths[N_PEAKS] = {128,128,128,160,171,171,128,128,128}; + static int breath_widths[N_PEAKS] = {0,200,200,400,400,400,600,600,600}; // default is: pitch 82,118 @@ -392,8 +395,8 @@ void VoiceReset(int tone_only) for(pk=0; pkfreq[pk] = 256; - voice->height[pk] = 256; - voice->width[pk] = 256; + voice->height[pk] = default_heights[pk]; + voice->width[pk] = default_widths[pk]*2; voice->breath[pk] = 0; voice->breathw[pk] = breath_widths[pk]; // default breath formant woidths voice->freqadd[pk] = 0; diff --git a/src/wave.cpp b/src/wave.cpp index 5a770d2e..364dcf57 100755 --- a/src/wave.cpp +++ b/src/wave.cpp @@ -782,14 +782,14 @@ size_t wave_write(void* theHandler, char* theMono16BitsWaveBuffer, size_t theSiz if (out_channels == 2) { // copy with wrap around at the end of ringbuffer - const size_t bytes_written = copyBuffer(myWrite, theMono16BitsWaveBuffer, aFreeMem/2); + copyBuffer(myWrite, theMono16BitsWaveBuffer, aFreeMem/2); myWrite = myBuffer; myWrite += copyBuffer(myWrite, theMono16BitsWaveBuffer+aFreeMem/2, theSize - aFreeMem/2); } else // 1 channel (mono) { // copy with wrap around at the end of ringbuffer - const size_t bytes_written = copyBuffer(myWrite, theMono16BitsWaveBuffer, aFreeMem); + copyBuffer(myWrite, theMono16BitsWaveBuffer, aFreeMem); myWrite = myBuffer; myWrite += copyBuffer(myWrite, theMono16BitsWaveBuffer+aFreeMem, theSize - aFreeMem); } // end if (out_channels == 2)