Browse Source

Write version_phdata number to phondata file so that the byte order is correct for both little and big-endian processors.

Adjust phoneme [R].
Lang=ru  Revert to phonemes [S] and [Z] instead of [s.] and [z.].
Lang=ru  Remove rule to give 1st syllable a secondary stress if the second syllable has a primary stress.


git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@9 d46cf337-b52f-0410-862d-fd96e6ae7743
master
jonsd 18 years ago
parent
commit
3899776fad

+ 5
- 5
dictsource/ru_list View File

_3 t;r'i _3 t;r'i
_4 ts;It'yr;I _4 ts;It'yr;I
_5 p;'jat; _5 p;'jat;
_6 s.'Es;t;
_6 S'Es;t;
_7 s;'em _7 s;'em
_8 v'os;E2m _8 v'os;E2m
_9 d;'ev;It; _9 d;'ev;It;
_13 tr;In'AttsVt; _13 tr;In'AttsVt;
_14 ts;It'y@-*nVttsVt; _14 ts;It'y@-*nVttsVt;
_15 p;Itn'AttsVt; _15 p;Itn'AttsVt;
_16 s.E#stn'AttsVt;
_16 SE#stn'AttsVt;
_17 s;Imn'AttsVt; _17 s;Imn'AttsVt;
_18 vOs;Imn'AttsVt; _18 vOs;Imn'AttsVt;
_19 d;E2v;Itn'AttsVt; _19 d;E2v;Itn'AttsVt;
_3X tr;'ittsVt; _3X tr;'ittsVt;
_4X s'o@-*Ok _4X s'o@-*Ok
_5X p;Id;d;Is;'jat _5X p;Id;d;Is;'jat
_6X s.E2z;d;d;Is;'jat
_6X SE2z;d;d;Is;'jat
_7X s;'emd;E2s;It _7X s;'emd;E2s;It
_8X v'os;E2md;E2s;It _8X v'os;E2md;E2s;It
_9X d;E2v;In'ostO _9X d;E2v;In'ostO
_3C tr;'ista _3C tr;'ista
_4C ts;It'yr;E2sta _4C ts;It'yr;E2sta
_5C p;,It;s'ot _5C p;,It;s'ot
_6C s.,E#s;t;s'ot
_6C S,E#s;t;s'ot
_7C s;,Ims'ot _7C s;,Ims'ot
_8C vOs;Ims'ot _8C vOs;Ims'ot
_9C d;E2v;It;s'ot _9C d;E2v;It;s'ot




// questions // questions
что s.to $u $pause // what, that
что Sto $u $pause // what, that




// misc. // misc.

+ 60
- 63
dictsource/ru_rules View File





