diff --git a/dictsource/pt_list b/dictsource/pt_list index d2af740a..691f3443 100755 --- a/dictsource/pt_list +++ b/dictsource/pt_list @@ -239,8 +239,8 @@ sr $dot ?2 sra $dot // articles -o $u+ -a $u+ +o $u+ $nounf +a $u+ $nounf os $u+ as $u+ ?1 a & $u+ @@ -252,10 +252,10 @@ umas $u // pronouns -eu $u+ +eu $u+ $verbf tu $u+ -você $u+ -ele $u+ +você vos'e $u+ +ele 'ely $u+ ela $u+ nós $u+ vós $u+ @@ -266,15 +266,24 @@ elas $u+ me $u // reflexive te $u nos $u +la $u +lo $u +las $u +los $u //se $u ?2 este $u+ 'estSi // this ?2 estes $u+ 'estSis // these ?2 esta 'Est& $brk $u+ +?2 neste $u+ n'estSi //in this +?2 nestes $u+ n'estSis //in these ?2 esse $u+ 'esi // that essa 'Es& $brk $u+ -aquele $u+ // that +desse d'esy $u+ +nesse n'esy $u+ +aquele &k'ely $u+ // that aquela $u+ +daquele d&k'ely $u+ ?1 que ky $u ?2 que ke $u $pause @@ -296,11 +305,11 @@ suas $u+ ?2 nossa $u+ n'Os& ?2 nossos $u+ n'OsUs ?2 nossas $u+ n'Os&s -dele $u+ +dele dely $u1+ dela $u+ deles $u+ delas $u+ - +nele nely $u1+ // prepositions de $u // of,from @@ -352,7 +361,7 @@ com $u $brk // with ?2 desde $u $pause // from,since ?2 entre $pause // between,among ?2 por $u $pause // by,for,through -?2 sobre $pause // on,above,about +?2 sobre s'obRy $pause // on,above,about ?2 sob $pause // under,below ?2 debaixo $pause // under,below @@ -419,25 +428,24 @@ somos $u sois $u são $u -era $u // .. imperfect +era E*& $u1 // .. imperfect éramos $u éreis $u -eram $u +eram E*&U~ $u1 fui $u // .. preterite foste $u foi $u fomos $u fostes $u -foram $u fora $u // .. pluperfect fômamos $u fôreis $u -foram $u +foram fo*&U~ $u1 serei $u // .. future -será $u +?2 será se*a $u2 seremos $u sereis $u serão $u @@ -460,7 +468,7 @@ estávamos $u astavam $u estive $u -esteve $u +?2 esteve estevy $u2 estivemos $u estiveram $u estiver $u estSiv'Er @@ -487,7 +495,7 @@ tinham $u tive $u tiveste $u -teve $u +teve tevy $u1 tivemos $u tivestes $u tiveram $u @@ -528,8 +536,8 @@ pôde $u+ pudemos $u+ puderam $u+ -poderei $u+ -poderá $u+ +poderei $u3+ +poderá $u3+ poderemos $u+ poderão $u+ @@ -558,34 +566,37 @@ alguns $u // some algumas $u // some não n,&U~ $strend // not +// Words with two possible pronounciations +jogo Z'OgU $verb +gosto g'OstU $verb +começo kom'EsU $verb +almoço aUm'OsU $verb +retorno xet'OrnU $verb +acordo &k'OrdU $verb +governo gov'ernU $noun +olho 'oljU $noun +colher kolj'Er $noun // MAIN WORD DICTIONARY //********************* +fosse f'osy +fossem f'oseIN +hoje 'oZi +mulher mulj'Er mui mu~j muito m'u~jtu // -s is included as a suffix muita m'u~jt& +?2 rede x'edZy +teta t'et& -// $alt changes the first [o] phoneme to [O] -costa $alt -forte $alt -porta $alt +// $alt changes the first [o] phoneme to open [O] novos $alt -novas $alt -morte $alt mortos $alt -porte $alt -norte $alt corpos $alt modo $alt modos $alt fogos $alt -sorte $alt -toque $alt -bloco $alt -blocos $alt -floco $alt -flocos $alt lopes $alt jogos $alt @@ -596,13 +607,7 @@ jogos $alt ?1 sobre s'obry - -// Open [E] -nela n'El& -nessa n'Es& -era 'E*& - -abacaxi abakaSi +abacaxi abakaSy axé aSE elixir eliSir ?1 fixe f'iSy @@ -613,6 +618,8 @@ roxo x'oSU ?1 alt 'alt ?2 agosto &g'ostU ?1 back b'Ek +?2 backup bEk'&p +?2 backups bEk'&ps ?1 blind bl'aind ?1 braille b:r'aily ?2 Braille bR'aili diff --git a/dictsource/pt_rules b/dictsource/pt_rules index 00b41479..d7cbcde6 100755 --- a/dictsource/pt_rules +++ b/dictsource/pt_rules @@ -37,14 +37,15 @@ ?2 alh alj a (m &~ + a (mAr_ & a (mA@ & a (n &~ a (nA@ & + a (nAr_ & am (_ =&~N am (C &~m ?4 am (C &~N an (K+ &~N - a (nhA+ & am (_ =&U~ ?1 a (z_ 'a //eg: paz, rapaz, capaz, etc... ?1 C) acç 'a's // eg: selecção, etc... @@ -113,9 +114,9 @@ ?3 c (_C k_ ch S ck k - c (c //drop “c” in European Portuguese (eg: seleccionar) - A) ct t //drop “c” in European Portuguese (eg: exacto) - A) cç s //drop “c” in European Portuguese (eg: selecção) +?1 c (c //drop “c” in European Portuguese (eg: seleccionar) +?1 A) ct t //drop “c” in European Portuguese (eg: exacto) +?1 A) cç s //drop “c” in European Portuguese (eg: selecção) ?1 conta) ct (A kt // eg: contacto, contactar, contactável, incontactável, etc... @@ -146,6 +147,7 @@ ?2 el (K EU ?2 elh elj + v) e (lhA_ E e (be_ E e (bem_ E @@ -154,9 +156,15 @@ e (ce_ E e (cem_ E + e (chA_ E + e (chAm_ E + r) e (cho_ e + e (clA_ E e (clAm_ E e (co_ E + e (ctA_ E + e (ctAm_ E e (de_ E e (dem_ E @@ -175,13 +183,30 @@ e (gue_ E e (guem_ E - e (la_ E + e (lA_ E + e (lo_ e + e (lAm_ E - e (rA_ E - e (rAm_ E + i) e (r_ E + @s) e (r_ E + u) e (r_ E - l) e (rA_ e - l) e (rAm_ e + ib) e (rA_ E + d) e (rA_ E + ed) e (rAm_ e + iv) e (rAm_ E + pod) e (rA_ e + d) e (rAm_ E + ib) e (rAm_ E + @s) e (rA_ E + @s) e (rAm_ E + sp) e (rA_ E + sp) e (rAm_ E + + e (rdA_ E + e (rdAm_ E + e (rgA_ E + e (rgAm_ E e (rsA_ E e (rsAm_ E @@ -209,9 +234,14 @@ e (rvAm_ E e (tA_ E + An) e (tA_ e + gaz) e (ta_ e e (tAm_ E e (vA_ E + t) e (ve_ e + e (vi_ e + e (vê_ e e (vAm_ E e (rrAs_ E @@ -370,6 +400,7 @@ inh in^ i (A_ 'i + i (am_ 'i io (_ iU io (s_ iU i (oCK i @@ -482,6 +513,7 @@ p) o (dAm_ O o (g_ O + o (gs_ O o (ge_ O o (gem_ O @@ -492,10 +524,14 @@ o (ldA_ O o (ldAm_ O + o (lA_ O + o (lAm_ O + o (ltA_ O o (ltAm_ O o (sA_ O + o (so_ o o (sAm_ O o (ssA_ O @@ -503,12 +539,16 @@ o (va_ O o (vAm_ O + o (ve_ O + m) o (va_ o + m) o (vam_ o o (veCs_ O ?1 o (l_ 'O ?2 ol (_ Ow ?2 olh olj - +?2 _) o (lhA_ O +?2 _) o (lhAm_ O om (_ oN o (ma_ o @@ -520,12 +560,19 @@ o (brA_ O o (brAm_ O + o (dA_ O + o (dAm_ O + t) o (dA_ o o (rCA_ O + o (rCo_ o o (rCAm_ O o (stA_ O + o (sto_ o o (stAm_ O + o (strA_ O + os (trAm_ O o (tA_ O o (tAm_ O @@ -534,7 +581,18 @@ ?1 oz (_ Os# ?2 oz (_ Oz o (zes_ O - o (ra_ O + o (rA_ O + b) o (re_ o + c) o (re_ o + d) o (re_ o + l) o (re_ o + t) o (re_ o + v) o (re_ o + o (rAm_ O + b) o (rA_ O + @@) o (rA_ o + + o (p_ O ?1 _) o (C O // eg: olá, orla, opção, etc... ?1 _C) o (CACAC u // Documento, documentação, localizar, etc. ?1 f) o (rmat u // formatar, formato. @@ -639,6 +697,7 @@ A) s (_S1 s A) s (_AS1 z // next word starts with vowel + ese) s (_ s ?!4 A) s (_GS1 z // next word starts with voiced consonant ?1 A) s (C s# diff --git a/phsource/ph_croatian b/phsource/ph_croatian index 976a83db..30939086 100644 --- a/phsource/ph_croatian +++ b/phsource/ph_croatian @@ -6,8 +6,8 @@ phoneme S // this is letter š vowelout f1=0 f2=2100 100 300 f3=-100 80 length 30 lengthmod 3 - wave ufric/sh3%220 - before _ ufric/sh3%160 + wave ufric/sh3%110 + before _ ufric/sh3%90 switchvoicing Z endphoneme @@ -16,8 +16,8 @@ phoneme tS // this is letter č vowelin f1=0 f2=1900 100 200 f3=-100 80 length 90 lengthmod 2 - wave ustop/tsh2 - before _ ustop/tsh2%70 + wave ustop/tsh2%50 + before _ ustop/tsh2%40 switchvoicing dZ endphoneme @@ -25,8 +25,8 @@ phoneme tS; // this is letter ć vls pal afr sibilant palatal vowelin f1=0 f2=2500 300 500 f3=300 80 rate len=70 lengthmod 2 - wave ustop/ts_pzd3 - before _ ustop/ts_pzd3%80 + wave ustop/ts_pzd3%50 + before _ ustop/ts_pzd3%50 switchvoicing dZ; endphoneme @@ -35,8 +35,8 @@ phoneme Z // letter ž vcd pla frc sibilant vowelin f1=0 f2=2000 0 300 f3=-200 80 vowelout f1=2 f2=2000 0 300 f3=-200 80 brk - formants voc/zh+ufric/sh3%240 - before _ voc/zh_+ufric/sh3%170 + formants voc/zh+ufric/sh3%150 + before _ voc/zh_+ufric/sh3%80 lengthmod 6 switchvoicing S endphoneme @@ -45,8 +45,8 @@ phoneme dZ //letter dž vcd pla afr sibilant vowelin f1=2 f2=1900 100 300 f3=100 80 vowelout f1=2 f2=1900 100 300 f3=100 80 brk - formants dzh/dzh2+ustop/tsh2%140 - before _ dzh/dzh_+ustop/tsh2%100 + formants dzh/dzh2+ustop/tsh2%80 + before _ dzh/dzh_+ustop/tsh2%50 after _ NULL after @ dzh/xdzh lengthmod 5 @@ -56,8 +56,8 @@ endphoneme phoneme dZ; // letter đ vcd pla afr sibilant palatal vowelin f1=2 f2=2500 300 500 f3=300 80 rate len=70 - formants dzh/dzh2+ustop/ts_pzd3%140 - before _ dzh/dzh_+ustop/ts_pzd3%80 + formants dzh/dzh2+ustop/ts_pzd3%80 + before _ dzh/dzh_+ustop/ts_pzd3%50 after _ NULL after @ dzh/xdzh lengthmod 5 diff --git a/phsource/ph_english_us b/phsource/ph_english_us index 57f63189..cda9eb3e 100644 --- a/phsource/ph_english_us +++ b/phsource/ph_english_us @@ -105,7 +105,7 @@ endphoneme phoneme V vowel starttype (a) endtype (@) - length 155 + length 160 formants vowel/V_6 reduceto @ 0 endphoneme diff --git a/phsource/vdiph/vowelchart.png b/phsource/vdiph/vowelchart.png index 66b93597..83c4db3e 100644 Binary files a/phsource/vdiph/vowelchart.png and b/phsource/vdiph/vowelchart.png differ diff --git a/phsource/vowel/V_6 b/phsource/vowel/V_6 index 894ae87f..3556a50e 100644 Binary files a/phsource/vowel/V_6 and b/phsource/vowel/V_6 differ diff --git a/phsource/vowel/vowelchart.png b/phsource/vowel/vowelchart.png index bd31afe9..1a73b4d3 100644 Binary files a/phsource/vowel/vowelchart.png and b/phsource/vowel/vowelchart.png differ diff --git a/src/synth_mbrola.cpp b/src/synth_mbrola.cpp index c438d3b9..5484cf26 100755 --- a/src/synth_mbrola.cpp +++ b/src/synth_mbrola.cpp @@ -396,11 +396,26 @@ static void MbrolaEmbedded(int &embix, int sourceix) unsigned int word; // bit 7=last command for this word, bits 5,6 sign, bits 0-4 command unsigned int value; int command; + int sign=0; do { word = embedded_list[embix++]; value = word >> 8; - command = word & 0x7f; + command = word & 0x1f; + + if((word & 0x60) == 0x60) + sign = -1; + else + if((word & 0x60) == 0x40) + sign = 1; + + if(command < N_EMBEDDED_VALUES) + { + if(sign == 0) + embedded_value[command] = value; + else + embedded_value[command] += (value * sign); + } switch(command & 0x1f) { diff --git a/src/synthdata.cpp b/src/synthdata.cpp index 7ac1a544..ceb44fe4 100755 --- a/src/synthdata.cpp +++ b/src/synthdata.cpp @@ -35,7 +35,7 @@ #include "translate.h" #include "wave.h" -const char *version_string = "1.37.09 31.Jul.08"; +const char *version_string = "1.37.10 05.Aug.08"; const int version_phdata = 0x013400; int option_device_number = -1;