Browse Source

Fix voice attribute suffix ignored in voice name.

lang=cs   fix number not spoken after preposition with $alt1 attribute
lang=cs   Don't allow any thousands separator.


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

+ 1
- 1
dictsource/cs_list View File

vga $abbrev vga $abbrev
wgpo $abbrev wgpo $abbrev
wri $abbrev wri $abbrev
www veveve:
www ve:ve:ve:




// Exceptions // Exceptions

+ 1
- 0
dictsource/en_list View File

Antigua ant'i:g@ Antigua ant'i:g@
Antilles ant'Ili:z Antilles ant'Ili:z
Apennine ap@naIn Apennine ap@naIn
Armageddon A@ma2g'Ed@n
Arkansas A@k@nsO: Arkansas A@k@nsO:
Athens aTInz Athens aTInz
Bahrain $2 Bahrain $2

+ 3
- 3
dictsource/hr_list View File

š S@ š S@
t t@ t t@
v v@ v v@
w dv'ost@-*UkovE
w dv'ost@-*Uko||v@
x iks x iks
y ipsilon y ipsilon
z z@ z z@
__ ts'r-t& __ ts'r-t&
_` g@-*'avIs _` g@-*'avIs
_{ 'otvo*,En&||v'itItS,&st& _{ 'otvo*,En&||v'itItS,&st&
_| okom,It&
_| okom,Its&
_} z'atvo*,En&||v'itItS,&st& _} z'atvo*,En&||v'itItS,&st&




// Conjunctions // Conjunctions
a $u $pause // and a $u $pause // and
i $u $pause // and i $u $pause // and
but $pause // but
ali $pause // but
nego $pause // but nego $pause // but
ili $u $pause // or ili $u $pause // or



+ 5
- 0
dictsource/hr_rules View File

