Browse Source

[1.30.14] phoneme [?], glottal stop, changed type from pause to plosive.

lang=id: Initial draft


git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@125 d46cf337-b52f-0410-862d-fd96e6ae7743
master
jonsd 17 years ago
parent
commit
1a2f454af3

+ 20
- 10
dictsource/dict_phonemes View File

OI oI o~ u uI W y Y@ OI oI o~ u uI W y Y@
Yy Yy


- : ; b c d dZ f
g h j k l m n N
p r r- s S t tS v
w x2 z Z
- : ; ? b c d dZ
f g h j k l m n
N p r r- s S t tS
v w x2 z Z




Dictionary cs_dict Dictionary cs_dict


Dictionary la_dict Dictionary la_dict


@- a a: aI aU E e: EU
I i: O o: OI U u: y
y:
@- a a: E e: I i: O
o: U u:


* : ; <h> b d f g
h j k l m n N p
r R s t w z
* : ; b d f g h
k l m n N p r R
s t w z




Dictionary grc_dict Dictionary grc_dict
j k l L l^ m n N j k l L l^ m n N
n^ p r R s S t tS n^ p r R s S t tS
ts tS; v x z Z ts tS; v x z Z


Dictionary id_dict

@ a aI aU e E i o
O u

* ? b d dZ f g h
j k l m n N n^ p
q r R s S t tS v
w x z

+ 3
- 2
dictsource/la_list View File

vi wI // word, not numeric vi wI // word, not numeric


i 'u:nUs $capital i 'u:nUs $capital
ii d'UO $capital
vi s,Eks $capital
ii d'UO $allcaps
vi s,Eks $allcaps


// eSpeak translates Roman numbers to Arabic numerals
_0 n'Ulla _0 n'Ulla
_1 'u:nUs _1 'u:nUs
_2 d'UO _2 d'UO

+ 8
- 0
dictsource/la_rules View File

// since this character is incompatible with older unicode versions. // since this character is incompatible with older unicode versions.




.replace
â ā
ê ē
î ī
ô ō
û ū
ŷ yy



.L01 ae au eu oe a e i o u yy y ā ē ī ō ū ë ü é æ .L01 ae au eu oe a e i o u yy y ā ē ī ō ū ë ü é æ
.L02 ng qu pr tr cr chr br dr gr pl cl bl gl ph th ch .L02 ng qu pr tr cr chr br dr gr pl cl bl gl ph th ch

+ 5
- 4
dictsource/no_list View File

_8 'Ot:@2 _8 'Ot:@2
_9 n'i: _9 n'i:
_10 t'i: _10 t'i:
_11 'Elle:v@2
_12 t'u:lv
_11 'Elv@2
_12 t'Olv
_13 t@-*'Et:@n _13 t@-*'Et:@n
_14 fj'Urt@n _14 fj'Urt@n
_15 f'Emt@n _15 f'Emt@n
_7X s'yt:i: _7X s'yt:i:
_8X 'Ot:i: _8X 'Ot:i:
_9X n'It:i: _9X n'It:i:
_0C h'u-:nd@-*e:d@2
_1C 'Et||h'u-:nd@-*e:d@2
_0C h'u-nd@-*@2
_1C 'Et||h'u-nd@-*@2
_0M1 t'u-:s@n _0M1 t'u-:s@n
_1M1 'Et||t'u-:s@n _1M1 'Et||t'u-:s@n
_0M2 m'Illi:;,u:n@r _0M2 m'Illi:;,u:n@r
der dE:r der dE:r
her hE:r her hE:r
kom kOm kom kOm
noe nu:@2 // ??
system syst'e:m system syst'e:m

+ 27
- 12
phsource/compile_report View File

44 phoneme tables
45 phoneme tables
new total new total
base 97 97 base 97 97
base2 24 116 base2 24 116
zh 61 144 zh 61 144
sw 14 106 sw 14 106
th 50 140 th 50 140
id 14 118


