From cd6a5c6834ad39f9c6ea5e5fee807154b3d79fb7 Mon Sep 17 00:00:00 2001 From: "Reece H. Dunn" Date: Tue, 12 Feb 2013 19:19:48 +0000 Subject: [PATCH] 1.46.34 (from http://espeak.sourceforge.net/test/latest.html) --- dictsource/en_list | 94 +++++---- dictsource/en_rules | 54 ++++-- dictsource/pt_list | 21 +- dictsource/pt_rules | 23 ++- dictsource/vi_rules | 70 ++++--- phsource/envelopes.png | Bin 20340 -> 20195 bytes phsource/ph_english_us | 11 +- phsource/ph_pt_brazil | 8 +- phsource/ph_vietnam | 412 ++++++++++++++++++++++++++++++++++++++++ phsource/phonemes | 2 +- phsource/vdiph/eei_5 | Bin 0 -> 9899 bytes phsource/vietnam/_c.wav | Bin 0 -> 954 bytes phsource/vietnam/a | Bin 0 -> 5631 bytes phsource/vietnam/ch.wav | Bin 0 -> 2774 bytes phsource/vietnam/dd.wav | Bin 0 -> 2924 bytes phsource/vietnam/kh.wav | Bin 0 -> 2774 bytes phsource/vietnam/n.wav | Bin 0 -> 4288 bytes phsource/vietnam/nh.wav | Bin 0 -> 3834 bytes phsource/vietnam/nn | Bin 0 -> 4516 bytes phsource/vietnam/oe | Bin 0 -> 1986 bytes phsource/vietnam/oong | Bin 0 -> 3186 bytes phsource/vietnam/th.wav | Bin 0 -> 3076 bytes phsource/vietnam/tr.wav | Bin 0 -> 1534 bytes src/compiledata.cpp | 14 +- src/dictionary.cpp | 6 +- src/synthdata.cpp | 4 +- src/vowelchart.cpp | 8 +- 27 files changed, 610 insertions(+), 117 deletions(-) create mode 100644 phsource/ph_vietnam create mode 100644 phsource/vdiph/eei_5 create mode 100644 phsource/vietnam/_c.wav create mode 100644 phsource/vietnam/a create mode 100644 phsource/vietnam/ch.wav create mode 100644 phsource/vietnam/dd.wav create mode 100644 phsource/vietnam/kh.wav create mode 100644 phsource/vietnam/n.wav create mode 100644 phsource/vietnam/nh.wav create mode 100644 phsource/vietnam/nn create mode 100644 phsource/vietnam/oe create mode 100644 phsource/vietnam/oong create mode 100644 phsource/vietnam/th.wav create mode 100644 phsource/vietnam/tr.wav diff --git a/dictsource/en_list b/dictsource/en_list index 8925a438..3d09e013 100644 --- a/dictsource/en_list +++ b/dictsource/en_list @@ -345,6 +345,7 @@ _90o n'aInti@ abc $abbrev ac $abbrev adf $abbrev +afk $abbrev (a . k . a .) aka#_! agpl $abbrev agm $abbrev @@ -405,6 +406,7 @@ nypd $abbrev nypsd $abbrev nyse $abbrev nyt $abbrev +ocr $abbrev oecd $abbrev oem $abbrev ok $abbrev @@ -510,6 +512,7 @@ adieus a#dju:z adieux a#dju:z adios aDj'o:s admirable adm@r@b@L +admirably adm@r@bli admonition adm@n'IS@n ado a#du: adobe a#doUbi @@ -585,6 +588,7 @@ amass a#mas ambassador a#mbas@d3 ambidextrous $3 amen ,A:m'En $onlys +?3 amen ,eIm'En amok a#m0k amoral eIm'0r@L amount a#maUnt @@ -612,6 +616,7 @@ anonymous a#n0n@m@s another a#nVD3 ante anti: antecedent antIs'i:d@nt +?3 anti antaI antibody $1 antichrist $1 anticline $1 @@ -720,7 +725,8 @@ ballot bal@t baloney b@loUni bagel beIg@L banal beIn@L -banana b@nA:n@ +banana $alt3 +?3 banana ba#nan@ banged baNgd banquet baNkwI2t barbeque bA@b@kju: @@ -748,6 +754,7 @@ basal beIs@L best bEst bestest bEst@st beta bi:t@ +?3 beta beIt@ betake bI2teIk beverage bEv@rI2dZ bias baI@s @@ -829,6 +836,7 @@ cadet $alt3 cadre kA:d3 caesar si:z3 cafe kafeI +?3 caffeine $2 cahoot $alt3 cajole $alt3 cajun keIdZ@n @@ -839,6 +847,7 @@ calv kA:v // for calved, calving ?3 calv kav // for calved, calving calve kA:v ?3 calve kav +camaraderie kam@r'A:d@ri cameo kamIoU camouflage kam@flA:Z campus kamp@s // campuses @@ -986,6 +995,8 @@ commence k@mEns commend k@mEnd comment k0mEnt commentary k0m@ntrI +?3 commentary k0m@ntEri +commi k0mI commie k0mI committee k@mIti communique k@mju:nI2keI @@ -996,6 +1007,7 @@ competing k@mp'i:tIN competition k0mp@t'IS@n compromise k0mpr@maIz compound $2 $verb +?3 comrade k0mrad con k0n concert $1 $onlys concert $verb @@ -1074,6 +1086,7 @@ crooked krUkId cuckoo kUku: cupboard kVb@d curate kjU@reIt +?3 current k'3:@nt curse k3:s ?5 curse kVRs customer k'Vst@m3 @@ -1125,6 +1138,7 @@ denier dI2naI3 denouement deIn'u:mO~ deny dI2naI depot dEpoU +?3 depot di:poU derange dI2reIndZ descry dI2skreI desert dI2z3:t @@ -1132,6 +1146,7 @@ desert dEs3t $only desert dI2z3:t $verb desolate dEs@l@t desperate dEsp@r@t +?3 detail $2 detente deIt'0nt détente deIt'0nt detritus dI2traIt@s @@ -1142,6 +1157,7 @@ devotee dEvoUt'i: di d,I $only diabetes daI@b'i:ti:z diagnose $3 +?3 dialog daI|@lO:g diameter daI'amI2t3 diaper daIp3 diaphanous daI'af@n@s @@ -1244,6 +1260,8 @@ entrance Entr'aans $verb entree 0ntreI envelope Env@loUp $only envelopes Env@loUps +?3 envelope A:nv@loUp +?3 envelopes A:nv@loUps envelope $verb epaulet Ep@l'Et epiphany I2pIf@nI @@ -1260,6 +1278,7 @@ eraser I2reIz3 ere e@ $only eros i@r0s err 3: +?3 err e@ errand Er@nd escallop Esk'A:l@p escapism Esk'eIpI2z@m @@ -1367,6 +1386,7 @@ formid fO@m'Id // formidable formica fO@m'aIk@ fortunate fO@tS@n@t fortune fO@tSu:n +?3 fortune fO@tS@n foyer fOIeI freelance fri:laans freon fri:0n @@ -1393,6 +1413,7 @@ gala gA:l@ galaxy gala#ksi galileo galI2l'eIoU galore $alt3 +?3 garage ga#rA:Z garish ge@rIS gases gasI#z gauche goUS @@ -1466,6 +1487,7 @@ helium hi:li@m helix hi:lIks hello h@loU henceforth hEnsfo@T +?3 herb 3:b hercules h3:kjUli:z heretical hI2rEtI2k@L hereto hi@3'tu: @@ -1509,6 +1531,7 @@ hunger hVNg3 hurrah h@r'A: hurrah hVr'eI hurricane hVrI2keIn +?3 hurricane h3:@keIn hussar hVz'A@ huzza h@z'A: huzzah h@z'A: @@ -1560,6 +1583,7 @@ inherit Inh'ErIt // inherited innard In3d inner In3 innovative In@veItIv +?3 inquiry Inkw@ri insect $1 insert Ins3:t $onlys insert Ins'3:t $verb @@ -1591,6 +1615,7 @@ interval Int3v@L interven Int3v'i:n // for intervening intray IntreI intro $1 +?3 investigative Inv,EstI2g'eItIv irate aIr'eIt iris aIrIs iron aI3n @@ -1632,6 +1657,7 @@ kowtow kaUt2aU la ,la $only laboratory la#b'0r@trI +?3 laboratory labr@tO:ri labor leIb3 labored leIb@d laborer leIb@r3 @@ -1649,6 +1675,7 @@ lasso las'u: ?3 lasso lasoU latrine $alt3 latte lA:t2eI +?3 launch lA:ntS lawyer lOI3 lava lA:v@ le l@_| $only @@ -1705,6 +1732,7 @@ looser lu:z3 lorenz l0r@nts los ,l0s $only losing lu:zIN // misspell +?3 lost lOst lukewarm lu:kwO@m lullaby lVl@baI lunatic lu:n@tIk @@ -1734,6 +1762,7 @@ mall mal ?3 mall mO:l mama mA:ma# mammoth mam@T +manageress manI2dZ@r'Es mandate $2 $verb manganese $1 manger meIndZ3 @@ -1843,6 +1872,7 @@ moustache m@st'aaS mouths maUDz $only movies mu:vIz mozilla m@zIl@ +?3 multi mVltaI multitude $1 multiplexer $1 mundane $2 @@ -2003,10 +2033,12 @@ parole $alt3 passenger pasI2ndZ3 passerby pas3b'aI passersby pas3zb'aI +?3 pasta pA:st@ pasted peIstI#d pasting peIstIN pastry peIstri pate pat2eI +?3 patent pat@nt pathetic $alt3 pathos peIT0s patio patIoU @@ -2115,6 +2147,8 @@ pretrial pri:tr'aI|@L pretty prIti pretzel prEts@L primeval praIm'i:v@L +pristine $2 +?3 privacy praIv@si privation praIv'eIS@n privilege prIvI2lI2dZ privy prIvi @@ -2159,6 +2193,7 @@ pythagoras paIT'ag@r@s python paIT@n pyramidal pI2r'amId@L +quadrilateral $3 quash kw0S quaternary kw@t3:n@rI qubit kju:bIt @@ -2263,6 +2298,7 @@ requiem rEkwI2Em reservation rEz3v'eIS@n reservoir rEz3vwA@ resin rEzIn +?3 respite rEspI2t restive rEstIv respiration rEspI#r'eIS@n respiratory rI2spIr@t@rI @@ -2293,6 +2329,7 @@ robust roUb'Vst romance roUm'ans rotate $2 rotund roUt'Vnd +roundtable $alt1 rouse raUz rout raUt // for routed routine $2 @@ -2360,6 +2397,7 @@ segue sEgweI separate sEp@-r@t separate sEp3reIt $verb semen si:m@n +?3 semi sEmaI semibreve $1 semicircle $1 semicolon sEmIk'oUl@n @@ -2548,6 +2586,7 @@ testes tEsti:z telephon tElI2foUn // for telephoning temperature tEmprI2tS3 ?!3 temporary tEmpr@rI +?3 template tEmpl@t thereof ,De@'0v thereon ,De@'0n thereto ,De@'tu: @@ -2572,6 +2611,7 @@ tis tIz $only toboggan t@b0g@n today t@deI todo t@du: +?3 tomato t@meItoU ton tVn $onlys tonage tVnIdZ tone toUn @@ -2595,7 +2635,7 @@ travesty trav@sti treatise tri:tIz triage tri:A:Z tribunal traIb'ju:n@L -triceratops $2 +triceratops traIs'Er@t0ps tricycle traIsIk@L trilogy trIl@dZi trio tri:oU @@ -2777,6 +2817,7 @@ yoghurt j0g3t yoyo joUjoU zavala $alt3 +?3 zebra zi:br@ zulus zu:lu:z @@ -2925,8 +2966,11 @@ Euphrates ju:fr'eIti:z Eyjafjalla eIja#fjatla# Folkestone foUkstoUn Fuego fweIgoU +Gabon gab0n +?3 Gabon ga#boUn Geneva dZ@ni:v@ Gdansk g@-dansk +Gibraltar $2 Gomera goUm'e@r@ Harare ha#rA:ri Hanoi han'OI @@ -2948,6 +2992,7 @@ Ipanema Ipa#n'i:m@ Israeli Izr'eIli Istanbul ,Ist,anb'Ul Italia It'alI2@ // Italian(s) +Ithaca IT@k@ Jakarta $alt3 Jerusalem dZ@ru:s@l@m Johannesburg $2 @@ -3018,6 +3063,7 @@ Noumea nu:m'eI@ Oahu oU'A:hu: Oklahoma oUkla#h'oUm@ Ohio oUh'aIoU +Omagh oUmA: Omaha oUma#hA: Oman oUm'an Oregon 0rI2g@n @@ -3074,7 +3120,6 @@ Tehran te@r'A:n (tel aviv) t,El||a#v'i:v Tenerife tEn3r'i:f Tennessee tEn@s'i: -Texas tEks@s Tijuana ti@w'A:n@ Tikal tI2kA:l Timor ti:mo@ @@ -3161,6 +3206,7 @@ Betsy bEtsi Betsey bEtsi Bjarne bjA@n@ Boris b0rIs +Bremen brEm@n Brianna brI'an@ Brien braI@n Caiseal kaS@L @@ -3448,6 +3494,7 @@ Dante dA:nt2eI Deslauriers dI2lo@rIeI Deveraux dEv3roU Disney dIzni +?3 Dolby doUlbi Dolce d0ltSeI Dvorak d@-vo@Zak Emory Em3ri @@ -3461,6 +3508,7 @@ Jacobi dZa#koUbi Kendell kEnd@L Kyocera kaI|@s'i@r@ Lamaze la#mA:z +Laurell $2 Mackenna m@kEn@ Mackenzie m@kEnzi Medusa m@du:s@ @@ -3476,6 +3524,7 @@ Rameses ram@si:z Ramirez ra#mi@3rEz Reagan reIg@n Reid ri:d +Remi r@ni: Reuter rOIt3 Rivera rI2ve@r@ Rizzoli rI2zoUli @@ -3537,8 +3586,8 @@ of 0v $u $only ?6 (of which) VvwItS $2 $pause for fO@ $u -(for a) f@@ $nounf -(for an) f@@n $nounf +(for a) f3@ $nounf +(for an) f3@n $nounf (for the) f3D@2 $nounf (for a while) f@@||w'aIl (for one) fO@w0n $2 $atend @@ -3818,8 +3867,8 @@ his hIz $u $nounf $only $strend2 her h3: $u $nounf $only hers h3:z $u $strend2 its Its $u $nounf -our aU@ $u $nounf $only -?3 our aU3 $u $nounf $only +our aU@ $u $nounf $onlys +?3 our aU3 $u $nounf $onlys your jO@ $u $nounf $only ?6 your jU@ $u $nounf $only their De@ $u $nounf $only @@ -3962,35 +4011,4 @@ like laIk $strend2 ?3 virile vIr@L ?3 volatile v0la#t@L -?3 amen ,eIm'En -?3 anti antaI -?3 banana ba#nan@ -?3 beta beIt@ -?3 caffeine $2 -?3 comrade k0mrad -?3 commentary k0m@ntEri -?3 current k'3@nt -?3 depot di:poU -?3 detail $2 -?3 dialog daI|@lO:g -?3 envelope A:nv@loUp -?3 err e@ -?3 fortune fO@tS@n -?3 garage ga#rA:Z -?3 herb 3:b -?3 hurricane h3:@keIn -?3 inquiry Inkw@ri -?3 investigative Inv,EstI2g'eItIv -?3 laboratory labr@tO:ri -?3 launch lA:ntS -?3 lost lOst -?3 multi mVltaI -?3 pasta pA:st@ -?3 patent pat@nt -?3 privacy praIv@si -?3 respite rEspI2t -?3 semi sEmaI -?3 template tEmpl@t -?3 tomato t@meItoU -?3 zebra zi:br@ diff --git a/dictsource/en_rules b/dictsource/en_rules index 38237195..fc0bc044 100644 --- a/dictsource/en_rules +++ b/dictsource/en_rules @@ -60,6 +60,7 @@ a (Cee+ a a (BeCo_ a a (BerA a + a (BeroA# eI a (BerC a a (Bet a @) a (Bia 'eI @@ -448,7 +449,7 @@ @) age (ment I2dZ g) age (ment 'eIdZ m) ag (enta @dZ - agh (_ @ + agh (_ A:g agio (_ 'A:dZIoU t) agi (o eIdZ _) ag (l@ a#g @@ -575,7 +576,6 @@ _) al (y al alz alt|s &) al (_ @L - &) ally (_ @li ?8 &) al (_ a#l @) ally (_S2 %i @@c) ally (_S4 l%i @@ -678,6 +678,7 @@ _n) ame eIm &) am (ent @m amer (ic a#mEr + c) am (ero am c) am (el am am (i_ 'A:m ami (g a#mi: @@ -1265,6 +1266,7 @@ _) be (f bI2 _) beg (AnK b%Ig _) be (gg bE + _) belarus bEl@r'u:s _) be (lC bE _) be (lli bI2 _) be (sC bI2 @@ -1914,6 +1916,7 @@ discr) e (tion E eu ju: ?3 n) eu u: +?3 n) eu (r U@ r) eu (d OI eu (m_ 'i:@ s) eu (m_ 'i@ @@ -2463,6 +2466,7 @@ er (ve 3: s) er (van 3: ery (_ @r%i +?3 @@AC) ery (_ e@ri ery (A 3j _v) ery ErI2 qu) ery i@rI @@ -2731,6 +2735,7 @@ @) guay (_ gwaI gue (_ g gu (e g + _) gu (i g _) g (yn g o) g (y_ g g (ynous_ =dZ @@ -2954,7 +2959,8 @@ &) iary =j@r%I &l) iary =i@r%I _) ian i@n - &) ia (_ =i|@ + &) ia (_N =i|@ + &) ia (_ =i@ @@) ia (_ =i@ @) ian (cy I|@n l) iais I|eIz @@ -3108,7 +3114,7 @@ l) im Im _pr) im (a aIm sh) im (a_ 'i:m - im (age Im + image ImI2dZ l) ime aIm d) ime (ns aImE im (ent+ Im @@ -3378,7 +3384,7 @@ ir (able 'aI3 m) ir (ac Ir sp) iral aI3r@L - @) ir (ation I#r + @) ir (ation @r ir (ate =i@r consp) ira (t Ir@ ire aI3 @@ -3423,6 +3429,8 @@ prAm) is Is b) is (_ Is c) is (_ Is + @@m) is (_ Is + am) is (_S1 z @Cs) is (_ =Is &) is (abl aIz isa (tion aIzeI @@ -3839,6 +3847,7 @@ .group o o 0 + _) o 0 X) o 0# X) o ($w_alt3 %0# _) o'(P2 %oU // prefix @@ -3881,18 +3890,18 @@ o (bic_ 'oU n) o (bil oU _m) o (bil oU - o (bje %0# + o (bje %0 _) o (bl %0# n) o (bl oU o (bliga 0 o (bligato %0# o (blo 0 _r) o (bo oU - _) o (bs %0# - _) obs (er %0#bz + _) o (bs %0 + _) obs (er %0bz obso (l 0bs@ o (bstin 0 - _) o (bt %0# + _) o (bt %0 o (by_ oU f) o (cA oU _l) o (cA oU @@ -3920,7 +3929,6 @@ k) o (dA oU meth) o (d_ @ peri) o (d_ @ - o (da_ oU d) o (dec %oU m) o (del 0 m) o (der 0 @@ -4128,6 +4136,7 @@ @) ome (tre '0mI @) ome (try '0m@ &) omer (_ @m3 + c) omer (_ Vm3 gl) om (er 0m _p) om (e 0m _s) ome Vm @@ -4463,7 +4472,7 @@ c) ou (pl V &) our (_ 3 np) our (_ o@ - &) oured @d + &) oured 3d ev) our (ed aU@ our (n 3: ?5 our (n VR @@ -4680,7 +4689,11 @@ per (cus p3 _) peregrin pEr@grIn per (fec p3 + _) per (iC@@ p,Er + _) perini pErIn'i: per (iph p3r + _) per (isc pEr + _) per (ish pEr perme (a p3:mI per (miss p3 per (mit p3 @@ -5096,7 +5109,6 @@ ?8 ssion (_ =SVn 1_) st (_ _) st (_ s@nt - _) state (@ steIt stein staIn ti) ssue Su: _) s (u s @@ -5253,9 +5265,9 @@ tu (ous tSu: @) tur (A tS@r @) tur (al_ tS=@r - @) tur (y tS@r - @) tur (_ tS3 - ture (_ tS3 + &) tur (y tS@r + &) tur (_ tS3 + &) ture (_ tS3 tz ts tze (_ tsi @@ -5368,7 +5380,7 @@ ?3 n) uclear u:kli@3 ucul VkjUl @) u (da_ 'ju: -?3 @) u (da_ 'u: +?3 @L08) u (da_ 'u: b) u (ddh U u (esq ju: u (ga_ 'u: @@ -5418,7 +5430,7 @@ u (ly u: d) u (ly ju: z) u (l_ 'u: - um (_ @m + &) um (_ @m vol) u (m ju: u (ma_ 'u: h) u (man ju: @@ -5604,7 +5616,7 @@ @) ur (ation jUr ure (_ jU@ ur (ed_ jU@ - g) ured (_ @d + g) ured (_ 3d b) ur (e jU@r g) ure (_ 3 ?3 g) ure (_ j3 @@ -5678,7 +5690,9 @@ _) x (Y z xio (n kS@ xious =kS@s + xas (_ =ks@s xis (_ =ksIs + xus (_ =ks@s xu (a =kSu: lu) x (ur gZ ?3 lu) xu (r gZU@ @@ -5880,6 +5894,7 @@ Eri (A 'i@rI2 Er (ie_ @r Er (ic_ Er + Er (ous_ @r Er (_ 3 ad) Er (_S1 3 ad) Ers (_S2 3z @@ -5987,8 +6002,11 @@ // non-ascii characters with specified pronunciations // List the accented characters in en_list with the $accent attribute + á (X 'A: à a é eI + é (X 'eI + é (CA_ 'eI _) é %I ée i: ê E: diff --git a/dictsource/pt_list b/dictsource/pt_list index 7f079d00..1f39dd99 100644 --- a/dictsource/pt_list +++ b/dictsource/pt_list @@ -493,10 +493,10 @@ era E*& $u1 // .. imperfect eram E*&U~ $u1 fui $u // .. preterite -foste $u +foste fostSy $u1 // & fostes foi $u fomos $u -fostes $u + fora $u // .. pluperfect fômamos $u @@ -723,17 +723,20 @@ cefaleia $alt cerca $alt $verb cerco $alt $verb cesta $alt2 +cesto $alt2 chamego $alt2 chefe $alt chinelo $alt choro $alt2 $noun chupeta $alt2 +clamores $alt2 coco $alt2 cofre $alt coice $alt2 colabore $alt colheste $alt2 colmeia $alt +colore $alt começo $alt2 $noun comodo $alt2 comera $alt2 @@ -784,7 +787,7 @@ discordo $alt dissermos $alt dobro $alt2 $noun doce $alt2 -doutoras $alt2 +doutora $alt2 droga $alt duelo $alt dueto $alt2 @@ -823,6 +826,7 @@ estiverdes $alt estiveres $alt estivermos $alt estrela $alt2 +estremeceste $alt2 estrofe $alt estorno $alt $verb estorvo $alt $verb @@ -854,7 +858,6 @@ fores $alt2 forro $alt $verb fosse $alt2 fossem $alt2 -foste $alt2 frevo $alt2 galera $alt gameta $alt2 @@ -867,6 +870,7 @@ gonorreia $alt gorda $alt2 gota $alt2 gozo $alt $verb +graveto $alt2 grego $alt2 grelha $alt grega $alt2 @@ -914,6 +918,7 @@ morcego $alt2 morda $alt2 moreia $alt mortos $alt +motora $alt2 ?2 mulher mulj'Er ?4 mulher mul^'Er mui mwi @@ -962,6 +967,7 @@ pesquem $alt peso $alt peso $alt2 $noun piloto $alt2 +pintora $alt2 pirueta $alt2 plateia $alt plebeia $alt @@ -1005,6 +1011,8 @@ rocha $alt rock $alt rogas $alt rolo $alt2 $noun +rosna $alt +rumores $alt2 saleta $alt2 sarjeta $alt severa $alt @@ -1016,7 +1024,7 @@ selo $alt $verb selvagem seUv'aZeIN sexteto $alt2 ?1 senhora $alt2 -sesta $alt2 +senhores $alt2 sincera $alt sincero $alt sinopse $alt @@ -1031,12 +1039,14 @@ sogra $alt sopre $alt soprem $alt sopro $alt $verb +soro $alt2 sorvete $alt2 sossego $alt2 $noun souberdes $alt soubermos $alt suborno $alt $verb sufoco $alt2 $noun +sufocos $alt2 sugere $alt sugerem $alt suporto $alt @@ -1059,6 +1069,7 @@ torres $alt2 tortos $alt traqueia $alt travesso $alt2 +tremores $alt2 trevo $alt2 troco $alt2 $noun tropa $alt diff --git a/dictsource/pt_rules b/dictsource/pt_rules index 77d410ca..6cece1b7 100644 --- a/dictsource/pt_rules +++ b/dictsource/pt_rules @@ -21,6 +21,7 @@ .L04 a am e em o ue uem .L05 r ra ram re rem rdes .L06 ra ram ste re rem +.L07 se sem te .group a @@ -366,7 +367,7 @@ _comprom) e (tL03_ e _sol) e (trL03_ E _atr) e (vL03_ e - _escr) e (vL03_ e + scr) e (vL03_ e // e- in- pre- ree- _descr) e (vL03_ e _embel) e (zL04_ E _pr) e (zL04_ E @@ -405,6 +406,26 @@ _reconh) e (çL03_ e _arref) e (çL01_ e _beb) e (ssL02_ e com) e (ssL02_ e + _corr) e (ssL02_ e + _morr) e (sL07_ e + _adoec) e (sL07_ e + _torc) e (sL07_ e + _viv) e (sL07_ e + _eleg) e (sL07_ e + respond) e (sL07_ e // & corres- + entend) e (sL07_ e +compreend) e (sL07_ e +interromp) e (sL07_ e +intromet) e (sL07_ e +_escond) e (sL07_ e + _bat) e (sL07_ e + _sofr) e (sL07_ e + l) e (que_ E + _p) e (quL02_ E + _s) e (quL02_ E + _) e (rguL02_ E + _enx) e (rguL02_ E + _alb) e (rguL02_ E //endsort _exag) e (L05_ E diff --git a/dictsource/vi_rules b/dictsource/vi_rules index bb58847a..6e8db88f 100644 --- a/dictsource/vi_rules +++ b/dictsource/vi_rules @@ -83,12 +83,12 @@ ỵ ỵ _) b _b .group c - c k + c g //k c (_ kh ch c // try [tS;] [tS] [c] .group d - d J // try [z] [J] [dZ] [dZ;] [J^] + d J^ // try [z] [J] [dZ] [dZ;] [J^] .group đ đ d @@ -101,13 +101,13 @@ ỵ ỵ .group g g Q // try [g] [Q] gh Q // or [g] [Q] - g (i D // try [D] [z] [j] [J^] [z;] [J] [dZ] - g (ì D - g (í D - g (ỉ D - g (ĩ D - g (ị D - gi D + g (i J^ // try [D] [z] [j] [J^] [z;] [J] [dZ] + g (ì J^ + g (í J^ + g (ỉ J^ + g (ĩ J^ + g (ị J^ + gi J^ .group h h h @@ -133,7 +133,7 @@ ỵ ỵ ng N ngh N nh n^ - + .group ñ ñ n^ @@ -144,7 +144,7 @@ ỵ ỵ .group q q k q (_ kh - qu kw + qu w //kw .group r r z. // try [z] [z.] [r] [z;] @@ -183,11 +183,11 @@ ỵ ỵ aĩ a:I5 aị a:I6 ay aI - aỳ aI2 + aỳ aI2 aý aI3 aỷ aI4 - aỹ aI5 - aỵ aI6 + aỹ aI5 + aỵ aI6 ao a:U aò a:U2 aó a:U3 @@ -402,64 +402,81 @@ ỵ ỵ //========================= .group o o O - o (A w + oa o@ // modify oa sound example: hoa,khoa // o (A w oi OI oì OI2 oí OI3 oỉ OI4 oĩ OI5 oị OI6 - + ong O# + oe o& // Adding oe sound example: lóe sáng,toét mắt .group ò ò O2 òi OI2 - ò (A w2 + òa o@2 //ò (A w2 + òng O#2 + òe o&2 .group ó ó O3 ói OI3 - ó (A w3 + óa o@3 //ó (A w3 + óng O#3 + óe o&3 .group ỏ ỏ O4 ỏi OI4 - ỏ (A w4 + ỏa o@4 //ỏ (A w4 + ỏng O#4 + ỏe o&4 .group õ õ O5 õi OI5 - õ (A w5 + õa o@5 //õ (A w5 + õng O#5 + õe o&5 .group ọ ọ O6 ọi OI6 - ọ (A w6 + ọa o@6 //ọ (A w6 + ọng O#6 + ọe o&6 //============================= .group ô ô o ôi oI + ông o# // ông sound .group ồ ồ o2 ồi oI2 + ồng o#2 .group ố ố o3 ối oI3 + ống o#3 .group ổ ổ o4 ổi oI4 + ổng o#4 .group ỗ ỗ o5 ỗi oI5 + ỗng o#5 .group ộ ộ o6 ội oI6 + ộng o#6 @@ -525,36 +542,41 @@ ỵ ỵ uổi u@j4 uỗi u@j5 uội u@j6 - + //ung u# .group ù ù u2 ù (A w2 ùi uI2 ùa u@2 + //ùng u#2 .group ú ú u3 ú (A w3 úi uI3 úa u@3 + //úng u#3 .group ủ ủ u4 ủ (A w4 ủi uI4 ủa u@4 + //ủng u#4 .group ũ ũ u5 ũ (A w5 ũi uI5 ũa u@5 + //ũng u#5 .group ụ ụ u6 ụ (A w6 ụi uI6 ụa u@6 + //ụng u#6 //============================= .group ư @@ -696,13 +718,13 @@ ỵ ỵ .group - % f'@2n||tS;'am + % f'@2n||cr'am ! _:c'@3m_|t'a:7n_: ! (\! // : koUl@n D_) h (_DD_ D'@:2 // omit colon in time, eg: 2:30 $ d'o||l'a - != x,o1N_|_b'a2N_ + != x'o#_|_b'a2N_ >= l'@:3n_|h'@:1n_|hw,a6kh_b'a2N <= n^'O4_|h'@:1n_|hw,a6kh_b'a2N diff --git a/phsource/envelopes.png b/phsource/envelopes.png index aa95e8da0714d7689f8c3df3f1df72663a7a77f1..b5bc5213cf8a8d43f9fb66484b6053819a0ab45f 100644 GIT binary patch literal 20195 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�PhQ;4F9>UQT`uM68r==ct=Njd!k?59}fHs5H=Z& zjL_ugeJmy7v}Ye&Cp|ULY%_P@kKC5<4_b_r-+%2d6VCpd`|g16oc0DN-w{}P-pt7g z31GMXoxJeYpwg?&EwLtl)q9ltkD2<3{}DaECSOEEiTl=<{_EeqeY2s?|6G_IPd||1 zT)cE-OK2vZTIaMV;u?+rFUmPtk*w?wBb& z#J>J!ri327^k+G2=1In1i~Wn4Bjz=K{>gC|?u?Wu@d>6O+#`sUJ4Kykj5rSNFY zC8wm6jJi92e?9qGwL?~hmf&bZ!qWv7@^$$cidhg6p-_@DGOE5DZm7D≪M2sK4MzuL{Z{d4r@M-`zuKT-|D`wkiq+3X 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 N`X>!_^0hEQ{|5%BIynFU diff --git a/phsource/ph_english_us b/phsource/ph_english_us index 540afc0e..c15b7ddd 100644 --- a/phsource/ph_english_us +++ b/phsource/ph_english_us @@ -41,14 +41,6 @@ phoneme @2 // Schwa, changes to I before a vowel FMT(vowel/@_low2) endphoneme -phoneme @L - vowel starttype #@ endtype l - ipa əl - unstressed - length 160 - FMT(vwl_en/@L) -endphoneme - phoneme a vowel starttype #e endtype #@ @@ -176,6 +168,7 @@ phoneme 3: vowel starttype #@ endtype #@ length 240 IfNextVowelAppend(r-) + ChangeIfDiminished(3) FMT(vwl_en_us/3_us2) endphoneme @@ -265,7 +258,7 @@ endphoneme phoneme eI vowel starttype #e endtype #i length 230 - FMT(vdiph2/ei_4) + FMT(vdiph/eei_5) endphoneme diff --git a/phsource/ph_pt_brazil b/phsource/ph_pt_brazil index 432b6abe..a6bba543 100644 --- a/phsource/ph_pt_brazil +++ b/phsource/ph_pt_brazil @@ -39,7 +39,6 @@ phoneme &~ vowel starttype #@ endtype #@ ipa ɐU+0303 length 180 -// ChangeIfNotStressed(&) FMT(vnasal/a#_n) endphoneme @@ -225,3 +224,10 @@ phoneme * endphoneme +// TESTING +phoneme &2~ + vowel starttype #@ endtype #@ + ipa ɐU+0303 + length 200 + FMT(vnasal/W_n) +endphoneme diff --git a/phsource/ph_vietnam b/phsource/ph_vietnam new file mode 100644 index 00000000..eef7563f --- /dev/null +++ b/phsource/ph_vietnam @@ -0,0 +1,412 @@ + +//==================================================== +// Vietnamese Phonemes +//==================================================== + + +phoneme 1 // ngang tone: level + stress + Tone(28, 32, envelope/p_level, NULL) +endphoneme + + +phoneme 2 // huyền tone: low falling + stress + Tone(20, 8, envelope/p_fall, NULL) //20 +endphoneme + + +phoneme 3 // sắc Tone(rising + stress + Tone(25, 50, envelope/p_rise, NULL) // 25 +endphoneme + + +phoneme 4 // hỏi Tone(curve (dipping rising) + stress + Tone(30, 5, envelope/p_fallrise, NULL) +endphoneme + + +phoneme 5 // ngã tone: broken (creaking rising) + stress + Tone(28,58, envelope/p_214, envelope/vi_5amp) // 28,58 +endphoneme + + +phoneme 6 // nặng Tone(drop (constricted) + stress + //length 150 // ignore because it make too short sound 75 // reduce the length of the vowel + Tone(40, 20, envelope/p_512, envelope/vi_6amp) +endphoneme + + +phoneme 7 // Tone(1 (ngang) at end of clause + stress + Tone(40, 20, envelope/p_fall, NULL) +endphoneme + + + +// Vowels +//======= + + +phoneme a + vowel starttype #@ endtype #@ + length 120 + FMT(vowel/a_6) //a_4) +endphoneme + +phoneme a: + vowel starttype #a endtype #a + length 200 //280 + FMT(vietnam/a) //FMT(vowel/a_6) +endphoneme + + +phoneme E + vowel starttype #e endtype #e + length 200 + FMT(vowel/ee_3) +endphoneme + +phoneme e + vowel starttype #e endtype #e + length 200 + FMT(vowel/e) +endphoneme + + +phoneme i + vowel starttype #i endtype #i + length 190 + IfNextVowelAppend(;) + IF prevPhW(w) THEN + VowelStart(w/wi) + ENDIF + FMT(vowel/i_4) +endphoneme + + +phoneme O + vowel starttype #o endtype #o + IF nextPh(kh) THEN + length 95 + ELSE + length 200 + ENDIF + FMT(vowel/aa_4) +endphoneme + +phoneme o + vowel starttype #o endtype #o + IF nextPh(kh) THEN + length 95 + ELSE + length 200 + ENDIF + FMT(vowel/o_2) +endphoneme + + +phoneme u + vowel starttype #u endtype #u + IF nextPh(kh) OR nextPh(N) THEN // hear as ung sound + length 120 + ELSE + length 200 + ENDIF + FMT(vnasal/u_n) //vowel/u_7) +endphoneme + +phoneme y + vowel starttype #u endtype #u + IF nextPh(kh) OR nextPh(N) THEN + length 120 + ELSE + length 200 + ENDIF + FMT(vowel/u#_5) +endphoneme + + + +phoneme @ + vowel starttype #@ endtype #a + IF nextPh(kh) OR nextPh(N) THEN + length 120 + ELSE + length 170 + ENDIF + FMT(vowel/V) //vowel/@_2) +endphoneme + + +phoneme @: + vowel starttype #@ endtype #@ + length 280 + FMT(vowel/@_2) +endphoneme + + + +// Diphthongs +//=========== + +phoneme aI + vowel starttype #a endtype #i + length 200 //250 + FMT(vdiph/&y) +endphoneme + + +phoneme a:I + vowel starttype #a endtype #i + length 200 //250 + FMT(vdiph/ai) +endphoneme + + +phoneme @I + vowel starttype #@ endtype #i + length 200 //250 + FMT(vdiph/@i) +endphoneme + + +phoneme @:I + vowel starttype #@ endtype #i + length 200 //250 + FMT(vdiph/@i) +endphoneme + + +phoneme eI + vowel starttype #e endtype #i + length 200 + FMT(vdiph/ei) +endphoneme + + +phoneme EI + vowel starttype #e endtype #i + length 200 + FMT(vdiph/eei) +endphoneme + + +phoneme OI + vowel starttype #o endtype #i + length 200 + FMT(vdiph/0i) +endphoneme + + +phoneme oI + vowel starttype #o endtype #i + length 200 + FMT(vdiph/oi) +endphoneme + + +phoneme uI + vowel starttype #u endtype #i + length 200 + FMT(vdiph/ui) +endphoneme + +phoneme yI + vowel starttype #u endtype #i + length 200 + FMT(vdiph/u-i) +endphoneme + + + + +phoneme aU + vowel starttype #a endtype #u + length 210 + FMT(vdiph/aau_4) +endphoneme + + +phoneme a:U + vowel starttype #a endtype #u + length 230 //270 + FMT(vdiph/au) +endphoneme + + +phoneme eU + vowel starttype #e endtype #u + length 200 + FMT(vdiph/eu) +endphoneme + + +phoneme EU + vowel starttype #e endtype #u + length 200 + FMT(vdiph/eeu) +endphoneme + +phoneme iU + vowel starttype #i endtype #u + length 200 + FMT(vdiph2/iu) +endphoneme + +phoneme @U + vowel starttype #@ endtype #u + length 200 + FMT(vdiph/@u_3) +endphoneme + +phoneme @:U + vowel starttype #@ endtype #u + length 270 + FMT(vdiph/@u) +endphoneme + + + +phoneme i@ + vowel starttype #i endtype #@ + length 240 + FMT(vdiph2/ii@_3) +endphoneme + +phoneme y@ + vowel starttype #i endtype #@ + length 200 + FMT(vdiph2/y-y#) +endphoneme + +phoneme u@ + vowel starttype #u endtype #@ + length 200 + FMT(vdiph2/uu@) +endphoneme + +// Addition Dipthongs + +phoneme o# // ông + vowel starttype #o endtype #o + length 200 + FMT(vnasal/a#u_n) +endphoneme + +phoneme O# // ong + vowel starttype #o endtype #o + length 200 + FMT(vnasal/&u_n) +endphoneme + + +phoneme o@ + vowel starttype #o endtype #o + length 160 + FMT(vdiph2/oa) +endphoneme + +phoneme o& + vowel starttype #o endtype #o + length 160 + FMT(vietnam/oe) +endphoneme + +phoneme kh + vls vel frc + lengthmod 3 + Vowelin f1=0 f2=2300 200 400 f3=200 80 + Vowelout f1=0 f2=2300 300 400 f3=200 80 rms=20 + WAV(vietnam/_c,5) //ufric/x, 50) +endphoneme + + +phoneme l + liquid + lengthmod 7 + //IF nextPh(isNotVowel) THEN + // ChangePhoneme(l/2) + //ENDIF + + //CALL vowelstart_l + + FMT(l/l_vi) +endphoneme + +phoneme t + vls alv stop + //voicingswitch d + lengthmod 2 + Vowelin f1=0 f2=1700 -300 300 f3=-100 80 + Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20 + + WAV(vietnam/th, 50) +endphoneme + +phoneme cr + vls pla afr sibilant + //voicingswitch dZ + lengthmod 2 + Vowelin f1=0 f2=2300 200 400 f3=-100 80 + + + WAV(vietnam/tr,10) +endphoneme + +phoneme d + vcd alv stop + lengthmod 5 + + Vowelin f1=1 f2=1700 -300 300 f3=-100 80 + Vowelout f1=2 f2=1700 -300 300 f3=-100 80 brk +WAV(vietnam/dd) + endphoneme + + phoneme c + vls pal stop palatal + //voicingswitch J + lengthmod 2 + length 75 + Vowelin f1=0 f2=2700 400 600 f3=300 80 rate len=70 + Vowelout f1=1 f2=2700 400 600 f3=200 70 len=50 colr=1 + + + WAV(vietnam/ch,5) +endphoneme + + +phoneme p + vls blb stop + lengthmod 2 + Vowelin f1=0 f2=1000 -50 -100 f3=-200 80 amp=11 + Vowelout f1=0 f2=1000 -500 -350 f3=-300 80 rms=22 + + WAV(ustop/p_unasp_,10) + +endphoneme + +phoneme n + vcd alv nasal + Vowelin f1=0 f2=1000 -50 -100 f3=-200 80 amp=11 + Vowelout f1=2 f2=1700 -300 250 f3=-100 80 rms=20 brk + lengthmod 4 +FMT(n/n#_) +endphoneme + +phoneme t[ // dental variant of /t/ + vls dnt stop + voicingswitch d[ + lengthmod 2 + Vowelin f1=1 f2=1500 -250 250 f3=-100 80 amp=16 + Vowelout f1=0 f2=1500 -300 250 f3=-100 80 rms=20 + + IF nextPh(isPause2) THEN + WAV(ustop/t_unasp2, 5) + ENDIF + WAV(ustop/t_hi, 70) +endphoneme diff --git a/phsource/phonemes b/phsource/phonemes index 10c1ae5c..b83cf47b 100644 --- a/phsource/phonemes +++ b/phsource/phonemes @@ -1812,7 +1812,7 @@ phonemetable is base include ph_icelandic phonemetable vi base -include ph_vi +include ph_vietnam phonemetable zhy base include ph_zh_yue diff --git a/phsource/vdiph/eei_5 b/phsource/vdiph/eei_5 new file mode 100644 index 0000000000000000000000000000000000000000..50214664c19e828117aee8c988375f4e25eea77c GIT binary patch literal 9899 zcmd6t3v3(K2* z|JK@dmb1wA+e7w6yVDNXxb5N-f7SlN{>%>A7MsL+KlWWVX4f({+k|bmy|$ZcUAD@W z+X}X&w#XJ(oi$o5M{RXBpH0VF#=QJiZBa)nt9K8rnnxXM2jd;V-q+OnZ8ZE0)qmZay? zmX1|P%m3#2D{Z5#!Q0o^_v~BtP5k_M+lS9@#@pZFxXW!v>~5}Xv=LherEc4V_jlR# zw$=J=B_3?F2E1IyUPIojgT!KNO?bD?%B|8W*jF*K?B(lf3z^kAA|aMahAg@Net6?YfRuUXHNx-%3=bw5ZKN87Zdnfbk>3;CU8*+ftOMQI`4d>fyS$F~f83tH zUCKMJ2($>VHlc$C3-GHVj7A+SL_~2%Z+{h@)~w2%iJRx8*j2|B>7>$fe?0cHdz|N^ z@SQ0)fyhxmVOFq>^WX9jUY9;D6O5K*g6Z?f1fxZnz^uN0v?LR}Qj!Vohi@`BoPQ=* z4TT=}ZXdP3hQlOU*h)6ri~k?AM|j^iq6TsJGHQs3TSJWXScg%@Wmr1M272EcT>M|; z=JI|Weh!_-Yw)n>DDuz4T7jo4^6!3)yK^De=5ue2qg2T~xj(-9=$+2%vCs1mIK(#T z;o7+i&oldBksj_t4-Y5wVAh8o{-#I|x0dMPos=HP?{l z-T5~P-<_Uwbbb=s#37DL6I3WC%bw1}+2I~Ij0evqDkJ6R*NQ5m*Gf1%UhCt0oUy-H zpSH|g(ENM}v1N$3w28QLkQ!(YF@J0DAZms^3ao^Z;?{Ci22Hs9+;^kJ&9~ zWduD85|@^-Ew*MxlgkK=Xk#I7x-_D9y_Pq<-W|1ovw(GFP9M;0&hO!e04tKyI3LZ{yn1RC!MI26)aJZ|4!>SSv(-)M( zDyq!2#QYIB>?H&2g24zeXB;ozYTvd;?M7w?>?`&)_SbReW}?zC`%UDO?c|5e#I@Dr z=q32P2@ftNGATNVzyi(}5Q{4D{5)o|YE$K^Ax;hXd*?F~mufeNOdmb-);~MXN8!It z%^}E7V%t_MF^M)voDN=^Bhi_?6%swcp*a$r*-WL`vk4NN*(Xa#jHXC*X5UOjrq1kC zibQAjlSHO=GHoyK^^kpmH-8@_wh(bgsD_5g(%&S1-$~Zk$@r>GQO6FWhfzmjn0t5g z%yw9;u{LTZ`MDndH$r5w+r($7%i>bXB6qfgqpmhN^(@TqWm^OtvCvk*mEyEA0`v97-5VuyAeve zZ3pBA$lS~EYc2lt9h)+^s#ke=DWjl~CM+6$D=^bh)I>;6YLl*VAH8vIWuC^braX=) zd@0W*3JbPvSZ>T)%|0-z`hD9?IRayJEvW*;ag|*_r8it~d=iogq-^;hYhrQZtLJ3bR>rK1J9D!~f3V15h{9JRH%aVb z+b*mznKwB*n|VBuPs$)OQ$*$&$h<&?ImW#jRKKZwVpf_@(tSAhTu?I0QO6Me{|Y?1 zpwa`Am39&1Qf8N+0##IBBYtg#gjTC=hD4uJ%zB>P4AniZ78`?;D&IzzqookN@7mP$ zNfC-nb&L>NQi+sMP=xQw#nG=6s#g>p->>Uwt$5{TA8o(e`7R27>W;}>Y*QwQ>Ab<& z+03y7o%hK9uV=~=y7@VDUJH5>blxnX(^I0GPn%9FJO-iju(iPCVrX=5yo8SX5?2RY z%GG}Audn0#3G}kl?jhgoPs}KLDBt{J3ZI{Llf*8z-Ga5isVn;eXJ<0| z5}f`XPEQwcTF9S$o7ydoa~&m|_LV3p&8aJUVL5dWy>jSa5*8gOsU2FYtc`6cv|2b@ zhP|7Pagx42qQe~m2@{87kDa1_N=XUa?>CWT6EK2J$wx!Iq*`l90#lZkP~wqjaOJ6dZKw2naQ zFr7;Ld&&W5eMk)+E9+1Rt)nH%`m|{^Kr%n7Fb(dO^(XT1Kp78n!@pq-Osn%8m)Fxv3rA7Hl z1hvvEeu|1BqoZp0ETlt7E05)7e?H**(dbX+I%{6>JBvh?xKPq(#}Mg7*@% z4rZ+G_99x3WT$Fs_;om@b*$Qo`ct#JYNt}G`&J)iXZSmDPHStKN_3<8@3Vf8vUIFU zcC7vRPx*1b{IHc<6l44GcoY$oyzQDdxz z*9!j1I&3-SZCqXHa#lTmQFWRkqF*ml*3z$#g%y8gAWuQDP?6BbLjN0?2*nXne7(ZN zP8Emh3)UEBfAgOU-8YQFXQ$@AYJL*iZp9Ku!zVeL$y{Dc%!-LUh`vq*<;BEO6-KGP zp81q}r&bh`qr&dP)2c4C65w@FjW?<|S4|M2yTx$nAtFZHJIIL0QrjV&Bj@!|FRpRS z2DsKml)TLSil60aMZ^&DIx3HeSAm6BjaQdgNnfJof4vl6ZY13!H z-0Zuryy6H&;g4qAB(aNa2eB5IHH2wqD|%2_5wpHQF?%eay5~uak?p9gh*@V}I)km- z^m2+>*OloEw!CD`bbfgLt8^>yvDTrl!lR3wM||(2H&`92R(KlRnoSFO8stuCtQXQ( zQ*Vq@eXPaO4YwXL*eG|bhgm} zrN@ghSV!}{t;q~#R@YFR(+2aO`Qvh0JO0=2a9hY{{uei2Gx+~UMk_&@d4@i>DN6RB zF;yA^M8#1?KWde}uEwfg^!m6a1+Kxm!sSP;F6q}GtuUzAN&lh-J+Ey&@&`$*Q@A=2}ZskM<}1$ai-D literal 0 HcmV?d00001 diff --git a/phsource/vietnam/_c.wav b/phsource/vietnam/_c.wav new file mode 100644 index 0000000000000000000000000000000000000000..a4c52741c2df01b51c5bf0021297bff4e9331f2c GIT binary patch literal 954 zcmWNMdrZ}37=YjR`@Y|~a1PgikeFa|4x9`zps01SlZup=XmV*Kfr=AN=g<(#Y=>Ma z2XGS8;FLCEGZ&@itbjB&Ggw=hIdfQanLrV8Ih+gU^83EGv**v}`R93|c+HwGI6(Q+ zWvjRE-k%W%02txnGJsV*01V<_TlN0x)=1;?Z1!xQzo8%1v-M1D5@T>$y~i?)OH7G| zjmqpkH{LKIwc5l)@e7|a+tPl`JC~La<&J(Js*nces_r*?7U;>I;}aJqGiTnPdT4eq zyjy%Lmf?`{Q-gAba>DJb!|I4liO#eXn${Uk87;;kaZTG~c!`}=Kj>!zM}5aa{kWGe zGh|t%g&R{%c0-%L`QPq|_L*Y0d#>4!!EAYwZ`5@0p>-trz=N#`1+gx3A&Y~*<&(ao zS>dmdmGYo|jqbvTvO^4?p!LDp;P=>L9MWwRmnKs`w z|73bqyu(`f88(O?h!$~E{uQi~ZWzW~t;<{zb;Uexy3Gy;$Gkz`BEQ|+;l1pS53CHG zm-)0DE{Te$dh1f_R8DP_As026ak4r|OkSmdf=o$+GxT_)K3SOQ0Eois%ho z3wvk>K82ks2w*HT5G8m{E9flen&e?#WN7c%d`Pu z;;H;3FGYuXQ+2Bx{mW3UY^Nq#NPDOb8n7Mn*&jSZT;+R3g&1Z9SVS%vuX@$2a=;*@ zQ5BV93yy*gucH^QVly6L|6vv7Q7O#R=d>1jBknT9Lk&3bVo0fJf*xd5B8bMYyS^VF2rCmM-Bv zs6ZRfWciQ`4j2X}j1f^k{EU;VpY`C6=w#Kbfc3FEEQt-lViGh%ZB#^^^aM>2ur_>) z9MlE(pbOGrHGGXb*jDTY4Uge>cpiN?%{KFI_+lY(9Z71#KVcOdhD7kuWAJF?b2ILNp)wH21cBi+i(_yII^jAR>OQ3NWG9qGMbRU(@8I}58SICf-sll znp5yeJOk!^8#p#eFqNVdJRh#=2OJeaxr(kL5p>lLK^UX&lmE`~F$#a7n48FtNc&<4++q0vuulPezq|IH~dWjUbd>h z@xfIg^Fk{_$Az8=v4o5Z9uk}!k{@W$)#|4uyKsby!W^Ml0m z35D&$<1e?m+w63>DJa};wbyu$iSCK+749QFvOJ5u&Uicc_VcUo=eBWyw}O&G)`xx> zRuXQCz!B-;(P2|VdIfzK5a(Cy%{^DT^>B%C?&G-KzOP+RYndh9VzS&fpEZ}7yO@ue zyi8q;sfL02IBkd8Qk7IebyDNh9QC-Gpxx1S>+1}wjjK(?=0%nqYm%L-{aO224qlEM z98FG%PTiawoJt&jav%=(?T%SXER)RHrjLyF#+`;KhMtB9gJ}3#&(~x08`>PrQ`@RG zRktbON+lo1NAiz(q;g(aruNf(^dI#thEc{~(^b=abFgKXCCa+kdfNKP`pkOU`l&U` z>SWzwX=d4Kb~cYS?Kb{wU}? z)SU%0U#78JbQjH|Z&Gh6(7SStOsEHqrG4peI+_jzelzMsF?}fiA=}edbR^wCZ&5#% z#tPYfR>K1Mcz&MuRK8boR8?D|5j{npr!Uhd>uvP!v~=x)8n2criju?Y*b??SGqd~j zHoZJF@=zYa-8tr`!AdMUM+edia)P{BGD;K0 z-^da&h@_CgWDJ=^rjjXSA{hys9;7{qCV|9*I1vZp2uByAKd>x<0 zhwvx31kc0+aWt0kMRXW_hwN|?W=|g&x?xZ7$1+8JkAM`pB6H$mv zL?D@{#0)mvh!^pO;Q`hhfuj%%c7DY-@CAGvAHciu|KQDd1745U;kEd~KWQyo*KBAS%TvMVFb4k;6)?C?2*z0Kp3Y|RD_p-uKB_)J{}Mz*ZdcrbTA|U!U+0boO+{s z4RP#cPCE5;6~vbjCQp79VRBzVnCR!;3&MXvnBcv^#*l6yO+%&zTZ5czX8$w3lHWjo zciWc0%RzgBb3+D)mW9oU@O>>iI;mx5n~`lBdprAv`={D+ zgQkac4BH=mE@FJ->_{AWJG^a}E#%Wc$ADqJN4@%cM7s@fx#hgesmk$zL!?8x{am|3 z>ugK9xwXmO_=m3P{WL`j)Anl>`cZ>oN;Q9O@wZ!HZ*+)kF!LYA9}S1~Vl6{$t{C`l^n3XNV9Y0E6RyHbNGox-=qRN~Go@8h znN%t*2h#A@-1cvh?w7l`e}JLDsBkaQK1^s&@QJ|;J(@6qEF zF&o5sFV>&+VI5fr6WO=)ecF$@fwgUNzC2t`mSg2W*)0DqU6j6%Dx?yiP0}IhmZZzg zFpgiSeJcXP13AT)-vv}su?3m0R(Vu8Ft)wM%675cXX|23ho-KEjWw}xs zDLF}d#i61>JV54=VWby%lXL+rc%8(MC=x)L0E#@r_wa3e1)srRjA;({MJW`U=7v=Dl7)n8k+Fe}FJ^#8(lf=>OC(OT~X) z!+hdt_2S+(pL;&o*TpBvtE0zAcfqr}&r|>SperFK!U7}o$dbs1k)Ba<)S}4ph_>M) zLR$pywAK1O@UHTh={nT;e;q39Ub9lm_omIp5r&p}6hzWBWvMb+Nl{uUSXsv%`EYgy zvfBz)!{1ezo@cme3^MnyylowAH^@HP;i^M#$K{Ue9p^eG0+uXt@O0Q{-_(A;T_3wT zYnio=)o49v$+9?FwwpVe&zpvs?i*(sEygu~50!d%{f<_m4b>90uG(mAize$6^vC*A zLmOkQahqwh+23-^l47m2)>`YV$E_2rb(VC?0kfNVvgwv_i1Am$LPJZ#ulg2!lpdki zXxp^0T1$;cd#=3)e9Qjbb zlVhcwGFjQFJXX4?J5-ytMziYK`XRkm$A(|@-TH8y=|!4@R-{_hVkJts!awAbKym<2 zgX0K3mgn$yfioWF19)fNoO^JY-({ECx2&4oVw6YmbiSH@!;uo8#4Fu^+A2W`SFZEj zypU({zPuan4%#O0MSKI_#rN^g_(yyJf1Ag1Ctkyjvya(wHl2-T16dMl&swk`)`T&3 zk6wfd=mR

WbHCIQ4`I$DUfKN}tHr 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 TA|p&8F+9m+*5uX293}n_5c@dh literal 0 HcmV?d00001 diff --git a/phsource/vietnam/dd.wav b/phsource/vietnam/dd.wav new file mode 100644 index 0000000000000000000000000000000000000000..b139bce6fd1a8f55e3f22a3c45d5bfbf443c47e8 GIT binary patch literal 2924 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 D5x30G literal 0 HcmV?d00001 diff --git a/phsource/vietnam/kh.wav b/phsource/vietnam/kh.wav new file mode 100644 index 0000000000000000000000000000000000000000..aa3b2b1d974433df5b72fb2cc3770069d1bcc78a GIT binary patch literal 2774 zcmWNTd3es(631ue{N6XDmY_vTRh8;vsg|bEmNXQxN8AugZqQ3;BbJ*ek;+YCsVyp& zqN>&4#=Zo()G6h-p>&dl83bN-v>EHiWF`D-&T3G^6=YPv_E8+N;Z;68^$% zBnB7b0{z{_*)T28d~To#SQp#i7x)*9#X%Sf2jFF3`#dK?b?So6bUFVam9PosKs%@d zGa(#`kM$Z>!5%VBV)2~0VUoeev!pFH)D3R9jnJmJ2d7e3)0{@YJxHSm!0wTX z@8x~tgF^SNv~doaZ*?grXfN79!=bjIRE82fhufgHM!-hX%M^2dV3hUC*D^zXw8r+< zdnU)Z4|k;qe{j~AOZwCvkpMlxGcp18KoZC4^X3qwb2l4o2Wu!ku9)uF7mRjuTL(6~b9g@lQ4#c_@0{_pS~7XL)}?5u%JH%UqbUX_ z=w#WcKf#-5@TlD2bm)Z1Iz#r$APjZ}!k2Cw-_o19TJPCK?tWP0Jf^dlj1yog)bVV+ z<%+J-yYP1`kuXk_o;cK`Vup;D{rVCX!zq5uXQ2Qd(0>0?e3eVhE#D%ZRer1dyv?Eq za`kCmV5AxEvrZ(Pl~OYP18|nx%OG38soLD_>F%Q;zIf^ZlXMzslThIH3Ue9x=vC^;iJP+wbkDjJ77w31xqS1{67 zWLUf7pOow=V5+BqLXE-Kw1BJYzx0Tgq1$}jz5!{bf%y#PYjxT{3#8PJ)CBD)0X1-i zJvEU_cXSUAgaf7)7T9XC4&S4>8fshfZ7jprxu&hI$FZ-8pdwAyG&qT|rXIe-*&6Ds zqwV~Odzi~;g-PYqif;C67()zGxCY;VyGAKS|0Yr9yuXGSptE&@=0j!br#0+6ceA@y zEUw{c6`)m|e|viTKwE2jr^t6sSJ^clJ8C=m{x2cReO)&=$-bX7s(fHY6&y-+?WT$h zZR(%opGKeQZEmC^%pD4~6Ds;~9ZGT5VhVo+9eoR_gGTED3DXj|%u55k-I^Y=9A_~4 zbSe#TCeux5CrP%d)YBx*g707|h585h#!&>0l>6KXzvos@gUiqIM!gDsAY3lPVrR3n z-kC=ySmYH`4M+22-YVIcZF1Cg8|WiCL?6O?+{IqxNG;LzS}GH?6YVf{X_t1@qd3f& zMK4G*&e7HIvhK1$cDJ~A9aB7Q_kkEar5io2Rn{UYgfP<*r*So{Nx^trCUFK^T?|L$ zYiL2I)rZT>uW(kEk&mu<)L(21rM^?Dk?uMHx$Axc9bu)d3-=+HpWx3lMo{Rz&NbtDQ+7) zrwOo3n+W4x8qS+-Ky!4umx(_$kJdsFPl3Z!0udgMdSY+51JmFeXbW%1^HN2tNfDox zc92M)V}BM7rh716+QLip6tm$&9&ICVmQxBJ+lO4wlsM1fcAgBzdsg?<&w&aJ8WE!-#Ty?s4Zw{Vz9w3T%f% z@B-e@A$ouYo0{5>FX}IFSV}D0Lz<0!bT*giJe;l(0`Mzl<8l~@v2-2^bS9*0PtKKd z-v552Z+o7O#fe_*(|N88fL|a@I`apRj)$d*6i7Cw>nhXPOvZ=aOS|zh9zvC^_J6jk z__U?u+f2PaH_D^n1LsxkXB)@^eZ{1jGS0NS zu)4FC`rw~>9iHJnnZr$S3)JR%ypwCoOlStZc%0radFDP8!|yc2CUjt0QfizKm6R$sWEssZcWTJ(m?C-SjCDL*2u46S7HtQ%iA@HfhdS`OA93^@h3i;K~3l<`3}zHIghh6D#~T%y^Ic zN1-k@=Bz-Tt)s=-0h()7?jpnJigVuUGU?KWru!`Ju%Fv)x)alMuiK6zC35 nf1-^mZ-(819=I(ZEO`<~U&5&Js6Yn3;~ey+uDSA0Ug-Zny0=ut literal 0 HcmV?d00001 diff --git a/phsource/vietnam/n.wav b/phsource/vietnam/n.wav new file mode 100644 index 0000000000000000000000000000000000000000..46aeaa1fc4f13c50f1668d14e589719fd57799a0 GIT binary patch literal 4288 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 Hc1-y{_-|_< literal 0 HcmV?d00001 diff --git a/phsource/vietnam/nh.wav b/phsource/vietnam/nh.wav new file mode 100644 index 0000000000000000000000000000000000000000..13f4f0d84d20bcefbff88958c20826cb0fa9f988 GIT binary patch literal 3834 zcmWMod0Z9M7eD9D%$xTf@IVlL;+lJInTDDoF1e(Vsida3ph-rcl_~DHo4AFkxbJK3 z7A}b5USTSNgsEwgD~bXFZ<*!Z^PA88cka1!zS}u5eS7z=Z~=VYeQ2-o6Q{fr1ORBA z215aQ9tL0#1o301jLo&a86dWc>F_1Yft6CZl#S7h<3=ikx2zp|!mdi|@C4MtyW(4Z zO|+p0RD$POB>M+C&`NQg|7S*uDk`EdjF2jE87cIo*vq%_FGK`3l(yn<)L1h9AsUJU zyrswlnJs07l8;@1iBLf6L|sa<&N_^i9S$e>a&P?U-qRzFLi9nMD;S3^CBr5K8Y zPVkaG#!YM~)_`C*N#!DuPQx$^LIqc#KPJ;R^c8e~F7Oe?VKy9r5wMEpQ9da!3ogT6 zI0$t>r7Uq(M2Je>TI>*Bx`1iych*F98?IVM*N!DT^t}c1wjIKVJ)Dcm@USMRK8lAgSXg%U9|o_1wVwwqCUUJyTj+K zGc)lR`x~#2gPw>x;ubZBVycZn>=us3tJKTl=OK-x`*4TNWfyQ8x*-Ib&=}zr;m{Hr zu|?>DU#KP36%)i5dPKilo#sIZy0C~6D4xbr1pEv2aJ6+)hBJ^1!^BeYlr&MB&S5P! z5$tfEnh;QTY6{=sZ`cR_hHK!put8`E+u(%N%~9L{9bpyRqeNOmbtr;bL1(BAo53H7 zMW!(MK64+Bf<+k1j!7V=vmy&~qG{9?zGdU2D!d8b;$ECj@A8X0g9J5!M|hu2#v@j( z*Wv@=5Ua&pN{5-~#pcN9Fu%nw@O^w4)ny}CPuyW~zM1ON7BN@srk}8y6e_*KMpz%e zg^{$3hQm;}OHq)5*Kr{9rma+idWzMQXz6u31mhTN32(&vR1cm~EbW0>(rW1w{Fo-v zTdQiJrMY|7IR%5@v8CR8QG+&-A*N6&9>her1o<$P##^_G$p-Q81$4ne91U&}M#*%C zJT%Edqy~GAfiM_W<677+UW%KLikUFe>U;wJN`cf98bN`WL6sJ!#k8Gf(Q;ZPdhyMo zBWx6cH^MOK39BisU_W6bs_-u%>&O!E32Vw!+Cw|w8ZR@P~p%jAdqp#w`|VekI{jyUBGTv!3mrcU#w)l0zqa_;C49VyHo)gZkSDEVH>fXNwwO<+=^_#?usV2# z!q{2tC#H%IADW@siingAL47w=V3fthcnUv_|e$H6Qm-g4D&ZLFuM)7j(5L zYO1D4k84FI?1=ve;@m zp${-R;BD4NY30}0mZa79wlVW)oP1g-#`e&YW^*0x$crCJGIo~6;V8D#9HQ;ujo2)yuGHV!5_GV0 zKQ2TvZ!6N7Q~D8Gvrs%i?}*vHSnZ;0S2pP9sg)y*qO~uuuW#~;1HR(0sL-`iCkVq! z+7FeP+FM6b&`RaLrQ(5BdQ{l|lq-C;O4!5}-{nhHGyJBJ00bVL+ zsZE`K*%M%bfv}t{HfQ>J@ab$58>U=zcCk&-fADTF3iQ!hG)1UG)CEw$`>`vmyHVSl zVO)Yxj9_8vSTz%V;~$7L-*NX3VyoN&V_>B$*%C2HtMFFw9X!MsB#-f{t{@vAGuq($ zS&QO>F+grD$JvB!0p8&gd8AR#_(o))(>72Y$Y#@zlxjxlON=f&geG8DWtX}cvyIK- zj1lZHsE4f$e@1uJ{&dus#!KGJD9N_93C?xYc162N%PGt-QEdPgc!+S}ULIym36x8q+|ZK&L-?UYtK|-Fx7}qWJk3lt z_xKWggYc~FFe`v!>6+A*3bb#0N#;ZGD-2Q(+MhC;yjC8ixA8WyW`7#&ms%;`DU$TY zOb~Hwpz+wVlP57DuTz|G2j(!%^U$5kGQ~~po^6e-mw2fZL5qqivx9ut_X*vxO*3xD z>8|E)UOyOtCqr+m#mc$B64whzdK3P7od~jj6_60#Eht}GWA2gryYIbN`!+`!=9g%n z<<~Uin$q~yhG)avgLIb`uha^j=l>a`@@U@KlT)Tu+%)#HZ1t||LU48ab@!yVC`8`mvqTO?!wkhNg(7`lPBDZwmCV9g%~i zA!?$ngJJXhsz;cS{IYbz%A;VlnVbuKsF`uq_dV~5>#?2ki#FI?}&x0tuIgZR|BR(jusb?Se6S?_Ycmm`XM zm#nYKR|-SwRrdsF>QiG=$)Ts8mOQp{k-5y8u{Dd;Shu76b=jn{A>JCc#DItXf4XY9 zZnEm$^vZ>mpL$}&$Mz1@QbQ!?RC;XY`x;dq@Q#F*(n`gvHnh-biARhHo;dG#eLru* zO66#I0DD1`%}k$5OBSKHlW#IxVH0_hwVNej6vdcr^ht)!+fWQkw>3~+(q=l!7D0h_ z#^)A$SQAOH4|c9&5qt%`;AvX2d4^3<2Fr(WB3md2P^ov3m5k+rtSuyx4QD7`XnlDW zkJGZbQ(7u~qLy+G1{z<9`fwMr=$*=DWe%w#;I{IKvohqFJw&*lxu5R`_D+S7|+aAa#?rGe?@sp;?LHfAU+S#u7bbVp zPkY0>`>Wb(c~Xe;f%B;SBAaBc@crVh=W!V~;kw#A;2*~!)`^Ps_TE2qC%plG+n@Hu G%Krht3Kwet literal 0 HcmV?d00001 diff --git a/phsource/vietnam/nn b/phsource/vietnam/nn new file mode 100644 index 0000000000000000000000000000000000000000..0e21b1f8f74e47c0bcc6d3728a35090491092ba5 GIT binary patch literal 4516 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 literal 0 HcmV?d00001 diff --git a/phsource/vietnam/oe b/phsource/vietnam/oe new file mode 100644 index 0000000000000000000000000000000000000000..887b009ceb9ea00ef70618c55d7c251a6e54b7fa GIT binary patch literal 1986 zcmcgtOKTHR6#g>Fq?7lfX`9C+O`D`fO`F<+m5OFi6dx^ETOkT6D8*VVwJM?@nw?!( zMBTZlf)8{df)olOGWrW#`|M9};X=iQ-@R#*NnKXW;m*1Dn|sepzVDnfqX%~F92*_! zQvghlt2jb${Tb>Pqq;U63(Gg^*btFD%P8;!(B_qS}8rB8VaZo$C(tW0-q3V-h3C(K?Ch$fAqB1#twp zvl%{mKZ4Riyf!mVh-i?gpWX*IcLW$W#gl0c9ql}wq$SYGXSVQO1f}n{%vt%ChWa^O zeO*JX@&?qgAt*Rr`!@qN_`;5|MTdE%(%h%KtLb3Jq7%^trEJmRm#Y$P9VhV;uQ7%mWXQTsKEjff7

PI`m;bcMf12hma>C z)Y7pL1+o`JjO!Tr^g=}wO@oJw`?&Vdyl}!r)XAB^Lex1YBXm$tp{R(Kq7pHwP#mQn zw|AS8Uqk&=krT3izdGS;1rzn~?{z5tp+iyo+d7mnjkmZ;ju)uJ82Rp!9Et1}Ec&TP z8?`B5FJ`F2862c4S;=0KI;@vDALJe{hl6apX&Uu#$@5}u=UnI@a1k>|wna^488ydf zNnSIxk`_Fs^!8|sIpD*cAzYjr{$R3x_x%SdDdQls3Dv)O#6yz+<(@8$HRraP1V!r{5CH2?< literal 0 HcmV?d00001 diff --git a/phsource/vietnam/oong b/phsource/vietnam/oong new file mode 100644 index 0000000000000000000000000000000000000000..31d235db6a44eb665d55a54b4f0757c0beb4faab GIT binary patch literal 3186 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[0] == NULL) - { - fprintf(stderr,"Error in %s_rules, no default rule group\n",name); - } // set up hash table for data_dictlist p = &(tr->data_dictlist[8]); diff --git a/src/synthdata.cpp b/src/synthdata.cpp index f3dd6871..39e6d67d 100644 --- a/src/synthdata.cpp +++ b/src/synthdata.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005 to 2011 by Jonathan Duddington * + * Copyright (C) 2005 to 2013 by Jonathan Duddington * * email: jonsd@users.sourceforge.net * * * * This program is free software; you can redistribute it and/or modify * @@ -35,7 +35,7 @@ #include "translate.h" #include "wave.h" -const char *version_string = "1.46.33 08.Feb.13"; +const char *version_string = "1.46.34 12.Feb.13"; const int version_phdata = 0x014631; int option_device_number = -1; diff --git a/src/vowelchart.cpp b/src/vowelchart.cpp index b555afb9..aab1f2ce 100644 --- a/src/vowelchart.cpp +++ b/src/vowelchart.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005 to 2007 by Jonathan Duddington * + * Copyright (C) 2005 to 2013 by Jonathan Duddington * * email: jonsd@users.sourceforge.net * * * * This program is free software; you can redistribute it and/or modify * @@ -670,9 +670,9 @@ void MakeVowelLists(void) #define N_ENVELOPES 30 -int n_envelopes = 0; -char envelope_paths[N_ENVELOPES][80]; -unsigned char envelope_dat[N_ENVELOPES][ENV_LEN]; +extern int n_envelopes; +extern char envelope_paths[N_ENVELOPES][80]; +extern unsigned char envelope_dat[N_ENVELOPES][ENV_LEN]; #define HT_ENV 140 #define WD_ENV 128*2