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

@@ -9,10 +9,10 @@ eI e~ I i iu O O: o@
OI oI o~ u uI W y Y@
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
@@ -311,13 +311,12 @@ t T tl# v x z

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
@@ -377,3 +376,14 @@ y
j k l L l^ m n N
n^ p r R s S t tS
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

@@ -265,9 +265,10 @@ ii II // word, not numeric
vi wI // word, not numeric

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
_1 'u:nUs
_2 d'UO

+ 8
- 0
dictsource/la_rules View File

@@ -14,6 +14,14 @@
// since this character is incompatible with older unicode versions.


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


.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

+ 5
- 4
dictsource/no_list View File

@@ -45,8 +45,8 @@ _7 S'u-:
_8 'Ot:@2
_9 n'i:
_10 t'i:
_11 'Elle:v@2
_12 t'u:lv
_11 'Elv@2
_12 t'Olv
_13 t@-*'Et:@n
_14 fj'Urt@n
_15 f'Emt@n
@@ -62,8 +62,8 @@ _6X s'Eksti:
_7X s'yt:i:
_8X 'Ot: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
_1M1 'Et||t'u-:s@n
_0M2 m'Illi:;,u:n@r
@@ -257,4 +257,5 @@ i i: $atend
der dE:r
her hE:r
kom kOm
noe nu:@2 // ??
system syst'e:m

+ 27
- 12
phsource/compile_report View File

@@ -1,4 +1,4 @@
44 phoneme tables
45 phoneme tables
new total
base 97 97
base2 24 116
@@ -44,6 +44,7 @@
zh 61 144
sw 14 106
th 50 140
id 14 118