Data file Used by Data file Used by
b/b [b] base b/b [b] base
[k] zhy [k] zhy
ustop/k_unasp_ [k] zh ustop/k_unasp_ [k] zh
[k] th [k] th
ustop/null [?] base
ustop/p [p] base ustop/p [p] base
[p] fr [p] fr
[ph] hi [ph] hi
vdiph/aau_3 [aU] hi vdiph/aau_3 [aU] hi
vdiph/aau_4 [aU] vi vdiph/aau_4 [aU] vi
vdiph/ae [E:] fr_ca vdiph/ae [E:] fr_ca
[aI] la
[ai] zh [ai] zh
vdiph/ae_2 [aI] en_n vdiph/ae_2 [aI] en_n
vdiph/ai [aI] base2 vdiph/ai [aI] base2
[a:I] vi [a:I] vi
[aI] th [aI] th
[a:I] th [a:I] th
[aI] id
vdiph/ai_2 [aI] cy vdiph/ai_2 [aI] cy
[aY] cy [aY] cy
vdiph/ai_3 [aI] no vdiph/ai_3 [aI] no
vdiph/ai_4 [aI] af vdiph/ai_4 [aI] af
vdiph/ai_5 [aI] de vdiph/ai_5 [aI] de
[aI] la
vdiph/ai_6 [aI] en_rp vdiph/ai_6 [aI] en_rp
vdiph/ai_7 [aI] en_sc vdiph/ai_7 [aI] en_sc
[aI2] en_sc [aI2] en_sc
[aU] sk [aU] sk
[aU] it [aU] it
[aU] is [aU] is
[aU] id
vdiph/ee-e [E:] hi vdiph/ee-e [E:] hi
vdiph/eei [EI] base2 vdiph/eei [EI] base2
[eI] en [eI] en
[EI] vi [EI] vi
vdiph/eei_2 [eI] eo vdiph/eei_2 [eI] eo
[ei] fi [ei] fi
[eI] id
vdiph/eei_3 [eI] en_rp vdiph/eei_3 [eI] en_rp
[eI] sk [eI] sk
vdiph/eeu [EU] pt vdiph/eeu [EU] pt
vdiph/@u_2 [oU] en_rp vdiph/@u_2 [oU] en_rp
vdiph/@u_3 [@U] ro vdiph/@u_3 [@U] ro
vdiph/@u_en [oU] en vdiph/@u_en [oU] en
[@U] id
vdiph/ui [uI] base2 vdiph/ui [uI] base2
[uI] en [uI] en
[uI] eo [uI] eo
[A] hr [A] hr
[a] hr [a] hr
[a] it [a] it
[a:] la
[a] zh [a] zh
[a] th [a] th
[a:] th [a:] th
[a] id
vowel/a# [a/] base2 vowel/a# [a/] base2
[a2] en_sc [a2] en_sc
[a2] en_wi [a2] en_wi
[A@] en_wi [A@] en_wi
[aa] en_wi [aa] en_wi
[a] eo [a] eo
[a] la
[A] pt [A] pt
[a] pt_pt [a] pt_pt
[a] ro [a] ro
[aa] en_sc [aa] en_sc
[a] fr [a] fr
[a:] cs [a:] cs
[a:] la
[a] is [a] is
vowel/a#_3 [a2] en vowel/a#_3 [a2] en
[a2] en_n [a2] en_n
vowel/a_4 [a/] el vowel/a_4 [a/] el
[a] vi [a] vi
vowel/a_5 [a/] it vowel/a_5 [a/] it
[a] la
[a] sv [a] sv
[a] sw [a] sw
vowel/aa [a] fi vowel/aa [a] fi
[e] vi [e] vi
[e] th [e] th
[e:] th [e:] th
[e] id
vowel/e# [I] en_sc vowel/e# [I] en_sc
[I2] en_sc [I2] en_sc
vowel/e_2 [eI] en_sc vowel/e_2 [eI] en_sc
[E] pt_pt [E] pt_pt
[E] no [E] no
[E] is [E] is
[E] id
[E2] id
vowel/e_mid2 [E] af vowel/e_mid2 [E] af
[E] de [E] de
[E2] de [E2] de
vowel/i_6 [i:] en_us vowel/i_6 [i:] en_us
[i] ta [i] ta
[i] hr [i] hr
[i] id
vowel/i_en [i:] en vowel/i_en [i:] en
[i] vi [i] vi
vowel/i_fnt [i:] en_wi vowel/i_fnt [i:] en_wi
vowel/ii# [Y] cy vowel/ii# [Y] cy
[y] pl [y] pl
[Y] ru [Y] ru
vowel/ii_2 [I] la
[i] zh
vowel/ii_2 [i] zh
vowel/ii_3 [I] cy vowel/ii_3 [I] cy
[I] fi [I] fi
[I] hi [I] hi
[I2] en_n [I2] en_n
vowel/ii_5 [I] en_wi vowel/ii_5 [I] en_wi
[I2] en_wi [I2] en_wi
[I] la
vowel/ii_6 [I] en_wm vowel/ii_6 [I] en_wm
[I2] en_wm [I2] en_wm
[I] sr [I] sr
[@2] hi [@2] hi
[@] ro [@] ro
[@2] no [@2] no
[@] id
vowel/o [o] base2 vowel/o [o] base2
[o:] en [o:] en
[oU] en_wi [oU] en_wi
[o:] ta [o:] ta
[o] it [o] it
[o/] it [o/] it
[o:] la
[O] la
[o] pt_pt [o] pt_pt
[o] grc [o] grc
[o:] sv [o:] sv
[u] zh [u] zh
[o] th [o] th
[o:] th [o:] th
[o] id
vowel/o- [o-] zh vowel/o- [o-] zh
vowel/o_2 [o:] cy vowel/o_2 [o:] cy
[o:] hi [o:] hi
[o:] hu [o:] hu
[o:] la
[o:] no [o:] no
vowel/o-_2 [V] en_n vowel/o-_2 [V] en_n
[V] en_wm [V] en_wm
[O@] en_wi [O@] en_wi
[O] de [O] de
[o] eo [o] eo
[O] la
[o] es [o] es
[o] el [o] el
[O] sv [O] sv
[o] zhy [o] zhy
[O] th [O] th
[O:] th [O:] th
[O] id
vowel/oo_1 [O:] en_n vowel/oo_1 [O:] en_n
[O:] en_rp [O:] en_rp
[O@] en_rp [O@] en_rp
[u] eo [u] eo
[U] fr [U] fr
[u:] cs [u:] cs
[u:] la
[U] la
[u] zh [u] zh
[u] th [u] th
[u:] th [u:] th
[u] id
vowel/u# [u-] en vowel/u# [u-] en
[u:] en_sc [u:] en_sc
vowel/u_2 [u1] fi vowel/u_2 [u1] fi
[u:] no [u:] no
[u] is [u] is
[u] zhy [u] zhy
vowel/u_bck2 [u:] la
vowel/u_fnt [u:] en_rp vowel/u_fnt [u:] en_rp
vowel/uu [U] en vowel/uu [U] en
[U] en_wm [U] en_wm
vowel/uu_2 [U] base2 vowel/uu_2 [U] base2
[U] de [U] de
[U] la
vowel/uu_3 [u] af vowel/uu_3 [u] af
vowel/uu_4 [U] fi vowel/uu_4 [U] fi
[U] sv [U] sv
[y] fi [y] fi
[y:] hu [y:] hu
[y] nl [y] nl
[y] la
[yu] zhy [yu] zhy
[y] zh [y] zh
vowel/y# [Y:] en vowel/y# [Y:] en
vowel/y## [y#] is vowel/y## [y#] is
vowel/y_2 [y] fr vowel/y_2 [y] fr
[y"] fr [y"] fr
[y:] la
vowel/y#_2 [Y] hu vowel/y#_2 [Y] hu
[Y:] sv [Y:] sv
vowel/y_3 [y] af vowel/y_3 [y] af
vowel/yy_3 [y] sv vowel/yy_3 [y] sv
vowel/yy_4 [y] de vowel/yy_4 [y] de
[y] hu [y] hu
[y] la
[y:] la
[y] grc [y] grc
[y] is [y] is
vwl_af/@ [@] af vwl_af/@ [@] af