.group ж .group ж
_) ж (_ z.E
ж (кY s.
ж (кь s.
ж (пY s.
ж (пь s.
ж (сь s.
ж (сY s.
ж (ть s.
ж (тY s.
ж (фь s.
ж (фY s.
ж (ффь s.
ж (ффY s.
ж (хь s.
ж (хY s.
ж (хкY s.
ж (хкь s.
ж z.
_) ж (_ ZE
ж (кY S
ж (кь S
ж (пY S
ж (пь S
ж (сь S
ж (сY S
ж (ть S
ж (тY S
ж (фь S
ж (фY S
ж (ффь S
ж (ффY S
ж (хь S
ж (хY S
ж (хкY S
ж (хкь S
ж Z


.group з .group з
_) з (_ zE _) з (_ zE
з (сь s; з (сь s;
з (сY s; з (сY s;


з (ж z.
з (ш s.
з (ж Z
з (ш S
з (щ s;s; з (щ s;s;
з (ч s;s; з (ч s;s;
з z з z


.group л .group л
_) л (_ El^ _) л (_ El^
// л (_ l^ // rule removed
л (Y l^ л (Y l^
л l л l




.group н .group н
_) н (_ En _) н (_ En
н (ь n;
н (ь n^
н (Y n; н (Y n;
н (B n;
н (дь n;
н (дY n;
н (дB n;
н (ть n;
н (тY n;
н (зь n;
н (зY n;
н (сь n;
н (сY n;
н (нь n;
н (нY n;
н (нB n;
н (B n^
н (дь n^
н (дY n^
н (дB n^
н (ть n^
н (тY n^
н (зь n^
н (зY n^
н (сь n^
н (сY n^
н (нь n^
н (нY n^
н (нB n^


н n н n


.group о .group о
о o о o
о (B oj о (B oj
о (Cь oj
о (FY oj о (FY oj



.group п .group п
_) п (_ pE _) п (_ pE
п (б b п (б b
с (дY z; с (дY z;
с (дB z; с (дB z;


с (ж z.
с (ш s.
с (щ s;
с (ч s;
с (ж Z
с (ш S
с (щ s;s;
с (ч s;s;


с s с s




т (ж d т (ж d


т t
т t


.group у .group у
_) у (_ u _) у (_ u




.group ш .group ш
_) ш (_ s.A
ш (б z.
ш (бь z.
ш (бY z.
ш (бмь z.
ш (бмY z.
ш (бвь z.
ш (бвY z.
ш (г z.
ш (гь z.
ш (гY z.
ш (д z.
ш (дь z.
ш (дY z.
ш (дB z.
ш (ж z.
ш (з z.
ш (зь z.
ш (зY z.
_) ш (_ SA
ш (б Z
ш (бь Z
ш (бY Z
ш (бмь Z
ш (бмY Z
ш (бвь Z
ш (бвY Z
ш (г Z
ш (гь Z
ш (гY Z
ш (д Z
ш (дь Z
ш (дY Z
ш (дB Z
ш (ж Z
ш (з Z
ш (зь Z
ш (зY Z
ш s.
ш S


.group щ .group щ
_) щ (_ S;ja _) щ (_ S;ja

+ 4
- 4
phsource/compile_report View File

hu 24 109 hu 24 109
nl 25 112 nl 25 112
pl 17 103 pl 17 103
sk 22 118
sk 23 118
cs 7 119 cs 7 119
hr 16 122 hr 16 122
ru 36 120 ru 36 120
7 ustop/p_unasp base fi hi hu hr it ro 7 ustop/p_unasp base fi hi hu hr it ro
6 ustop/p_unasp_ fi hi hu hr it ro 6 ustop/p_unasp_ fi hi hu hr it ro
2 ustop/t base hi 2 ustop/t base hi
4 ustop/t_ base hi el
5 ustop/t_ base hi sk el
26 ustop/t_dnt base fi fr hi hu pl hr ru it ro vi sw 26 ustop/t_dnt base fi fr hi hu pl hr ru it ro vi sw
2 ustop/t_dnt2 hi vi 2 ustop/t_dnt2 hi vi
4 ustop/t_pzd pl ru 4 ustop/t_pzd pl ru
7 ustop/tr base hi ru el
9 ustop/tr base hi sk ru el
8 ustop/ts de eo hu pl ru it ro zh_yue 8 ustop/ts de eo hu pl ru it ro zh_yue
2 ustop/tsh base zh_yue 2 ustop/tsh base zh_yue
2 ustop/tsh_ base zh_yue 2 ustop/tsh_ base zh_yue
2 ustop/t_short hi el
3 ustop/t_short hi sk el
8 ustop/ts_pzd base hi ru 8 ustop/ts_pzd base hi ru
2 ustop/ts_pzd_ hi hu 2 ustop/ts_pzd_ hi hu
2 ustop/ts_pzd2 hi hu 2 ustop/ts_pzd2 hi hu

+ 12
- 0
phsource/ph_slovak View File

after _ w/w2 after _ w/w2
endphoneme endphoneme


phoneme t
vls alv stop
vowelin f1=0 f2=1700 -300 300 f3=-100 80
vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20
lengthmod 2
wave ustop/t_short
before _ ustop/t_
before r ustop/tr
before R ustop/tr
switchvoicing d
endphoneme




+ 3
- 2
phsource/phonemes View File

liquid liquid
vowelin f1=0 f2=1700 -300 300 f3=-300 80 vowelin f1=0 f2=1700 -300 300 f3=-300 80
vowelout f1=2 f2=1700 -300 300 f3=-300 80 brk vowelout f1=2 f2=1700 -300 300 f3=-300 80 brk
formants r3/r_trill+r3/r_trill.wav%60
formants r3/r_trill+r3/r_trill.wav%45
trill
lengthmod 6 lengthmod 6
endphoneme endphoneme


vowelout f1=0 f2=1800 -100 300 f3=-300 80 vowelout f1=0 f2=1800 -100 300 f3=-300 80
length 100 length 100
lengthmod 3 lengthmod 3
wave ufric/sh_rfx%80
wave ufric/sh_rfx%90
before _ ufric/sh_rfx%60 before _ ufric/sh_rfx%60
switchvoicing z. switchvoicing z.
endphoneme endphoneme

BIN
phsource/r3/r_trill View File


BIN
phsource/r3/r_trill.wav View File


+ 2
- 2
src/compiledata.cpp View File

} }


// write a word so that further data doesn't start at displ=0 // write a word so that further data doesn't start at displ=0
fwrite(&version_phdata,4,1,f_phdata);
fwrite(&version_phdata,4,1,f_phindex);
Write4Bytes(f_phdata,version_phdata);
Write4Bytes(f_phindex,version_phdata);


memset(ref_hash_tab,0,sizeof(ref_hash_tab)); memset(ref_hash_tab,0,sizeof(ref_hash_tab));



+ 11
- 1
src/dictionary.cpp View File

stress = 3; stress = 3;




if((langopts.stress_flags & 0x1000) && (vowel_stress[1] == 0))
if((langopts.stress_flags & 0x1000) && (vowel_count == 2))
{
// Two syllable word, if one syllable has primary stress, then give the other secondary stress
if(vowel_stress[1] == 4)
vowel_stress[2] = 3;
if(vowel_stress[2] == 4)
vowel_stress[1] = 3;
}
#if deleted
if((langopts.stress_flags & 0x2000) && (vowel_stress[1] == 0))
{ {
// If there is only one syllable before the primary stress, give it a secondary stress // If there is only one syllable before the primary stress, give it a secondary stress
if((vowel_count > 2) && (vowel_stress[2] >= 4)) if((vowel_count > 2) && (vowel_stress[2] >= 4))
vowel_stress[1] = 3; vowel_stress[1] = 3;
} }
} }
#endif


for(v=1; v<vowel_count; v++) for(v=1; v<vowel_count; v++)
{ {

+ 1
- 1
src/synthdata.cpp View File

#include "translate.h" #include "translate.h"
#include "wave.h" #include "wave.h"


const char *version_string = "1.24.07 11.May.07";
const char *version_string = "1.24.08 12.May.07";
const int version_phdata = 0x012201; const int version_phdata = 0x012201;


int option_device_number = -1; int option_device_number = -1;

+ 2
- 2
src/tr_languages.cpp View File

langopts.param[LOPT_REGRESSIVE_VOICING] = 1; langopts.param[LOPT_REGRESSIVE_VOICING] = 1;
langopts.param[LOPT_KEEP_UNSTR_VOWEL] = 1; langopts.param[LOPT_KEEP_UNSTR_VOWEL] = 1;
langopts.stress_rule = 5; langopts.stress_rule = 5;
langopts.stress_flags = 0x1020;
langopts.stress_flags = 0x0020; // waas 0x1010


langopts.numbers = 0x409; langopts.numbers = 0x409;
langopts.phoneme_change = 1; langopts.phoneme_change = 1;
/*4*/ {'i', PH('I','#'), 'i', 'i', PH('I','#'), 'i'}, // I# /*4*/ {'i', PH('I','#'), 'i', 'i', PH('I','#'), 'i'}, // I#
/*5*/ {'E', PH('E','#'), 'E', 'e', PH('E','#'), 'e'}, // E# /*5*/ {'E', PH('E','#'), 'E', 'e', PH('E','#'), 'e'}, // E#
/*6*/ {'E', PH('E','2'), 'E', 'e', PH('E','2'), 'e'}, // E2 Uses 3,4,5 columns. /*6*/ {'E', PH('E','2'), 'E', 'e', PH('E','2'), 'e'}, // E2 Uses 3,4,5 columns.
/*7*/ {'i', 'V', 'i', 'A', 'V', 'A'}, // V#
/*7*/ {PH('j','a'), 'V', PH('j','a'), 'A', 'V', 'A'}, // V#
/*8*/ {PH('j','a'), 'I', PH('j','a'), 'e', 'I', 'e'}, // I3 Uses 3,4,5 columns. /*8*/ {PH('j','a'), 'I', PH('j','a'), 'e', 'I', 'e'}, // I3 Uses 3,4,5 columns.
/*9*/ {'e', 'I', 'e', 'e', 'I', 'e'}, // I2 /*9*/ {'e', 'I', 'e', 'e', 'I', 'e'}, // I2
/*10*/ {'e', PH('E', '2'), 'e', 'e', PH('E','2'), 'e'} // E3 /*10*/ {'e', PH('E', '2'), 'e', 'e', PH('E','2'), 'e'} // E3

+ 2
- 1
src/translate.h View File

// bit6=light syllable followed by heavy, move secondary stress to the heavy syllable. LANG=Finnish // bit6=light syllable followed by heavy, move secondary stress to the heavy syllable. LANG=Finnish
// bit8=stress last syllable if it doesn't end in a vowel // bit8=stress last syllable if it doesn't end in a vowel
// bit9=stress last syllable if it doesn't end in vowel or "s" or "n" LANG=Spanish // bit9=stress last syllable if it doesn't end in vowel or "s" or "n" LANG=Spanish
// bit12= If there is only one syllable before the primary stress, give it a secondary stress
// bit12= In a 2-syllable word, if one has primary stress then give the other secondary stress
// bit13= If there is only one syllable before the primary stress, give it a secondary stress


int stress_flags; int stress_flags;
int unstressed_wd1; // stress for $u word of 1 syllable int unstressed_wd1; // stress for $u word of 1 syllable

Loading…
Cancel
Save