diff --git a/dictsource/da_list b/dictsource/da_list new file mode 100755 index 00000000..1deffb69 --- /dev/null +++ b/dictsource/da_list @@ -0,0 +1,239 @@ + +// This file is UTF8 encoded +// Spelling-to-phoneme words for Danish + +// sounds are specified for these accented characters +// use the $accent attribute here to force the use of the +// accent table when speaking the name of the character. +à $accent $atend // this can be a word +ç $accent +é $accent +ê $accent +ä $accent +ë $accent +ï $accent +ö $accent +ü $accent +č $accent +š $accent +ş $accent +ž $accent +ñ $accent + +// accent names +_lig ligatur +_acu akj'u:t +_ac2 dV@lakj'u:t +_brv br'i:v +_ced s@d'ila +_cir s'3:kVmfl,Eks +_dia 'umlaut +_dot wiDd'0tabVv +_grv gr'a:v +_hac h'atS,Ek +_mcn m'akr,0n +_ogo '0g0n,Ek +_rng ring +_stk str'ouk +_tld tild@ + +_smc sm'O:lk,ap +_rev riv'3:sd +_tur t'3:nd +_bar _b'A@ +_rfx rtroflEks +_crl k'3:l +_hok h'uk + + +// character names +_cap stoVt boustaw +_?A boustaw +_?? symboL +_#9 tab +_#32 blank + +* 'asd&r,isg $max3 +% pRos'end $max3 +@ sn,&:bel'&: +/ sgRVsdrai $max3 +\ 'Vmvendsgr,VsdRai $max3 +_, koma: +_; se:mi:ko:lVn +_: ko:lVn +_. pun^tum +_? spWrgsmVlstajn +_! udRVbstejn +_- binnesdrai +__ bOndsdrai +& ou +£ pun? +€ euro +© kopyrajt += l'imeD +# n'OmV +// numbers +_0 'nOl +_1 'e:n +_2 t'o: +_3 tR'&: +_4 f'i:3 +_5 f'Em +_6 s'Egs +_7 s'yw +_8 'O:d@ +_9 n'i: +_10 t'i: +_11 'Elv@ +_12 t'Vl +_13 tR'Ad@-n +_14 fj'ord@-n +_15 f'Emd@-n +_16 s'ajsd@-n +_17 s'Yd@-n +_18 'ad@-n +_19 n'ed@-n +_2X t'y:w +_3X tR'ADv@ +_4X f'W:*3 +_5X hal't*es +_6X t*'es +_7X halfj'&rs +_8X f'irs +_9X half'Ems +_0C h'un*3D@ +_0M1 t'u:s@-n +_1M2 'e:n||milij'o:n +_0M2 milij'o:n3 +_1M3 'e:n||milij'A:d +_0M3 milij'A:d3 +_1M4 'e:n||bilij'o:n +_0M4 bilij'o:n3 + +_0and 3 +_dpt _k,Vm&: + + +// function words + +den dEn $u +en e:n $u +et ed $u + +// conjunctions +og V $u+ $pause // and +men $pause // but +eller $u+ $pause // or +mens $pause // while +for fV +fordi fVdi $pause // because +når nVr $pause // while +som $u+ $pause // who (relative) +der dA $u+ $pause + +// prepositions +på pO $u+ +til $u+ // toward +fra $u+ // from +ved $u+ // at +om $u+ $brk // about, within +med $u+ // with +af a? $u+ // of +at at $u+ // to +hos $u+ // at + + + +// pronouns +jeg jai $u // I +du $u +de di $u +han $u +hun $u +det de $u +vi $u +i _i: $u+ +mig maj $u // me +dig daj $u +dem $u +ham $u +hende $u +sig saj $u +os $u +jer $u +denne $u+ // this +dette $u+ +disse $u+ // these + + +// possessive pronouns +Min min $u +Mit mit $u +Mine min@ $u +din di?n +dit di?t $u +dine $u +deres $u +hans $u +hendes $u +dens $u +dets $u +sin si?n +sit si?t $u +sine $u +vor $u +vort $u +vore $u +vores $u +jeres $u + + +// auxillary verbs +er $u+ // is +var vAr $u+ // was +har hAr $u+ // has +havde $u+ // had +vil $u+ // will +skal $u+ // shall +kan $u+ // can +skulle $u+ // should +må $u+ // may +bør $u+ // ought + +// letter names +b be: +c se: +d de: +f Ef +g ge: +h hO: +_i i: +j joD +k kO: +l El +m Em +n En +p pe: +q ku: +r Er +s es +t te: +u u? +v ve: +w d'Vbeltve: +x Eks +y Y? +z sEt + + +// exceptions +egen a:j@n +eget a:j@D +egne a:in@ +igen igen +enter entV +også Vs@ +sig sAi // oneself +sagde sa@ // said +Ny ny // new + diff --git a/dictsource/da_rules b/dictsource/da_rules new file mode 100755 index 00000000..9ea836b2 --- /dev/null +++ b/dictsource/da_rules @@ -0,0 +1,552 @@ + + +// This file is UTF8 encoded + +// Spelling-to-phoneme rules for Danish + + + +.replace +ü y + + + +.L01 k g nk ng // velars + + + + + +.group a + a a? + C) a (C a + a (tion a + a (CK a + a (nK a + a (r+ A: + r) a A: + r) a (CK A + ai (K aj + + au (K au + + aw (K aw + ay (K aj + aa O: + r) aa O: + + + + + +.group b + + b b + bb b + _) be (@P2 be + + _) be (d bE + + + +.group c + + c k + + c (e s + c (i s + ch S + e) c (h k + c (ha S + cc ks + c (yk s + fa) c (ad s + fa) c (on s + + + + +.group d + d d + dd D + A) d (_ D + A) d D + A) d (A D + A) d (i d + A) d (ig D + A) d (isk D + A) d (es D + A) d (et D + &) de (_ D@ + i) d d + i) d (e d + l) d (+ + æ) d d + An) d (rA d + in) d (C + in) d (ue d + ø) d (C D + ø) d (t + å) d (an d + d (CA D + d (t ? + be) d (st : + a) d (s + i) d (s + r) d (K + in) d + ir) d (_ d + or) d (en + nor) d + pu) d (s + ur) d (e d + ver) d (en d + + +.group e + e e + r) e (j a + e (rK & + b) e (ds E + d) e (_ @ + ed) e (- @D + g) e (C e + g) e (js aj + r) e V% + @st) e (n e: + carst) e (n @ + karst) e (n @ + Kr) e (ag e + r) e (l e + r) e (CK e + r) e (L01 Aj + m) eg aj + n) e (K e + ea i: + ee e: + eg (e e@ + r) eg (n A:j + r) e (d e + r) e (v e + ei A:j + ej (+ ai + ffic) e + ffic) e (r e + &) e (_ @: + &r) e (_ e + + &) ede (_ @D@ + &r) ede (_ 3D@ + &r) en (_ 3n + &r) en (s_ 3n + &r) et (_ 3D + &) er (_ 3 + &) en (_ @-n + &) ene (_ @-n@ + &) ende (_ @-nn@ + &) eren (_ 3r3n + &) eren (s_ 3r3n + &) es (_ @s + &) et (_ @D + ir) e (n 'e + yr) e (n 'e + + + + + + + +.group f + + f f + + ff f + _) for (@P3 f%V + _) for (um f%or + a) f (A u + a) f (C u + a) f (rik f + a) f (ten f + a) f (tes_ f + Ca) f (t f + ra) f (ik f + kra) f (t f + + + +.group g + g g + a) g (A w + a) g (C ?w + a) g (e + la) g (e + g) g g + e) g (e + n) g n^ + i) g (t g + i) g j + i) g (A + r) g (_ w + r) g (e w + ør) g (s + l) g (_ j + u) g g + u) g (e + u) g (l ? + u) g (t g + y) g (e j + y) g (A g + ø) g (e + ø) g (n + &e) g j + ba) g (e + da) g (e + rea) g (er g + aga) g (e S + aga) g (te g + arran) g (e S + eta) g (e S + a) g (A j + l) g (_ j + l) g (e j + l) g (s j + Ca) g (t k + o) g u + æda) g (og g' + no) g (e + no) g (le + + o) g (r g + o) g (n g + o) g (s u + o) g (st k + ø) g (_ j + ø) g (t g + lå) g (e u + vå) g (e u + vå) g (ne u + go) g = + lo) g = + ør) g w + a) g (K ? + _) ge (@P2 ge + + _) ge (nere Se + _) ge (nert Se + _) ge (nerel ge + _) ge (nera ge + ta) g (e + + +.group h + + h h + h (j + h (v + A) h (K + t) h (en h + + + + +.group i + i i: + i (CK i + ig (_ i + ige (_ i;i + i (nK i + i (nn e + i (mK e + l) i (e j + n) i (e i + + t) i (e j + + s) i (e j + + t) i (on // i ommitted because of sj + + s) i (on j + + + + + +.group j + + j j + j (aw dZ + j (ack dZ + j (ohn dZ + o) j (e S + a) j (o S + + +.group k + + k k + + kk k + + s) k g + + &) k g // after stressed vowel + + &) kk g + + + + + +.group l + + l l + + ll l + + ld (K l + + &) ld (e_ l + + &) ld (ekk l + + + + + +.group m + m m? + mm m + m (A 'm + + + +.group n + + n n + + nn n + nd (e n + nd (K n + nd (ow nd + n (k N + + n (g + + + + + +.group ng + + ng (a ng + ng (i ng + arra) ng n^S + + + +.group o + o o: + kr) o (C o + cr) o (C 'o + o (CK o + o (r O- + o (gK o + oo u + ou Vw + ov Vw + @) o (C V + _C) o (l 'V + _C) o (p 'V + _CC) o (p 'V + _CC) o (l 'V + _f) o (r 'V + l) o (kk V + p) o (li o + st) o (K 'o + ati) o (n 'o + + +.group p + + p p + + pp p + + &) p b + + &) pp b + + +.group q + + q k + + qu kv + + + + + +.group r + r r + b) r r + ø) r V: + A) r r + Ae) r V + &) rd (e_ r + &) rd (eKK r + bu) rd (eK rd + no) rd (eKK r + no) rd (isk rd + tu) rd (eK rd + ve) rd (eKK rd + + + + +.group s + + s s + s (p s + s (C s + s (A s + s (ie s + s (ion S + + + + s (j s + + s (ch S + + + +.group t + + t t + A) t (_ t: + th t + &) t t + + &) tt t + + &) th d + + t (ie t + + t (ion+ sj' + + + + + +.group u + u u + u (CK u + u (nK u + u (mK O + a) u (g u + l) u (k O? + l) u (kas u + m) u (k O? + comp) u (ter ju + r) u u + r) u (m O + r) u (nd O? + g) u (st O + r) u (s u + + +.group v + v v + vv v + A) v (K w + a) v (n u + &A) v v + &r) v v + l) v (C + l) v (A + + + + +.group w + + w w + + + + + +.group x + + x gs + + _) x s + + n) x s + + + + + +.group y + + y y: + + r) y Y: + r) y (CK Y + y (CK Y- + y (nK Y + y (mK Y + d) y (_ i + b) y (A y + n) y (A y + + + +.group z + + z s + + zz s + +.group æ + æ E? + æ (CK E: + l) æ E: + r) æ &: + r) æ (CK e + r) æ (L01 Aj + t) æ (C E: + v) æ E: + + +.group ø + ø W? + ø (CK W: + b) ø (g W + f) ø (r W: + h) ø (r W: + k) ø (r W: + l) ø (s W: + m) ø W: + r) ø W: + s) ø W: + ø (r w + r) ø (CK W: + øg Vj + øj Vj + +.group å + å O:? + å (CK V + å (r+ 0: + l) å (r V? + +.group + $ dVlar + + diff --git a/dictsource/de_list b/dictsource/de_list index 44a45cba..53bdf814 100644 --- a/dictsource/de_list +++ b/dictsource/de_list @@ -26,6 +26,7 @@ _. pUnkt @ kl'ame:*,af@ ~ tIld@ \ bEkslES +° g@-*A:t _, kOma _| paIp diff --git a/dictsource/dict_phonemes b/dictsource/dict_phonemes index 2526932e..2f0fd80c 100644 --- a/dictsource/dict_phonemes +++ b/dictsource/dict_phonemes @@ -468,10 +468,10 @@ Dictionary da_dict E i o O u V W y Y -* : ; b d D f g -h j k l m n N p -r R R3 s S; t tS; v -w +* - : ; ? b d D +dZ f g h j k l L +m n N n^ p r R s +S t tS v w Dictionary sk_dict diff --git a/dictsource/en_list b/dictsource/en_list index bc923d78..42fee15c 100644 --- a/dictsource/en_list +++ b/dictsource/en_list @@ -311,7 +311,15 @@ _ord T // default ending _1o f'3: _2o s'Ek _3o T'3: -_5o f'I +_5o f'If +_20o tw'Enti@ +_30o T'3:ti@ +_40o f'o@ti@ +_50o f'Ifti@ +_60o s'Iksti@ +_70o s'Ev@nti@ +_80o 'eIti@ +_90o n'aInti@ _0Co h'Vndr@dT @@ -366,6 +374,7 @@ ui $abbrev uk $abbrev url $abbrev usa $abbrev +usb $abbrev utc $abbrev u.s ju:'Es VI $abbrev @@ -575,6 +584,7 @@ approximate a2pr0ksImeIt $verb arab ar@b arabic $1 arable ara2b@L +arc A@k // arcing arcade $2 arch A@tS arches A@tSI2z @@ -588,9 +598,9 @@ arisen a2rIz@n armslength ,A@mzl'ENT arouse a2raUz asbestos asb'Est@s -ascertain as3teIn arsenal A@s@n@L arsenic A@snIk +ascertain as3teIn asiatic eISI'atIk askance a2skans ass as @@ -760,6 +770,7 @@ chapel tSap@L charade Sa2rA:d charismatic karIsm'atIk charit tSarIt // charitable +chemise SEm'i:z chic Si:k chimpanzee $3 chisel tSIz@L @@ -773,7 +784,7 @@ cigarette sIg@'rEt circumference $2 circumvent s3:k@mvEnt ?5 circumvent sIRk@mvEnt -citizen sItIz@n +cleanliness klEnlIn@s cleanse klEnz ?!3 clerk klA@k cliche kli:SeI @@ -802,6 +813,7 @@ colonel k3:n@L ?5 colonel kVRn@L combat k0mbat // combating combo k0mboU +comely kVmlI // comeliness comer kVm3 comet k0mI2t commence k@mEns @@ -872,6 +884,7 @@ crevasse kr@vas crisis kraIsIs crises kraIsi:z christmas krIsm@s +croissant kwA:sA~ crooked krUkId crusade $2 cuckoo kUku: @@ -1017,6 +1030,7 @@ entree 0ntreI envelope Env@loUp $only envelopes Env@loUps envelope $verb +epiphany I2pIf@nI epistle I2pIs@L epitome I2pIt@mI equation I2kweIZ@n @@ -1087,6 +1101,7 @@ fete feIt fetus fi:t@s fi f,aI // as in "hi-fi" fiasco fi:'askoU +fiat fi:@t fiery faI@rI finale fI2nA:lI finance faInans $only @@ -1245,6 +1260,7 @@ hypoxia haIp'0ksi@ icon aIk0n iconbar aIk0nbA@ +idly aIdlI ignoramus Igno@r'eIm@s imagine I2madZI2n impedance Imp'i:d@ns @@ -1252,8 +1268,8 @@ imperative Imp'Er@tIv impercept $3 // imperceptible impi $1 impinging Imp'IndZIN -imprecise Impr'Is'aIs -impregnable I'mpr'Egn@b@L +imprecise ImprIs'aIs +impregnable Impr'Egn@b@L inanimate In'anIm@t inappropriate ,Ina2proUpri@t incense Ins'Ens $verb @@ -1347,6 +1363,7 @@ las ,las lasagne l@zanj@ laser leIz3 lasso las'u: +latte lateI lawyer lOI3 lava lA:v@ le l@ $only @@ -1369,6 +1386,7 @@ ligate li:geIt lilac laIl@k lily lIlI limit lImI2t // limited +limo lImoU limousine lIm@zi:n lingerie l0nZ@rI linen lInI2n @@ -1554,6 +1572,7 @@ offer 0f3 offers 0f3z ogre oUg3 okay oUk'eI +omeg oUm'eIg@ omelet 0ml@t omelette 0ml@t omnibus $1 @@ -1617,6 +1636,8 @@ paren pa2rEn // "parenthesis" pariah p@raI@ parole pa2r'oUl passenger pasI2ndZ3 +passerby pas3b'aI +passersby pas3zb'aI pasted peIstI2d pasting peIstI2N pastry peIstrI @@ -1769,6 +1790,7 @@ rawest rO:@st re r,i: read ri:d read rEd $past $only +readd ri:'ad readme ri:dmi: reading ri:dI2N readonly ,ri:d'oUnlI @@ -1823,6 +1845,7 @@ renegade rEn@geId repel rI2pEl replay ri:pleI reply rI2plaI // for replied +repo ri:poU repost r,i:p'oUst reprisal rI2praIz@L reputable rEpju:t@b@L @@ -1893,6 +1916,8 @@ scared ske@d scaring ske@rI2N scenic si:nIk scald sk0ld +scepter sEpt3 +sceptre sEpt3 sclera skli@r scourge sk3:dZ scythe saID @@ -1944,6 +1969,7 @@ sierra sI'e@r@ signage saInI2dZ signal sIgn@l // signaled signer saIn3 +signup saInVp sikh si:k silhouette sI2lUw'Et silo saIloU @@ -2032,6 +2058,7 @@ sync sINk synthesis sInT@sIs $only synthesise sInT@saIz +tableau tabloU tablet tabl@t taboo $2 tabu tabu: @@ -2235,6 +2262,7 @@ writable raIt@b@L writh raID wrongdoing r0Ndu:I2N wuss wUs +wysiwyg wIzi:wIg xmas Eksma2s @@ -2309,6 +2337,7 @@ Algiers $2 Amman a2m'A:n Andes andi:z Angeles andZ@li:z +Angolan aNg'oUl@n Antarctica $2 Antigua ant'i:g@ Antilles ant'Ili:z @@ -2317,11 +2346,12 @@ Armageddon A@ma2g'Ed@n Arkansas A@k@nsO: Athens aTI2nz Bahrain $2 -Belgrade $2 -Barents bar@nt|s Bangledesh baNgl@d'ES +Barbados bA@'beId0s +Barents bar@nt|s Beijing $2 Beirut beIr'u:t +Belgrade $2 Belize bEl'i:z Bengal b,Eng'O:l Benin bEnIn @@ -2342,6 +2372,7 @@ Canberra kanb@r@ Carolina kar@l'aIn@ Caribbean kar@b'i@n Ceylon $2 +Cheyenne SaI'an Chile tSIlI Cologne k@loUn Columbus $2 @@ -2462,7 +2493,6 @@ Suriname sU@rIn'am Taipei t,aIp'eI Taiwan taI'wan (tel aviv) t,El||a2v'i:v -Tibet tI2b'Et Toronto t@r0ntoU Timor ti:mo@ Tokyo toUkIoU @@ -2484,6 +2514,7 @@ zaire zaI'i@3 zimbabwe zI2mbA:bwI zimbabwean zI2mbA:bwI@n +Aaliyah @li:@ Aaron e@r@n Abe eIb Abu abu: @@ -2491,6 +2522,7 @@ Abraham eIbr@ham Ada eId@ $onlys Adrian eIdri@n Agnes agn@s +Aguilera agi:l'e@r@ Ahab eIhab Ahmed axmEd Alan al@n @@ -2505,20 +2537,30 @@ Amy eImI Andre 0ndreI Anthony ant@nI Anton ant0n +Aoife i:f@ +Archibald A@tSIbO:ld +Archie A@tSI Ares e@ri:z Astley astlI +Baez baI'Ez +Bambi bambi: Barack ba2rA:k Barbara bA@b@r@ Boris b0rIs Brien braI@n +Candace kandIs Carol kar@l Calliope ka2laI@pI Cassandra k@sandr@ Cassey keIsI Catherine kaTrI2n Cecile sEsi:l +Cher Se@ +Cheri Se@r'i: +Cherie Se@r'i: Chloe kloUI Chris krIs +Connie k0nI Connor k0n3 Daphne dafnI Darryl dar@L @@ -2529,17 +2571,22 @@ Denise d@ni:s Derek dErIk Dinah daIn@ Dominic d0mI2nIk +Donaghy d0n'hi: Doris d0rIs Dougall du:g@L Dylan dIl@n Edith i:dIT Elizabeth I2lIz@b@T Emma Em@ +Emmy EmI +Etheridge ET@-rIdZ +Euler OIl3 Evan Ev@n Gary garI Geraint gEraInt Gibbs gIbz Giles gaIlz +Gillian dZIli:@n Gladys gladIs Glynn glIn Graeme greI@m @@ -2556,11 +2603,13 @@ Imogen Im@dZ@n Irene aIri:n Isaac aIs@k Isabel Iz@bEl +Isla aIl@ Isiah aIz'aI@ Ivan aIv@n Jacob dZeIk@b -Jamie dZeImI Jacques Zak +Jamie dZeImI +Jared dZarEd Jesus dZi:z@s Jonah dZoUn@ José hoUs'eI @@ -2574,12 +2623,14 @@ Katie keItI Kieran ki@r@n Laurence l0r@ns Lawrence l0r@ns +Leanne li:'an Lenore lEn'o@ Leroy li:rOI Liam li:@m Louis lu:I Louise lu:w'i:z Madeline mad@lI2n +Maeve meIv Mahmoud maxm'u:d Malcolm malk@m Maria ma2ri:@ @@ -2595,6 +2646,7 @@ Michael maIk@L Michele mI2SEl Michelle mI2SEl Miguel mi:Q'El +Mildred mIldrI2d Minerva mI2n3:v@ Mohamed moUh'amI2d Mohammad moUh'amI2d @@ -2618,15 +2670,24 @@ Penelope p@nEl@pI Phoebe fi:bi: Rachel reItS@L Raul raU'u:l +Reggie rEdZI +Reynold rEn@Ld Rhys ri:s +Rihanna rI'A:n@ Roderick r0drIk +Rosario roUz'A@rIoU +Sabina sa2bi:n@ +Sabine sa2bi:n Samantha s@manT@ +(Santa claus) s'ant@||kl'O:z +Saoirse se@S@ Sarah se@r@ Seamus SeIm@s Sean SO:n Sebastian $2 Sheila Si:l@ Sinead SI2neId +Siobhan S@vO:n Sonia s0nj@ Sophie soUfI Stephen sti:v@n @@ -2634,6 +2695,7 @@ Stewart stju:3t ?3 Stewart stu:3t Stuart stju:3t ?3 Stuart stu:3t +Suzy su:zI Theresa t@ri:z@ Thomas t0m@s Tina ti:n@ @@ -2650,6 +2712,8 @@ Campbell kamb@l Cthulhu k@-Tu:Lu: Chrysler kraIzl3 Disney dIznI +Dolce d0ltSeI +Hades heIdi:z Patel pa2tEl Primavera pri:m@v'e@r@ Prentice prEntIs @@ -3107,6 +3171,7 @@ like laIk $strend2 ?3 err e@ ?3 fortune fO@tS@n ?3 garage ga2rA:Z +?3 happy hapi: ?3 herb 3:b ?3 hurricane h3:@keIn ?3 investigative Inv,EstI2g'eItIv diff --git a/dictsource/en_rules b/dictsource/en_rules index 8b9d3ad8..b15d590f 100644 --- a/dictsource/en_rules +++ b/dictsource/en_rules @@ -202,6 +202,7 @@ _) aber (r a2bE _) ab (i ab _) ab (ide a2b + _l) ab (i eIb st) ab (il eIb C) ab (ilit+ @b ab (ject ab @@ -329,6 +330,7 @@ l) ad (en eId c) ad (enc eId ad (eq ad + l) ade (sh ad'E _) ad (i ad gl) ad (i ad adjec adZEk @@ -420,6 +422,7 @@ m) ag (enta @dZ agh (_ A: agio (_ 'A:dZIoU + t) agi (o eIdZj _) ag (l@ a2g &) ag (on_ @g dr) agon ag@n @@ -628,6 +631,7 @@ fl) ame eIm As) ame (_ 'A:mE _) ame (l a2mi: + _n) ame eIm &) am (ent @m amer (ic a2mEr c) am (el am @@ -1322,7 +1326,7 @@ ch (orA k ch (ore_ tS ch (ord k - an) ch (or k + an) chor k@ o) ch (_ k oo) ch (_ tS _ta) ch k @@ -1480,7 +1484,7 @@ .group de de (act d%i: de (arc d%i: - de (bug di: + debug di:bVg _) de (ba dI2 _) de (c@ dI2 deca (den dEk@ @@ -1656,6 +1660,7 @@ m) e (chanic I @@) eble (_ @b@L vert) e (b I + e (bria i: cel) e (bra @ sp) e (cia E sp) e (cies i: @@ -1915,6 +1920,7 @@ eig (n eI n) eil i:@L @) ei (n_ i: + ei (nate I @) ei (ne i: b) ei (ng i:I eir e@ @@ -2085,7 +2091,7 @@ en (ti En en (tial 'En perc) en (t En - desc) en (t En + _desc) en (t En asc) en (t En ns) en (t En ss) en (t 'En @@ -2177,6 +2183,7 @@ sph) ere (_ i@3 c) ere (_ 'i@3 i) ere (_ I2e@ + m) ere (_ i@3 ev) ere (_ i@3 mp) ere (_ e@ _h) ere i@3 @@ -2546,6 +2553,7 @@ @) ibly (_S4efv @bl%I i (bilit I l) i (bel aI + t) ibe (t Ib'E b) i (ble_ aI i (bo_ i: v) i (br aI @@ -2583,6 +2591,7 @@ _s) i (dl aI f) i (del I2 br) i (dg I + ir) i (d I _s) i (der aI i (der_+ aI @) i (do_ 'i: @@ -2600,6 +2609,7 @@ h) i (j aI @) illa (_ 'Il@ @) ila (_ 'Il@ + l) il (ah_ aIl _) il (l %I _) ill (_ Il _) il (ln I @@ -2658,6 +2668,7 @@ iou (rA j@ iour (K j3 @) ious (_ =I2@s + ioux u: _r) io (t aI@ io (t_ I|@ ipede Ipi:d @@ -2710,6 +2721,7 @@ i (wo 'i: C) i (x++ I s) i (zA aI + i (zen I2 p) izz (a i:t|s .group ia @@ -2760,12 +2772,11 @@ .group ie ie I - ie (_ I + ie (_ aI ied (_S2i d // suffix ieds (_S3i dz ie (c aI ie (ce i: - ie (_ aI &) ie (_ %I _r) ie i: iedly Idl%I @@ -2842,6 +2853,7 @@ ign (C aIn n) igan (_ =Ig@n @) ig (ne aI + igne (_ 'i:n @) ig (n_ aI d) ig (nA Ig _) ig (ni %Ig @@ -3140,6 +3152,7 @@ am) it (e aIt un) it (e aIt _sp) it (e aIt + cr) it (e_ It wr) ite aIt _s) it (e aIt x) ite (_ aIt @@ -3197,6 +3210,7 @@ .group j j dZ j (j + n) j (a_ j _) jere (C dZEr@ _) jes (ui dZEz _) joa (n@ dZoU'a @@ -3625,8 +3639,10 @@ b) o (th oU b) o (ther 0 ?3 cl) o (th O + l) oth (i oUD ?3 m) o (th O cl) othe oUD + betr) oth oUD tr) othe oUD l) oth (ian oUD _r) o (ther 0 @@ -3822,6 +3838,7 @@ oos (e u:s ch) oose u:z ch) oos (en oUz + g) oose u:s oot (ic_ u:'0t .group or @@ -4183,6 +4200,7 @@ phila fIla p (hole p sym) pa p@ + _) paleo (@P5 p,eIli:oU _) pico pi:koU piece (_S5 pi:s por (tray p%o@ @@ -4262,6 +4280,7 @@ _) pre (scr pr%I _) pre (ss prE _) pre (st prE + _) pre (u pr%i: _) pre (val prE _) pre (vio pri: _) pre (view pri: @@ -4608,6 +4627,7 @@ su (bv s@ substa (nt s@bsta su (ccA s@ + su (ccul sV su (ffic s@ sugar SUg3 re) su (mA zju: diff --git a/dictsource/fr_list b/dictsource/fr_list index 0bfa9379..af4ca7c6 100755 --- a/dictsource/fr_list +++ b/dictsource/fr_list @@ -1,4 +1,4 @@ - +/ // *************************************************************************** // * Copyright (C) 2005 to 2007 by Jonathan Duddington * // * email: jonsd@users.sourceforge.net * @@ -24,7 +24,7 @@ // 2006-11-18 Gilles Casse // -// Updated 2009-06-08 Michel Such +// Updated 2009-07-3128 Michel Such // // * Numbers, a few abbreviations and exceptions. // @@ -38,6 +38,7 @@ _à $accent // speak as base-letter name + accent name â $accent ä $accent +a a $u+ b be c se ç $accent @@ -58,7 +59,7 @@ j Zi k ka l El m Em -//n En // in fr_rules +n En ñ $accent o o _ô $accent @@ -143,7 +144,7 @@ _§ sEksj'O~ // symbols that are normally spoken when reading text @ _!arobaz % pursA~ $max3 -& e $u $brk +& _|e $u _& _e_komErsi'al * asterisk: $max3 + plys $max3 @@ -159,7 +160,7 @@ _& _e_komErsi'al ½ W~_d@m'i ¾ trwA_k'ar © _^_EN -® m'ark_depos'e +® mark||depoz'e // numeric @@ -175,7 +176,7 @@ _7 sEt _8 _|w^it3 _9 nWf _10 diz3 -_11 _!O~z +_11 _|O~z _12 duz _13 trEz _14 katOrz @@ -236,30 +237,33 @@ adn adeEn adsl adeEsEl alt _::alt amd aEmde -anpe aEnpe@ aol aoEl -api $abbrev +api apei avg $abbrev avh aveaS +bay _^_en bd boulevard $text brltty $abbrev cci $abbrev cia $abbrev cio $abbrev +cm centimètre $text cpu $abbrev ctrl _::kO~tro2l dept depart@-mA~ divx diviks +ebay _^_en +(e bay) ebay $text edf @deEf etc Etsetera ghz ZigaErts hmm h@m (http ://) aSt,et,ep'e_ -hz _!Erts +hz _|Erts ibm ibeEm ide $abbrev ip ipe -irc i:_!Er:se +irc i:_|Er:se jaws _^_en kbit kilobit kde $abbrev @@ -268,15 +272,18 @@ khz kiloErts km kilomètre $text (km player) ka,EmplEj'Wr (kmplayer) ka,EmplEj'Wr -kw kilowat +kw kilowatt $text m. m@siY mbit megabit mbrola Embrola mci $abbrev mhz megaErts mlle mademoiselle $text +mm millimètre $text mme madame $text -(mp 3) _!Empetrwa +mn minyt +mns minytz2 +(mp 3) _|Empetrwa mr m@siY nsi $abbrev nsis $abbrev @@ -288,7 +295,10 @@ ogm oZeEm ong oEnZe pci $abbrev pda $abbrev -p.s postskriptOm +philips filips +p.s pOstskriptOm +qq quelque $text +qqs quelques $text ratp $abbrev riscos rIskoEs sap $abbrev @@ -308,6 +318,7 @@ utc $abbrev utf $abbrev u.s y:Es vip v,i||,aj||p'i +(web visum) webvisum $text wma $abbrev xfce iksEfse@ xy $abbrev @@ -323,6 +334,7 @@ pr professeur $text *dot $capital // articles le $nounf $u+ le $verb $verbextend $u +el $u la $nounf $u+ la $verb $verbextend $u les lez2 $nounf $u+ @@ -333,9 +345,9 @@ une $nounf $u+ // conjonctions mais $u+ -ou $u $brk +ou _|u $u eh $u $brk -et e $u $brk +et _|e $u ni $u car $u car $noun @@ -390,6 +402,7 @@ toi $u+ lui $u+ $verbf ça $u+ $verbf +ca sa $u+ $capital $verbf ce $u+ $nounf ceci $u+ $verbf cela $u+ $verbf @@ -437,8 +450,8 @@ des dez2 $u $nounf à a $u -au $u -aux $u +au $u $nounf +aux $u $nounf autour otur $u+ autre $u+ @@ -476,6 +489,8 @@ loin $u+ ne $u $verbf pas p'az2 $u+ pas pa $noun +point $u+ +point $noun plus $u+ guère $u+ jamais $u+ @@ -557,6 +572,7 @@ rien ri-'E~n2 $u+ // Letters which can be words //=========================== +a a $atend $only à $atend $accent $only y igr'Ek $atend $only ô $atend $accent @@ -601,12 +617,16 @@ adam adA~ adams adams admin admin adsltv adeEs'El||tev'e -airbus Erbys +airbus airbuss $text alan alan +albinos albinoss $text +arte arte auvent ovA~ +beta beta bien bi-E~n2 $u+ bis bis bissus bisys +buffer bWfWr bus bys bus by $verb cancer kA~sEr @@ -621,6 +641,7 @@ dernier dErnjer2 enfer A~fEr faut fot2 $u+ fier fjer $verb +fred frEd free fri: fuel fjul gars ga @@ -649,6 +670,7 @@ recorder ricordeur $text scanner skaner2 $verb scanner skanWr $noun scanners skanWr +shampoing SA~pwE~ sir _^_EN souris suri sus sys @@ -679,7 +701,7 @@ mazout mazut michael mikaEl out aut rut ryt -scorbut skOrbyt +scorbut scorbutt $text scout skut stout staut uppercut ypErkyt @@ -700,6 +722,7 @@ net nEt offset OfsEt set sEt soviet sOviEt +stewart sti:wart // urt (t is said) kurt kurt @@ -718,8 +741,12 @@ kart kart smart smart // irt -(sweat shirt) swEtSWrt -(tee shirt) tiSWrt +(sweat shirt) swEtSW2rt +(sweat shirts) swEtSW2rt +(tee shirt) t,i:S'W2rt +(tee shirts) t,i:S'W2rt +(t shirt) t,i:S'W2rt +(t shirts) t,i:S'W2rt // words from other languages @@ -728,13 +755,14 @@ acer asEr and _^_en amazon amaz'On apple _^_en -at _^_en +at at $u+ (audible manager) od,ibl||manadZ'Wr +bin bin bit bit bluetooth blut'us computer _^_en (cyber link) _^_en -debian dEbjan +debian debjan edit _^_en emacs Emaks emacspeak Emakspi:k @@ -743,18 +771,18 @@ epson EpsOn espeak @spi:k ethernet etErnEt exit egzit -(file zilla) fajl||zija +(file zilla) f,ajl||zij'a from frO2m $u+ get _^_en -google gu:gWl +google gug=Wl gnome gnOm gnu $abbrev -hamburger hA~b@rgWr +hamburger _!A~b@rgWr help _^_en hot _^_en -in _^_en +in in $u+ inside _^_en -(internet explorer) E~tErn'Et||Eksplor'Wr +(internet explorer) E~tErn'Et||EksplOr'Wr klaxon klaksOn let _^_en lite _^_en @@ -764,11 +792,11 @@ logon _^_en made _^_en media medja messenger mesEnZWr -my maj +my maj $u+ nat nat not _^_en null _^_en -ok oke +ok oke $u+ open op'Wn (open source) op,Wn||s'urs outlook autlu:k @@ -783,6 +811,7 @@ sun _^_en (text aloud) tEkst||@la=wd ubuntu ubuntu up _^_en +win win $u+ yes _^_en @@ -806,13 +835,15 @@ pourcent pursA~ vincent vE~sA~ -// Some countries and areas +// Some countries, areas and languages +afrikaans afrikans bahamas baamas bangladesh bA~gladES bélarus belarys -(burkina faso) burkina||faso +(burkina faso) byrkina||faso burundi burundi croatie kroasi +esperanto EsperA~to groenland groEnlA~d guatemala gwAtemala honduras _!O~dyras diff --git a/dictsource/fr_rules b/dictsource/fr_rules index 2be173a6..2725bd35 100755 --- a/dictsource/fr_rules +++ b/dictsource/fr_rules @@ -23,7 +23,7 @@ // 2006-11-18 Gilles Casse // -// Updated: 2009-05-28 Michel Such +// Updated: 2009-07-31 Michel Such // // Letter classes: @@ -36,6 +36,7 @@ .L02 b c d f g h k p t v .L03 d l m n s t v .L04 c d f g l m n v +.L05 g h k l m v w .group a @@ -76,7 +77,9 @@ a (nnA a // manne an (K A~ // ancien, élan @@m) an (_ an // tennisman + L02m) an (_ an lism) an (_ A~ // talisman + ulm) an (_ A~ // musulman _C) aon (_ A~ // faon, paon, taon s) aoul (_ u // saoul s) aou (le u // saoule @@ -130,6 +133,7 @@ e) ch (_ k // varech _A) ch (o_ k // écho mani) ch (é k // manichéisme + wi) ch tS // sandwich mito) ch (o k // mitochondrie _eu) ch (ari k // eucharistie or) ch (esC k // orchestre @@ -504,14 +508,19 @@ _) en (A A~n // enivrer e (rC E es (_ z2 - %C) e (CA @- - %C) e (Ce // actuellement guillemets + %C) e (Ca @- +// %C) e (Ce // actuellement guillemets %C) e (xA E %C) e (mA // actuellement guillemets ct) e (ment @ nC) e (ment @- rC) e (ment @ - g) e (rie + AC) e (rie_ @- + AC) e (ries_ @- + AcC) e (rie_ @- + AcC) e (ries_ @- + %C) e (rie_ @- + %C) e (ries_ @- AC) e (ment u) e (ment @- ul) e (CA @@ -538,11 +547,13 @@ iew) er (X er2 eac _^_en C) ead _^_en // read, head eak _^_en // break, speak + eal _^_en // deal ear _^_en // ear, search eas _^_en // please eave _^_en // leave ed (_ _^_en ee _^_en // meeting + efore (_ _^_en // before eing (_ _^_en // being, boeing eive _^_en // receive eld (_ _^_en // field @@ -550,7 +561,7 @@ iew) er (X er2 _) enhan _^_en qu) est (_ _^_en // request qu) este (X_ _^_en // requested, requester - _) even _^_en // forever, however + _) even (X _^_en // forever, however _) ever _^_en // forever, however oC) ever _^_en // forever, however _) eye _^_en @@ -578,6 +589,7 @@ iew) er (X er2 _) fire _^_en fly _^_en _) frame _^_en + fter (_ _^_en .group g @@ -711,17 +723,17 @@ C) i (es_ i _) ill ill // illégal aigu) ill ij // aiguille anqu) ill il // tranquille + c) ill (i il dist) ill il // distiller - _m) ill il // mille + _L05) ill il // Lille, mille, ville, william osc) ill il // osciller - v) ill il // village - qu) ill ij // cuillière cueillir + qu) ill ij // quille A) ill j // caillou C) ill ij // famille a) il (_ j // bail e) il (_ j u) il (_ j // deuil - L01_f) ils (_ is // deuil + L01_f) ils (_ is // fils (enfant) imm imm // immaculé im (_ im // karim @@ -730,7 +742,7 @@ C) i (es_ i inct (_ E~ // distinct in (h in // inhumain in (kX iN // link - in (n in // innombrable + in (n i // innombrable in (C E~ // vingt in (_ W~ // vin ing (_ iN @@ -741,6 +753,9 @@ C) i (es_ i _) intra (neP5 E~tra _) intra (uP5 E~tra C) is (_ i + bor) is (_ is + dor) is (_ is + tor) is (_ is fl) irt W2rt otl) i (neX aj onl) i (ne_ aj @@ -788,8 +803,10 @@ C) i (es_ i // group k: English section - ke (rX _^_en // basket, make, take - ke (nX _^_en // basket, make, take + ke (_ _^_en // make, take + ke (s_ _^_en // makes, takes + ke (rX _^_en // maker + ke (nX _^_en // taken .group l l l // lit @@ -822,14 +839,12 @@ C) i (es_ i .group n - _) n (_ En n n // une nn n ng (_ N _) n' (P2v n - nn n // panne _) n (_° nymero _) neuro (@@P5 nYro @@ -950,7 +965,8 @@ C) oing (_ _^_en // going _) one _^_en oun (C _^_en // bounce, found _) over _^_en // over - ow _^_en // cow, town, down + ow (K _^_en // cow, town, down + ow (e _^_en // flower, power oy (X _^_en // boy, toy @@ -1031,7 +1047,7 @@ mou) rr rr // mourrai // group r: English section _) real _^_en - rese _^_en + resen _^_en rst (_ _^_en _) rule _^_en @@ -1057,6 +1073,7 @@ mou) rr rr // mourrai ai) s (em s // vraisemblable aCè) s (_ s + nè) s (_ s kansa) s (_ s // Kansas, Arkansas ub) s (is z // subsister tran) s (A z // transition @@ -1082,6 +1099,7 @@ mou) rr rr // mourrai mbu) s (_ s _cACpu) s (_ s Acu) s (_ s + docu) s (_ écu) s (_ asu) s (_ s odu) s (_ s @@ -1177,7 +1195,6 @@ A) t (- t2 p) t (ia s // nuptial an) t (iat s // transsubstantiation - t (ion s // programmation V) t (ion t // verbes ache) t (ion t // achetions, rachetions @@ -1229,6 +1246,7 @@ A) t (- t2 ner) t (ie s // inertie _ce) t (_ t + _transA) t (_ t // group t: English section C) th (_ _^_en // month @@ -1271,6 +1289,7 @@ A) t (- t2 um (b W~ // humble um (p W~ un (C W~ // emprunt lundi + un (n y // tunnel CC) un (_ W~ // brun uc) un (_ W~n2 // aucun un (_ W~n2 // un avion @@ -1289,7 +1308,7 @@ A) t (- t2 unch _^_en under _^_en // under, understand, thunder _C) un (_ _^_en - _C) un (n _^_en + _C) un (ny _^_en _) up (C _^_en // upper, update up (_ _^_en // setup urn (X _^_en // burn, turn @@ -1320,7 +1339,7 @@ A) t (- t2 w (agon v // wagon // group w: English section - e) w _^_en + e) w (K _^_en wa (Ce_ _^_en // hardware software wave _) wan _^_en wr _^_en // write @@ -1384,6 +1403,7 @@ A) t (- t2 z z zz dz t) z s // tzigane + C) zer (_ zEr .group diff --git a/phsource/compile_report b/phsource/compile_report index bfbf4c1c..1ea6e82b 100644 --- a/phsource/compile_report +++ b/phsource/compile_report @@ -1,4 +1,4 @@ -60 phoneme tables +52 phoneme tables new total base 103 103 base2 26 124 @@ -15,7 +15,7 @@ eo 13 115 jbo 4 116 fi 40 134 - fr 53 140 + fr 55 140 fr_ca 11 140 hi 60 149 ta 17 152 @@ -51,14 +51,6 @@ id 15 126 sq 35 127 hy 24 119 - rw 15 131 - ml 13 151 - kn 15 151 - bn 59 155 - ne 18 157 - mr 12 149 - om 25 125 - eu 6 125 da 21 118 Data file Used by @@ -66,38 +58,28 @@ b/b [b] base [b] fr [b] hi [b;] ro - [b] bn b/b_ [b] base [b] fr [b] hi - [b] bn b/b@ [b] base [b] hi - [b] bn b/b@2 [b] base [b] hi - [b] bn b/ba [b] base [b] hi - [b] bn b/be [b] base [b] hi - [b] bn b/bi [b] base [b] hi [b;] ro - [b] bn b/bo [b] base [b] hi - [b] bn b/bu [b] base [b] hi - [b] bn b/xb [b] base [b] fr [b] hi [bh] hi - [b] bn d/d [d] base [d[] base [d] base2 @@ -116,9 +98,6 @@ d/d [d] base [d] sw [d] id [d] sq - [d] bn - [d.] bn - [d`] om d/d_ [d] base [d[] base [d] base2 @@ -137,9 +116,6 @@ d/d_ [d] base [d] sw [d] id [d] sq - [d] bn - [d.] bn - [d`] om d/d_dnt [d] sr d/dr [*] base [d] base @@ -160,8 +136,6 @@ d/dr [*] base [d] sw [d] id [d] sq - [d] bn - [d.] bn d/tap [*;] ro d/tap1 [*] base d/tap2 [t#] en_us @@ -189,9 +163,6 @@ d/xd [d] base [d] sq [dz] sq [dz] hy - [d] bn - [d.] bn -d/xd2 [d`] om d/xd3 [dh] hi d/xd_pzd [d;] pl [d;] ru @@ -208,7 +179,6 @@ dzh/dzh [dZ] base [dZ;] sr [dZ;] ru [dZ;] sq - [J] bn dzh/dzh_ [dZ] base [dZ;] base [dz;] base @@ -218,15 +188,12 @@ dzh/dzh_ [dZ] base [dZ;] mk [dZ;] ru [dZ;] sq - [J] bn dzh/dzh2 [dZ] hr [dZ;] hr dzh/dz_pzd [J] base [J] tr [J] ku - [J2] bn dzh/dz_pzd_ [J] base - [J2] bn dzh/xdzh [dZ] base [dZ;] base [dz;] base @@ -236,12 +203,9 @@ dzh/xdzh [dZ] base [dZ;] mk [dZ;] ru [dZ;] sq - [J] bn dzh/xdz_pzd [J] base [Jh] hi - [J2] bn envelope/i_risefall [11] zh -envelope/i_risefall2 [+2] rw envelope/p_214 [5] vi [214] zh envelope/p_512 [6] vi @@ -254,7 +218,6 @@ envelope/p_fall [2] vi [22] zh [33] zh [53] zh - [+] rw envelope/p_fallrise [4] vi envelope/p_level [1] vi [1] zhy @@ -273,19 +236,16 @@ g2/g_ [g-] base g2/xg [g-] base [g] hi [gh] hi - [g] bn g/g [g] base [g] cy [g] fr [g] hi [g] es - [g] bn g/g_ [g] base [g] cy [g] fr [g] hi [g] es - [g] bn g/xg [g] base [g] cy [g] fr @@ -295,50 +255,35 @@ h/h_ [h] base [H] hi [h] hi [] la - [H] bn - [h] bn h/h@ [h] base [h] fi [H] hi [h] hi [h] sr [] la - [H] bn - [h] bn - [th] bn h/ha [h] base [h] fi [H] hi [h] hi [] la - [H] bn - [h] bn h/he [h] base [h] fi [H] hi [h] hi [] la - [H] bn - [h] bn h/hi [h] base [h] fi [H] hi [h] hi [] la - [H] bn - [h] bn h/ho [h] base [H] hi [h] hi [] la - [H] bn - [h] bn h/hu [h] base [H] hi [h] hi [] la - [H] bn - [h] bn h/hu_fi [h] fi j2/_j2 [;] base j2/j2@ [(@)] base @@ -408,6 +353,7 @@ l/l_@ [(@)] base [@] fr [W] fr [Y] fr + [@-] fr [W2] fr l/l@ [(@)] base [W] fr @@ -472,7 +418,6 @@ l/l_o [(o)] base [O2] fr [o2] fr l^/l_rfx [l.] hi - [l.] bn l/lu [(u)] base [u] fr [y] fr @@ -589,7 +534,6 @@ r3/r_n [r/] base r3/r_o [(o)] base r3/r_ru [R4] ru r3/r_ru2 [R4] ru -r3/r_sr [r.] bn r3/r_trill [R2] base [R3] base [r] af @@ -622,7 +566,7 @@ r3/r_uvl.wav [r"] base r3/rx [*] base [r/] base [r/] af - [r] fr + [(r)] fr [r/2] fr [R] fr_ca [r/] ru @@ -642,7 +586,6 @@ r/r [r] base [r] de r/_r [r] base [r] en_sc - [r.] bn r/r_ [r] base [r] en_sc [r] de @@ -650,7 +593,6 @@ r/r_ [r] base [r] ru [r] ro [r] sw - [r.] bn r/r@ [(@)] base r/ra [(a)] base r/re [(e)] base @@ -667,7 +609,6 @@ r/rr [r/] base r/ru [(u)] base r/tr [r] base [r] en_sc - [r.] bn r/trr [r/] base [r/] af [r] de @@ -703,13 +644,10 @@ ufric/ll [L] base [l#] is ufric/s [s] base [s] fr - [z] fr [z2] fr [s] es [s#] pt [z] sq - [s] eu - [z] eu ufric/s_ [s] base [z] base [s2] fi @@ -724,9 +662,6 @@ ufric/s_ [s] base [z;] ro [s2] is [z] sq - [s2] om - [s] eu - [z] eu ufric/s! [s] base [s2] fi [s] fr @@ -735,12 +670,10 @@ ufric/s! [s] base [s] es [s#] pt [s2] is - [s2] om ufric/s_continue [s2] fi [s2] hu [s2] lv [s2] is - [s2] om ufric/sh [S] base [S] fr [s#] pt_pt @@ -784,13 +717,11 @@ ufric/xx [X] base [Q"] base [R] da ustop/c [c] base -ustop/c_ejc [c`] om ustop/k [k] base [k] en [k] fr [k] zhy [k] sw - [kh] bn ustop/k_ [k] base [k] base2 [k] en @@ -802,11 +733,9 @@ ustop/k_ [k] base [k] el [k] sw [k] sq - [kh] bn ustop/k_asp [gh] hi [kh] hi [kh] zh -ustop/k_ejc [k`] om ustop/ki [k] base [k] base2 [k] en @@ -824,7 +753,6 @@ ustop/ki [k] base [c] tr [J] ku [c] ku -ustop/ki_ejc [k`] om ustop/kl [k] base [k] base2 [k] en @@ -837,11 +765,11 @@ ustop/kl [k] base [k] el [k] zhy [k] sw - [kh] bn ustop/kr [k] base [k] base2 [k] en [k] fi + [k] fr [kh] hi [k] hu [k] lv @@ -849,7 +777,6 @@ ustop/kr [k] base [k] el [k] zhy [k] sw - [kh] bn ustop/k_unasp [k] base [k] base2 [k] fi @@ -861,25 +788,21 @@ ustop/k_unasp [k] base [k] zhy [k] sq [k] hy - [k] bn ustop/k_unasp_ [k] zh ustop/null [?] base ustop/p [p] base [p] fr [p2] fr [p] zhy - [ph] bn ustop/p_ [p] base [p] fr [p2] fr [ph] hi [p#] hy - [ph] bn ustop/p_asp [bh] hi [ph] hi [ph] zh [p#] hy -ustop/p_ejc [p`] om ustop/percus10 [(X1] base ustop/pl [p] base [p] base2 @@ -895,8 +818,6 @@ ustop/pl [p] base [p] sq [p] hy [p#] hy - [p] bn - [ph] bn ustop/pr [p] base [p] base2 [p] fi @@ -908,8 +829,6 @@ ustop/pr [p] base [p;] ro [p] hy [p#] hy - [p] bn - [ph] bn ustop/p_unasp [p] base [p] base2 [p] fi @@ -923,7 +842,6 @@ ustop/p_unasp [p] base [p] zh [p] sq [p] hy - [p] bn ustop/p_unasp_ [p] base2 [p] fi [p] hi @@ -934,7 +852,6 @@ ustop/p_unasp_ [p] base2 [p;] ro [p] sq [p] hy - [p] bn ustop/q [q] base ustop/q_u [q] base ustop/t [t] base @@ -942,7 +859,6 @@ ustop/t [t] base [d.h] hi [t.h] hi [t] zhy - [t.h] bn ustop/t_ [t] base [t2] en [t] fr @@ -953,8 +869,6 @@ ustop/t_ [t] base [t] sk [t] el [th] zh - [t.] bn - [t.h] bn ustop/t_dnt [t] base [t[] base [t] base2 @@ -971,22 +885,18 @@ ustop/t_dnt [t] base [t] sw [t] sq [t] hy - [t] bn ustop/t_dnt2 [t] base2 -ustop/t_ejc [t`] om ustop/t_hi [t[] base [t] hi [t] sq [t] hy - [t] bn - [th] bn ustop/t_pzd [c] base [t;] pl [t;] ru ustop/tr [t] base [t2] en + [t] fr [t] ru - [t.h] bn ustop/ts [ts] base2 [ts] de [ts] eo @@ -1001,8 +911,6 @@ ustop/ts [ts] base2 [dz] sq [dz] hy [ts#] hy - [ts] eu - [tz] eu ustop/ts_ [ts] base2 [ts] de [ts] eo @@ -1015,8 +923,6 @@ ustop/ts_ [ts] base2 [dz] sq [dz] hy [ts#] hy - [ts] eu - [tz] eu ustop/ts2 [ts] lv [ts] hy ustop/tsh [tS] base @@ -1032,7 +938,6 @@ ustop/t_short [t] fr [t] lv [t] sk [t] el - [t.] bn ustop/tsh_pzd [tS;] zh ustop/tsh_pzd_unasp [tS;] zh ustop/tsh_sr [tS] sr @@ -1043,15 +948,12 @@ ustop/ts_pzd [tS;] base [tS;] ru [c] sq [dZ;] sq - [ch] bn ustop/ts_pzd_ [c] hi [c] hu [c] hy - [c] bn ustop/ts_pzd2 [c] hi [c] hu [c] hy - [c] bn ustop/ts_pzd3 [tS;] hr [dZ;] hr ustop/t_sr [d] sr @@ -1131,7 +1033,6 @@ vdiph/aae [aI] en_us vdiph/aai [ai] lv [aai] zhy [aI] sq - [aI] ne vdiph/aai_2 [AI] af [AY] cy vdiph/aai_3 [ai] fi @@ -1143,10 +1044,6 @@ vdiph/aau_2 [aU] en_wi [aU] la [aau] zhy vdiph/aau_3 [aU] hi - [aU] kn - [aU] bn - [aU] ne - [aU] mr vdiph/aau_4 [aU] vi vdiph/ae [E:] fr_ca [aI] la @@ -1161,7 +1058,6 @@ vdiph/ai [aI] base2 [a:I] vi [aI] id [aI] hy - [aI] kn vdiph/ai_2 [aI] en [aI] cy [aY] cy @@ -1173,7 +1069,6 @@ vdiph/ai_6 [aI] en_rp vdiph/ai_7 [aI] en_sc [aI2] en_sc [aI] is - [aI] mr vdiph/aoo [aU] en_us vdiph/au [aU] en [aU] af @@ -1189,14 +1084,12 @@ vdiph/au_4 [aU] base2 [aU] is [aU] id vdiph/ee-e [E:] hi - [E:] bn vdiph/eei [EI] base2 [eI] en [EI] de [EI] nl [EI] vi [eI] hy - [eI] ne vdiph/eei_2 [eI] eo [ei] fi [ei] lv @@ -1228,13 +1121,11 @@ vdiph/eu [eU] base2 [eU] sk [eU] pt [eU] vi - [eU] ne vdiph/eu_2 [eu] fi vdiph/@i [@I] vi [@:I] vi vdiph/&i [&i] fi [aI] hi - [aI] bn vdiph/@i_2 [eI] af [@I] cy [@Y] cy @@ -1251,7 +1142,6 @@ vdiph/oi [oI] base2 [oI] it [OI] la [oI] vi - [oI] ne vdiph/oi_2 [oI] af vdiph/ooi [OI] en [OI] en_n @@ -1271,7 +1161,6 @@ vdiph/oou [oU] cs [OU] grc vdiph/ou [ou] fi [ou] zhy - [oU] ne vdiph/ou_2 [oU] sk [oU] ro vdiph/ou_3 [oU] is @@ -1288,15 +1177,12 @@ vdiph/ui [uI] base2 [ui] lv [uI] vi [ui] zhy - [uI] ne vdiph/u-i [yI] vi vdiph/ui_2 [uI] af vdiph/ui_3 [uI] cy [uY] cy vdiph/ui_4 [ui] fi -vdiph/Vi [VI] ne vdiph/Vu [@U] af - [VU] ne vdiph/Vu_2 [oU] en_wm vdiph/Vu_3 [o:] nl vdiph/&y [&y] fi @@ -1313,7 +1199,6 @@ vdiph/y#y_2 [Yy] af [eoi] zhy vdiph/y#y_3 [Y:] nl vnasal/aa_n [a~] hi - [a~] bn vnasal/aa_n2 [A~] en vnasal/aa_n3 [A~] af vnasal/aa_n4 [A~] fr @@ -1325,15 +1210,11 @@ vnasal/ee_n [E~] en vnasal/ee_n2 [a] en_us [E~] hi [&~] pt_pt - [E~] bn vnasal/ee_u_n [E~] pl vnasal/e_n [e~] af [e~] hi [e~] pt - [e~] bn vnasal/i_n [i~] pt - [i~] bn - [i:~] bn vnasal/i_n2 [i~] hi vnasal/m- [m-] sw vnasal/n- [n-] sw @@ -1341,19 +1222,15 @@ vnasal/nn- [N-] sw vnasal/oi_n [oI~] pt vnasal/o_n [o~] hi [o~] pt - [o~] bn vnasal/o_n2 [o~] af [O~] fr vnasal/oo_n [O~] en vnasal/oo_n2 [O~] hi [o] zh - [O~] bn vnasal/oo_n3 [O~] pl vnasal/u_n [u~] hi [u~] pt [u] zh - [u~] bn - [u:~] bn vnasal/V_n [V~] hi vnasal/W_n [E~] fr [W~] fr @@ -1362,8 +1239,6 @@ voc/dh [D] base [D] es voc/dh_ [D] base [D] es - [D] om -voc/dh_om [D] om voc/j [J^] base voc/Q [Q] base [Q^] base @@ -1378,32 +1253,28 @@ voc/Q_ulv [Q"] base voc/v [v] base [v] fi [v] fr - [v] hi [v] ta [v2] nl [v;] ro [v] is - [v] bn [v] da voc/v_ [B] base [v] base [v] fi [v] fr - [v] hi [v] ta [v2] nl [v#] es [v;] ro [v] is - [v] bn [v] da +voc/v# [v] hi +voc/v#_ [v] hi voc/v2 [v#] es voc/vj [v] base [v] fr vocw/dh [D] base [D] es - [D] om - [d`] om vocw/Q [Q] base [Q^] base vocw/Q_ [Q] base @@ -1459,9 +1330,6 @@ vowel/@ [@] base [V] cy [@4] hi [@] hy - [@] ml - [@] kn - [@4] bn vowel/@- [@-] base [r*] hr vowel/& [a] en_rp @@ -1470,8 +1338,6 @@ vowel/& [a] en_rp [&] lv [&:] lv [&] sv - [&] bn - [&:] bn vowel/0 [0] en [O] hi [O] pt @@ -1495,8 +1361,6 @@ vowel/@_3 [@] en_sc [@] de [W2] fr [@3] hi - [@3] bn - [@3] ne [@] da vowel/3_2 [3:] en_n [@] zh @@ -1534,17 +1398,12 @@ vowel/a [a] en [a] it [a] zh [a] id - [a:] mr vowel/a# [a/] base2 [a2] en_sc [a2] en_wi [&] sr [&] pt [&/] pt - [a#] rw - [a/] rw - [a] om - [a:] om vowel/a_2 [a] base2 [a] en_wi [A:] en_wi @@ -1554,14 +1413,12 @@ vowel/a_2 [a] base2 [A] pt [a] pt_pt [a] ro - [a] rw [a] da vowel/a#_2 [a#] pl [&] hr [a2] sv [&] is [a/] sw - [a] kn vowel/a_3 [a] en_sc [a/] en_sc [A:] en_sc @@ -1587,22 +1444,15 @@ vowel/a#_3 [a2] en [&/] pt_pt [a] zhy [a/] sq - [a] ml - [a] bn - [a#] om [3] da vowel/a_4 [a/] el [a] vi - [a:] om vowel/a_5 [a:] ta [a/] it [a] la [a] sv [a] sw [a] tr - [a:] ml - [a:] kn - [A] om vowel/a_6 [a] fr [a] ca [a:] vi @@ -1633,15 +1483,10 @@ vowel/aa_8 [0] en_us [A:] en_us vowel/aa_9 [a] fi [a:] hi - [a:] bn - [a] ne vowel/a_en [A] fr vowel/@_bck [@] hi [@/] hi [@] zh - [@] bn - [V] ne - [@/] ne vowel/e [e] base2 [e:] en [eI] en_n @@ -1651,7 +1496,6 @@ vowel/e [e] base2 [e:] af [e:] cy [e] eo - [e] fr [E:] fr [e] ta [e:] ta @@ -1665,12 +1509,6 @@ vowel/e [e] base2 [e] vi [e] id [e] sq - [e] rw - [e#] rw - [e] ml - [e:] ml - [e:] kn - [e] ne [e] da vowel/e# [I] en_sc [I2] en_sc @@ -1681,14 +1519,11 @@ vowel/e_2 [eI] en_sc [e] it [e:] sv [e:] no - [e] bn - [e:] bn vowel/e_3 [i] en_n [e:] hu [e] ku vowel/e_5 [i] en_sc -vowel/e_6 [e] mr - [e] om +vowel/e_8 [e] fr vowel/ee [E] en_n [E] sv vowel/e_e [E] en_sc @@ -1740,7 +1575,6 @@ vowel/e_mid [E] en_rp [E] id [E2] id [e] hy - [E] bn vowel/e_mid2 [E] af [E] de [E2] de @@ -1755,9 +1589,6 @@ vowel/e_mid2 [E] af [e] sw [e] tr [e#] sq - [e] kn - [E] om - [E#] om [E] da vowel/@_fnt [@] en_wi [@2] en_wi @@ -1785,12 +1616,6 @@ vowel/i [i] base2 [i] zh [i] sw [i] hy - [i] rw - [i#] rw - [i:] ml - [i:] kn - [i] ne - [i:] om vowel/i# [y:] cy vowel/i_2 [i2] de [i:] de @@ -1820,9 +1645,6 @@ vowel/i_6 [i] hi [i] tr [i] ku [i] id - [i] ml - [i] kn - [I] mr vowel/i#_6 [i.] zh vowel/i_7 [i] pl [i] sq @@ -1831,9 +1653,6 @@ vowel/i_en [i:] en [i:] en_us vowel/i_fnt [i:] en_wi [i:] hi - [i] bn - [i:] bn - [i:] mr vowel/ii [I] en_n [I2] en_n [I] en_rp @@ -1848,14 +1667,10 @@ vowel/ii [I] en_n [i] zhy [I] ku [I#] sq - [I] om - [I#] om vowel/ii# [Y] cy [Y] ru [I] ku [i] sq - [y] ml - [y] kn vowel/ii_2 [i] zh vowel/ii#_2 [y] pl vowel/ii_3 [I] cy @@ -1866,7 +1681,6 @@ vowel/ii_3 [I] cy [I] sv [I] no [I] tr - [I] bn vowel/ii#_3 [I2] en_us vowel/ii_4 [I] en [I2] en @@ -1897,13 +1711,6 @@ vowel/@_low [3] en_rp [@] ro [@2] no [@] id - [@] bn - [V] bn - [@2] bn - [V] ne - [@/] ne - [@] mr - [V] mr vowel/@_low2 [@/] en_us [@2] en_us vowel/o [o] base2 @@ -1923,14 +1730,6 @@ vowel/o [o] base2 [o:] sv [o] id [o] hy - [o] rw - [o#] rw - [o] ml - [o:] ml - [o] kn - [o:] kn - [o] bn - [o] mr vowel/o_2 [o:] cy [o2] fr [o:] hi @@ -1938,7 +1737,6 @@ vowel/o_2 [o:] cy [o:] la [o:] no [o] vi - [o:] bn [o] da vowel/o-_2 [V] en_n [V] en_wm @@ -1965,8 +1763,6 @@ vowel/o_mid [U@] en_rp [o2] fr [o] hu [o] tr - [o] ne - [o:] om vowel/oo [O:] en_sc [O] en_wi [O:] en_wi @@ -2006,9 +1802,6 @@ vowel/oo_4 [O] base2 [3:] en_wi [O:] hi [O] it - [O] bn - [O] om - [O#] om vowel/oo_5 [O] pl [O] is [O] sq @@ -2028,7 +1821,6 @@ vowelr/r-voc [r-] jbo [r-] sk [r:] sk [r-] hr - [r-] bn vowelr/V3_r [VR] en [3] en_sc [@r] zh @@ -2045,12 +1837,6 @@ vowel/u [u:] en_wi [u:] cs [U] la [u] id - [u] ml - [u:] ml - [u] kn - [u:] kn - [u] bn - [u:] om vowel/u# [u:] en_sc [Y] tr vowel/u_2 [u1] fi @@ -2060,10 +1846,8 @@ vowel/u_2 [u1] fi [u] tr vowel/u#_2 [u-] ta [u-] sv -vowel/u_3 [u:] fr vowel/u#_3 [U] ta [U:] ta -vowel/u_4 [u] fr vowel/u#_4 [U] en_sc [u:] en_sc vowel/u_5 [u] sw @@ -2094,14 +1878,10 @@ vowel/u_bck [u] base2 [u] zh [u] sq [u] hy - [u] rw - [u#] rw - [u:] bn - [u] ne - [U] mr - [u:] mr [u] da -vowel/u_bck2 [u:] la +vowel/u_bck2 [u] fr + [u:] fr + [u:] la vowel/u_fnt [u:] en_rp vowel/uu [U] en [U] en_n @@ -2122,9 +1902,6 @@ vowel/uu_bck [U] en_wi [U] pt [U] no [u] zhy - [U] bn - [U] om - [U#] om vowel/V [3] en_sc vowel/V_2 [V] en [a] af @@ -2134,13 +1911,10 @@ vowel/V_2 [V] en vowel/V_3 [V] en_rp [V] hi [V] ta - [V] bn vowel/V_4 [V] en_sc [V] da vowel/V_6 [V] en_us [a#] lv -vowel/V_7 [@] mr - [V] mr vowel/y [y] base2 [y:] en [y:] de @@ -2161,7 +1935,6 @@ vowel/y# [Y] base2 [8] nl [Y] ro [oe] zhy - [Y] eu vowel/y## [y#] is vowel/y_2 [y] fr [y"] fr @@ -2237,17 +2010,21 @@ vwl_fr/r [r] fr [r2] fr vwl_fr/r_@ [@] fr [Y] fr + [@-] fr [@2] fr [W2] fr [W~] fr vwl_fr/@R [x] pt_pt vwl_fr/r_@2 [W] fr + [W2] fr vwl_fr/@R2 [R] fr_ca vwl_fr/@R3 [Q2] hy vwl_fr/@R4 [Q2] hy -vwl_fr/@R5 [Q2] hy +vwl_fr/@R5 [(r)] fr + [Q2] hy vwl_fr/r_a [a] fr [wA] fr +vwl_fr/r_a~ [A~] fr vwl_fr/r_e [E] fr [e] fr vwl_fr/r_i [i] fr @@ -2259,18 +2036,13 @@ vwl_fr/r_o [O] fr [o2] fr [O~] fr vwl_fr/r_u [u] fr - [u:] fr vwl_fr/r_y [y] fr -vwl_fr/tr [r] fr +vwl_fr/tr [(r)] fr vwl_fr/w_a [wA] fr -vwl_fr/xr [a] fr - [wA] fr - [A~] fr vwl_hi/l-voc [l-] jbo [l-] hi [l-] sk [l:] sk - [l-] bn vwl_no/& [a] no [a:] no vwl_no/au- [aU] no @@ -2366,7 +2138,6 @@ x/b [b] base [b] hi [b;] ro [b] is - [b] bn x/b_ [b] base [b] fr x/d [d] base @@ -2379,8 +2150,6 @@ x/d [d] base [d] is [d] id [d] sq - [d.] bn - [d`] om x/d_ [d] base [d[] base [d] base2 @@ -2398,9 +2167,6 @@ x/d_ [d] base [d] sw [d] id [d] sq - [d] bn - [d.] bn - [d`] om x/d_dnt [d[] base [d] base2 [d] fi @@ -2410,26 +2176,21 @@ x/d_dnt [d[] base [d] ru [d;] ro [d] sw - [d] bn x/d_pzd [d;] pl [d;] ru x/dzh [J] base [dZ] base - [J2] bn x/dzh_ [dZ] base [dZ;] base [dz;] base [J] hi [dZ;] mk [dZ;] ru - [J] bn x/dz_pzd [dZ;] base [dz;] base [J] hi [dZ;] mk [dZ;] ru - [J] bn -x/dz_pzd_ [J2] bn x/g_ [g] base [g] cy [g] fr @@ -2441,7 +2202,5 @@ x/g2 [g] base [g] hi [g] es [g] is - [g] bn x/g2_ [g-] base [g] hi - [g] bn diff --git a/phsource/ph_danish b/phsource/ph_danish new file mode 100644 index 00000000..7aec4eaf --- /dev/null +++ b/phsource/ph_danish @@ -0,0 +1,151 @@ + +phoneme @ + vowel starttype (@) endtype (@) + unstressed + length 130 + formants vowel/@_3 +endphoneme + +// ToDo: change [@] to [a#] if adjacent to [r] or [R] +phoneme 3 + vowel starttype (a) endtype (a) + unstressed + length 130 + formants vowel/a#_3 +endphoneme + + + +phoneme i + vowel starttype (i) endtype (i) + length 150 + formants vowel/i_4 + linkout ; +endphoneme + +phoneme e + vowel starttype (e) endtype (e) + length 150 + formants vowel/e +endphoneme + +phoneme E + vowel starttype (e) endtype (e) + length 150 + formants vowel/e_mid2 +endphoneme + +phoneme & + vowel starttype (e) endtype (e) + length 150 + formants vowel/ee_2 +endphoneme + +phoneme a + vowel starttype (a) endtype (a) + length 150 + formants vowel/a_2 +endphoneme + +phoneme A + vowel starttype (a) endtype (a) + length 150 + formants vowel/a_3 +endphoneme + +phoneme u + vowel starttype (u) endtype (u) + length 150 + formants vowel/u_bck +endphoneme + +phoneme o + vowel starttype (o) endtype (o) + length 150 + formants vowel/o_2 +endphoneme + +phoneme O + vowel starttype (o) endtype (o) + length 150 + formants vowel/o_5 +endphoneme + +phoneme V + vowel starttype (@) endtype (@) + length 150 + formants vowel/V_4 +endphoneme + +phoneme 0 + vowel starttype (o) endtype (o) + length 150 + formants vowel/oo_2 +endphoneme + + +phoneme y + vowel starttype (i) endtype (i) + length 150 + formants vowel/y +endphoneme + +phoneme Y + vowel starttype (i) endtype (i) + length 150 + formants vowel/yy +endphoneme + +phoneme W + vowel starttype (@) endtype (@) + length 150 + formants vowel/oe +endphoneme + + + + +//phoneme n +// vcd alv nasal +// vowelout f1=2 f2=1700 -300 250 f3=-100 80 rms=20 brk +// length 100 +// lengthmod 4 +// formants NULL +// after _ n/_n +// after n n/_n // lengthen [nn] +// before _ n/n#_ // shorter +// before (r) n/nj +//endphoneme + +phoneme v // approximant, not fricative + vcd lbd frc + vowelin f1=0 f2=1000 -300 -200 f3=-300 100 + vowelout f1=0 f2=1000 -500 -300 f3=-300 60 len=50 + lengthmod 6 + formants voc/v + before _ voc/v_ + switchvoicing f +endphoneme + + +phoneme r // used for 'r' after a vowel (to create a diphthong) + liquid + formants r/a_ + lengthmod 7 +endphoneme + +phoneme R2 // uvular trill [r"] + vcd uvl frc + formants r3/r_uvl+r3/r_uvl.wav%75 + before _ r3/r_uvl+r3/r_uvl.wav%50 + lengthmod 6 +endphoneme + +phoneme R // voiced velar fricative [Q"] + vcd uvl frc + formants voc/Q_ulv+ufric/xx%80 + before _ voc/Q_ulv+ufric/xx%60 + lengthmod 6 +endphoneme + + diff --git a/phsource/ph_french b/phsource/ph_french index be938678..59db701a 100644 --- a/phsource/ph_french +++ b/phsource/ph_french @@ -1,6 +1,7 @@ //==================================================== // French //==================================================== +// Updated 2009-07-30 Michel Such phoneme (l) virtual // Used for l and l/ @@ -11,6 +12,24 @@ phoneme : // Lengthen previous vowel by "length" length 40 // shorter than for fr-ca endphoneme +phoneme (r) virtual + after b vwl_fr/tr+r3/rx%35 + after g vwl_fr/tr+r3/rx%35 + after k vwl_fr/tr+r3/rx%35 + after m vwl_fr/tr+r3/rx%25 + after n vwl_fr/tr+r3/rx%25 + after p vwl_fr/tr+r3/rx%35 + after s vwl_fr/tr+r3/rx%30 + after S vwl_fr/tr+r3/rx%45 + after t vwl_fr/tr+r3/rx%30 + after v vwl_fr/tr+r3/rx%30 + after z vwl_fr/tr+r3/rx%30 + after Z vwl_fr/tr+r3/rx%30 + before (i) vwl_fr/@R5 + before (o) vwl_fr/@R5 + before (u) vwl_fr/@R5 +endphoneme + // Vowels //======= @@ -23,6 +42,17 @@ phoneme @ endphoneme +phoneme @- // very short schwa + vowel nonsyllabic + starttype (@) endtype (@) + formants NULL + unstressed + length 70 + before l/ DFT+l/l_@ + before (r) DFT+vwl_fr/r_@ +endphoneme + + phoneme @2 vowel starttype (@) endtype (@) length 170 @@ -37,15 +67,15 @@ phoneme a formants vowel/a_6 after l l/la-15 before l/ DFT+l/l_a - before (r) DFT+vwl_fr/xr - before r/2 DFT-20+vwl_fr/r_a + before (r) DFT-10+vwl_fr/r_a + before r/2 DFT-10+vwl_fr/r_a endphoneme phoneme e vowel starttype (e) endtype (e) length 190 - formants vowel/e + formants vowel/e_8 after (l) l/le-15 before l/ DFT-20+l/xl before (r) DFT-10+vwl_fr/r_e @@ -59,7 +89,7 @@ phoneme E after (l) l/le-15 before l/ DFT+l/l_e before (r) DFT-10+vwl_fr/r_e - before r/2 DFT-10+vwl_fr/r_e + before r/2 DFT+vwl_fr/r_e endphoneme @@ -69,18 +99,20 @@ phoneme i formants vowel/i_2 linkout ; after (l) l/li-15 +// after (r) vwl_fr/ri before l/ DFT+l/l_i before (r) DFT-20+vwl_fr/r_i - before r/2 DFT-20+vwl_fr/r_i + before r/2 DFT+vwl_fr/r_i endphoneme phoneme i- // shorter vowel starttype (i) endtype (i) - length 120 + length 140 formants vowel/i_2 linkout ; after (l) l/li-15 +// after (r) vwl_fr/ri endphoneme @@ -90,6 +122,7 @@ phoneme i: // longer than i formants vowel/i_3 linkout ; after (l) l/li-15 +// after (r) vwl_fr/ri before l/ DFT+l/l_i before (r) DFT-20+vwl_fr/r_i before r/2 DFT-20+vwl_fr/r_i @@ -125,7 +158,8 @@ phoneme O formants vowel/o_mid after (l) l/lo-10 before l/ DFT+l/l_o - before r/2 DFT-20+vwl_fr/r_o + before (r) DFT+vwl_fr/r_o + before r/2 DFT+vwl_fr/r_o reduceto o2 1 endphoneme @@ -137,18 +171,17 @@ phoneme O2 // Like O but no reduceto after (l) l/lo-10 before l/ DFT+l/l_o before (r) DFT+vwl_fr/r_o - before r/2 DFT-20+vwl_fr/r_o + before r/2 DFT+vwl_fr/r_o endphoneme phoneme u vowel starttype (u) endtype (u) - length 190 - formants vowel/u_4 + length 210 + formants vowel/u_bck2 after l l/lu-20 before l/ DFT-20+l/l_u before (r) DFT+vwl_fr/r_u - before r/2 DFT-30+vwl_fr/r_u before i DFT-50 endphoneme @@ -156,11 +189,10 @@ endphoneme phoneme u: // slitely longer than u vowel starttype (u) endtype (u) length 240 - formants vowel/u_3 + formants vowel/u_bck2 after l l/lu-20 before l/ DFT-20+l/l_u before l/ DFT-20+l/l_u - before r/2 DFT+vwl_fr/r_u endphoneme @@ -171,7 +203,7 @@ phoneme y after l l/lu-20 before l/ DFT-30+l/l_y before (r) DFT+vwl_fr/r_y - before r/2 DFT-30+vwl_fr/r_y + before r/2 DFT+vwl_fr/r_y before E~ DFT-50 endphoneme @@ -194,7 +226,7 @@ phoneme W after (l) l/l@-20 before l/ DFT-20+l/l_@ before (r) DFT+vwl_fr/r_@2 - before r/2 DFT-30+vwl_fr/r_@2 + before r/2 DFT+vwl_fr/r_@2-30 reduceto Y 1 endphoneme @@ -206,17 +238,18 @@ phoneme W2 // same as W but don't reduce after (l) l/l@-20 before l/ DFT-20+l/l_@ before (r) DFT+vwl_fr/r_@ - before r/2 DFT+vwl_fr/r_@ + before r/2 DFT+vwl_fr/r_@2 endphoneme phoneme wA vowel starttype (o) endtype (a) - length 220 + length 240 formants vwl_fr/w_a after (l) l/lo-10 before l/ DFT-10+l/l_a - before (r) DFT+vwl_fr/xr + before j DFT + before (r) DFT+vwl_fr/r_a before r/2 DFT+vwl_fr/r_a endphoneme @@ -237,8 +270,8 @@ phoneme A~ length 210 formants vnasal/aa_n4 before l/ DFT+l/l_a - before (r) DFT+vwl_fr/xr - before r/2 DFT+vwl_fr/xr + before (r) DFT+vwl_fr/r_a~ + before r/2 DFT+vwl_fr/r_a~ endphoneme @@ -308,13 +341,11 @@ endphoneme // uses the consonants in file "phonemes", unless overridden here phoneme b - vcd blb frc - vowelin f1=2 f2=1000 -300 -200 f3=-100 100 - vowelout f1=0 f2=1000 -500 -300 f3=-100 60 len=50 + vcd blb stop + vowelout f1=2 f2=1000 -500 -300 f3=-300 80 brk formants b/b+x/b%70 before _ b/b_+x/b_ - before l/ b/b_+x/b_ - before (r) b/b_+x/b_%80 + before (l) b/b_+x/b_ after _ NULL after @ b/xb%50 lengthmod 5 @@ -357,7 +388,7 @@ phoneme k lengthmod 2 wave ustop/k%40 // reduce strength of noise burst before _ ustop/k_ - before (r) ustop/k%60 + before (r) ustop/kr%40 before r/2 ustop/k%60 before l ustop/kl%45 before l/ ustop/kl%45 @@ -383,8 +414,8 @@ phoneme l/ // used for [l] when not before a vowel liquid starttype (l) endtype (l) length 100 lengthmod 7 - formants l/l_ - before (r) l/_l + formants l/_l + after (i) l/l_ beforevowel l endphoneme @@ -428,31 +459,18 @@ endphoneme phoneme r - liquid starttype (r) endtype (r) + vcd uvl frc starttype (r) endtype (r) vowelin f1=1 f2=1800 10 10 f3=-200 100 vowelout f1=1 f2=1800 10 10 f3=-200 100 length 100 lengthmod 7 beforenotvowel r/2 formants vwl_fr/r - after b vwl_fr/tr+r3/rx%25 - after g vwl_fr/tr+r3/rx%25 - after k vwl_fr/tr+r3/rx%35 - after (l) vwl_fr/r+r3/rx%30 - after m vwl_fr/tr+r3/rx%25 - after n vwl_fr/tr+r3/rx%25 - after p vwl_fr/tr+r3/rx%35 - after s vwl_fr/tr+r3/rx%30 - after S vwl_fr/tr+r3/rx%45 - after t vwl_fr/tr+r3/rx%30 - after v vwl_fr/tr+r3/rx%30 - after z vwl_fr/tr+r3/rx%30 - after Z vwl_fr/tr+r3/rx%30 endphoneme phoneme r2 // silent unless followed by vowel - liquid starttype (r) endtype (r) + vcd uvl frc starttype (r) endtype (r) vowelin f1=0 f2=1000 10 10 f3=-200 100 vowelout f1=0 f2=1200 10 10 f3=-200 100 length 100 @@ -463,7 +481,7 @@ endphoneme phoneme r/2 // variant of [r] when not preceding a vowel - liquid + liquid uvl starttype r/2 endtype r/2 vowelout f1=2 f2=1800 10 10 f3=-200 100 length 100 lengthmod 2 @@ -506,7 +524,7 @@ phoneme t lengthmod 2 wave ustop/t_short%40 before _ ustop/t_%40 - before (r) ustop/t_short%60 + before (r) ustop/tr%40 before r/2 ustop/t_short%50 switchvoicing d endphoneme @@ -550,7 +568,7 @@ endphoneme phoneme z vcd alv frc sibilant vowelout f1=0 f2=1700 -300 300 f3=-100 60 len=50 - formants voc/z+ufric/s%30 + formants voc/z+ufric/s_%35 before _ voc/z_+ufric/s_%45 lengthmod 6 switchvoicing s diff --git a/phsource/ph_hindi b/phsource/ph_hindi index e5131bea..dd797340 100644 --- a/phsource/ph_hindi +++ b/phsource/ph_hindi @@ -256,13 +256,14 @@ endphoneme -phoneme v // no fricative noise + +phoneme v // approximant vcd lbd frc vowelin f1=1 f2=900 -300 -300 f3=-100 100 vowelout f1=1 f2=900 -500 -300 f3=-100 60 len=50 lengthmod 6 - formants voc/v - before _ voc/v_ + formants voc/v# + before _ voc/v#_ switchvoicing f endphoneme diff --git a/phsource/phonemes b/phsource/phonemes index 780aeb00..2c98feb1 100644 --- a/phsource/phonemes +++ b/phsource/phonemes @@ -623,7 +623,7 @@ endphoneme phoneme r. // retroflex liquid rfx - vowelout f1=3 f2=1400 -400 300 f3=-400 80 rms=35 len=15 + vowelout f1=3 f2=1400 -400 300 f3=-400 80 rms=35 len=15 colr=2 vowelin f1=2 f2=1400 -400 300 f3=-400 80 len=20 formants r3/@tap_rfx lengthmod 3 @@ -1340,31 +1340,6 @@ include ph_albanian phonemetable hy base include ph_armenian - -phonemetable rw base2 -include ph_kinyarwanda - -phonemetable ml hi -include ph_malayalam - -phonemetable kn hi -include ph_kannada - -phonemetable bn hi -include ph_bengali - -phonemetable ne hi -include ph_nepali - -phonemetable mr hi -include ph_marathi - -phonemetable om base -include ph_oromo - -phonemetable eu base2 -include ph_basque - phonemetable da base include ph_danish diff --git a/phsource/r3/@tap_rfx b/phsource/r3/@tap_rfx index eff7e2cc..d257ad4d 100644 Binary files a/phsource/r3/@tap_rfx and b/phsource/r3/@tap_rfx differ diff --git a/phsource/vwl_fr/r_a b/phsource/vwl_fr/r_a index f894f813..8002ebd4 100755 Binary files a/phsource/vwl_fr/r_a and b/phsource/vwl_fr/r_a differ diff --git a/phsource/vwl_fr/r_i b/phsource/vwl_fr/r_i index d5e35355..6cbd509b 100755 Binary files a/phsource/vwl_fr/r_i and b/phsource/vwl_fr/r_i differ diff --git a/phsource/vwl_fr/r_o b/phsource/vwl_fr/r_o index fc972efc..a7633a9f 100755 Binary files a/phsource/vwl_fr/r_o and b/phsource/vwl_fr/r_o differ diff --git a/phsource/vwl_fr/r_u b/phsource/vwl_fr/r_u index a2522045..e4652755 100755 Binary files a/phsource/vwl_fr/r_u and b/phsource/vwl_fr/r_u differ diff --git a/platforms/big_endian/README b/platforms/big_endian/README index 7ac358c0..0e655e95 100644 --- a/platforms/big_endian/README +++ b/platforms/big_endian/README @@ -13,6 +13,10 @@ big-endian form if necessary. The 'phondata-manifest' file is produced by espeakedit when it compiles the phoneme data. If it is not present here, find it in the espeak-data directory. +NOTE: +The format of espeak-data/phondata changed in eSpeak version 1.41. The utility +has been modified for this. [jonsd] + --- To contact the author of these utilities, please send an e-mail to diff --git a/platforms/big_endian/espeak-phoneme-data.c b/platforms/big_endian/espeak-phoneme-data.c index b27e3cd1..98b7721e 100644 --- a/platforms/big_endian/espeak-phoneme-data.c +++ b/platforms/big_endian/espeak-phoneme-data.c @@ -53,7 +53,25 @@ typedef struct { unsigned char link_out; } PHONEME_TAB; +// This is a new format for eSpeak 1.41 +typedef struct { // 44 bytes + short frflags; + short ffreq[7]; + unsigned char length; + unsigned char rms; + unsigned char fheight[8]; + unsigned char fwidth[6]; // width/4 f0-5 + unsigned char fright[3]; // width/4 f0-2 + unsigned char bw[4]; // Klatt bandwidth BNZ /2, f1,f2,f3 + unsigned char klattp[5]; // AV, FNZ, Tilt, Aspr, Skew + unsigned char klattp2[5]; // continuation of klattp[], Avp, Fric, FricBP, Turb + unsigned char klatt_ap[7]; // Klatt parallel amplitude + unsigned char klatt_bp[7]; // Klatt parallel bandwidth /2 +} frame_t; // with extra Klatt parameters for parallel resonators + +#ifdef deleted +// This is the previous format for versions before 1.41 typedef struct { short frflags; unsigned char length; @@ -63,6 +81,7 @@ typedef struct { unsigned char fwidth[6]; unsigned char fright[6]; } frame_t; +#endif #define N_SEQ_FRAMES 25 @@ -210,7 +229,8 @@ swap_phondata (const char *infile, const char *outfile, buf_spect.frame[n].frflags = (short) SWAP_USHORT (buf_spect.frame[n].frflags); - for (k = 0; k < 9; k++) { +// Changed for eSpeak 1.41 + for (k = 0; k < 7; k++) { buf_spect.frame[n].ffreq[k] = (short) SWAP_USHORT (buf_spect.frame[n].ffreq[k]); } diff --git a/platforms/windows/espeakedit/ReadMe.txt b/platforms/windows/espeakedit/ReadMe.txt index 7976a6c2..3f5064dc 100755 --- a/platforms/windows/espeakedit/ReadMe.txt +++ b/platforms/windows/espeakedit/ReadMe.txt @@ -1,6 +1,9 @@ Compiling the espeakedit program. -Copy the source files into directory "src", but not overwrite files: +You need the "espeakedit" download, + +Copy the source files from the "espeakedit" download into directory "src", +but do not overwrite files: speech.h StdAfx.h @@ -8,4 +11,4 @@ There are copies of these in directory "src_copy". Use the "Unicode Release" build configuration. -This linkls with the "Unicode Release" version of the wxWidgets libraries. +This links with the "Unicode Release" version of the wxWidgets libraries. diff --git a/platforms/windows/windows_dll/src/speak_lib.h b/platforms/windows/windows_dll/src/speak_lib.h index e2faea6e..5d253c9b 100644 --- a/platforms/windows/windows_dll/src/speak_lib.h +++ b/platforms/windows/windows_dll/src/speak_lib.h @@ -28,7 +28,7 @@ #include -#define ESPEAK_API_REVISION 3 +#define ESPEAK_API_REVISION 5 /* Revision 2 Added parameter "options" to eSpeakInitialize() @@ -39,6 +39,8 @@ Revision 3 Revision 4 Added flags parameter to espeak_CompileDictionary() +Revision 5 + Added espeakCHARS_16BIT */ /********************/ /* Initialization */ @@ -228,6 +230,7 @@ int UriCallback(int type, const char *uri, const char *base); #define espeakCHARS_UTF8 1 #define espeakCHARS_8BIT 2 #define espeakCHARS_WCHAR 3 +#define espeakCHARS_16BIT 4 #define espeakSSML 0x10 #define espeakPHONEMES 0x100 @@ -319,7 +322,8 @@ extern "C" #endif ESPEAK_API espeak_ERROR espeak_Key(const char *key_name); /* Speak the name of a keyboard key. - Currently this just speaks the "key_name" as given + If key_name is a single character, it speaks the name of the character. + Otherwise, it speaks key_name as a text string. Return: EE_OK: operation achieved EE_BUFFER_FULL: the command can not be buffered; @@ -341,6 +345,7 @@ ESPEAK_API espeak_ERROR espeak_Char(wchar_t character); + /***********************/ /* Speech Parameters */ /***********************/ @@ -390,7 +395,7 @@ ESPEAK_API espeak_ERROR espeak_SetParameter(espeak_PARAMETER parameter, int valu espeakPUNCTUATION: which punctuation characters to announce: value in espeak_PUNCT_TYPE (none, all, some), - see espeak_GetParameter() to specify which characters are announced. + see espeak_GetParameter() to specify which characters are announced. espeakCAPITALS: announce capital letters by: 0=none, @@ -463,9 +468,9 @@ ESPEAK_API void espeak_CompileDictionary(const char *path, FILE *log, int flags) // voice table typedef struct { - char *name; // a given name for this voice. UTF8 string. - char *languages; // list of pairs of (byte) priority + (string) language (and dialect qualifier) - char *identifier; // the filename for this voice within espeak-data/voices + const char *name; // a given name for this voice. UTF8 string. + const char *languages; // list of pairs of (byte) priority + (string) language (and dialect qualifier) + const char *identifier; // the filename for this voice within espeak-data/voices unsigned char gender; // 0=none 1=male, 2=female, unsigned char age; // 0=not specified, or age in years unsigned char variant; // only used when passed as a parameter to espeak_SetVoiceByProperties diff --git a/platforms/windows/windows_sapi/ttsengobj.cpp b/platforms/windows/windows_sapi/ttsengobj.cpp index 0480ec93..9c43214b 100755 --- a/platforms/windows/windows_sapi/ttsengobj.cpp +++ b/platforms/windows/windows_sapi/ttsengobj.cpp @@ -36,12 +36,14 @@ extern void InitNamedata(void); int master_volume = 100; int master_rate = 0; +int initialised = 0; int gVolume = 100; int gSpeed = -1; int gPitch = -1; int gRange = -1; int gEmphasis = 0; int gSayas = 0; +char g_voice_name[80]; char *path_install = NULL; @@ -359,8 +361,7 @@ void WcharToChar(char *out, const wchar_t *in, int len) *****************************************************************************/ STDMETHODIMP CTTSEngObj::SetObjectToken(ISpObjectToken * pToken) { - char voice[80]; - strcpy(voice,"default"); + strcpy(voice_name,"default"); SPDBG_FUNC( "CTTSEngObj::SetObjectToken" ); @@ -376,7 +377,7 @@ STDMETHODIMP CTTSEngObj::SetObjectToken(ISpObjectToken * pToken) hr2 = m_cpToken->GetStringValue( L"VoiceName", &voicename); if( SUCCEEDED(hr2) ) { - WcharToChar(voice,voicename,sizeof(voice)); + WcharToChar(voice_name,voicename,sizeof(voice_name)); } @@ -396,9 +397,14 @@ STDMETHODIMP CTTSEngObj::SetObjectToken(ISpObjectToken * pToken) gEmphasis = 0; gSayas = 0; - espeak_Initialize(AUDIO_OUTPUT_SYNCHRONOUS,100,path_install,1); - espeak_SetVoiceByName(voice); - espeak_SetSynthCallback(SynthCallback); + if(initialised==0) + { + espeak_Initialize(AUDIO_OUTPUT_SYNCHRONOUS,100,path_install,1); + espeak_SetSynthCallback(SynthCallback); + initialised = 1; + g_voice_name[0] = 0; + } + return hr; } /* CTTSEngObj::SetObjectToken */ @@ -525,6 +531,13 @@ int CTTSEngObj::ProcessFragList(const SPVTEXTFRAG* pTextFragList, wchar_t *pW_st frag_ix = 0; pW = pW_start; + // check that the current voice is correct for this request + if(strcmp(voice_name, g_voice_name) != 0) + { + strcpy(g_voice_name, voice_name); + espeak_SetVoiceByName(g_voice_name); + } + while(pTextFragList != NULL) { action = pTextFragList->State.eAction; diff --git a/platforms/windows/windows_sapi/ttsengobj.h b/platforms/windows/windows_sapi/ttsengobj.h index 7181ded0..62664c81 100755 --- a/platforms/windows/windows_sapi/ttsengobj.h +++ b/platforms/windows/windows_sapi/ttsengobj.h @@ -117,6 +117,8 @@ class ATL_NO_VTABLE CTTSEngObj : const WCHAR* m_pNextChar; const WCHAR* m_pEndChar; ULONGLONG m_ullAudioOff; + + char voice_name[80]; }; #endif //--- This must be the last line in the file diff --git a/src/menus.cpp b/src/menus.cpp index 68d7fe48..794f38a6 100755 --- a/src/menus.cpp +++ b/src/menus.cpp @@ -40,8 +40,8 @@ wxMenuBar *MakeMenu(int type) // FILE MENU file_menu = new wxMenu; - file_menu->Append(MENU_SPECTRUM, _("&Open")); - file_menu->Append(MENU_SPECTRUM2, _("O&pen2")); + file_menu->Append(MENU_SPECTRUM, _("&Open...")); + file_menu->Append(MENU_SPECTRUM2, _("O&pen2...")); // file_menu->Append(MENU_PROSODY, _T("&Prosody window")); if(type==0) { @@ -50,7 +50,7 @@ wxMenuBar *MakeMenu(int type) if(type==1) { file_menu->Append(SPECTSEQ_SAVE, _("&Save")); - file_menu->Append(SPECTSEQ_SAVEAS, _("Save &As")); + file_menu->Append(SPECTSEQ_SAVEAS, _("Save &As...")); file_menu->Append(SPECTSEQ_SAVESELECT, _("Save Selection")); file_menu->Append(SPECTSEQ_SAVEPITCH, _T("Save Pitch &Envelope")); file_menu->Append(SPECTSEQ_CLOSE, _("&Close")); @@ -60,7 +60,7 @@ wxMenuBar *MakeMenu(int type) if(type==2) { file_menu->Append(SPECTSEQ_SAVE, _("&Save")); - file_menu->Append(SPECTSEQ_SAVEAS, _("Save &As")); + file_menu->Append(SPECTSEQ_SAVEAS, _("Save &As...")); // file_menu->Append(SPECTSEQ_SAVEPITCH, _T("Save Pitch &Envelope")); file_menu->Append(SPECTSEQ_CLOSE, _("&Close")); // file_menu->Append(MENU_CLOSE_ALL, _T("Close &All")); @@ -73,40 +73,40 @@ wxMenuBar *MakeMenu(int type) speak_menu->Append(MENU_SPEAK_RULES, _("Show &Rules")); speak_menu->Append(MENU_SPEAK_TEXT, _("&Speak")); speak_menu->AppendSeparator(); - speak_menu->Append(MENU_SPEAK_FILE, _("Speak &file")); + speak_menu->Append(MENU_SPEAK_FILE, _("Speak &file...")); speak_menu->Append(MENU_SPEAK_PAUSE, _("&Pause")); speak_menu->Append(MENU_SPEAK_STOP, _("St&op")); // VOICE MENU voice_menu = new wxMenu; - voice_menu->Append(MENU_SPEAK_VOICE, _("Select &Voice")); - voice_menu->Append(MENU_SPEAK_VOICE_VARIANT, _("Select Voice Va&riant")); + voice_menu->Append(MENU_SPEAK_VOICE, _("Select &Voice..")); + voice_menu->Append(MENU_SPEAK_VOICE_VARIANT, _("Select Voice Va&riant...")); // DATA MENU data_menu = new wxMenu; data_menu->Append(MENU_COMPILE_PH, _("Compile &phoneme data")); data_menu->Append(MENU_COMPILE_DICT, _("Compile &dictionary")); data_menu->Append(MENU_COMPILE_DICT_DEBUG, _("Compile dictionary (&debug)")); - data_menu->Append(MENU_COMPILE_MBROLA, _("Compile &mbrola phonemes list")); + data_menu->Append(MENU_COMPILE_MBROLA, _("Compile &mbrola phonemes list...")); // OPTIONS MENU paths_menu = new wxMenu; - paths_menu->Append(MENU_PATH0, _("Master phonemes file")); - paths_menu->Append(MENU_PATH1, _("Phoneme data source")); - paths_menu->Append(MENU_PATH2, _("Dictionary data source")); - paths_menu->Append(MENU_PATH3, _("Synthesized sound WAV file")); + paths_menu->Append(MENU_PATH0, _("Master phonemes file...")); + paths_menu->Append(MENU_PATH1, _("Phoneme data source...")); + paths_menu->Append(MENU_PATH2, _("Dictionary data source...")); + paths_menu->Append(MENU_PATH3, _("Synthesized sound WAV file...")); paths_menu->AppendSeparator(); - paths_menu->Append(MENU_PATH4, _("Voice file to modify formant peaks")); + paths_menu->Append(MENU_PATH4, _("Voice file to modify formant peaks...")); option_menu = new wxMenu; option_menu->Append(MENU_PATHS, _("Set &paths"), paths_menu); - option_menu->Append(MENU_PARAMS, _("Speed")); + option_menu->Append(MENU_PARAMS, _("Speed...")); // TOOLS vowelchart_menu = new wxMenu; vowelchart_menu->Append(MENU_VOWELCHART1, _("From compiled phoneme data")); - vowelchart_menu->Append(MENU_VOWELCHART2, _("From list of formants")); - vowelchart_menu->Append(MENU_VOWELCHART3, _("From directory of vowel files")); + vowelchart_menu->Append(MENU_VOWELCHART2, _("From list of formants...")); + vowelchart_menu->Append(MENU_VOWELCHART3, _("From directory of vowel files...")); lexicon_menu = new wxMenu; lexicon_menu->Append(MENU_LEXICON_RU, _("Russian (lexicon.dict)")); @@ -115,11 +115,11 @@ wxMenuBar *MakeMenu(int type) lexicon_menu->Append(MENU_LEXICON_IT2, _("Italian, pass 2")); tools_menu = new wxMenu; - tools_menu->Append(MENU_VOWELCHART, _("Make &Vowels Chart"), vowelchart_menu); + tools_menu->Append(MENU_VOWELCHART, _("Make &Vowels Chart..."), vowelchart_menu); // tools_menu->Append(MENU_LOAD_WAV, _T("Analyse WAV file")); - tools_menu->Append(MENU_LEXICON, _("Compare &Lexicon"), lexicon_menu); - tools_menu->Append(MENU_TO_UTF8, _("Convert file to &UTF8")); - tools_menu->Append(MENU_COUNT_WORDS, _("Count word &frequencies")); + tools_menu->Append(MENU_LEXICON, _("Compare &Lexicon..."), lexicon_menu); + tools_menu->Append(MENU_TO_UTF8, _("Convert file to &UTF8...")); + tools_menu->Append(MENU_COUNT_WORDS, _("Count word &frequencies...")); tools_menu->Append(MENU_TEST , _("Test (temporary)")); // tools_menu->Append(MENU_TEST2 , _T("Test2")); diff --git a/src/synthdata.cpp b/src/synthdata.cpp index 2fdad1f9..f348e6b3 100755 --- a/src/synthdata.cpp +++ b/src/synthdata.cpp @@ -35,8 +35,8 @@ #include "translate.h" #include "wave.h" -const char *version_string = "1.40.22 19.Jun.09"; -const int version_phdata = 0x014015; +const char *version_string = "1.41.01 25.Aug.09"; +const int version_phdata = 0x014100; int option_device_number = -1; @@ -677,5 +677,6 @@ void LoadConfig(void) } } } + fclose(f); } // end of LoadConfig diff --git a/src/wave_sada.cpp b/src/wave_sada.cpp index a1a71f29..c69a4dc9 100755 --- a/src/wave_sada.cpp +++ b/src/wave_sada.cpp @@ -305,16 +305,9 @@ int wave_close(void* theHandler) int wave_is_busy(void* theHandler) { - audio_info_t ainfo; - int audio_fd = (int) theHandler; - if (!audio_fd) { - audio_fd = sun_audio_fd; - } - ENTER("wave_is_busy"); - ioctl(audio_fd, AUDIO_GETINFO, &ainfo); - SHOW("wave_is_busy: active=%d", ainfo.play.active); - SHOW_TIME("wave_is_busy > LEAVE"); - return ainfo.play.active; + uint32_t time; + wave_get_remaining_time(total_samples_sent - 1, &time); + return time != 0; } //>