+ 24
- 24
phsource/ph_latin View File



phoneme a phoneme a
vowel starttype (a) endtype (a) vowel starttype (a) endtype (a)
length 180
formants vowel/a_2
length 170
formants vowel/a_5
endphoneme endphoneme




phoneme I phoneme I
vowel starttype (i) endtype (i) vowel starttype (i) endtype (i)
length 150 length 150
formants vowel/ii_2
formants vowel/ii_5
linkout ; linkout ;
endphoneme endphoneme




phoneme O phoneme O
vowel starttype (o) endtype (o) vowel starttype (o) endtype (o)
length 170
formants vowel/oo
length 160
formants vowel/o
endphoneme endphoneme




phoneme U phoneme U
vowel starttype (u) endtype (u) vowel starttype (u) endtype (u)
length 160 length 160
formants vowel/uu_2
formants vowel/u
endphoneme endphoneme




phoneme a: phoneme a:
vowel starttype (a) endtype (a) vowel starttype (a) endtype (a)
length 250
formants vowel/a
length 270
formants vowel/a_3
endphoneme endphoneme




phoneme e: phoneme e:
vowel starttype (e) endtype (e) vowel starttype (e) endtype (e)
length 240
length 260
formants vowel/e formants vowel/e
endphoneme endphoneme




