Merge branch 'upstream' into development

Conflicts:
	dictsource/dict_phonemes
	phsource/compile_report
	phsource/vnasal/a#_n2
	phsource/vnasal/o_n4
This commit is contained in:
Reece H. Dunn
2013-03-17 00:51:22 +00:00
46 changed files with 134 additions and 79 deletions
+46 -36
View File
@@ -107,57 +107,67 @@ _1M2 un||mil^'on
_0M4 bil^'ons
_1M4 un||bil^'on
_0and i
_0and %i
_dpt kon
// ordinal numbers
_#º 'eno
_#ª 'ena
_#º o
_#ª a
//_ord eno
_1o un
1o prim'Er
_2o dos
2o seQ'und
_3o tres
3o tErT'Er
_4o kwatr
_5o Tink
_6o seIs
_7o sEt
_8o gwit
_9o n'U
_10o DET
_11o onT
_12o DoT
_13o tReT
_14o katorT
_15o kinT
_16o sET
_1ox prim'Er
_2ox seQ'und
_3ox tErT'Er
_1o un'en
_2o dos'en
_3o tres'en
_4o kwatr'en
_5o Tink'en
_6o seIs'en
_7o sEt'en
_8o gwit'en
_9o nU'en
_11o onT'en
_12o DoT'en
_13o tReT'en
_14o katorT'en
_15o kinT'en
_16o sET'en
_10o DET'en
_20o Bint'en
_30o trent'en
_40o kwarant'en
_50o Tinkwant'en
_60o siSant'en
_70o sEtant'en
_80o gwitant'en
_90o noBant'en
_1Xo DeTi
_20o Bint
_2Xo Binti
_30o trent
_3Xo trentaI
_40o kwarant
_4Xo kwarantaI
_50o Tinkwant
_5Xo TinkwantaI
_60o siSant
_6Xo siSantaI
_70o sEtant
_7Xo sEtantaI
_80o gwitant
_8Xo gwitantaI
_90o noBant
_9Xo noBantaI
_0Co TEnt
_1Co TEnt
_0M1o mil
_1M1 mil
_0M2o mil^on
_1M2o mil^on
_1Co TEnt'en
_2Co dosTEnt'en
_3Co tresTEnt'en
_4Co kw,atroTEnt'en
_5Co T,inkoTEnt'en
_6Co seIsTEnt'en
_7Co sjEtTEnt'en
_8Co gw,eItoTEnt'en
_9Co nweUTEnt'en
_0M1o mil'en
_1M1 mil'en
_0M2o mil^on'en
_1M2o mil^on'en
// unstressed words
+9 -5
View File
@@ -4,13 +4,17 @@
// words of one letter
в $combine
а $u $combine
а $u $combine
е $u
й i $u
й i $u
и $u $pause
у $u $combine
с $combine
г god'ina $hasdot
у $u $combine
с $combine
г god'ina $hasdot
(а в) %av
(а с) %as
// letter names
б b@
+1 -1
View File
@@ -5864,7 +5864,7 @@
_) zs (Y z
_) z (wY z
n) z (_ ts
n) z (_N ts
@) zales (_ z'A:l@s
zei zaI
zes (_ zI2z
+1 -6
View File
@@ -195,12 +195,7 @@ _dpt _d@s@ml'o:_ // ?? what is Hi for "." ?
ॐ #X1o~m
_?? Vks.@r
_a ej
_b bi:
_c si:
_d di:
_e i:
_f Ef
// Punctuation
। dVn.d.V
+1 -1
View File
@@ -26,7 +26,7 @@ p pi:
q kju:
r a:r
s Es
t thi:
t t#i:
u ju:
v vi:
w dabalju:
+1 -1
View File
@@ -63,7 +63,7 @@ p pi:
q kju:
r a:R
s Es
t ti:
t t#i:
u ju:
v vi:
w dVbVlju:
+3 -1
View File
@@ -734,6 +734,7 @@ comodo $alt2
concerto $alt2 $noun
concordo $alt
conforto $alt $verb
congelo $alt
consolo $alt2 $noun
controle $alt2 $noun
controlo $alt2 $noun
@@ -861,7 +862,6 @@ hemorroida $alt
hoje $alt2
horrores $alt2
ideia $alt
insonoro $alt
interesse $alt2 $noun
jogo $alt2 $noun
joguete $alt2
@@ -993,6 +993,7 @@ selvagem seUv'aZeIN
sexteto $alt2
?1 senhora $alt2
senhores $alt2
singelo $alt
sinopse $alt
soco $alt2
soco $alt $verb
@@ -1030,6 +1031,7 @@ trombeta $alt2
tumores $alt2
valeta $alt2
vanessa $alt2
velo $alt
velozes $alt
verme $alt
violeta $alt2
+17 -8
View File
@@ -359,12 +359,11 @@
_perd) e (L05_ e
_quis) e (L05_ E
_soub) e (L05_ E
proteg) e (L05_ e // des-
diss) e (L06_ E / contra-
diss) e (L06_ E // contra-
tend) e (L06_ e // a- con- en- es-
vend) e (L06_ e // re-
_mord) e (L06_ e
_rend) e (L06_ e
_vend) e (L06_ e
prend) e (L06_ e // a- rea- des- desa-
_arrepend) e (L06_ e
_defend) e (L06_ e
@@ -373,7 +372,7 @@ _escond) e (L06_ e
preend) e (L06_ e // com- a- re- sur-
respond) e (L06_ e // cor-
bat) e (L07_ e // re- com-
ceb) e (L07_ e / re- per- con-
ceb) e (L07_ e // re- per- con-
ced) e (L07_ e // pro- con- su-
met) e (L07_ e // co- pro- arre- re- intro- compro- sub-
mov) e (L07_ e // re- co-
@@ -388,6 +387,7 @@ respond) e (L06_ e // cor-
tend) e (L07_ e // en- con- a- es-
torc) e (L07_ e // con-
venc) e (L07_ e // con-
vend) e (L07_ e // re-
vert) e (L07_ e // in- re- con-
volv) e (L07_ e // de- en- re-
_eleg) e (L07_ e
@@ -401,7 +401,6 @@ respond) e (L06_ e // cor-
parec) e (L07_ e // a- rea- com- desa-
prend) e (L07_ e // a- rea- des-
screv) e (L07_ e // e- in- ree- pre- de-
_abastec) e (L07_ e
_aborrec) e (L07_ e
_absolv) e (L07_ e
_adoec) e (L07_ e
@@ -434,6 +433,7 @@ _perec) e (L07_ e
_rejuvenec) e (L07_ e
_resolv) e (L07_ e
_suspend) e (L07_ e
abastec) e (L07_ e // re-
conhec) e (L07_ e // & re- des-
estabelec) e (L07_ e // re-
favorec) e (L07_ e // des-
@@ -458,10 +458,12 @@ respond) e (L07_ e // cor-
_sev) e (rL03_ E
_reit) e (rL03_ E
_sinc) e (rL03_ E
g) e (rL04_ E // su- refri-
_g) e (rL04_ E
qu) e (rL04_ E // re-
_op) e (rL04_ E
gen) e (rL04_ E // de- re-
_alt) e (rL04_ E
_sug) e (rL04_ E
_sup) e (rL04_ E
_tol) e (rL04_ E
_ven) e (rL04_ E
@@ -469,6 +471,7 @@ respond) e (L07_ e // cor-
_coop) e (rL04_ E
_temp) e (rL04_ E
_recup) e (rL04_ E
_refrig) e (rL04_ E
_v) e (rbL03_ E
_p) e (rdL02_ E
_l) e (rdL03_ E
@@ -503,11 +506,13 @@ _obsol) e (tL03_ e
scr) e (vL03_ e // e- in- pre- ree- de-
_atr) e (vL03_ e
_r) e (zL04_ E
pr) e (zL04_ E / des- menos-
_pr) e (zL04_ E
_despr) e (zL04_ E
_embel) e (zL04_ E
_menospr) e (zL04_ E
_emagr) e (çL03
pr) e (çL03_ e // a-
aqu) e (çL03_ e / re-
aqu) e (çL03_ e // re-
mer) e (çL03_ e // des-
pad) e (çL03_ e // com-
par) e (çL03_ e // a- re- com- rea- desa-
@@ -859,6 +864,10 @@ _desabr) o (chL04_ O
_ens) o (pL04_ O
_s) o (prL04_ O
_) o (ptL04_ O
_inod) o (rL03_ O
_inson) o (rL03_ O
_comem) o (rL04 O
_remem) o (rL04_ O
_enf) o (rquL02_ O
c) o (rrL01_ o // escorra, incorra, corra, recorra
_m) o (rrL01_ o
+1 -1
View File
@@ -68,7 +68,7 @@ p pi:
q kju:
r a:R
s Es
t thi:
t t#i:
u ju:
v vi:
w dVbVlju:
+10
View File
@@ -950,6 +950,7 @@ _துப்பாக்கி) க்க (ுண்ட gg
_ப) சக் tSVk
_) ச (க்கரவர்த்தி tSV
_) ச (க்கிலி tSV
_) சக் (ரவர்த்தி tSVk
_க) ச (க்ஸ்தான zV
சங்க (ர s.VNkV
_) ச (ட்டL08ஸ்கர tSV
@@ -1057,6 +1058,7 @@ _தணிகா) ச (ல tSV
_வரதா) ச (ாரி tS
_வேதா) ச (ாரி tS
_கிருஷ்ணமா) ச (ாரி tS
_கோபால) ச (ாரி tS
_சங்கரா) ச (ாரி tS
_தேசிகா) ச (ாரி tS
_பட்டா) ச (ாரி tS
@@ -1064,6 +1066,7 @@ _பிரம்ம) ச (ாரி tS
_மத்வா) ச (ாரி tS
அனந்தா) ச (ாரி tS
அன்னமா) ச (ாரி tS
ராஜகோபால) ச (ாரி tS
ராமானுஜா) ச (ாரி tS
ஆ) ச (ாரிய_ tS
ஆ) ச (ாரியார tS
@@ -2601,6 +2604,10 @@ _டீயும்_) ப (ன்னும்_ bV
_) ப (ாகீரதி b
_) ப (ாக்கிக் b
_) ப (ாக்கிய b
_) ப (ாக்டரி_ f
_) ப (ாக்டரியா b
_) ப (ாக்டரியி f
_) ப (ாக்டரியை f
_) பாக்ட (ீரியா ba:kt.
_) பாக்த (ாத ba:gd
_) ப (ாக்ய b
@@ -2947,6 +2954,7 @@ _விளையாடு_) ப (ாம்பே p
_) பி (ராதித் p
_) பி (ராத்தல b
_) பி (ராந்தி_ b
_) பி (ராந்திய_ p
_) பி (ராந்தியங் p
_) பி (ராந்தியத் p
_) பி (ராந்தியம்_ p
@@ -2986,8 +2994,10 @@ _விளையாடு_) ப (ாம்பே p
_) பி (ரித்தானி b
_) பிரின்சிப (ால prinsip
_) பி (ரிமிய p
_) பி (ரியங்கள p
_) பிரியங்க (ா prijVNk
_) பி (ரியதர p
_) பி (ரியத்த p
_) பி (ரியன p
_) பி (ரியப்பட p
_) பி (ரியம p
+1 -1
View File
@@ -24,7 +24,7 @@ p pi:
q kju:
r a:r
s Es
t thi:
t t#i:
u ju:
v vi:
w dVbVlju:
+4 -4
View File
@@ -77,7 +77,7 @@ ỵ ỵ
//================================
// Consonants
//================================
.L01 t c ne nd k x s nt ch th me te le ce ny ry e o u re nch de p pe ph sh v ve
.L01 t c ne nd k x s nt ch th me te le ce ny ry e o u re nch de p pe ph sh v ve ge
.L02 n
@@ -460,7 +460,7 @@ ỵ ỵ
.group i
i i
i (A j
//i (A j
ia i@
ià i@2
iá i@3
@@ -822,7 +822,7 @@ ỵ ỵ
.group y
y i
y (A j
// y (A j
ya i@
yà i@2
yá i@3
@@ -837,7 +837,7 @@ ỵ ỵ
yệ i@6
// yêu i@U
y (L01 _^_EN
.group ỳ
ỳ i2
BIN
View File
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

After

Width:  |  Height:  |  Size: 28 KiB

+23 -5
View File
@@ -745,6 +745,7 @@ static void CompileReport(void)
REF_HASH_TAB **list;
const char *data_path;
int prev_table;
int procedure_num;
int prev_mnemonic;
if(f_report == NULL)
@@ -802,7 +803,17 @@ static void CompileReport(void)
j++;
}
fprintf(f_report," [%s] %s",WordToString(prev_mnemonic = list[ix]->ph_mnemonic), phoneme_tab_list2[prev_table = list[ix]->ph_table].name);
prev_mnemonic = list[ix]->ph_mnemonic;
if((prev_mnemonic >> 24) == 'P')
{
// a procedure, not a phoneme
procedure_num = atoi(WordToString(prev_mnemonic));
fprintf(f_report," %s %s", phoneme_tab_list2[prev_table = list[ix]->ph_table].name, proc_names[procedure_num]);
}
else
{
fprintf(f_report," [%s] %s",WordToString(prev_mnemonic), phoneme_tab_list2[prev_table = list[ix]->ph_table].name);
}
fputc('\n',f_report);
}
@@ -1856,7 +1867,7 @@ static int LoadWavefile(FILE *f, const char *fname)
}
sprintf(command,"sox \"%s%s.wav\" -r %d -c1 -t wav %s\n",path_source,fname2,samplerate_native, fname_temp);
if(system(command) < 0)
if(system(command) != 0)
{
failed = 1;
}
@@ -2761,6 +2772,8 @@ int CompilePhoneme(int compile_phoneme)
}
strcpy(proc_names[n_procs], item_string);
phoneme_out = &phoneme_out2;
sprintf(number_buf,"%.3dP", n_procs);
phoneme_out->mnemonic = StringToWord(number_buf);
}
phoneme_out->code = phcode;
@@ -3498,10 +3511,11 @@ static void CompilePhonemeData2(const char *source)
make_envs();
#endif
wxLogStatus(_T("Compiling phoneme data: ")+wxString(path_source,wxConvLocal));
n_envelopes = 0;
error_count = 0;
resample_count = 0;
memset(markers_used,0,sizeof(markers_used));
memset(markers_used,0,sizeof(markers_used));
f_errors = stderr;
@@ -3666,7 +3680,7 @@ fprintf(f_errors,"\nRefs %d, Reused %d\n",count_references,duplicate_references
if(error_count > 0)
{
report += _T(" See file: 'phsource/error_log'.");
report += _T(" See file: '")+wxString(path_source,wxConvLocal)+_T("phsource/error_log'.");
wxLogError(report);
}
wxLogStatus(report + report_dict);
@@ -4136,7 +4150,11 @@ void CompilePhonemeData()
void CompileSampleRate()
{
long value;
value = wxGetNumberFromUser(_T("Compile phoneme data with a specified sample rate"), _T("Sample rate"), _T("Resample (needs sox)"), 22050, 5000, 48000);
#ifndef PLATFORM_POSIX
wxLogError(_T("Change Sample Rate needs the 'sox' program. It probably doesn't work on Windows"));
#endif
value = wxGetNumberFromUser(_T("Compile phoneme data with a specified sample rate"), _T("Sample rate"), _T("Resample (needs 'sox' program)"), 22050, 5000, 48000);
if(value > 1000)
{
+2 -2
View File
@@ -91,8 +91,8 @@ wxMenuBar *MakeMenu(int type, const char *dict_name)
data_menu = new wxMenu;
data_menu->Append(MENU_COMPILE_DICT, _("Compile &dictionary"));
data_menu->Append(MENU_COMPILE_DICT_DEBUG, _("Compile dictionary (debu&g)"));
data_menu->Append(MENU_COMPILE_PH, _("Compile &phoneme data"));
data_menu->Append(MENU_COMPILE_PH2, _("Change sample &rate"));
data_menu->Append(MENU_COMPILE_PH, _("Compile &phoneme data 22050Hz"));
data_menu->Append(MENU_COMPILE_PH2, _("Compile at sample &rate"));
data_menu->AppendSeparator();
data_menu->Append(MENU_COMPILE_MBROLA, _("Compile &mbrola phonemes list..."));
data_menu->Append(MENU_COMPILE_INTONATION, _("Compile &intonation data"));
+1 -1
View File
@@ -35,7 +35,7 @@
#include "translate.h"
#include "wave.h"
const char *version_string = "1.46.51 15.Mar.13";
const char *version_string = "1.46.53 16.Mar.13";
const int version_phdata = 0x014640;
int option_device_number = -1;
+1 -1
View File
@@ -82,7 +82,7 @@ const char *WordToString(unsigned int word)
int ix;
static char buf[5];
for(ix=0; ix<3; ix++)
for(ix=0; ix<4; ix++)
buf[ix] = word >> (ix*8);
buf[4] = 0;
return(buf);
+7 -3
View File
@@ -455,6 +455,7 @@ Translator *SelectTranslator(const char *name)
static const short stress_lengths_sk[8] = {190,190, 210,210, 0,0, 210,210};
static const short stress_lengths_ta[8] = {200, 200, 210, 210, 0, 0, 230, 230};
static const short stress_lengths_ta2[8] = {230, 230, 240, 240, 0, 0, 260, 260};
static const unsigned char stress_amps_ta[8] = {18,18, 18,18, 20,20, 22,22 };
// convert name string into a word of up to 4 characters, for the switch()
@@ -731,6 +732,7 @@ Translator *SelectTranslator(const char *name)
if(name2 == L('a','n'))
{
tr->langopts.stress_flags = S_FINAL_SPANISH | S_FINAL_DIM_ONLY | S_FINAL_NO_2;
tr->langopts.numbers2 = 0;
}
else
if(name2 == L_pap)
@@ -1423,7 +1425,7 @@ SetLengthMods(tr,3); // all equal
case L('m','r'): // Marathi
case L('t','e'): // Telugu
{
SetupTranslator(tr,stress_lengths_ta,stress_amps_ta);
SetupTranslator(tr,stress_lengths_ta2, stress_amps_ta);
tr->langopts.length_mods0 = tr->langopts.length_mods; // don't lengthen vowels in the last syllable
tr->langopts.stress_rule = STRESSPOSN_1L;
@@ -1433,9 +1435,12 @@ SetLengthMods(tr,3); // all equal
if(name2 == L('t','a'))
{
SetupTranslator(tr,stress_lengths_ta, NULL);
tr->letter_bits_offset = OFFSET_TAMIL;
tr->langopts.numbers = NUM_OMIT_1_THOUSAND ;
tr->langopts.param[LOPT_WORD_MERGE] = 1; // don't break vowels betwen words
}
else
if(name2 == L('m','r'))
{
tr->letter_bits_offset = OFFSET_DEVANAGARI;
@@ -1458,9 +1463,8 @@ SetLengthMods(tr,3); // all equal
tr->letter_bits_offset = OFFSET_TELUGU;
tr->langopts.numbers = 0x1;
}
tr->langopts.param[LOPT_WORD_MERGE] = 1; // don't break vowels betwen words
SetIndicLetters(tr); // call this after setting OFFSET_
SetLetterBitsRange(tr,LETTERGP_B,0x4e,0x4e); // chillu-virama (unofficial)
SetLetterBitsRange(tr,LETTERGP_B,0x4e,0x4e); // chillu-virama (unofficial)
}
break;
+5 -2
View File
@@ -842,7 +842,7 @@ int TranslateWord(Translator *tr, char *word_start, int next_pause, WORD_TAB *wt
char prefix_chars[0x3f + 2];
int found=0;
int end_flags;
char c_temp; // save a character byte while we temporarily replace it with space
int c_temp; // save a character byte while we temporarily replace it with space
int first_char;
int last_char = 0;
int add_plural_suffix = 0;
@@ -912,7 +912,9 @@ int TranslateWord(Translator *tr, char *word_start, int next_pause, WORD_TAB *wt
if((word_length == 1) && (wflags & FLAG_TRANSLATOR2))
{
// retranslating a 1-character word using a different language, say its name
spell_word = 1;
utf8_in(&c_temp, wordx+1); // the next character
if(!IsAlpha(c_temp) || (AlphabetFromChar(last_char) != AlphabetFromChar(c_temp)))
spell_word = 1;
}
if(option_sayas == SAYAS_KEY)
@@ -1938,6 +1940,7 @@ static int TranslateWord2(Translator *tr, char *word, WORD_TAB *wtab, int pre_pa
if(ok)
{
*p2 = '-'; // replace next space by hyphen
wtab[0].flags &= ~FLAG_ALL_UPPER; // prevent it being considered an abbreviation
flags = TranslateWord(translator, word, next_pause, wtab, NULL); // translate the combined word
if((sylimit > 0) && (CountSyllables(p) > (sylimit & 0x1f)))
{