From 5513c61919f71768746808afcf0b068001fa24db Mon Sep 17 00:00:00 2001 From: jonsd Date: Fri, 6 Jan 2012 17:39:50 +0000 Subject: [PATCH] [1.46.02] release version git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@279 d46cf337-b52f-0410-862d-fd96e6ae7743 --- dictsource/dict_phonemes | 30 ++--- dictsource/en_list | 45 +++++-- dictsource/en_rules | 53 ++++++-- dictsource/hu_list | 103 ++++++++++++++++ dictsource/hu_rules | 20 +++- dictsource/ta_list | 9 +- dictsource/ta_rules | 133 +++++++++++++++------ phsource/compile_report | 24 ++-- phsource/ph_estonian | 2 +- phsource/ufric/s_pal.wav | Bin 7216 -> 4490 bytes platforms/big_endian/espeak-phoneme-data.c | 10 ++ platforms/windows/make_espeak.iss | 3 +- platforms/windows/make_espeakedit.iss | 2 +- src/dictionary.cpp | 56 ++++----- src/extras.cpp | 10 +- src/readclause.cpp | 1 + src/setlengths.cpp | 2 + src/speak.cpp | 2 +- src/speak_lib.cpp | 31 ++++- src/synth_mbrola.cpp | 6 +- src/synthdata.cpp | 4 +- src/synthesize.cpp | 42 +++++-- src/synthesize.h | 6 +- src/translate.h | 3 +- src/transldlg.cpp | 6 +- src/wavegen.cpp | 29 +++-- 26 files changed, 483 insertions(+), 149 deletions(-) diff --git a/dictsource/dict_phonemes b/dictsource/dict_phonemes index ddf1dee7..6d60ead8 100644 --- a/dictsource/dict_phonemes +++ b/dictsource/dict_phonemes @@ -66,7 +66,7 @@ R3 s S t T tS v w x Z -Dictionary hu_dict 2011-12-21 +Dictionary hu_dict 2012-01-05 a A a: e E e: i i: o o: u u: Y y y: Y: @@ -102,7 +102,7 @@ p Q r R s s; t T ts v x z -Dictionary en_dict 2011-12-21 +Dictionary en_dict 2012-01-06 0 3 3: @ @- @2 @5 @L a a# A: A@ aa aI aI3 aI@ @@ -118,7 +118,7 @@ s S t T t2 tS v w x z Z z# -Dictionary eo_dict 2011-12-05 +Dictionary eo_dict 2011-12-24 @- a aI aU e eI eU i o oI u uI @@ -202,7 +202,7 @@ q r r. s S s. t T t. th th. v w x z -Dictionary ta_dict 2011-12-21 +Dictionary ta_dict 2012-01-06 a a: aI aU e E e: i I i: o o: u U u2 u: @@ -294,6 +294,18 @@ g h j k l m n N p r R s t w z +Dictionary lv_dict 2010-03-12 + +a a: ai au e e: ei i +i: ie iu o o: u u: ui +uo + +: b c d dZ f g h +j J k l l^ m n N +n^ p r R R2 s S t +tS ts v z Z + + Dictionary mk_dict 2007-12-19 & @ @- @2 a A a: e @@ -785,13 +797,3 @@ o u U u# Y k l m n N p q r s S t tS v w X z Z - - -Dictionary lt_dict 2011-12-12 - -@ a e e: i i: o o: -u u: - -- : ; b c d f g -h j k l m n p q -r s S t tS v z diff --git a/dictsource/en_list b/dictsource/en_list index bff93f72..6d49d064 100644 --- a/dictsource/en_list +++ b/dictsource/en_list @@ -17,6 +17,7 @@ // ?8 Use full vowel, not schwa in some word endings // $alt use strong ending +// $alt2 use weak ending // letter names, as they are spoken as a single character in text @@ -297,6 +298,7 @@ _17 s'Ev@nti:n _18 'eIti:n _19 n'aInti:n _2X tw'Enti +?3 _2X tw'Eni _3X T'3:ti ?5 _3X T'IRti _4X f'o@ti @@ -306,6 +308,7 @@ _7X s'Ev@nti ?7 _7X s'@v@nti _8X 'eIti _9X n'aInti + _0C h'Vndr@d _0M1 T'aUz@nd _0M2 m'Ili@n @@ -628,6 +631,7 @@ askance a#skaans askew a#skju: ass as assess a#sEs +asus eIs@s atlas atl@s atop a#t0p attache at'aSeI $only @@ -702,6 +706,7 @@ bizarre bIz'A@ bizzare bIz'A@ blancmange bl@m0nZ blase blA:zeI +bleh blEh blockade $2 blouse blaUz bluest blu:@st @@ -776,10 +781,13 @@ capitol kapIt@L caprice ka#pr'i:s caramel kar@mEl caravan kar@van +carburetor kA@b@r'Et3 +?3 carburetor kA@b@reIt3 career k@r'i@3 caress k@rEs carpel kA@p@l cascade $2 +cashier kaS'i@3 cashmere kaSm'i@3 catastrophe ka#tastr@f%i catarrh k@tA@ @@ -808,6 +816,8 @@ chapel tSap@L charade Sa#rA:d charismatic karIsm'atIk charit tSarIt // charitable +charlatan SA@l@t@n +chassis SaSi chateau SatoU chemise SEm'i:z chevrolet SEvr@leI @@ -894,6 +904,7 @@ conduct $verb cone koUn conflict k0nflIkt $onlys conflict $verb +confront k@nfrVnt conger k0Ng3 conscience k0nS@ns construct k0nstrVkt $onlys @@ -929,6 +940,7 @@ corollary $2 corporal kO@pr@L corporate kO@p@r@t corps kO@ $only +corral k@r'al cosmos k0zm0s countered kaUnt3d coupon ku:p0n @@ -1076,6 +1088,7 @@ educe I2dju:s edwardian Edw'O@di@n efile i:faIl egg Eg // egging +egregious Igr'i:dZ@s eh eI eid i:d el ,El $only @@ -1087,6 +1100,7 @@ elicit I2lIsI2t élite Il'i:t embed Emb'Ed ember Emb3 +emphasis Emf@sIs empire $1 emu i:mju: enroute 0nr'u:t @@ -1163,6 +1177,7 @@ familiar f@mIli@3 famine famIn farewell $2 fasten faas@n +fatigue fa#ti:g fathom faD@m (faux pas) f'oU||p'A: favorite feIv@-rI2t // sp. @@ -1207,6 +1222,7 @@ foretell fo@t'El forever $2 forewarn $2 formid fO@m'Id // formidable +formica fO@m'aIk@ fortunate fO@tS@n@t fortune fO@tSu:n foyer fOIeI @@ -1253,6 +1269,7 @@ gilead g'IlIad gimme gImi giraffe dZI2raaf goin ,goUI2n $only // for goin' +gonna g,@n@ goodbye $2 goodday $2 goodnight $2 @@ -1337,8 +1354,6 @@ huzza h@z'A: huzzah h@z'A: hyperbola haIp'3:b@l@ hyperbole haIp'3:b@li -hypothesis haIp'0T@sIs -hypotheses haIp'0T@si:z hypotenuse haIp'0t@nju:s hypoxia haIp'0ksi@ @@ -1347,6 +1362,7 @@ icon aIk0n iconbar aIk0nbA@ idly aIdlI ignoramus Igno@r'eIm@s +illiterate $alt2 imagine I2madZI2n impedance Imp'i:d@ns imperative Imp'Er@tIv @@ -1450,7 +1466,7 @@ laity leI@ti landowner l'and,oUn3 las ,las $only ?3 las ,lA:s $only -lasagne l@zanj@ +lasagna l@zanj@ laser leIz3 lasso las'u: latte lateI @@ -1484,6 +1500,7 @@ lingerie l0nZ@ri linen lInI2n liqueur lI2kjU@ liter li:t3 +literate $alt2 literature lItrI2tS3 live laIv $onlys live lIv $verb @@ -1546,6 +1563,8 @@ meant mEnt meadow mEdoU mediaeval mEdI'i:v@L medicine mEds@n +melee mEleI +?3 melee meIleI melon mEl@n menus mEnju:z memo mEmoU @@ -1624,6 +1643,7 @@ myrtle m3:t@L naif naI'i:f naïve naI'i:v +naivete naI'i:v@teI naked neIkI#d nasa nasa# nascent neIs@nt @@ -1749,6 +1769,7 @@ paltry pO:ltrI panacea pana#s'i:@ panache $2 pancreas pankri@s +papaya pa#paI;@ parabola p@rab@l@ paralysis p@ral@sIs parameter p@ramI2t3 @@ -1907,6 +1928,7 @@ rabid reIbId radar reIdA@ radish radIS ragged ragI#d +raiment reIm@nt rainforest r'eInf,0rI2st rajah rA:dZA: rapier reIpi@3 @@ -2141,6 +2163,7 @@ society s@saI@ti sofa soUf@ soiree swA:reI sojourn soUdZ3:n +solder s0ld3 soldier soUldZ3 solemn s0l@m solicit s@lIsI2t // solicited,ing @@ -2155,7 +2178,7 @@ soundbite saUndbaIt souvenir su:v@n'i@3 sorbet sO@beI soyabean sOI@bi:n -spaghetti spag'Eti +spaghetti spa#gEti spasm spas@m specific sp@sIfIk specimen spEsI2m@n @@ -2209,8 +2232,6 @@ suspect sVspEkt $onlys suspect $verb symbol sImb@L sync sINk -synthesis sInT@sIs $only -synthesise sInT@saIz tableau tabloU tablet tabl@t @@ -2559,16 +2580,18 @@ Chile tSIli Cincinnati sInsIn'ati Cologne k@loUn Columbus $2 -Congo $1 +Congo k0NgoU Connecticut k@nEtI2k@t Copenhagen koUp@nh'eIg@n Cruz kru:z Cyprus saIpr@s Dahomey $2 +Dallas dal@s Damascus da#mask@s Dakota da#koUt@ Danish deInIS Delhi dEli +(Des moines) d@mOIn Dhabi dA:bi Djibouti dZIb'u:ti Donegal d0nI2g'O:l @@ -2909,6 +2932,7 @@ Loinnir lVni@ Lois loUIs Louis lu:i Louise lu:w'i:z +Luigi lu:'i:dZi Luis lu:Is Lupe lu:peI Madeline mad@lI2n @@ -2926,7 +2950,7 @@ Matthew maTju: Maurice m0rIs Mavis meIvIs Megan mEg@n -Melissa $2 +Melissa m@lIs@ Michele mI2SEl Michelle mI2SEl Miguel mi:Q'El @@ -2959,6 +2983,7 @@ Pamela pam@l@ Pandora $2 Patricia pa#trIS@ Penelope p@nEl@pi +Persephone p3s'Ef@ni Phoebe fi:bi: Rachael reItS@L Rachel reItS@L @@ -2966,6 +2991,7 @@ Raul raU'u:l Rees ri:s Reese ri:s Reggie rEdZi +Remus ri:m@s Reynold rEn@Ld Rhys ri:s Rihanna rI'A:n@ @@ -3023,11 +3049,13 @@ Dante danteI Disney dIzni Dolce d0ltSeI Dvorak d@-vo@Zak +Folger foUldZ3 Gibson gIbs@n Guinness gInIs Hades heIdi:z Mackenna m@kEn@ Mackenzie m@kEnzi +Medusa $2 Montague m0nt@gju: Niro ni@roU Patel pa#tEl @@ -3043,6 +3071,7 @@ Ubuntu u:b'u:ntu: Wii wi:: Yaesu jeIsu: Yamaha jam@hA: +zeus zju:s zhivago ZI2vA:goU diff --git a/dictsource/en_rules b/dictsource/en_rules index a7d00fa6..826c2e2e 100644 --- a/dictsource/en_rules +++ b/dictsource/en_rules @@ -34,6 +34,7 @@ .L02 i y .L03 a i o u // vowel, not 'e' .L05 c g k +.L06 s z .L10 grap log met scop // scientific endings @@ -724,6 +725,7 @@ st) an (_ an m) an (_ an hum) an (_ @n + &) an (ty_ @n &) an (t_ @n ?8 &) an (t_ a#n pl) an (t_ an @@ -746,6 +748,7 @@ @) aneous 'eIni@s p) an (el an &) an (ese @n + _) ane (s anI an (gul 'an &) ani (_ 'A:nI an (ia 'eIn @@ -848,6 +851,7 @@ _) arr (@ a#r _) arr (ant ar _) arr (o ar + _) arro (g ar@ ar (i_ 'A:r ?3 @) ar (io_ 'ar _b) ar (L02t ar @@ -1039,6 +1043,7 @@ .group at _g) ator eIt3 + &) ate (_$w_alt2 @t pal) ate (_ @t consul) ate (_ @t macul) ate (_ @t @@ -1420,7 +1425,7 @@ co (llab k@ co (llap k@ collar k0l3 - co (llat k@ + co (llat k%0 co (llec k@ colle (gi k@li: co (llis k@ @@ -1470,7 +1475,7 @@ _) comp (tr k%0m co (mputa k,0 _) co (mr k0 - _) con (@ k@n + _) con (@ k%0n _) conce (ntra k0ns@ _) co (ncept_ k0 _) co (ncret k0 @@ -1483,6 +1488,7 @@ _) co (nfid k0 _) co (nfide k%0 _) confi (den k0nfI + _) co (nfigu k@ _) co (nfis k0 _) co (nflu k0 _) co (ngre k0 @@ -1497,11 +1503,12 @@ _) co (nque k0 _) co (nsc k0 co (nsec k0 - co (nsecu k@ + co (nsecu k%0 _) conse (q k0nsI conser (v k%0ns3: conser (vatio k0ns@ consider k@nsId3 + _) co (nsi k@ co (nson k0 _) co (nstabl k0 co (nstan k0 @@ -1523,9 +1530,8 @@ contrar k%0ntre@ _) co (ntrib k0 _) co (ntrov k,0 - co (ntrol+ k@ + co (ntrol+ k%0 conva (l k0nv@ - _) con (v k%0n _) co (nvoy k0 _) co (nw k0 _) copy k0pI @@ -1552,6 +1558,7 @@ @@e) d (_S1 d // suffix db (_ d,i:bi: ddh d + dh (K d dj dZ dg (_ dZ dg (C dZ @@ -1560,6 +1567,7 @@ dg (i dZ dg (y dZ _) dir (_ daI3 + _) dmi (tr d@mi: we) dne (sd n dt (_ t ?3 &) du (CA dZu: @@ -1603,7 +1611,7 @@ de (law dE de (leg dE de (lica dE - de (ll dE + _) de (ll dE de (lph dE _) de (lt dE delu (g dElju: @@ -2233,6 +2241,7 @@ j) eo (p E _l) eo i@ p) eo (pl i: + _) eor eI3 @) eosis i:'oUsIs &) eous (_ =i@s th) eo (@ I2@ @@ -2410,9 +2419,12 @@ es (tate I2s @) esc (enC 'Es pr) es (ent Ez - magn) es (i 'i:z + es (iA i:z es (ian_ 'i:z es (ic 'i:z + th) eses (_ @si:z + th) esis (_ @sIs + th) es (iL06e_ @s r) esis (_ 'i:sIs es (ive 'i:s esque 'Esk @@ -2427,6 +2439,7 @@ Cr) es (t Es v) es (t+ Es harv) es (t Is + esti (m EstI# v) es (ty @s .group et @@ -2474,6 +2487,7 @@ .group ev _) ev I2v + _) eva (ne Ev@ _) eve i:v _) even i:v@n _) eve (nt I2vE @@ -2579,6 +2593,7 @@ _) g (ilK g g (ilC g l) ging dZI2N + _) g (iz g g (y dZ exa) gg (er dZ ght t @@ -2656,6 +2671,7 @@ _) hypo (@P4 h,aIpoU _) hypo (cr hIp0 hypo (de h,aIp@ + hypo (thes haIp'0 hypo (thet h,aIp@ .group i @@ -2693,6 +2709,7 @@ &) ial (_ =I2@l i (ani_ I _) i (b aI + i (ba_ 'i: @) ibab aIb@b l) i (bel aI l) i (ber I @@ -2818,6 +2835,7 @@ ize (d_ aIz i (zen I2 iz (er_ aIz + i (zon_ 'aI p) izz (a i:t|s @@ -3075,6 +3093,7 @@ _) in (fo_ In _) infra (P5 ,Infr@ _) infra (c %Infra + in (ga_ 'IN in (got IN _) in (gro IN _) in (jur In @@ -3209,8 +3228,9 @@ .group io - io (_ =I2oU -?7 io (_ =i:oU + &) io (_ =I2oU +?7 &) io (_ =i:oU + io (_ i:oU b) io aIoU b) io (logy aI0 card) io I2oU @@ -3445,6 +3465,7 @@ _) ki (lC@ kI2 _) ki (ll@ kI _) kilo (@ kIl@ + kinesis k@n'i:sI#s kuan kwan ku (ch ku: kuwait ku:w'eIt @@ -3653,6 +3674,8 @@ ninth naInT n (Co_ =n _) non (@P3 n,0n + nonchala (n n0nS@l@ +?3 nonchala (n n0nS@l'A: _) nurse (B n3:s .group ng @@ -3786,7 +3809,7 @@ oer oU@ _) oe (s i: &) oe (s_S2 z - oe (soph I2 + oesopha I2s0f@ p) oe (t oUI f) oe (tA i: p) oe (ti oUE @@ -3924,6 +3947,7 @@ t) ol (er 0l m) ol (ec @l m) ol (ecule 0l + &) ol (enC @l old oUld w) olf Ulf p) olice @li:s @@ -4471,6 +4495,7 @@ photocop foUt@k0p phot (ograph+ foUt _) phot (oL10++ foUt + _) phth (A fT _) phyco f,aIkoU p (hole p sym) pa p@ @@ -4504,6 +4529,7 @@ per (cei p3 per (culi p3 per (cus p3 + _) peregrin pEr@grIn per (fec p3 per (iph p@r perme (a p3:mI @@ -4641,6 +4667,7 @@ qu (_ k quay ki: jac) qu k + mes) qui (t k'i: li) quor k3 quy kwI @@ -4707,6 +4734,7 @@ un) rede (C ,ri:dI2 re (dem+ rI2 _) re (dC rE + _) re (dolen rE _) re (dr r%i: _) re (eduP2 r%i: _) re (emP2 r%i: @@ -4805,6 +4833,7 @@ sch (o sk sch (C S sch (_ S + _e) sch S ?3 sch (ed sk _) sch (il S _) scar (A ske@ @@ -5003,6 +5032,7 @@ _) tian tjan &) tial S@L &) ti (ali SI + i) tia (liL06 S@ &) tien S@n &) tience S@ns &) tion S=@n @@ -5126,7 +5156,7 @@ _l) u (a u: r) u (aC+ u: u (a_ =ju: - s) ua (d weI + s) ua (de weI s) uag weIdZ @g) ua (ge wI u (al_ ju: @@ -5265,6 +5295,7 @@ fl) ui (d u:I dr) ui (d u:I c) uisine wIzi:n + c) uis wIz rc) ui (t I rc) ui (tous ''ju:I g) ui (ta I2 diff --git a/dictsource/hu_list b/dictsource/hu_list index 5fe96b04..db5ea1c4 100755 --- a/dictsource/hu_list +++ b/dictsource/hu_list @@ -4801,7 +4801,110 @@ kipróbálni $unstressend váltana $unstressend találtam $unstressend (sem biztosak) SEm_'||bistoSAk $unstressend +kaphatnak $unstressend +költ $unstressend +hivatalt $unstressend +támogatással $unstressend +ugyanis $unstressend +bizonyítják $unstressend +ösztönzése $unstressend +elvégezze $unstressend +intézet $unstressend +takarítani $unstressend +bízza $unstressend +bízna $unstressend +filmekkel $unstressend +lejátszóhoz $unstressend +filmeket $unstressend +vesződni $unstressend +(legkényelmesebb az) lEgke:n^ElmESEb:_||Az $unstressend +sejtem $unstressend +vonalat $unstressend +ragaszkodni $unstressend +(mellett az) mEl:Et:_||Az $unstressend +(a felület) A'||fElylEt $unstressend +terveket $unstressend +tervek $unstressend +közben $unstressend +menetrendet $unstressend +(az indoklást) Az_'||indokla:St $unstressend +hóbort $unstressend +fogom $unstressend +(az adatokat) Az_'||AdAtokAt $unstressend +zajlik $unstressend +kütyüt $unstressend +tartok $unstressend +(törvényt is) tYR2ve:n^t_||iS $unstressend +ülésen $unstressend +jogszabály $unstressend +törvényjavaslatról $unstressend +rövid $unstressend +vonulhatnának $unstressend +(horderejű kérdésben) hoR2dER2Ejy:_||ke:R2de:SbEn $unstressend +törvényjavaslatához $unstressend +(miniszter volt) ministER2||volt $unstressend +szavazatot $unstressend +(rendelkezést is) REndElkEze:St_||iS $unstressend +(lehetővé tenné) lEhEtY:ve:_||tEn:e: $unstressend +(indítványnak van) indi:tva:n^nAk_||vAn $unstressend +(ellenére is biztosítaná) El:Ene:R2E_||iS_||bistoSi:tAna: $unstressend +emelni $unstressend +(csak ki) tSAk_||ki $unstressend +indítványokról $unstressend +(a módosítások) A'||mo:doSi:ta:Sok $unstressend +közölni $unstressend +tudjanak $unstressend +piacot $unstressend +rakott $unstressend +(ott van) ot:_||vAn $unstressend +(rangú tisztviselője) R2Angu:_||tistviSElY:jE $unstressend +kritikákat $unstressend +viszonyulnak $unstressend +jók $unstressend +államtitkárával $unstressend +beszélt $unstressend +külföldön $unstressend +törvénnyel $unstressend +folyamatot $unstressend +eloszlatásával $unstressend +mutatják $unstressend +illetékes $unstressend +(jogokban illetékes) jogokbAn_||il:Ete:kES $unstressend +megnyilvánulás $unstressend +iránytól $unstressend +vonatkozzanak $unstressend +addig $unstressend +(tagjaira vonatkozzanak) tAgjAiR2A_||vonAtkoz:AnAk $unstressend +(nevezte azt) nEvEstE_||Ast $unstressend +kritikákra $unstressend +kérő $unstressend +irányítják $unstressend +érkező $unstressend +tulajdonítani $unstressend +(jelentőséget tulajdonítani) jElEntY:Se:gEt_||tulAjdoni:tAni $unstressend +(hajtja végre) hAjcA_||ve:gR2E $unstressend +érdekeivel $unstressend +(megállapodás köthető) mEga:l:Apoda:S_||kYthEtY: $unstressend +(kell fogadni) kEl:_||fogAdni $unstressend +megállapodás $unstressend +kérését $unstressend +megalkotását $unstressend +kompromisszumok $unstressend +(jöhetnek szóba) jYhEtnEk_||so:bA $unstressend +jellemezte $unstressend +lábán $unstressend +kellenek $unstressend +(áll arra) a:l:_||AR2R2A $unstressend +tárgyalások $unstressend +megkötésében $unstressend +vélekedett $unstressend +világról $unstressend +növekedés $unstressend +(a feladata) A'||fElAdAtA $unstressend +bankja $unstressend +banknak $unstressend +kérdését $unstressend // word pairs diff --git a/dictsource/hu_rules b/dictsource/hu_rules index 49ee34d4..c500d417 100644 --- a/dictsource/hu_rules +++ b/dictsource/hu_rules @@ -142,7 +142,9 @@ martaló) c (ser ts _újon) c (ság ts _kuru) c (ság ts _paló) c (ság ts - +_fejlé) c ts + nyol) c (seb ts + bará) cs (ágta tS: .group ch anar) ch (i h @@ -177,6 +179,8 @@ oligar) ch h diszti) ch (on h ma) ch (iavell h _or) ch (ide h +almana) ch h + .group d @@ -540,6 +544,8 @@ imádsá) g (gyűjt g _lo) g (gyűjt g //for example loggyűjtemény word dro) g (gyanú g le) gg (roteszk g: + _agya) g (gy g + anya) g (győz g .group gy gy J @@ -1018,6 +1024,10 @@ ejtőernyő) s S _piro) s S típu) s (zub S _vörö) s S +termelé) s S + _áldá) s S +_asztalo) s S + _árgu) s S .group ss ssz ss2 @@ -1389,6 +1399,9 @@ _nesze) ssz (er s bégeté) ssz (erű Ss a) ssz (isztál s piro) ssz (ka s + ágyú) ssz Ss + alá) ssz (olg Ss + almá) ssz (ürk Ss .group sz @@ -1436,6 +1449,7 @@ fáklyá) sz (ene Sz szs (ák SZ //All szsák part containing part need spokening single S and Z phoneme, for example kenyereszsák, pénzeszsák, krumpliszsák, cukroszsák words sz (acsk Sz //all szacsk containing part block need spokening single S and z phoneme, for example chipseszacskó word legké) szs (éges S: + ameti) sztsze st|sE .group t t t @@ -1540,6 +1554,9 @@ rokkan) t (segít t _hé) t (col t _fro) tt (ír t plaká) t (cég t + álla) t (szőr t + aszal) t (jeg t + .group tj C) tj c @@ -2067,6 +2084,7 @@ csatlako) z (tok s neme) z z helye) z (ke s _tí) z (sou z + leme) z (stú z .group $ dolla:R2 diff --git a/dictsource/ta_list b/dictsource/ta_list index 41d0c4d0..45f703f7 100644 --- a/dictsource/ta_list +++ b/dictsource/ta_list @@ -299,7 +299,6 @@ tamil தமிழ் $text பீச்சில் $alt பீல் fi:l புக் $alt -பீர் $alt போயிங் $alt பலத்தாலான $alt பார $alt @@ -308,7 +307,6 @@ tamil தமிழ் $text பாலிய $alt புக்கு $alt படுவா $alt -பீரும் $alt பல்ப் $alt பிரேக் bre:k ப்ரேக் bre:k @@ -362,6 +360,8 @@ tamil தமிழ் $text பத்திரப் bVttirVp பாய்ஸ் $alt புக்கர் $alt +பாதிக்க $alt +பலக்க $alt @@ -386,7 +386,6 @@ tamil தமிழ் $text திக்கற்ற $alt தானு $alt திட $alt -தேவ $alt தோ $alt தரும $alt தொப் $alt @@ -431,6 +430,7 @@ tamil தமிழ் $text தான $alt தம்மம் $alt தம்ம $alt +தாயம் $alt // initial ட @@ -515,6 +515,8 @@ tamil தமிழ் $text கிண் $alt கிர் $alt கங்க $alt +காந்த $alt + @@ -527,7 +529,6 @@ tamil தமிழ் $text பாதரிடம் fa:dVrid.Vm பாதருடன் fa:dVrUd.Vn பாதரில்லாமல் fa:dVrilla:mVl -காபி ka:fi பேனில் fe:nil பேன்ல fe:nlV போன்ல fo:nlV diff --git a/dictsource/ta_rules b/dictsource/ta_rules index eb8c4bfc..c8293bc2 100644 --- a/dictsource/ta_rules +++ b/dictsource/ta_rules @@ -89,6 +89,14 @@ // words after பாதிக்கும் .L16 மேல மேற் குறை +// words after செல்லக் [tSellVg] செல்லப் [tSellVb] செல்லத் [tSellVd] +.L17 குழந்தை கிளி குட்டி கழுதை குதிரை குரங்க +.L18 பிள்ளை பெண் பையன +.L19 தம்பி தங்க + +// words after கோரப் [go:rVb] +.L20 பல் பற் போர + // consonants @@ -145,10 +153,12 @@ _) க (தியில் gV _) க (தியை gV _) க (ந்தர்வ gV + _) கனக (ச்சித gVnVkV _) க (னக்க gV _) க (னத் gV _) க (னபாடி gV _) க (னம gV + _) க (னரக gV _) கப் (L04ா gVp _) கப்ச (ிப் gVptS _) க (ப்பெ gV @@ -182,8 +192,11 @@ _) க (ாண்டாமிருக g _) க (ாண்டீப g _) காண்டேக (ர ga:n.d.e:kV + _) க (ாந்தக் g _) க (ாந்தங் g _) க (ாந்தத் g + _) க (ாந்தப் g + _) க (ாந்தமா g _) க (ாந்தி g _) க (ானங் g _) க (ானத்த g @@ -388,6 +401,7 @@ _மன்மதக்) க (ுகை g _) க (ேஸ்_சிலிண்டர g _) க (ேஸ்_ஸ்டவ் g _) க (ைட g + _) க (ைனக g _) க (ொணத் g _) க (ொணம g _) க (ொரில g @@ -423,11 +437,8 @@ _மன்மதக்) க (ுகை g _) க (ோர_முடிய k _) க (ோர_வேண்ட k _) க (ோரக g - _) க (ோரத g - _) க (ோரப g - _) க (ோரப்பட k - _) க (ோரப்போக k - _) க (ோரப்போவ k + _) க (ோரத்_தாண்ட g + _) க (ோரப்_L20 g _) க (ோரம g _) க (ோலிக g _) க (ோலிய g @@ -653,8 +664,10 @@ _விவே) க் (_ k _ஸ்வர்) க்க ggV# _கை) க்க (டிகார kgV _துணை) க்க (ண்ட ggV + _மார்) க்க (ண்டேய kkV நிர்) க்க (தி ggV _தீர்) க்க (மாக ggV + _தீர்) க்க (மான ggV தீர்) க்க (ாலோசநை gg _ல) க்க (ின gg _வி) க்க (ினம்_ gg @@ -681,6 +694,7 @@ _தேவா) க்க (ினை gg கு) க்கி (ராம gg அ) க்கி (ராம gg இ) க்கி (ராம gg + _சாலி) க்கி (ராம gg L03) க்க (ுகை gg _மு) க்க (ுண gg L03) க்க (ுண gg @@ -719,6 +733,7 @@ _துப்பாக்கி) க்க (ுண்ட gg _பை) க் (ல_ k என்சை) க்லோப (ீடியா klo:p க் (ஸ k + _எ) க் (ஸாம g _மெ) க்ஸிக (ோ ksik //endsort @@ -749,6 +764,8 @@ _துப்பாக்கி) க்க (ுண்ட gg _) சாம்ப (ியன tSa:mp //sort + _ராஞ்) ச tSV# + _ப) சக் tSVk _) ச (க்கரவர்த்தி tSV _) ச (க்கிலி tSV சங்க (ர s.VNkV @@ -756,6 +773,7 @@ _துப்பாக்கி) க்க (ுண்ட gg _) ச (ட்டினி tSV _) ச (ட்னி tSV _) ச (ண்டாள tSV + _) ச (ண்டி tSV ச (ண்பக s.V ச (ண்மு s.V _) ச (துர் tSV @@ -877,6 +895,9 @@ _தணிகா) ச (ல tSV _) ச (ீனாவ tS _) ச (ீனிவா s சீ (னிவாச sri: + _) ச (ீஸு tS + _) ச (ீஸை tS + _) ச (ீஸ்_ tS _ஈ) சு s _) ச (ுடிதார tS _) ச (ுட்டிப் tS @@ -920,11 +941,14 @@ _தணிகா) ச (ல tSV _) ச (ெய்ன tS _) செய்ன்ட sejnt. _) ச (ெர்னோபில tS + _) ச (ெல்லக்_L17 tS _) ச (ெல்லக்கிளி tS _) ச (ெல்லக்குட்டி tS _) ச (ெல்லக்குழந்த tS + _) ச (ெல்லத்_L19 tS _) ச (ெல்லத்துக்கு tS _) ச (ெல்லத்தை tS + _) ச (ெல்லப்_L18 tS _) ச (ெல்லப்பன tS _) ச (ெல்லப்பா tS _) ச (ெல்லப்பிள்ளை tS @@ -985,6 +1009,7 @@ _தணிகா) ச (ல tSV //sort + _டே) ட t.V# _பேண்) ட t.V# _வால்) ட t.V# _கமெண்) ட t.V# @@ -1074,15 +1099,18 @@ _நாவல்) ட (ி t. _போர்) ட (ிகோ t. ஆர்) டிக் t.ik _) ட (ிக்க t. + _) டிட (ோ t.it. _மார்) ட (ின t. காண்) டினெண்ட (ல t.inen.t.V கான்) டினென்ட (ல t.inent.V _) ட (ின் t. _) டின்க (ரிங் t.inkV + _) ட (ின்னர d. _) டிப (ன t.ifV _சர்) டிபிகேட t.ifige:t.V# _) ட (ிப்ஸ t. _செண்) டிமெண்ட t.imen.t.V# + _) ட (ிம்பர t. _) டி (யூசன t. _) டியூட (ி d.jU:t. _) டி (யூன t. @@ -1146,6 +1174,7 @@ _செண்) டிமெண்ட t.imen.t.V# _) ட (ீசல d. _காண்) ட (ீன t. _கேண்) ட (ீன t. + _) டுட (ோரியல t.ut. _) ட (ுனிசியா t. _) ட (ுனிஸ t. _) ட (ுனீL04 t. @@ -1199,6 +1228,7 @@ _லான்_) ட (ென்னிஸ t. _லே) ட் t. @மெண்) ட் t. // -ment _பேண்) ட் t. +_ஹெல்மெ) ட் t. இண்டர்நெ) ட் t. ல) ட்சு (மண ks. ல) ட்சு (மி ks. @@ -1309,7 +1339,7 @@ _நடுரோ) ட் (ல t. // exceptions, த as [d] //sort - _) த (L04ாவதார dV + _) த (L04ா dV _) த (L08னா d _) த (கதக dV _) த (கன dV @@ -1366,6 +1396,7 @@ _நடுரோ) ட் (ல t. _) த (னலக்ஷ்மி dV _) த (னலட்சுமி dV _) த (னவந்த dV + _) த (னுச dV _) த (னுஷ dV _) த (ன்மந்திரி dV _) த (ன்ராஜ dV @@ -1386,8 +1417,12 @@ _நடுரோ) ட் (ல t. _) த (ரிசனங் dV _) த (ரிசனத் dV _) த (ரிசி dV + _) தரித்த (ிர_ dVridd + _) தரித்த (ிரத்த dVridd _) த (ரித்திரம dV + _) தரித்த (ிரம் dVridd _) த (ருமங் dV + _) த (ருமசேன dV _) த (ருமச் dV _) த (ருமத் dV _) த (ருமன dV @@ -1431,6 +1466,9 @@ _நடுரோ) ட் (ல t. _) த (ானுவ d _) த (ாமோதர d _) த (ாம்_தூம d + _) த (ாயங்கள d + _) த (ாயத்த+ d + _) த (ாயமா d _) த (ாயாதி d _) த (ாரணி d _) த (ாரா_சிக்கோ d @@ -1532,13 +1570,17 @@ _நடுரோ) ட் (ல t. _) த (ீர்க d _) த (ீர்க்க t _) தீர்க்க (தரிச di:rggV + _) தீர்க்க (த்துடன di:rggV# _) த (ீர்க்கமா d _) தீர்க்க (மி di:rggV + _) தீர்க்க (முள்ள di:rggV# _) தீர்க்க (ம்_ di:rggV + _) தீர்க்க (ாயு di:rggV# _) து(ரோக d _) த (ுக்க d _) த (ுச்சம d _) த (ுச்சாதனன d + _) த (ுஜஸ் d _) த (ுட்ட d _) த (ுபாய d _) த (ுபாஷி d @@ -1582,6 +1624,7 @@ _நடுரோ) ட் (ல t. _) த (ூர்_ t _) த (ூர்ந் t _) த (ூர்வ t + _) த (ூஷ d _) த (ூஷணை d _) த (ூஷித்த d _) த (ெண்ட d @@ -1590,35 +1633,17 @@ _நடுரோ) ட் (ல t. _) த (ேக்க t _) த (ேச d _) த (ேச்ச t - _) த (ேவகான d - _) த (ேவகி d - _) த (ேவகுமார d - _) த (ேவகுரு d - _) த (ேவகுல d - _) த (ேவக் d - _) த (ேவசேன d - _) த (ேவதாஸ d - _) த (ேவதூத d - _) த (ேவதை d - _) த (ேவநேய d - _) த (ேவன d - _) த (ேவரடி d - _) த (ேவராஜ d - _) த (ேவராட்டி d - _) த (ேவராணி d - _) த (ேவராள d - _) த (ேவருலக d - _) த (ேவர்க d - _) த (ேவலோக d - _) த (ேவஸ்தான d - _) த (ேவாதி d - _) த (ேவாமிருத d - _) த (ேவாம்ச d - _) த (ேவார d - _) த (ேவாலய d - _) த (ேவி d + _) த (ேவ d + _) த (ேவடியா t + _) த (ேவரிட t + _) த (ேவரு t + _) த (ேவரை t + _) த (ேவர்_ t + _) த (ேவல t + _) த (ேவிடியா t _) த (ேவிடியா t _) த (ேவேந் d + _) த (ேவை t _) த (ைரிய d _) த (ொனி d _) த (ொன்னை d @@ -1642,6 +1667,7 @@ _வசந்) த tV# _க) த (L08ஜா t _சாந்) த (_ tV _ப) த (ஞ்சலி tV + _பல்) த (ட tV _கீழ்) த (ட்ட tV _மேல்) த (ட்ட tV _சாந்) த (த்த tV# @@ -1721,6 +1747,7 @@ _சிறை) த்த (ண்டனை ddV L03) த்த (ின dd சில) த்த (ினங் dd பல) த்த (ினங் dd + வர்) த்த (ினி dd சா) த்த (ிய dd ம) த்த (ிய dd வா) த்த (ிய dd @@ -1876,6 +1903,10 @@ _சி) த்ரலேக (ா trVle:k _) பத்த (ிரகாளி bVdd _) ப (த்திரப்பட bV _) ப (த்திரமா bV + _) பத்த (ிரி_ bVdd + _) பத்த (ிரிக்கு bVdd + _) பத்த (ிரிய bVdd + _) ப (த்ரி bV _சொந்த_) ப (ந்த bV _) ப (ந்த_பாச bV _) ப (ந்தங்கள bV @@ -1916,6 +1947,7 @@ _டீயும்_) ப (ன்னும்_ bV _) ப (யாலஜி bV _) பயாஸ்கோப் bVja:sko:p _) ப (யில்வான bV + _) ப (ரதக் bV _) ப (ரதநாட்டிய bV _) ப (ரதன bV _) ப (ரதர bV @@ -1926,11 +1958,13 @@ _டீயும்_) ப (ன்னும்_ bV _) ப (ராக்_ஒபாமா bV _) பரூக் fVrU:k _) ப (ரோட bV + _) ப (ர்ஃபி bV _) ப (ர்கர bV _) ப (ர்த் bV _) ப (ர்னாலா bV _) பர்னிச (ர fVrnitSV _) ப (ர்னிச்சர fV + _) பர்ப (ி bVrf _) ப (ர்ம bV _) ப (ர்லாங் fV _) ப (லகீன bV @@ -1959,6 +1993,7 @@ _டீயும்_) ப (ன்னும்_ bV _) ப (லமுடைந்த bV _) ப (லமுடைய bV _) ப (லமும bV + _) ப (லமுள்ள bV _) ப (லராம bV _) ப (லவந்த bV _) ப (லவான bV @@ -1975,6 +2010,7 @@ _டீயும்_) ப (ன்னும்_ bV _) ப (லீஜா bV _) பலுச (ிஸ்தான bVlUtS _) ப (லூன bV + _கம்) ப (ல் pV _) ப (ல்கேரிய bV _) பல்ட (ி bVlt. _) ப (ல்பு bV @@ -2040,8 +2076,10 @@ _டெட்_) ப (ாடி b _) ப (ாதிக்காத b _) ப (ாதிக்கால p _) ப (ாதிக்கின்ற b + _) ப (ாதிக்கிற b _) ப (ாதிக்கு_ p _) ப (ாதிக்குமான b + _) ப (ாதிக்குமாறு b _) ப (ாதிக்குமாவ b _) ப (ாதிக்குமெ b _) ப (ாதிக்கும்_ b @@ -2057,10 +2095,12 @@ _டெட்_) ப (ாடி b _) ப (ாதிப்படைவ b _) ப (ாதிப்பதா b _) ப (ாதிப்பதை b + _) ப (ாதிப்பாகிற b _) ப (ாதிப்பால b _) ப (ாதிப்பினால b _) ப (ாதிப்பிற்க b _) ப (ாதிப்பில b + _) ப (ாதிப்புகள b _) ப (ாதிப்புக் b _) ப (ாதிப்புண்ட b _) ப (ாதிப்பும b @@ -2093,6 +2133,7 @@ _ஆடு_) ப (ாம்பே p _விளையாடு_) ப (ாம்பே p _ரூம்_) ப (ாய b _) ப (ாய்லர b + _) ப (ாரங்கள b _) ப (ாரத b _) ப (ாரதி b _) ப (ாரத்த b @@ -2229,8 +2270,13 @@ _ராகத்தின்_) ப (ாவ b _) பி (ரதம p _) பி (ரதர்_ b _) பி (ரதர்_ b + _) பி (ரதான p + _) பி (ரதி p _) பி (ரதீ p _) பி (ரதேச p + _) பி (ரதேஷ p + _) பி (ரத்தியேக p + _) பிரத் (யேக prVt _) பி (ரப p _) பி (ரமாண p _) பி (ரமாண்ட b @@ -2355,6 +2401,7 @@ _ராகத்தின்_) ப (ாவ b _) ப (ில்கள b _) ப (ில்டப் b _) ப (ில்டிங் b + _) ப (ில்லா b _) ப (ில்லியன b _) பி (ளவுஸ b _) பி (ளஸ p @@ -2362,6 +2409,7 @@ _ராகத்தின்_) ப (ாவ b _) பி (ளா p _) பிளாக் bla:k _) பி (ளாட்பார p + _) பிளாப் fl.a:p _) பி (ளாஸ்க் f // flask _) பி (ளீஸ p _) பிள (ைட் fl. @@ -2398,10 +2446,11 @@ _ராகத்தின்_) ப (ாவ b _) ப (ீன்ஸ b _) ப (ீப்பொலி b _) ப (ீம b + _) ப (ீர b _) ப (ீரங்கி b _) பீ (ராமண b _) ப (ீராமணர b - _) ப (ீரை b + _) ப (ீரிட p _) ப (ீரோ b _) ப (ீர்பால b _) ப (ீஹார b @@ -2437,6 +2486,7 @@ _பெனசீர்_) ப (ுட்டோ b _) ப (ுரோக்கர b _) பு (ரோக்கர b _) புரோட (ான pro:t. + _) பு (ரோட்டா bV _) பு (ரௌச b _) ப (ுல்_L15 f _) ப (ுல்டோசர b @@ -2453,12 +2503,14 @@ _பெனசீர்_) ப (ுட்டோ b _) ப (ூச்சாண்டி b _) பூட (ான bu:t. _) ப (ூட்ஸ b + _) ப (ூதகண b _) ப (ூதகணங்க b _) ப (ூதங் b _) ப (ூதத் b _) ப (ூதபாண்டிய b _) ப (ூதம b _) ப (ூதவுடம்ப b + _) ப (ூதாகர b _) ப (ூதாகார b _) ப (ூதான b _) ப (ூதேவி b @@ -2493,6 +2545,7 @@ _பெனசீர்_) ப (ுட்டோ b _) பெப்ப (ே bebb _) ப (ெப்ரவரி f _) ப (ெர்னாட்ஷா b + _) ப (ெர்னாண்ட f _) ப (ெர்னான்ட f _) ப (ெர்னார்ட b _) ப (ெர்முடா b @@ -2590,6 +2643,8 @@ _பெனசீர்_) ப (ுட்டோ b _சந்திர_) ப (ோஸ b _) ப (ோஸிட b _) போ (ஸ்டன ba: + _கம்) ப (ௌண்ட p + _காம்) ப (ௌண்ட p _) பௌண்ட (ன faUn.t.V _) ப (ௌதிக b _) ப (ௌத்த b @@ -2626,12 +2681,14 @@ _சந்திர_) ப (ோஸ b _) ப் (ரௌச b _) ப் (ரௌன b _) ப் (ளவுஸ b + _) ப்ளாப் fl.a:p _) ப் (ளோரிடா f _) ப் (ளௌஸ b //endsort //sort இடர்) ப pV# + _கேம்) ப pV# _பிரதீ) ப pV# ஒலிம்) ப pV# சங்கல்) ப pV# @@ -2834,6 +2891,7 @@ _ப்ரின்சி) ப (ால p அடி) ப (ாவி p _நவ) ப (ாஷ p _தமிழ்ப்) ப (ாஷ _b + _கா) ப (ி f வாதா) ப (ி p _கடா) ப (ி f _யுஎஸ்) ப (ி b @@ -2845,6 +2903,7 @@ _தமிழ்ப்) ப (ாஷ _b கண்டு) ப (ிடி p திமிர்) ப (ிடி p _கடை) ப (ிடி p + _வெறி) ப (ிடி p ராவல்) ப (ிண்டி p _டால்) ப (ின f ஒ) ப (ினியன p @@ -2863,7 +2922,6 @@ _கன்னா) ப (ின்னா p @) ப (ின்னால்_ p _) ப (ிப்ரவரி f _லெஸ்) ப (ியன b - _கா) ப (ியோ f _வரப்) பி (ரL04ாத p _ஞான) பிரக (ா prVk _ஞானப்) பிரக (ா prVk @@ -2952,6 +3010,8 @@ _கோலாலம்) ப (ூர p _மறு) ப (ேச்ச p ஒரு) ப (ேச்ச p வீண்) ப (ேச்ச p + ப (ேட்டை p + ம்) ப (ேட்டை b _சில) ப (ேர p _பல) ப (ேர p _வெல்) ப (ேர f @@ -3034,6 +3094,7 @@ _மைக்ரோசா) ப் (ட f தென்னா) ப்ப (ரிக்க fV உயிர்) ப்ப (லி bbV L03) ப்ப (ஸ bbV + _ட) ப்ப (ா bb அடி) ப்ப (ாக bb இறுதி) ப்ப (ாக bb துர்) ப்ப (ாக்கிய bb @@ -3143,7 +3204,6 @@ _சந்தேக) ப்ப (ுத்தி bb _ஆ) ப (ிஸ f // office _ஆ) ப (ிச f // office கிராம) ப (ோன f // gramaphone - _கா) ப (ியை f _) ப (ோட்டோ_ f _) ப (ோட்டோவ f @@ -3259,6 +3319,7 @@ _சந்தேக) ப்ப (ுத்தி bb இ (ராக இ (ராச இ (ராஜ + இராஞ்ச ra:n^tSV# இ (ராட்சத இ (ராட்சஷ இ (ராணி diff --git a/phsource/compile_report b/phsource/compile_report index caf2575b..cf420d99 100644 --- a/phsource/compile_report +++ b/phsource/compile_report @@ -402,8 +402,8 @@ l/l_ [l] base [l/] fr l/l_@ [l/3] base [l/] fr -l/l@ [l#] base - [”¦] base +l/l@ [hAö] base + [l#] base [l] fr [l/2] fr [K] nso @@ -436,16 +436,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 [l#] base - [”¦] base +l/la [hAö] base + [l#] base [l] fr [l/2] fr [K] nso [K] tn l/l_a [l/3] base [l/] fr -l/le [l#] base - [”¦] base +l/le [hAö] base + [l#] base [l] fr [l/2] fr [K] nso @@ -456,8 +456,8 @@ l/L_eL_af [&] af [&:] af l/l_front [L] sq l/l_front_ [l/4] sq -l/li [l#] base - [”¦] base +l/li [hAö] base + [l#] base [l] fr [l/2] fr [l] zh @@ -470,8 +470,8 @@ ll/ll [L] bg ll/_ll [L] bg l/l_long [l] base [l] fr -l/lo [l#] base - [”¦] base +l/lo [hAö] base + [l#] base [l/2] fr [K] nso [K] tn @@ -480,8 +480,8 @@ l/l_o [l/3] base l^/l_rfx [l.] base [l] ru [l^] ru -l/lu [l#] base - [”¦] base +l/lu [hAö] base + [l#] base [l] fr [l/2] fr [K] nso diff --git a/phsource/ph_estonian b/phsource/ph_estonian index 4ff36223..a4b25436 100755 --- a/phsource/ph_estonian +++ b/phsource/ph_estonian @@ -314,7 +314,7 @@ phoneme r // used for [r] when not preceding a vowel FMT(r3/r_) addWav(r3/rx) endphoneme -phoneme k // tasasemad klõklsud +phoneme k // tasasemad kl�klsud vls vel stop lengthmod 2 voicingswitch g diff --git a/phsource/ufric/s_pal.wav b/phsource/ufric/s_pal.wav index bc67ac2820b8df1c0f9ee50da099105a680f3199..c079c84c7c0c1582e719d2332af69f164f58c5dc 100755 GIT binary patch delta 15 WcmdmB(WT559-dr!z~d^3QT7wukZrC}6efj}D0 zDYsG^qJWLDCD*xGg> z8Wo>~nJVj7bwyL1B}F0eJsc2Obsj7|j%T4oK-dU{(Hswvz&11t?M&M&xL!t5pr3cf zL{t_1DWVk5?<9pcD+qlSMlt4`#j@js1}x!V(Dy(gl)7LMqx_UM)U2+lbTzZ&oHG{L z&_#2OOIErF$2fj>^9m!uZTP$#F~dt6X8n>{;4oscenV5vOJ*)&Ec~g*0(m%>q&NU? zFrA2LNfYC_tnCxNCL!iRc1sRmJs~w8Nohp+=-0NP_P_Xpa{2L}3M4xYu|lbb z?8V=jvKRjVlr8v2r4;=8kiGg}q^*4KQ!0YewmE+nN(oq5KEyu^r2;K&Z~4cjtbrRL z51qeM>UPVGl={$y{2eI``3Ix?lm8zm0MtPm_P^#pb(9*pG&kYzPHDnFB&C+$ep&01 aGy8id#Z+EI6M5rwu115$tyb%ie18M{$Kjp; diff --git a/platforms/big_endian/espeak-phoneme-data.c b/platforms/big_endian/espeak-phoneme-data.c index 72a3825e..8d7ca32f 100644 --- a/platforms/big_endian/espeak-phoneme-data.c +++ b/platforms/big_endian/espeak-phoneme-data.c @@ -167,6 +167,7 @@ int main (int argc, char *argv[]) #else printf ("Host seems to be little-endian ..\n"); #endif + printf ("Reading from: %s\n", indir); sprintf (f1, "%s/phondata", indir); sprintf (f2, "%s/temp_1", outdir); @@ -211,6 +212,8 @@ void swap_phondata (const char *infile, const char *outfile, {//========================================================== FILE *in, *mfest, *out; int displ; + int displ_out; + int errorflag_displ = 0; // only report the first displ mismatch error char line[1024]; unsigned char buf_4[4]; @@ -241,6 +244,13 @@ void swap_phondata (const char *infile, const char *outfile, sscanf(&line[2],"%x",&displ); fseek(in, displ, SEEK_SET); + fflush(out); + displ_out = ftell(out); + if((errorflag_displ==0) && (displ != displ_out)) + { + fprintf(stderr, "Length error at the line before: %s", line); + errorflag_displ = 1; + } if (line[0] == 'S') { SPECT_SEQ buf_spect; diff --git a/platforms/windows/make_espeak.iss b/platforms/windows/make_espeak.iss index 0b6c28d4..8d571341 100755 --- a/platforms/windows/make_espeak.iss +++ b/platforms/windows/make_espeak.iss @@ -2,7 +2,7 @@ [Setup] AppName=eSpeak -AppVerName=eSpeak version 1.46.08 +AppVerName=eSpeak version 1.46.02 AppCopyright=Licensed under GNU General Public License version 3. (See file License.txt for details). WindowVisible=yes @@ -159,6 +159,7 @@ begin $41: Result := 'sw'; $49: Result := 'ta'; $4b: Result := 'kn'; + $4c: Result := 'ml'; //$50: Result := 'mn'; $52: Result := 'cy'; //$5e: Result := 'am'; diff --git a/platforms/windows/make_espeakedit.iss b/platforms/windows/make_espeakedit.iss index 581a8c5d..de906cce 100755 --- a/platforms/windows/make_espeakedit.iss +++ b/platforms/windows/make_espeakedit.iss @@ -1,7 +1,7 @@ [Setup] AppName=eSpeakEdit -AppVerName=eSpeakEdit version 1.45.05 +AppVerName=eSpeakEdit version 1.46.02 DefaultDirName={pf}\eSpeak DefaultGroupName=eSpeak OutputBaseFilename=setup_espeakedit diff --git a/src/dictionary.cpp b/src/dictionary.cpp index 6371c8c4..012d23b2 100644 --- a/src/dictionary.cpp +++ b/src/dictionary.cpp @@ -524,27 +524,33 @@ unsigned short ipa1[96] = { }; -static void WritePhMnemonic(char **buf, PHONEME_TAB *ph, PHONEME_LIST *plist) -{//======================================================================================= +char *WritePhMnemonic(char *phon_out, PHONEME_TAB *ph, PHONEME_LIST *plist, int use_ipa) +{//===================================================================================== int c; int mnem; int len; int first; int ix = 0; - char *phon_out; + char *p; unsigned int ipa_control=0; // first byte of ipa string may control the phoneme name interpretation. 0x20 = ignore this phoneme PHONEME_DATA phdata; - phon_out = *buf; - if(ph->code == phonEND_WORD) { // ignore phon_out[0] = 0; - return; + return(phon_out); } - if(option_phonemes == 3) + if(ph->code == phonSWITCH) + { + // the tone_ph field contains a phoneme table number + p = phoneme_tab_list[plist->tone_ph].name; + sprintf(phon_out, "(%s)", p); + return(phon_out + strlen(phon_out)); + } + + if(use_ipa) { // has an ipa name been defined for this phoneme ? phdata.ipa_string[0] = 0; @@ -568,8 +574,9 @@ static void WritePhMnemonic(char **buf, PHONEME_TAB *ph, PHONEME_LIST *plist) } if(ipa_control >= 0x20) { - *buf += ix; - return; // 0x20 = ignore phoneme + phon_out = &phon_out[ix]; + *phon_out = 0; + return(phon_out); // 0x20 = ignore phoneme } } } @@ -580,7 +587,7 @@ static void WritePhMnemonic(char **buf, PHONEME_TAB *ph, PHONEME_LIST *plist) if((c == '/') && (option_phoneme_variants==0)) break; // discard phoneme variant indicator - if(option_phonemes == 3) + if(use_ipa) { // convert from ascii to ipa if(first && (c == '_')) @@ -605,13 +612,15 @@ static void WritePhMnemonic(char **buf, PHONEME_TAB *ph, PHONEME_LIST *plist) first = 0; } - *buf += ix; + phon_out = &phon_out[ix]; + *phon_out = 0; + return(phon_out); } // end of WritePhMnemonic -void GetTranslatedPhonemeString(char *phon_out, int n_phon_out) -{//============================================================ +void GetTranslatedPhonemeString(char *phon_out, int n_phon_out, int use_ipa) +{//========================================================================= /* Can be called after a clause has been translated into phonemes, in order to display the clause in phoneme mnemonic form. */ @@ -622,7 +631,6 @@ void GetTranslatedPhonemeString(char *phon_out, int n_phon_out) int phon_out_ix=0; int stress; unsigned int c; - char *p; char *buf; char phon_buf[30]; PHONEME_LIST *plist; @@ -646,7 +654,7 @@ void GetTranslatedPhonemeString(char *phon_out, int n_phon_out) c = 0; if(stress > 5) stress = 5; - if(option_phonemes == 3) + if(use_ipa) { c = 0x2cc; // ipa, secondary stress if(stress > 3) @@ -664,30 +672,22 @@ void GetTranslatedPhonemeString(char *phon_out, int n_phon_out) } } - if(plist->ph->code == phonSWITCH) - { - // the tone_ph field contains a phoneme table number - p = phoneme_tab_list[plist->tone_ph].name; + buf = WritePhMnemonic(buf, plist->ph, plist, use_ipa); - sprintf(buf, "(%s)", p); - buf += (strlen(p) + 2); - } - else + if(plist->ph->code != phonSWITCH) { - WritePhMnemonic(&buf, plist->ph, plist); - if(plist->synthflags & SFLAG_LENGTHEN) { - WritePhMnemonic(&buf, phoneme_tab[phonLENGTHEN], NULL); + buf = WritePhMnemonic(buf, phoneme_tab[phonLENGTHEN], NULL, use_ipa); } if((plist->synthflags & SFLAG_SYLLABLE) && (plist->type != phVOWEL)) { // syllablic consonant - WritePhMnemonic(&buf, phoneme_tab[phonSYLLABIC], NULL); + buf = WritePhMnemonic(buf, phoneme_tab[phonSYLLABIC], NULL, use_ipa); } if(plist->tone_ph > 0) { - WritePhMnemonic(&buf, phoneme_tab[plist->tone_ph], NULL); + buf = WritePhMnemonic(buf, phoneme_tab[plist->tone_ph], NULL, use_ipa); } } diff --git a/src/extras.cpp b/src/extras.cpp index 615d414b..5f056464 100644 --- a/src/extras.cpp +++ b/src/extras.cpp @@ -134,7 +134,13 @@ int TestSynthCallback(short *wav, int numsamples, espeak_EVENT *events) fprintf(f_events,"'%s'\n",events->id.name); else if(type==espeakEVENT_PHONEME) - fprintf(f_events,"[%s]\n",WordToString(events->id.number)); + { + char buf[10]; + fprintf(f_events,"[%s]\n",WordToString(events->id.number)); //old version, only 4 characters bytes +// memcpy(buf, events->id.string, 8); +// buf[8] = 0; +// fprintf(f_events,"[%s]\n", buf); + } else fprintf(f_events,"%d\n",events->id.number); @@ -2309,7 +2315,7 @@ if(control==2) fprintf(f_events,"Type Audio Text Length Id\n"); fclose(f_events); - espeak_Initialize(AUDIO_OUTPUT_RETRIEVAL,1000,NULL,1); + espeak_Initialize(AUDIO_OUTPUT_RETRIEVAL, 1000, NULL, espeakINITIALIZE_PHONEME_EVENTS); espeak_SetSynthCallback(TestSynthCallback); espeak_SetUriCallback(TestUriCallback); diff --git a/src/readclause.cpp b/src/readclause.cpp index 8f803897..2c772487 100644 --- a/src/readclause.cpp +++ b/src/readclause.cpp @@ -191,6 +191,7 @@ static int n_param_stack; PARAM_STACK param_stack[N_PARAM_STACK]; static int speech_parameters[N_SPEECH_PARAM]; // current values, from param_stack +int saved_parameters[N_SPEECH_PARAM]; //Parameters saved on synthesis start const int param_defaults[N_SPEECH_PARAM] = { 0, // silence (internal use) diff --git a/src/setlengths.cpp b/src/setlengths.cpp index a36948eb..76e6983a 100644 --- a/src/setlengths.cpp +++ b/src/setlengths.cpp @@ -32,6 +32,7 @@ extern int GetAmplitude(void); extern void DoSonicSpeed(int value); +extern int saved_parameters[]; // convert from words-per-minute to internal speed factor @@ -343,6 +344,7 @@ void SetParameter(int parameter, int value, int relative) } } param_stack[0].parameter[parameter] = new_value; + saved_parameters[parameter] = new_value; switch(parameter) { diff --git a/src/speak.cpp b/src/speak.cpp index deccfbf7..35d756da 100644 --- a/src/speak.cpp +++ b/src/speak.cpp @@ -282,7 +282,7 @@ static void CloseWaveFile() -void MarkerEvent(int type, unsigned int char_position, int value, unsigned char *out_ptr) +void MarkerEvent(int type, unsigned int char_position, int value, int value2, unsigned char *out_ptr) {//====================================================================================== // Do nothing in the command-line version. if(type == 2) diff --git a/src/speak_lib.cpp b/src/speak_lib.cpp index 187a22ed..299285b3 100644 --- a/src/speak_lib.cpp +++ b/src/speak_lib.cpp @@ -66,6 +66,7 @@ int (* uri_callback)(int, const char *, const char *) = NULL; int (* phoneme_callback)(const char *) = NULL; char path_home[N_PATH_HOME]; // this is the espeak-data directory +extern int saved_parameters[N_SPEECH_PARAM]; //Parameters saved on synthesis start void WVoiceChanged(voice_t *wvoice) @@ -543,9 +544,9 @@ static const char* label[] = { #endif -void MarkerEvent(int type, unsigned int char_position, int value, unsigned char *out_ptr) -{//====================================================================================== - // type: 1=word, 2=sentence, 3=named mark, 4=play audio, 5=end +void MarkerEvent(int type, unsigned int char_position, int value, int value2, unsigned char *out_ptr) +{//================================================================================================== + // type: 1=word, 2=sentence, 3=named mark, 4=play audio, 5=end, 7=phoneme ENTER("MarkerEvent"); espeak_EVENT *ep; double time; @@ -574,7 +575,20 @@ void MarkerEvent(int type, unsigned int char_position, int value, unsigned char if((type == espeakEVENT_MARK) || (type == espeakEVENT_PLAY)) ep->id.name = &namedata[value]; else +#ifdef deleted +// temporarily removed, don't introduce until after eSpeak version 1.46.02 + if(type == espeakEVENT_PHONEME) + { + int *p; + p = (int *)(ep->id.string); + p[0] = value; + p[1] = value2; + } + else +#endif + { ep->id.number = value; + } } // end of MarkerEvent @@ -596,6 +610,9 @@ espeak_ERROR sync_espeak_Synth(unsigned int unique_identifier, const void *text, my_unique_identifier = unique_identifier; my_user_data = user_data; + for (int i=0; i < N_SPEECH_PARAM; i++) + saved_parameters[i] = param_stack[0].parameter[i]; + switch(position_type) { case POS_CHARACTER: @@ -769,13 +786,13 @@ ENTER("espeak_Initialize"); option_phonemes = 0; option_mbrola_phonemes = 0; - option_phoneme_events = (options & 1); + option_phoneme_events = (options & (espeakINITIALIZE_PHONEME_EVENTS | espeakINITIALIZE_PHONEME_IPA)); VoiceReset(0); // SetVoiceByName("default"); for(param=0; param LEAVE"); #endif embedded_value[EMBED_T] = 0; // reset echo for pronunciation announcements + + for (int i=0; i < N_SPEECH_PARAM; i++) + SetParameter(i, saved_parameters[i], 0); + return EE_OK; } // end of espeak_Cancel diff --git a/src/synth_mbrola.cpp b/src/synth_mbrola.cpp index e0ae20a0..fe6fe556 100644 --- a/src/synth_mbrola.cpp +++ b/src/synth_mbrola.cpp @@ -488,7 +488,11 @@ int MbrolaTranslate(PHONEME_LIST *plist, int n_phonemes, int resume, FILE *f_mbr len = (80 * speed.wav_factor)/256; if(ph->code != phonEND_WORD) - DoMarker(espeakEVENT_PHONEME, (p->sourceix & 0x7ff) + clause_start_char, 0, ph->mnemonic); + { + char phoneme_name[16]; + WritePhMnemonic(phoneme_name, p->ph, p, option_phoneme_events & espeakINITIALIZE_PHONEME_IPA); + DoPhonemeMarker(espeakEVENT_PHONEME, (p->sourceix & 0x7ff) + clause_start_char, 0, phoneme_name); + } ptr += sprintf(ptr,"%s\t",WordToString(name)); diff --git a/src/synthdata.cpp b/src/synthdata.cpp index fe2148c0..11f66f48 100644 --- a/src/synthdata.cpp +++ b/src/synthdata.cpp @@ -35,7 +35,7 @@ #include "translate.h" #include "wave.h" -const char *version_string = "1.46.10 21.Dec.11"; +const char *version_string = "1.46.02 06.Jan.12"; const int version_phdata = 0x014600; int option_device_number = -1; @@ -675,7 +675,7 @@ static bool InterpretCondition(Translator *tr, int control, PHONEME_LIST *plist, if(control & 0x100) { - // change phonemes pass + // "change phonemes" pass plist->ph = phoneme_tab[plist->phcode]; } ph = plist->ph; diff --git a/src/synthesize.cpp b/src/synthesize.cpp index 5c845228..3334ad60 100644 --- a/src/synthesize.cpp +++ b/src/synthesize.cpp @@ -1211,10 +1211,27 @@ void DoMarker(int type, int char_posn, int length, int value) // Type 1=word, 2=sentence, 3=named marker, 4=play audio, 5=end if(WcmdqFree() > 5) { - wcmdq[wcmdq_tail][0] = WCMD_MARKER; - wcmdq[wcmdq_tail][1] = type; - wcmdq[wcmdq_tail][2] = (char_posn & 0xffffff) | (length << 24); - wcmdq[wcmdq_tail][3] = value; + wcmdq[wcmdq_tail][0] = WCMD_MARKER + (type << 8); + wcmdq[wcmdq_tail][1] = (char_posn & 0xffffff) | (length << 24); + wcmdq[wcmdq_tail][2] = value; + WcmdqInc(); + } +} // end of DoMarker + + +void DoPhonemeMarker(int type, int char_posn, int length, char *name) +{//================================================================== +// This could be used to return an index to the word currently being spoken +// Type 7=phoneme + int *p; + + if(WcmdqFree() > 5) + { + wcmdq[wcmdq_tail][0] = WCMD_MARKER + (type << 8); + wcmdq[wcmdq_tail][1] = (char_posn & 0xffffff) | (length << 24); + p = (int *)name; + wcmdq[wcmdq_tail][2] = p[0]; // up to 8 bytes of UTF8 characters + wcmdq[wcmdq_tail][3] = p[1]; WcmdqInc(); } } // end of DoMarker @@ -1319,6 +1336,8 @@ int Generate(PHONEME_LIST *phoneme_list, int *n_ph, int resume) unsigned char *pitch_env=NULL; unsigned char *amp_env; PHONEME_TAB *ph; + int use_ipa=0; + char phoneme_name[16]; static int sourceix=0; PHONEME_DATA phdata; @@ -1330,6 +1349,9 @@ int Generate(PHONEME_LIST *phoneme_list, int *n_ph, int resume) if(option_quiet) return(0); + if(option_phoneme_events & espeakINITIALIZE_PHONEME_IPA) + use_ipa = 1; + if(mbrola_name[0] != 0) return(MbrolaGenerate(phoneme_list,n_ph,resume)); @@ -1405,7 +1427,8 @@ int Generate(PHONEME_LIST *phoneme_list, int *n_ph, int resume) 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); + WritePhMnemonic(phoneme_name, p->ph, p, use_ipa); + DoPhonemeMarker(espeakEVENT_PHONEME, sourceix, 0, phoneme_name); } switch(p->type) @@ -1712,7 +1735,8 @@ int Generate(PHONEME_LIST *phoneme_list, int *n_ph, int resume) if(option_phoneme_events) { - DoMarker(espeakEVENT_PHONEME, sourceix, 0, p->ph->mnemonic); + WritePhMnemonic(phoneme_name, p->ph, p, use_ipa); + DoPhonemeMarker(espeakEVENT_PHONEME, sourceix, 0, phoneme_name); } fmtp.fmt_addr = phdata.sound_addr[pd_FMT]; @@ -1896,7 +1920,11 @@ int SpeakNextClause(FILE *f_in, const void *text_in, int control) if((option_phonemes > 0) || (phoneme_callback != NULL)) { - GetTranslatedPhonemeString(translator->phon_out,sizeof(translator->phon_out)); + int use_ipa = 0; + if(option_phonemes == 3) + use_ipa = 1; + + GetTranslatedPhonemeString(translator->phon_out, sizeof(translator->phon_out), use_ipa); if(option_phonemes > 0) { fprintf(f_trans,"%s\n",translator->phon_out); diff --git a/src/synthesize.h b/src/synthesize.h index 946e04c3..67d8a754 100644 --- a/src/synthesize.h +++ b/src/synthesize.h @@ -17,6 +17,8 @@ * . * ***************************************************************************/ +#define espeakINITIALIZE_PHONEME_IPA 0x0002 // move this to speak_lib.h, after eSpeak version 1.46.02 + #define N_PHONEME_LIST 1000 // enough for source[N_TR_SOURCE] full of text, else it will truncate @@ -475,7 +477,7 @@ int WavegenInitSound(); void WavegenInit(int rate, int wavemult_fact); float polint(float xa[],float ya[],int n,float x); int WavegenFill(int fill_zeros); -void MarkerEvent(int type, unsigned int char_position, int value, unsigned char *out_ptr); +void MarkerEvent(int type, unsigned int char_position, int value, int value2, unsigned char *out_ptr); extern unsigned char *wavefile_data; @@ -559,7 +561,7 @@ 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); -//int DoSample(PHONEME_TAB *ph1, PHONEME_TAB *ph2, int which, int length_mod, int amp); +void DoPhonemeMarker(int type, int char_posn, int length, char *name); int DoSample3(PHONEME_DATA *phdata, int length_mod, int amp); int DoSpect2(PHONEME_TAB *this_ph, int which, FMT_PARAMS *fmt_params, PHONEME_LIST *plist, int modulation); int PauseLength(int pause, int control); diff --git a/src/translate.h b/src/translate.h index 0f0a9826..6e310798 100644 --- a/src/translate.h +++ b/src/translate.h @@ -639,7 +639,7 @@ int IsDigit(unsigned int c); int IsAlpha(unsigned int c); int isspace2(unsigned int c); int towlower2(unsigned int c); -void GetTranslatedPhonemeString(char *phon_out, int n_phon_out); +void GetTranslatedPhonemeString(char *phon_out, int n_phon_out, int use_ipa); Translator *SelectTranslator(const char *name); int SetTranslator2(const char *name); @@ -679,6 +679,7 @@ int ReadClause(Translator *tr, FILE *f_in, char *buf, short *charix, int *charix void SetVoiceStack(espeak_VOICE *v, const char *variant_name); void InterpretPhoneme(Translator *tr, int control, PHONEME_LIST *plist, PHONEME_DATA *phdata); void InterpretPhoneme2(int phcode, PHONEME_DATA *phdata); +char *WritePhMnemonic(char *phon_out, PHONEME_TAB *ph, PHONEME_LIST *plist, int use_ipa); extern FILE *f_trans; // for logging extern FILE *f_logespeak; diff --git a/src/transldlg.cpp b/src/transldlg.cpp index f9b4003a..fce227c1 100644 --- a/src/transldlg.cpp +++ b/src/transldlg.cpp @@ -408,6 +408,7 @@ void TranslDlg::OnCommand(wxCommandEvent& event) char phon_out[N_PH_LIST*2]; int clause_tone; int clause_count; + int use_ipa = 0; FILE *f; int fd_temp; char fname_temp[100]; @@ -459,6 +460,7 @@ void TranslDlg::OnCommand(wxCommandEvent& event) t_phonetic->SetDefaultStyle(style_phonetic_large); translate_text = 3; + use_ipa = 1; break; case T_PROCESS: @@ -468,7 +470,7 @@ void TranslDlg::OnCommand(wxCommandEvent& event) myframe->OnProsody(event); } prosodycanvas->LayoutData(ph_list,n_ph_list); - option_phoneme_events = 1; + option_phoneme_events = espeakINITIALIZE_PHONEME_EVENTS; option_log_frames = 1; MakeWave2(ph_list,n_ph_list); option_log_frames = 0; @@ -495,7 +497,7 @@ void TranslDlg::OnCommand(wxCommandEvent& event) CalcPitches(translator,clause_tone); CalcLengths(translator); - GetTranslatedPhonemeString(translator->phon_out,sizeof(translator->phon_out)); + GetTranslatedPhonemeString(translator->phon_out, sizeof(translator->phon_out), use_ipa); if(clause_count++ > 0) strcat(phon_out," ||"); strcat(phon_out,translator->phon_out); diff --git a/src/wavegen.cpp b/src/wavegen.cpp index 31043e4c..01f5dabb 100644 --- a/src/wavegen.cpp +++ b/src/wavegen.cpp @@ -261,8 +261,11 @@ unsigned char pitch_adjust_tab[MAX_PITCH_VALUE+1] = { #ifdef LOG_FRAMES -static void LogMarker(int type, int value) -{//======================================= +static void LogMarker(int type, int value, int value2) +{//=================================================== + char buf[20]; + int *p; + if(option_log_frames == 0) return; @@ -272,7 +275,13 @@ static void LogMarker(int type, int value) if(f_log) { if(type == espeakEVENT_PHONEME) - fprintf(f_log,"Phoneme [%s]\n",WordToString(value)); + { + p = (int *)buf; + p[0] = value; + p[1] = value2; + buf[8] = 0; + fprintf(f_log,"Phoneme [%s]\n", buf); + } else fprintf(f_log,"\n"); fclose(f_log); @@ -1630,7 +1639,7 @@ void WavegenSetVoice(voice_t *v) } WavegenSetEcho(); SetPitchFormants(); - MarkerEvent(espeakEVENT_SAMPLERATE,0,wvoice->samplerate,out_ptr); + MarkerEvent(espeakEVENT_SAMPLERATE, 0, wvoice->samplerate, 0, out_ptr); // WVoiceChanged(wvoice); } @@ -1862,6 +1871,7 @@ int WavegenFill2(int fill_zeros) long *q; int length; int result; + int marker_type; static int resume=0; static int echo_complete=0; @@ -1889,7 +1899,7 @@ int WavegenFill2(int fill_zeros) q = wcmdq[wcmdq_head]; length = q[1]; - switch(q[0]) + switch(q[0] & 0xff) { case WCMD_PITCH: SetPitch(length,(unsigned char *)q[2],q[3] >> 16,q[3] & 0xffff); @@ -1946,13 +1956,14 @@ int WavegenFill2(int fill_zeros) #endif case WCMD_MARKER: - MarkerEvent(q[1],q[2],q[3],out_ptr); + marker_type = q[0] >> 8; + MarkerEvent(marker_type, q[1],q[2],q[3],out_ptr); #ifdef LOG_FRAMES - LogMarker(q[1],q[3]); + LogMarker(marker_type, q[2], q[3]); #endif - if(q[1] == 1) + if(marker_type == 1) // word marker { - current_source_index = q[2] & 0xffffff; + current_source_index = q[1] & 0xffffff; } break;