phoneme i: phoneme i:
vowel starttype (i) endtype (i) vowel starttype (i) endtype (i)
length 220
length 240
formants vowel/i_2 formants vowel/i_2
after w w/wi2 after w w/wi2
endphoneme endphoneme


phoneme o: phoneme o:
vowel starttype (o) endtype (o) vowel starttype (o) endtype (o)
length 240
formants vowel/o
length 250
formants vowel/o_2
endphoneme endphoneme




phoneme u: phoneme u:
vowel starttype (u) endtype (u) vowel starttype (u) endtype (u)
length 230
formants vowel/u
length 250
formants vowel/u_bck2
endphoneme endphoneme




phoneme y phoneme y
vowel starttype (u) endtype (u)
vowel starttype (i) endtype (i)
length 150 length 150
formants vowel/yy_4
formants vowel/y
endphoneme endphoneme


phoneme y: phoneme y:
vowel starttype (u) endtype (u)
length 240
formants vowel/yy_4
vowel starttype (i) endtype (i)
length 250
formants vowel/y_2
endphoneme endphoneme






phoneme aI phoneme aI
vowel starttype (a) endtype (i) vowel starttype (a) endtype (i)
length 250
formants vdiph/ai_5
length 270
formants vdiph/ae
endphoneme endphoneme




phoneme eI phoneme eI
vowel starttype (e) endtype (i) vowel starttype (e) endtype (i)
length 250
length 270
formants vdiph/ei formants vdiph/ei
endphoneme endphoneme




phoneme EU phoneme EU
vowel starttype (e) endtype (u) vowel starttype (e) endtype (u)
length 260
length 270
formants vdiph/eeu_2 formants vdiph/eeu_2
endphoneme endphoneme




phoneme OI phoneme OI
vowel starttype (o) endtype (i) vowel starttype (o) endtype (i)
length 230
length 250
formants vdiph/oi formants vdiph/oi
endphoneme endphoneme



+ 6
- 6
phsource/phonemes View File

endphoneme endphoneme


phoneme ? // glottal stop phoneme ? // glottal stop
pause
vls glt stop
vowelin glstop vowelin glstop
vowelout glstop vowelout glstop
formants NULL
starttype _ endtype _
length 45
lengthmod 5 // ??
beforenotvowel _ // change to pause_short
wave ustop/null
lengthmod 2 // ??
nolink nolink
endphoneme endphoneme