e E e E
j) e e j) e e
e (j e e (j e
ej (K eI


.group f .group f
f f f f


.group i .group i
i i i i
ij (K iI


.group j .group j
j j j j
.group o .group o
o o o o
ou oU ou oU
oj (K oI
o (r 8


.group p .group p
p p p p


.group u .group u
u u u u
uj (K wi


.group v .group v
v v v v

+ 6
- 5
dictsource/no_list View File

_8X 'Ot:i: _8X 'Ot:i:
_9X n'It:i: _9X n'It:i:
_0C h'u-:nd@-*e:d@2 _0C h'u-:nd@-*e:d@2
_1C 'Et||h'u-:nd@-*e:d@2
_0M1 t'u-:s@n _0M1 t'u-:s@n
_1M2 m'Illi:;,u:n
_0M1 'Et||t'u-:s@n
_0M2 m'Illi:;,u:n@r _0M2 m'Illi:;,u:n@r


_1M2 'e:n||m'Illi:;,u:n


_0and u:g _0and u:g
_dpt kOmmA _dpt kOmmA


// articles // articles
en $u en $u
et $u
et Et $u
ei $u ei $u




// auxillary verbs (be, have, can, etc) // auxillary verbs (be, have, can, etc)


være $u+ være $u+
er $u
er E:r $u
var $u var $u
vært $u vært $u




// MAIN WORD DICTIONARY // MAIN WORD DICTIONARY
//********************* //*********************


+ 11
- 10
phsource/compile_report View File

pl 17 103 pl 17 103
sk 25 120 sk 25 120
cs 5 120 cs 5 120
hr 19 127
hr 23 129
ru 36 120 ru 36 120
it 28 112 it 28 112
es 6 112 es 6 112
2 b/bo base hi 2 b/bo base hi
2 b/bu base hi 2 b/bu base hi
2 b/xb base hi 2 b/xb base hi
14 d/d base fi fr hi hu pl ru it ro el sw
15 d/d_ base fi fr hi hu pl ru it ro el sw
15 d/d base fi fr hi hu pl hr ru it ro el sw
16 d/d_ base fi fr hi hu pl hr ru it ro el sw
1 d/d_dnt hi 1 d/d_dnt hi
16 d/dr base fi fr hi hu pl ru it ro el sw
17 d/dr base fi fr hi hu pl hr ru it ro el sw
1 d/tap ro 1 d/tap ro
2 d/tap1 base 2 d/tap1 base
2 d/tap2 base 2 d/tap2 base
2 d/tap3 base 2 d/tap3 base
1 d/tap_i ro 1 d/tap_i ro
12 d/xd base fi fr hi hu pl ru it ro el sw
13 d/xd base fi fr hi hu pl hr ru it ro el sw
1 d/xd_dnt hi 1 d/xd_dnt hi
2 d/xd_pzd pl ru 2 d/xd_pzd pl ru
1 d/x_tap base 1 d/x_tap base
2 ustop/p_ base hi 2 ustop/p_ base hi
1 ustop/percus10 base 1 ustop/percus10 base
8 ustop/pl base fi hi hu hr it ro 8 ustop/pl base fi hi hu hr it ro
9 ustop/pr base fi hi hu hr it ro
8 ustop/pr base fi hi hu it ro
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
2 vdiph/eeu_3 en_n en_wm 2 vdiph/eeu_3 en_n en_wm
1 vdiph/eey fi 1 vdiph/eey fi
6 vdiph/ei nl it pt is vi zh_yue 6 vdiph/ei nl it pt is vi zh_yue
1 vdiph/ei_2 hr
8 vdiph/eu en cy eo nl sk it pt vi 8 vdiph/eu en cy eo nl sk it pt vi
1 vdiph/eu_2 fi 1 vdiph/eu_2 fi
2 vdiph/&i fi hi 2 vdiph/&i fi hi
3 vdiph/@i_3 en_wm ro zh_yue 3 vdiph/@i_3 en_wm ro zh_yue
1 vdiph/&i_3 vi 1 vdiph/&i_3 vi
1 vdiph/@i_4 vi 1 vdiph/@i_4 vi
1 vdiph/ii ro
2 vdiph/ii hr ro
1 vdiph/i#i ro 1 vdiph/i#i ro
4 vdiph/oi en_wm de it vi 4 vdiph/oi en_wm de it vi
1 vdiph/oi_2 af 1 vdiph/oi_2 af
10 vdiph/ooi en en_n en_us en_rp cy eo fi no zh_yue 10 vdiph/ooi en en_n en_us en_rp cy eo fi no zh_yue
1 vdiph/ooi_2 af 1 vdiph/ooi_2 af
1 vdiph/ooi_3 en_wm
2 vdiph/ooi_3 en_wm hr
2 vdiph/ou fi zh_yue 2 vdiph/ou fi zh_yue
2 vdiph/ou_2 sk ro 2 vdiph/ou_2 sk ro
1 vdiph/ou_3 is 1 vdiph/ou_3 is
5 w/xw base 5 w/xw base
20 x/b base hi ro is 20 x/b base hi ro is
2 x/b_ base is 2 x/b_ base is
7 x/d base hi el is
14 x/d_ base fi fr hi hu pl ru it ro el is sw
9 x/d base hi hr el is
15 x/d_ base fi fr hi hu pl hr ru it ro el is ++
22 x/d_dnt base fi fr hi hu pl ru it ro sw 22 x/d_dnt base fi fr hi hu pl ru it ro sw
6 x/d_pzd pl ru 6 x/d_pzd pl ru
3 x/dzh base hi 3 x/dzh base hi

BIN
phsource/j/j_ View File


+ 46
- 9
phsource/ph_croatian View File

endphoneme endphoneme




phoneme aI
vowel starttype (a) endtype (i)
length 250
formants vdiph/ai
endphoneme


phoneme E phoneme E
vowel starttype (e) endtype (e) vowel starttype (e) endtype (e)
length 140 length 140
endphoneme endphoneme




phoneme aI
vowel starttype (a) endtype (i)
length 230
formants vdiph/ai
endphoneme


phoneme eI
vowel starttype (e) endtype (i)
length 220
formants vdiph/ei_2
linkout ;
endphoneme


phoneme iI
vowel starttype (i) endtype (i)
length 250
formants vdiph/ii
linkout ;
endphoneme


phoneme oI
vowel starttype (o) endtype (i)
length 220
formants vdiph/ooi_3
linkout ;
endphoneme





phoneme p phoneme p
vowelin f1=0 f2=1000 -50 -100 f3=-200 80 vowelin f1=0 f2=1000 -50 -100 f3=-200 80
vowelout f1=0 f2=1000 -500 -350 f3=-300 80 rms=30 vowelout f1=0 f2=1000 -500 -350 f3=-300 80 rms=30
lengthmod 2 lengthmod 2
wave ustop/p_unasp
wave ustop/p_unasp%120
before _ ustop/p_unasp_%80 before _ ustop/p_unasp_%80
before r ustop/pr
before l ustop/pl before l ustop/pl
switchvoicing b switchvoicing b
endphoneme endphoneme
endphoneme endphoneme




phoneme d
vcd alv stop
vowelin f1=2 f2=1700 -300 300 f3=-100 80 rms=45
vowelout f1=2 f2=1700 -300 300 f3=-100 80
formants d/d+x/d%50
before _ d/d_+x/d_
before r d/dr+x/d
after _ NULL
after @ d/xd
lengthmod 5
switchvoicing t
endphoneme



phoneme x phoneme x
vls vel frc vls vel frc
vowelin f1=0 f2=2300 200 400 f3=-100 80 vowelin f1=0 f2=2300 200 400 f3=-100 80

BIN
phsource/ustop/p_unasp.wav View File


BIN
phsource/vdiph/ooi_3 View File


BIN
phsource/vowel/i_6 View File


+ 1
- 1
src/compiledata.cpp View File

if((f_errors = fopen_log(f_errors,fname,"w")) == NULL) if((f_errors = fopen_log(f_errors,fname,"w")) == NULL)
f_errors = stderr; f_errors = stderr;


sprintf(fname,"%s/%s",path_home,"phondata_manifest");
sprintf(fname,"%s/%s",path_home,"phondata-manifest");
if((f_phcontents = fopen_log(f_phcontents,fname,"w")) == NULL) if((f_phcontents = fopen_log(f_phcontents,fname,"w")) == NULL)
f_phcontents = stderr; f_phcontents = stderr;



+ 4
- 1
src/spectseq.cpp View File

fname_speech = WavFileName(); fname_speech = WavFileName();
OpenWaveFile2(fname_speech); OpenWaveFile2(fname_speech);


first=1;
first = 0;
if(start > 0)
first=1; // a selection, use fade-in

sp2 = NULL; sp2 = NULL;
for(ix=start; ix<=end; ix++) for(ix=start; ix<=end; ix++)
{ {

+ 6
- 1
src/tr_languages.cpp View File

tr->langopts.spelling_stress = 1; tr->langopts.spelling_stress = 1;
tr->langopts.param[LOPT_COMBINE_WORDS] = 4; // combine some prepositions with the following word tr->langopts.param[LOPT_COMBINE_WORDS] = 4; // combine some prepositions with the following word


tr->langopts.numbers = 0x1c0d + 0x84000;
// tr->langopts.numbers = 0x1c0d + 0x84000;
tr->langopts.numbers = 0x1c01 + 0x84000;
tr->langopts.thousands_sep = 0; //no thousands separator
tr->langopts.decimal_sep = ',';


if(name2 == L('c','s')) if(name2 == L('c','s'))
{
tr->langopts.numbers2 = 0x8; // variant numbers before milliards tr->langopts.numbers2 = 0x8; // variant numbers before milliards
}


SetLetterVowel(tr,'y'); SetLetterVowel(tr,'y');
SetLetterVowel(tr,'r'); SetLetterVowel(tr,'r');

+ 11
- 4
src/translate.cpp View File

int first_phoneme = 1; int first_phoneme = 1;
int source_ix; int source_ix;
int len; int len;
int limit;
int sylimit; // max. number of syllables in a word to be combined with a preceding preposition
char *new_language; char *new_language;
unsigned char bad_phoneme[4]; unsigned char bad_phoneme[4];


{ {
flags = translator->TranslateWord(word, next_pause, wtab); flags = translator->TranslateWord(word, next_pause, wtab);


if((flags & FLAG_ALT2_TRANS) && ((limit = langopts.param[LOPT_COMBINE_WORDS]) > 0))
if((flags & FLAG_ALT2_TRANS) && ((sylimit = langopts.param[LOPT_COMBINE_WORDS]) > 0))
{ {
char *p2; char *p2;
int ok = 1; int ok = 1;
int flags2; int flags2;
int c_word2;
char ph_buf[N_WORD_PHONEMES]; char ph_buf[N_WORD_PHONEMES];


// LANG=cs,sk // LANG=cs,sk
p2 = word; p2 = word;
while(*p2 != ' ') p2++; while(*p2 != ' ') p2++;


if(limit & 0x100)
utf8_in(&c_word2, p2+1, 0); // first character of the next word;
if(!iswalpha(c_word2))
{
ok =0;
}

if(sylimit & 0x100)
{ {
// only if the second word has $alt attribute // only if the second word has $alt attribute
strcpy(ph_buf,word_phonemes); strcpy(ph_buf,word_phonemes);
{ {
*p2 = '-'; // replace next space by hyphen *p2 = '-'; // replace next space by hyphen
flags = translator->TranslateWord(word, next_pause, wtab); // translate the combined word flags = translator->TranslateWord(word, next_pause, wtab); // translate the combined word
if(CountSyllables(p) > (limit & 0xf))
if(CountSyllables(p) > (sylimit & 0xf))
{ {
// revert to separate words // revert to separate words
*p2 = ' '; *p2 = ' ';

+ 10
- 1
src/voices.cpp View File

espeak_VOICE *v; espeak_VOICE *v;
int variant=0; int variant=0;
char *p; char *p;
char variant_name[20];
static char buf[60]; static char buf[60];


strncpy0(buf,name,sizeof(buf)); strncpy0(buf,name,sizeof(buf));
variant = atoi(p+1); variant = atoi(p+1);
} }


// first check for a voice with this filename
// first check for a voice with this filename
if(LoadVoice(buf,1) != NULL) if(LoadVoice(buf,1) != NULL)
{ {
voice_selected = first_voice; voice_selected = first_voice;

if(variant > 0)
{
// apply a voice variant
sprintf(variant_name,"!variant%d",variant);
LoadVoice(variant_name,2);
}

WavegenSetVoice(voice); WavegenSetVoice(voice);
return(EE_OK); return(EE_OK);
} }

Loading…
Cancel
Save