Data file Used by
b/b [b] base
@@ -648,6 +649,7 @@ ustop/k_unasp [k] base
[k] zhy
ustop/k_unasp_ [k] zh
[k] th
ustop/null [?] base
ustop/p [p] base
[p] fr
[ph] hi
@@ -840,6 +842,7 @@ vdiph/aau_2 [aU] en_wi
vdiph/aau_3 [aU] hi
vdiph/aau_4 [aU] vi
vdiph/ae [E:] fr_ca
[aI] la
[ai] zh
vdiph/ae_2 [aI] en_n
vdiph/ai [aI] base2
@@ -852,12 +855,12 @@ vdiph/ai [aI] base2
[a:I] vi
[aI] th
[a:I] th
[aI] id
vdiph/ai_2 [aI] cy
[aY] cy
vdiph/ai_3 [aI] no
vdiph/ai_4 [aI] af
vdiph/ai_5 [aI] de
[aI] la
vdiph/ai_6 [aI] en_rp
vdiph/ai_7 [aI] en_sc
[aI2] en_sc
@@ -878,6 +881,7 @@ vdiph/au_4 [aU] base2
[aU] sk
[aU] it
[aU] is
[aU] id
vdiph/ee-e [E:] hi
vdiph/eei [EI] base2
[eI] en
@@ -886,6 +890,7 @@ vdiph/eei [EI] base2
[EI] vi
vdiph/eei_2 [eI] eo
[ei] fi
[eI] id
vdiph/eei_3 [eI] en_rp
[eI] sk
vdiph/eeu [EU] pt
@@ -963,6 +968,7 @@ vdiph/@u [u:] en_wm
vdiph/@u_2 [oU] en_rp
vdiph/@u_3 [@U] ro
vdiph/@u_en [oU] en
[@U] id
vdiph/ui [uI] base2
[uI] en
[uI] eo
@@ -1155,10 +1161,10 @@ vowel/a [a] en_n
[A] hr
[a] hr
[a] it
[a:] la
[a] zh
[a] th
[a:] th
[a] id
vowel/a# [a/] base2
[a2] en_sc
[a2] en_wi
@@ -1171,7 +1177,6 @@ vowel/a_2 [a] base2
[A@] en_wi
[aa] en_wi
[a] eo
[a] la
[A] pt
[a] pt_pt
[a] ro
@@ -1187,6 +1192,7 @@ vowel/a_3 [a] en_sc
[aa] en_sc
[a] fr
[a:] cs
[a:] la
[a] is
vowel/a#_3 [a2] en
[a2] en_n
@@ -1203,6 +1209,7 @@ vowel/a#_3 [a2] en
vowel/a_4 [a/] el
[a] vi
vowel/a_5 [a/] it
[a] la
[a] sv
[a] sw
vowel/aa [a] fi
@@ -1256,6 +1263,7 @@ vowel/e [e] base2
[e] vi
[e] th
[e:] th
[e] id
vowel/e# [I] en_sc
[I2] en_sc
vowel/e_2 [eI] en_sc
@@ -1308,6 +1316,8 @@ vowel/e_mid [E] en_rp
[E] pt_pt
[E] no
[E] is
[E] id
[E2] id
vowel/e_mid2 [E] af
[E] de
[E2] de
@@ -1373,6 +1383,7 @@ vowel/i#_5 [y] pt_pt
vowel/i_6 [i:] en_us
[i] ta
[i] hr
[i] id
vowel/i_en [i:] en
[i] vi
vowel/i_fnt [i:] en_wi
@@ -1391,8 +1402,7 @@ vowel/ii [I] en_rp
vowel/ii# [Y] cy
[y] pl
[Y] ru
vowel/ii_2 [I] la
[i] zh
vowel/ii_2 [i] zh
vowel/ii_3 [I] cy
[I] fi
[I] hi
@@ -1407,6 +1417,7 @@ vowel/ii_4 [I] en
[I2] en_n
vowel/ii_5 [I] en_wi
[I2] en_wi
[I] la
vowel/ii_6 [I] en_wm
[I2] en_wm
[I] sr
@@ -1421,6 +1432,7 @@ vowel/@_low [3] en_rp
[@2] hi
[@] ro
[@2] no
[@] id
vowel/o [o] base2
[o:] en
[oU] en_wi
@@ -1430,7 +1442,7 @@ vowel/o [o] base2
[o:] ta
[o] it
[o/] it
[o:] la
[O] la
[o] pt_pt
[o] grc
[o:] sv
@@ -1438,10 +1450,12 @@ vowel/o [o] base2
[u] zh
[o] th
[o:] th
[o] id
vowel/o- [o-] zh
vowel/o_2 [o:] cy
[o:] hi
[o:] hu
[o:] la
[o:] no
vowel/o-_2 [V] en_n
[V] en_wm
@@ -1465,7 +1479,6 @@ vowel/oo [O:] en_sc
[O@] en_wi
[O] de
[o] eo
[O] la
[o] es
[o] el
[O] sv
@@ -1473,6 +1486,7 @@ vowel/oo [O:] en_sc
[o] zhy
[O] th
[O:] th
[O] id
vowel/oo_1 [O:] en_n
[O:] en_rp
[O@] en_rp
@@ -1521,10 +1535,11 @@ vowel/u [u:] en_wi
[u] eo
[U] fr
[u:] cs
[u:] la
[U] la
[u] zh
[u] th
[u:] th
[u] id
vowel/u# [u-] en
[u:] en_sc
vowel/u_2 [u1] fi
@@ -1561,12 +1576,12 @@ vowel/u_bck [u] base2
[u:] no
[u] is
[u] zhy
vowel/u_bck2 [u:] la
vowel/u_fnt [u:] en_rp
vowel/uu [U] en
[U] en_wm
vowel/uu_2 [U] base2
[U] de
[U] la
vowel/uu_3 [u] af
vowel/uu_4 [U] fi
[U] sv
@@ -1594,6 +1609,7 @@ vowel/y [y:] en
[y] fi
[y:] hu
[y] nl
[y] la
[yu] zhy
[y] zh
vowel/y# [Y:] en
@@ -1609,6 +1625,7 @@ vowel/y# [Y:] en
vowel/y## [y#] is
vowel/y_2 [y] fr
[y"] fr
[y:] la
vowel/y#_2 [Y] hu
[Y:] sv
vowel/y_3 [y] af
@@ -1620,8 +1637,6 @@ vowel/yy [y"] fr_ca
vowel/yy_3 [y] sv
vowel/yy_4 [y] de
[y] hu
[y] la
[y:] la
[y] grc
[y] is
vwl_af/@ [@] af

+ 24
- 24
phsource/ph_latin View File

@@ -7,8 +7,8 @@

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


@@ -22,42 +22,42 @@ endphoneme
phoneme I
vowel starttype (i) endtype (i)
length 150
formants vowel/ii_2
formants vowel/ii_5
linkout ;
endphoneme


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


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


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


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


phoneme i:
vowel starttype (i) endtype (i)
length 220
length 240
formants vowel/i_2
after w w/wi2
endphoneme
@@ -65,28 +65,28 @@ endphoneme

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


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


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

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


@@ -100,28 +100,28 @@ endphoneme

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


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


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


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


+ 6
- 6
phsource/phonemes View File

@@ -142,14 +142,11 @@ phoneme _X1 // a language specific action
endphoneme

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

@@ -1268,3 +1265,6 @@ include ph_swahili
phonemetable th base
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

@@ -56,12 +56,13 @@ int ignore_text=0; // set during <sub> ... </sub> to ignore text which has be
int clear_skipping_text = 0; // next clause should clear the skipping_text flag
int count_characters = 0;
int sayas_mode;
int ssml_ignore_l_angle = 0;

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

// 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";

// punctuations symbols that can end a clause
@@ -719,6 +720,11 @@ int Translator::AnnouncePunctuation(int c1, int c2, char *buf, int bufix)
{
// end the clause now and pick up the punctuation next time
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;
buf[bufix] = ' ';
buf[bufix+1] = 0;
@@ -1811,7 +1817,7 @@ f_input = f_in; // for GetC etc
}
}
else
if(c1 == '<')
if((c1 == '<') && !ssml_ignore_l_angle)
{
// SSML Tag
n_xml_buf = 0;
@@ -1856,6 +1862,7 @@ f_input = f_in; // for GetC etc
continue;
}
}
ssml_ignore_l_angle=0;

if(ignore_text)
continue;

+ 1
- 1
src/synthdata.cpp View File

@@ -35,7 +35,7 @@
#include "translate.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;

int option_device_number = -1;

+ 13
- 1
src/tr_languages.cpp View File

@@ -365,6 +365,18 @@ SetLengthMods(tr,3); // all equal
}
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
{
static const unsigned char stress_amps_is[] = {16,16, 20,20, 20,24, 24,22 };
@@ -475,7 +487,7 @@ SetLengthMods(tr,3); // all equal
case L('n','o'): // Norwegian
{
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();
SetupTranslator(tr,stress_lengths_no,stress_amps_no);


Loading…
Cancel
Save