phonemetable th base phonemetable th base
include ph_thai include ph_thai


phonemetable id base2
include ph_indonesian


BIN
phsource/vdiph/ae View File


BIN
phsource/vowel/o_3 View File


+ 9
- 2
src/readclause.cpp View File

int clear_skipping_text = 0; // next clause should clear the skipping_text flag int clear_skipping_text = 0; // next clause should clear the skipping_text flag
int count_characters = 0; int count_characters = 0;
int sayas_mode; int sayas_mode;
int ssml_ignore_l_angle = 0;


static const char *punct_stop = ".:!?"; // pitch fall if followed by space static const char *punct_stop = ".:!?"; // pitch fall if followed by space
static const char *punct_close = ")]}>;'\""; // always pitch fall unless followed by alnum static const char *punct_close = ")]}>;'\""; // always pitch fall unless followed by alnum


// alter tone for announce punctuation or capitals // alter tone for announce punctuation or capitals
static const char *tone_punct_on = "\001+50R\001+15T"; // add reverberation, reduce low frequencies
static const char *tone_punct_on = "\001+50R\001+10T"; // add reverberation, reduce low frequencies
static const char *tone_punct_off = "\001R\001T"; static const char *tone_punct_off = "\001R\001T";


// punctuations symbols that can end a clause // punctuations symbols that can end a clause
{ {
// end the clause now and pick up the punctuation next time // end the clause now and pick up the punctuation next time
UngetC(c2); UngetC(c2);
if(option_ssml)
{
if(c1 == '<')
ssml_ignore_l_angle = c1; // this was &lt; which was converted to <, don't pick it up again as <
}
ungot_char2 = c1; ungot_char2 = c1;
buf[bufix] = ' '; buf[bufix] = ' ';
buf[bufix+1] = 0; buf[bufix+1] = 0;
} }
} }
else else
if(c1 == '<')
if((c1 == '<') && !ssml_ignore_l_angle)
{ {
// SSML Tag // SSML Tag
n_xml_buf = 0; n_xml_buf = 0;
continue; continue;
} }
} }
ssml_ignore_l_angle=0;


if(ignore_text) if(ignore_text)
continue; continue;

+ 1
- 1
src/synthdata.cpp View File

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


const char *version_string = "1.30.12 14.Jan.08";
const char *version_string = "1.30.14 15.Jan.08";
const int version_phdata = 0x013010; const int version_phdata = 0x013010;


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

+ 13
- 1
src/tr_languages.cpp View File

} }
break; break;


case L('i','d'): // Indonesian
{
static const short stress_lengths_id[8] = {160, 200, 180, 180, 0, 0, 220, 240};
static const unsigned char stress_amps_id[8] = {16,18, 18,18, 20,22, 22,21 };
tr = new Translator();
SetupTranslator(tr,stress_lengths_id,stress_amps_id);
tr->langopts.stress_rule = 2;
tr->langopts.numbers = 0x1809 + NUM_ROMAN;
tr->langopts.stress_flags = 0x6 | 0x10;
}
break;

case L('i','s'): // Icelandic case L('i','s'): // Icelandic
{ {
static const unsigned char stress_amps_is[] = {16,16, 20,20, 20,24, 24,22 }; static const unsigned char stress_amps_is[] = {16,16, 20,20, 20,24, 24,22 };
case L('n','o'): // Norwegian case L('n','o'): // Norwegian
{ {
static const unsigned char stress_amps_no[] = {16,16, 20,20, 20,24, 24,22 }; static const unsigned char stress_amps_no[] = {16,16, 20,20, 20,24, 24,22 };
static const short stress_lengths_no[8] = {160,140, 200,190, 0,0, 220,240};
static const short stress_lengths_no[8] = {160,140, 200,190, 0,0, 220,210};
tr = new Translator(); tr = new Translator();
SetupTranslator(tr,stress_lengths_no,stress_amps_no); SetupTranslator(tr,stress_lengths_no,stress_amps_no);



Loading…
Cancel
Save