diff --git a/dictsource/dict_phonemes b/dictsource/dict_phonemes index f0ccd91d..36f04251 100644 --- a/dictsource/dict_phonemes +++ b/dictsource/dict_phonemes @@ -148,7 +148,7 @@ p Q r R s s; t T ts v x z -Dictionary en_dict 2013-04-30 +Dictionary en_dict 2013-05-03 0 0# 3 3: @ @- @2 @5 @L a a# A: A@ aa aI aI3 @@ -562,7 +562,7 @@ r. R2 s S t t# t. t.# v x z -Dictionary pl_dict 2013-04-06 +Dictionary pl_dict 2013-05-03 a E E# E~ i O O~ u y @@ -574,7 +574,7 @@ S s; S; t t; tS ts tS; ts; v w x z Z Z; -Dictionary pt_dict 2013-05-01 +Dictionary pt_dict 2013-05-03 & &/ &U~ &~ @ @- a A aI aU e E eI EI eU EU @@ -642,10 +642,10 @@ s S t t; tS ts v w x z Z -Dictionary sl_dict 2013-05-01 +Dictionary sl_dict 2013-05-03 -@ @- a a: e E e: i -i: o O o: u u: y +@ @- a e E E# i o +O o+ u y * : b d dZ dz f g h j k l l^ m n N diff --git a/dictsource/en_list b/dictsource/en_list index d40f4655..49f01297 100644 --- a/dictsource/en_list +++ b/dictsource/en_list @@ -1750,6 +1750,7 @@ hominem h0mInEm hooah h'u:'A: hopi hoUpi: horizontal $3 +(hors d'oeuvres) O@'d3:vz hospitable h0sp'It@b@L hostage h0stI2dZ hostess hoUstEs diff --git a/dictsource/hy_list b/dictsource/hy_list index 0a948ab8..6cd7405d 100644 --- a/dictsource/hy_list +++ b/dictsource/hy_list @@ -76,7 +76,7 @@ _: verdZak'et _, storak'et _. midZak'et _֊ jent#amn'a // hyphen -_՜ bats#akantSut#j'un +_՜ bats#akantSak'an _՟ pat'iw diff --git a/dictsource/hy_rules b/dictsource/hy_rules index e1190458..1925687e 100755 --- a/dictsource/hy_rules +++ b/dictsource/hy_rules @@ -5,7 +5,7 @@ // ?1 West Armenian .L01 բ գ թ կ պ տ ք -.L02 ու այ իւ իյ ոյ ա ե ը ի ո օ // vowel sounds +.L02 ու այ իւ իյ ոյ ա ե ը ի ո օ ույ // vowel sounds // ligature .replace @@ -15,7 +15,7 @@ .group ա ա a այ aI - այ (_ a +?1 այ (_ a .group բ բ b @@ -122,7 +122,7 @@ ու (A v ոյ uj // ?? uj or uy A) ոյ oj // ?? oj or oy - ոյ (_ o +?1 ոյ (_ o .group չ չ tS @@ -156,7 +156,7 @@ .group ր ր r -?!1 L02) ր (L02 r +?1 L02) ր (L02 r _) ր (C r@ C) ր (_ @r L02) ր (_ r diff --git a/dictsource/pl_list b/dictsource/pl_list index 90cbd0dc..c70dce6b 100644 --- a/dictsource/pl_list +++ b/dictsource/pl_list @@ -112,7 +112,7 @@ _ó ,u_kREskOv'anE p pE q ku r ER -s ES +s Es ś S;i t tE _u u diff --git a/dictsource/pt_list b/dictsource/pt_list index 3c398f0e..e7b9e75a 100755 --- a/dictsource/pt_list +++ b/dictsource/pt_list @@ -947,6 +947,7 @@ hoje $alt2 horrores $alt2 humores $alt2 ideia $alt +inovo $alt interesse $alt2 interesse $alt $verb iodo $alt2 @@ -1178,6 +1179,7 @@ zorra $alt2 // foreign words +?2 álcool 'aUkow ?1 alt 'alt ?2 agosto ag'ostU ?1 back b'Ek @@ -1216,6 +1218,7 @@ drivers dR'aIveRs ?2 eyes 'aIs ?1 frame fr'eImy ?2 frame fR'eImi +game g'eImy ?1 gmail g,em'eIl ?2 Gmail Zem'eIl ?1 google g'u:g&l @@ -1324,8 +1327,9 @@ mac mEk ?2 Outlook ,aUtl'uk ?1 paint p'aint ?1 player pl'eI&r- -playstation _^_EN -?1 point p'oint +?1 playstation _^_EN +?2 playstation pleIst'eIS&~N + point p'oint ?1 power p'aU&r- ?1 product p:r'&d&kt ?1 Publisher p'&bl,iS&r- @@ -1401,6 +1405,7 @@ klein kl'aIn // Very common on southern Brazil. krueger kR'iZer krüger kR'iZer kühl k'il +?2 juan xu&~N mueler m'iler mueller m'iler müler m'iler diff --git a/dictsource/pt_rules b/dictsource/pt_rules index 1cacb76c..9db32f47 100755 --- a/dictsource/pt_rules +++ b/dictsource/pt_rules @@ -92,8 +92,7 @@ óCC) a (CA_ & óC) a (CCA_ & úC) a (CA_ & -?2 ation (_ 'eIS&~N -?2 action (_ 'EkS&~N + ation (_ 'eIS&~N .group â @@ -241,7 +240,6 @@ e (ssL04_ E e (ss_ E // stress and english words -?2 ection (_ 'EkS&~N ?2 C) ee (_ i ?2 ee (C_ i ?2 C) e (em_ e @@ -260,7 +258,7 @@ e (rvL04_ E e (tL04_ E - m) e (tL04_ e + m) e (tL03_ e An) e (tA_ e on) e (te_ E gaz) e (ta_ e @@ -452,6 +450,8 @@ _enver) e (dL03_ E _dec) e (pL04_ E _in) e (ptL03_ E ad) e (quL04_ E + _dig) e (rL02_ E + _ing) e (rL02_ E _sev) e (rL03_ E _reit) e (rL03_ E _sinc) e (rL03_ E @@ -476,15 +476,12 @@ _enver) e (dL03_ E _exub) e (rL04_ E _temp) e (rL04_ E _adult) e (rL04_ E +_incin) e (rL04_ E _persev) e (rL04_ E _recup) e (rL04_ E _refrig) e (rL04_ E -_incin) e (rL04_ E - _ex) e (rcL02_ E _c) e (rcL02_ E - _c) e (rquL02_ E - _ing) e (rL02_ E - _dig) e (rL02_ E + _ex) e (rcL02_ E _alic) e (rcL02_ E _p) e (rdL02_ E _l) e (rdL03_ E @@ -494,6 +491,7 @@ s_colh) e (res_ E _) e (rgL03_ e _re) e (rgL03_ e _so) e (rgL03_ e + _c) e (rquL02_ E _bez) e (rrL03_ e v) e (rtL03_ e // con- re- in- _f) e (rvL03_ e @@ -604,7 +602,8 @@ _entorp) e (çL03_ e .group h _) h (_ ag'a h // silent - _) hel (p x'EU +?1 _) help _^_En +?2 _) hel (p x'EU .group i @@ -666,9 +665,8 @@ _entorp) e (çL03_ e ?1 @) ings (_ _^_EN ?2 il (ton_ 'iU ?2 i (rton_ 'i -?2 iction (_ 'ikS&~N -?2 ight (_ aIt -?2 ights (_ aIts +?1 ight (_ _^_EN +?1 ights (_ _^_EN .group í @@ -871,7 +869,6 @@ _entorp) e (çL03_ e óCC) o (CA_ o úC) o (CA_ o úCC) o (CA_ o -?2 otion (_ 'owS&~N //sort _f) o (L05_ o @@ -880,12 +877,12 @@ _pormen) o (L05_ O _s) o (bL02_ O _af) o (bL04_ O _esn) o (bL04_ O - _af) o (fL04_ O _engl) o (bL04_ O _sal) o (brL03_ o _) o (cL03_ o _m) o (fL01_ O _m) o (fL02_ O + _af) o (fL04_ O _s) o (frL02_ O _ap) oi (L01_ OI _ap) oi (L02_ OI @@ -980,7 +977,6 @@ _remem) o (rL04_ O qü kw qu (Y k qu (K ku -?2 _) que (_K ke _) que (_ ky ?1 _) qua kwa // quatro, etc. ?1 _) que ke // quente, etc. @@ -1063,6 +1059,7 @@ _remem) o (rL04_ O _) sobre (@P5 sob*e _tran) s (A z +?1 ssion (_ _^_EN .group t @@ -1111,7 +1108,6 @@ _remem) o (rL04_ O g) u (Y _m) ui (tA_ 'wiN -?2 ution (_ 'uS&~N .group ú diff --git a/dictsource/sl_list b/dictsource/sl_list index a09d15ac..973638c7 100755 --- a/dictsource/sl_list +++ b/dictsource/sl_list @@ -2,7 +2,11 @@ // translation rules for Slovenian // This file is UTF-8 encoded +// $alt1 open vowel [E] or [O] in the stressed syllable +// $alt2 open vowel [o] or [o] in the stressed syllable +// $alt3 short stress on final syllable + // letter names b b@ c ts@ @@ -11,7 +15,7 @@ d d@ e e f f@ g g@ -h h@ +_h h@ j j@ _k k@ l l@ @@ -55,7 +59,7 @@ _7 s'ed@m _8 'os@m _9 dEv'et _10 dEs'et -_11 'e'najst +_11 'E'najst _12 dv#'anajst _13 tR'inajst _14 St'iRinajst @@ -116,8 +120,18 @@ z z@ $atend // Function words (unstressed) - // verb: to be -sem $u +bom bo+m $u // example of unstressed [o] + +//pronouns + + +// prepositions +skozi sko+zi $u+ +za $u+ + + +// verb: to be +sem s@m $u si $u je $u sva $u @@ -130,3 +144,13 @@ bil $u bila $u bili $u + +// exceptions + +deset $2 +devet $2 +dim $alt3 +oba $2 +žena $alt1 +šel S@w + diff --git a/dictsource/sl_rules b/dictsource/sl_rules index 90c38b6e..93e648e9 100755 --- a/dictsource/sl_rules +++ b/dictsource/sl_rules @@ -4,9 +4,12 @@ .L01 b d g j l m n v z ž // voiced consonants +.L04 l v + .group a - a a + a a: + a (X$w_alt3+ 'a .group b b b @@ -27,13 +30,13 @@ .group e - e e - e (_ E // ?? - e (C_ E - e (l_ e - @) e (n_ @ - @) e (r_ @ - _) e E + e e: + e (X$w_alt3+ 'E + + @) e (n_ E# + @C) e (r_ E# + + _) e (m@ E .group f @@ -51,8 +54,10 @@ .group i - i i + i i: + i (X$w_alt3+ 'i i (A j + @) i (ja_ =i .group j @@ -69,7 +74,7 @@ K) l (K @l K) l (rK l K) l (_ u - @) l (_ =w + @) l (_ w lj l^ lj (A lj lj (i l^ @@ -94,14 +99,14 @@ .group o - o o - _) o O - @) o (_ O - _) o (l o - _) o (v o - - X) o (Co O // ?? + o o: + o (X$w_alt3+ 'O + + o (Co O: + o (CCo O: + o (L04+ o: + .group p p p @@ -132,7 +137,9 @@ .group u - u u + u u: + u (X$w_alt3+ 'u + u (A w A) u (K w @@ -171,17 +178,17 @@ á 'a: é 'e: ê 'E: - è E + è 'E í 'i: ó 'o: ô 'O: - ò O + ò 'O ú 'u: đ dZ ř R^ - ä E + ä E: ö @: - ü y + ü y: ß _^_DE $ d'olaR diff --git a/phsource/compile_report b/phsource/compile_report index ed22a550..bdb833e9 100644 --- a/phsource/compile_report +++ b/phsource/compile_report @@ -1,5 +1,5 @@ -91 phoneme tables +89 phoneme tables new total base 109 109 consonants 11 119 @@ -30,7 +30,7 @@ consonants 11 119 pa 15 151 ta 24 153 kn 17 149 - ml 26 152 + ml 27 152 hu 25 124 lt 44 139 lv 29 127 @@ -72,7 +72,7 @@ consonants 11 119 fa 9 112 rw 15 132 prs 8 113 - sl 11 137 + sl 16 125 gd 6 109 nso 12 113 ht 11 146 @@ -81,7 +81,7 @@ consonants 11 119 am 15 114 wo 18 120 dv 14 149 - te 16 149 + te 18 149 si 24 155 tn 27 121 mt 32 129 @@ -90,8 +90,6 @@ consonants 11 119 tt 23 120 ko 19 120 kl 18 119 - ar 1 109 - gu 1 149 Data file Used by b/b [b] base @@ -156,7 +154,6 @@ d/dr [*] base [d^] et [d] fr [d.] hi - [d.#] hi [d] kn [d] hu [d] lt @@ -166,6 +163,8 @@ d/dr [*] base [d] hr [d] sq [d] mt +d/dr2 [d.#] hi + [d.#] te d/tap [*;] ro d/tap1 [*] base d/tap2 [t#] en @@ -200,6 +199,7 @@ d/xdr [d] fr [d.] hi [d.#] hi [d.#] ml + [d.#] te d/xdz [dz] consonants [dz] bo [dz#] bo @@ -987,8 +987,6 @@ ustop/q [q] base ustop/q_u [q] base ustop/t [t] base [t] en-us - [d.#] hi - [d.#] ml [t] zhy [t] da ustop/t_ [t] base @@ -1019,6 +1017,11 @@ ustop/t_hi [t[] base [t[] vi [t`] am ustop/th_rfx [t.#] hi +ustop/th_rfx2 [d.#] hi + [d.#] ml + [t.#] ml + [d.#] te + [t.#] te ustop/t_pzd [c] base [t^] et [t;] lt @@ -1683,6 +1686,7 @@ vowel/a#_2 [A] nl [a] sv [a] is [a/] sw + [a] tr [a] ka [a] nso [a] te @@ -1731,7 +1735,6 @@ vowel/a#_4 [a:] nl [a] ml [a] bg [a/] it - [a] tr vowel/a_5 [a:] hi [a:] ta [a:] ml @@ -1754,6 +1757,7 @@ vowel/a_8 [a] en [a:] vi [A] da [?A] da + [a] sl vowel/aa [a:] et [A] fr-ca [A] no @@ -1780,6 +1784,7 @@ vowel/aa_5 [A:] en-n [A@] en-wm vowel/aa_6 [A] de [A:] de + [a] tr vowel/aa_8 [0] en-us [A:] en-us [0] ga @@ -1836,7 +1841,6 @@ vowel/e [e] base [?e] da [e] rw [e#] rw - [e:] sl [e] wo [e:] wo [e] dv @@ -1944,6 +1948,7 @@ vowel/e_mid [E] en-rp [e] ka [E] prs [E] sl + [E#] sl [E] ht [e] si vowel/e_mid2 [E] af @@ -2502,6 +2507,7 @@ vowel/y [y] base2 [y] sq [y] da [?y] da + [y] sl [y] az [y] mt [y] tt diff --git a/phsource/d/dr2 b/phsource/d/dr2 new file mode 100755 index 00000000..b6748826 Binary files /dev/null and b/phsource/d/dr2 differ diff --git a/phsource/ph_hindi b/phsource/ph_hindi index 315e6180..2e4114f1 100644 --- a/phsource/ph_hindi +++ b/phsource/ph_hindi @@ -430,15 +430,14 @@ phoneme d.# lengthmod 5 ipa ɖU+02B0 voicingswitch t.# - Vowelin f1=1 f2=1800 -300 300 f3=-400 80 + Vowelin f1=1 f2=1800 -300 300 f3=-150 80 Vowelout f1=1 f2=1800 -300 300 f3=-400 80 colr=2 IF PreVoicing THEN FMT(d/xdr) ENDIF - FMT(d/dr) addWav(ustop/t) -// FMT(d/dr) addWav(ustop/th_rfx) + FMT(d/dr2, 50) addWav(ustop/th_rfx2, 80) endphoneme diff --git a/phsource/ph_malayalam b/phsource/ph_malayalam index 9c6c09e4..1aba2c74 100644 --- a/phsource/ph_malayalam +++ b/phsource/ph_malayalam @@ -193,11 +193,26 @@ phoneme d# endphoneme +phoneme t.# + vls rfx stop + lengthmod 2 + ipa ʈU+02B0 + voicingswitch d.# + Vowelin f1=0 f2=1800 -300 300 f3=-200 80 + Vowelout f1=0 f2=1800 -300 250 f3=-400 80 rms=20 colr=2 + + IF nextPhW(t.#) THEN + ChangePhoneme(t.) + ENDIF + WAV(ustop/th_rfx2, 80) +endphoneme + + phoneme d.# vls rfx stop prevoice lengthmod 2 ipa ʈU+02B0 - Vowelin f1=0 f2=1800 -300 300 f3=-400 80 + Vowelin f1=0 f2=1800 -300 300 f3=-200 80 Vowelout f1=0 f2=1800 -300 250 f3=-400 80 rms=20 colr=2 IF PreVoicing THEN @@ -209,7 +224,7 @@ phoneme d.# ENDIF voicingswitch d.# - WAV(ustop/t) + WAV(ustop/th_rfx2, 80) endphoneme diff --git a/phsource/ph_slovenian b/phsource/ph_slovenian index bd5154ce..8a97d60c 100644 --- a/phsource/ph_slovenian +++ b/phsource/ph_slovenian @@ -1,13 +1,20 @@ + +phoneme : // lengthen previous vowel by "length" + virtual + length 40 // only a small increase for "long stress" because we probably put the stress on the wrong syllable +endphoneme + + phoneme @ // Schwa, can be stressed vowel starttype #@ endtype #@ - length 140 + length 160 FMT(vowel/@) endphoneme phoneme i vowel starttype #i endtype #i - length 140 + length 160 IfNextVowelAppend(;) IF thisPh(isStressed) AND NOT nextPhW(isRhotic) THEN FMT(vowel/ii_6) @@ -17,31 +24,32 @@ endphoneme phoneme u vowel starttype #u endtype #u - length 140 + length 160 FMT(vowel/u_2) endphoneme - phoneme a vowel starttype #a endtype #a length 170 + IF thisPh(isUnstressed) THEN + FMT(vowel/a_8) + ENDIF FMT(vowel/a) endphoneme phoneme e vowel starttype #e endtype #e - length 160 + length 170 + ChangeIfUnstressed(E) FMT(vowel/e_2) endphoneme -phoneme e: +phoneme e+ // doesn't reduce to [e] vowel starttype #e endtype #e - length 240 - FMT(vowel/e) -endphoneme - + ChangePhoneme(e) + endphoneme phoneme E vowel starttype #e endtype #e @@ -49,14 +57,27 @@ phoneme E FMT(vowel/e_mid) endphoneme +phoneme E# + vowel starttype #e endtype #e + length 160 + IF thisPh(isNotStressed) THEN + ChangePhoneme(@) + ENDIF + FMT(vowel/e_mid) +endphoneme phoneme o vowel starttype #o endtype #o - length 160 + length 170 + ChangeIfUnstressed(O) FMT(vowel/o_8) endphoneme +phoneme o+ // doesn't reduce to [O] + vowel starttype #o endtype #o + ChangePhoneme(o) + endphoneme phoneme O vowel starttype #o endtype #o @@ -69,3 +90,17 @@ endphoneme phoneme v import_phoneme base/v# endphoneme + + +// for foreign letters +phoneme y + vowel starttype #i endtype #i + length 170 + FMT(vowel/y) +endphoneme + +phoneme R^ // Czech r-caron + import_phoneme sk/R^ +endphoneme + + diff --git a/phsource/ph_telugu b/phsource/ph_telugu index b5b75581..7399aa0c 100644 --- a/phsource/ph_telugu +++ b/phsource/ph_telugu @@ -104,3 +104,36 @@ endphoneme phoneme r import_phoneme base/R2 endphoneme + + +phoneme t.# + vls rfx stop + lengthmod 2 + ipa ʈU+02B0 + voicingswitch d.# + Vowelin f1=0 f2=1800 -300 300 f3=-200 80 + Vowelout f1=0 f2=1800 -300 250 f3=-400 80 rms=20 colr=2 + + IF nextPhW(t.#) THEN + ChangePhoneme(t.) + ENDIF + WAV(ustop/th_rfx2, 80) +endphoneme + +phoneme d.# + vcd rfx stop + lengthmod 5 + ipa ɖU+02B0 + voicingswitch t.# + Vowelin f1=1 f2=1800 -300 300 f3=-150 80 + Vowelout f1=1 f2=1800 -300 300 f3=-400 80 colr=2 + + IF PreVoicing THEN + FMT(d/xdr) + ENDIF + + FMT(d/dr2, 50) addWav(ustop/th_rfx2, 80) + +endphoneme + + diff --git a/phsource/ph_turkish b/phsource/ph_turkish index 424d6ce5..13060a8d 100644 --- a/phsource/ph_turkish +++ b/phsource/ph_turkish @@ -92,7 +92,10 @@ endphoneme phoneme a vowel starttype #a endtype #a length 200 - FMT(vowel/a#_4) + IF thisPh(isUnstressed) AND thisPh(isWordEnd) THEN + FMT(vowel/a#_2) + ENDIF + FMT(vowel/aa_6) endphoneme @@ -198,13 +201,11 @@ endphoneme phoneme R - vcd alv flp rhotic + liquid trill rhotic + lengthmod 6 IF prevPhW(isVowel) AND nextPhW(isVowel) THEN - CALL base/* -// ELIF prevPhW(isNotVowel) THEN -// CALL base/R - ELSE - CALL base/r + ChangePhoneme(*) ENDIF - ipa ɾ + CALL base/R endphoneme + diff --git a/phsource/phonemes b/phsource/phonemes index 2a143571..c3917647 100644 --- a/phsource/phonemes +++ b/phsource/phonemes @@ -344,7 +344,7 @@ endphoneme phoneme R - liquid + liquid rhotic trill lengthmod 6 ipa r @@ -357,7 +357,7 @@ phoneme R endphoneme phoneme R2 // this is [R] from Slovak/Czech - liquid + liquid rhotic trill lengthmod 6 ipa r @@ -367,7 +367,7 @@ phoneme R2 // this is [R] from Slovak/Czech endphoneme phoneme R3 // Afrikaans - liquid + liquid rhotic trill lengthmod 6 length 60 @@ -394,7 +394,7 @@ endphoneme phoneme r" // uvular trill - vcd uvl frc + vcd uvl frc rhotic ipa ʀ lengthmod 6 IF nextPh(isNotVowel) THEN @@ -1892,7 +1892,7 @@ include ph_kinyarwanda phonemetable prs base include ph_dari -phonemetable sl sk +phonemetable sl pl include ph_slovenian phonemetable gd base @@ -1947,9 +1947,3 @@ include ph_korean phonemetable kl base include ph_greenlandic -phonemetable ar base -include ph_arabic - -phonemetable gu hi -include ph_gujarati - diff --git a/phsource/ustop/th_rfx2.wav b/phsource/ustop/th_rfx2.wav new file mode 100755 index 00000000..4bb756d2 Binary files /dev/null and b/phsource/ustop/th_rfx2.wav differ diff --git a/src/synthdata.cpp b/src/synthdata.cpp index 35705473..a936f6b7 100644 --- a/src/synthdata.cpp +++ b/src/synthdata.cpp @@ -35,7 +35,7 @@ #include "translate.h" #include "wave.h" -const char *version_string = "1.47.09 29.Apr.13"; +const char *version_string = "1.47.10a 03.May.13"; const int version_phdata = 0x014709; int option_device_number = -1; diff --git a/src/tr_languages.cpp b/src/tr_languages.cpp index 31084a48..f9ad27e4 100644 --- a/src/tr_languages.cpp +++ b/src/tr_languages.cpp @@ -1389,6 +1389,8 @@ SetLengthMods(tr,3); // all equal tr->langopts.stress_flags = S_NO_AUTO_2; tr->langopts.param[LOPT_REGRESSIVE_VOICING] = 0x103; tr->langopts.param[LOPT_UNPRONOUNCABLE] = 0x76; // [v] don't count this character at start of word + tr->langopts.param[LOPT_ALT] = 2; // call ApplySpecialAttributes2() if a word has $alt or $alt2 + tr->langopts.param[LOPT_IT_LENGTHEN] = 1; // remove lengthen indicator from unstressed syllables tr->letter_bits['r'] |= 0x80; // add 'r' to letter group 7, vowels for Unpronouncable test tr->langopts.numbers = NUM_DECIMAL_COMMA | NUM_ALLOW_SPACE | NUM_SWAP_TENS | NUM_OMIT_1_HUNDRED | NUM_DFRACTION_2 | NUM_ORDINAL_DOT | NUM_ROMAN; tr->langopts.numbers2 = 0x100; // plural forms of millions etc diff --git a/src/voices.cpp b/src/voices.cpp index 4eaefca1..566fc7ef 100644 --- a/src/voices.cpp +++ b/src/voices.cpp @@ -902,7 +902,8 @@ voice_t *LoadVoice(const char *vname, int control) case V_OPTION: value2 = 0; - if((sscanf(p,"%s %d %d",option_name,&value,&value2) >= 2) && ((ix = LookupMnem(options_tab, option_name)) >= 0)) + if(((sscanf(p,"%s %d %d",option_name,&value,&value2) >= 2) && ((ix = LookupMnem(options_tab, option_name)) >= 0)) || + ((sscanf(p,"%d %d %d",&ix,&value,&value2) >= 2) && (ix < N_LOPTS))) { langopts->param[ix] = value; langopts->param2[ix] = value2;