Browse Source

[1.25.02] Added translation for mbrola "gr2" Greek voice.

Filtered ustop/t_short.wav to remove high frequencies.
Reduced formant glide for phoneme [c].


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

+ 2
- 1
dictsource/dict_phonemes View File



Dictionary el_dict Dictionary el_dict


@- a aI e i o oI u
@ @- a aI e i o oI
u


* ; b c C d D f * ; b c C d D f
g j k l l^ m n N g j k l l^ m n N

+ 5
- 5
dictsource/el_list View File

_0 miD'en _0 miD'en
_1 'ena _1 'ena
_2 D'io _2 D'io
_3 tr'ia
_3f tr'is
_3 t@-@'ia
_3f t@-@'is
_4 t'esera _4 t'esera
_4f t'eseris _4f t'eseris
_5 p'ente _5 p'ente
_11 'enDeka _11 'enDeka
_12 D'oDeka _12 D'oDeka
_2X 'ikosi _2X 'ikosi
_3X tri'anda
_3X t@-*i'anda
_4X sar'anda _4X sar'anda
_5X pen'inda _5X pen'inda
_6X eks'inda _6X eks'inda
_1C0 ekat'o _1C0 ekat'o
_1C ekat'on_ _1C ekat'on_
_2C D;ak'os;a_ _2C D;ak'os;a_
_3C triak'os;a_
_4C tetrak'os;a_
_3C t@-*iak'os;a_
_4C tet@-*ak'os;a_
_5C pendak'os;a_ _5C pendak'os;a_
_6C eksak'os;a_ _6C eksak'os;a_
_7C eptak'os;a_ _7C eptak'os;a_

+ 29
- 11
dictsource/el_rules View File

// Α α, Β β, Γ γ, Δ δ, Ε ε, Ζ ζ, Η η, Θ θ, Ι ι, Κ κ, Λ λ, Μ μ, Ν ν, Ξ ξ, // Α α, Β β, Γ γ, Δ δ, Ε ε, Ζ ζ, Η η, Θ θ, Ι ι, Κ κ, Λ λ, Μ μ, Ν ν, Ξ ξ,
// Ο ο, Π π, Ρ ρ, Σ σ ς (word-final form), Τ τ, Υ υ, Φ φ, Χ χ, Ψ ψ, Ω ω. // Ο ο, Π π, Ρ ρ, Σ σ ς (word-final form), Τ τ, Υ υ, Φ φ, Χ χ, Ψ ψ, Ω ω.


// Y: ε η ι υ (+tonos variants, front vowels).


.group α .group α
α a α a
αι e αι e
κ (κ κ (κ
ν_) κ g ν_) κ g


κ (Y c
κ (αι c
κ (αί c
κ (οι c
κ (οί c

κη (A c // k + i sound = [c] κη (A c // k + i sound = [c]
κι (A c κι (A c
κυ (A c κυ (A c
ν (_π m ν (_π m
ν (_ψ m ν (_ψ m
ν (_κ N ν (_κ N
ν (_και_ n // there is a pause before και
ν (_ξ N ν (_ξ N

νη (A n^ νη (A n^
νι (A n^ νι (A n^
νυ (A n^ νυ (A n^


.group ρ .group ρ
ρ R ρ R
ρ
ρρ R
A) ρ (A * A) ρ (A *
C) ρ (A @-*
C) ρ @-*

αυ) ρ @-* // υ becomes consionant [v]
αύ) ρ @-*
ευ) ρ @-*
εύ) ρ @-*
ηυ) ρ @-*
ηύ) ρ @-*



.group σ .group σ
σ s σ s
σ (σ
// ?? σ (σ
ση (A s; ση (A s;
σι (A s; σι (A s;
συ (A s; συ (A s;


.group χ .group χ
χ x χ x
χ (Y C
χ (αι C χ (αι C
χ (αί C χ (αί C
χ (ε C
χ (έ C
χ (η C
χ (ή C
χ (ι C
χ (ί C
χ (οι C χ (οι C
χ (οί C χ (οί C
χ (υ C
χ (ύ C

χει (A C
χη (A C
χι (A C
χοι (A C
χυ (A C


.group ψ .group ψ
ψ ps ψ ps

+ 1
- 0
dictsource/en_rules View File

queu kju: queu kju:
qu (_ k qu (_ k
quay ki: quay ki:
jac) qu k
li) quor k3 li) quor k3
quy kwI quy kwI



+ 12
- 10
dictsource/hu_rules View File

d d d d
dd d: dd d:
dz dz dz dz
A) dz (A dz:
A) dz (A d:z
dzs dZ dzs dZ
A) dzs dZ: A) dzs dZ:


dsz (C ts dsz (C ts
A) dsz (A ts: A) dsz (A ts:
dz dz dz dz
A) dz (A d:z
C) dzs Z
A) dzs (A Z:
C) dzs dZ
A) dzs (A dZ:
C) dj J C) dj J
A) dj (A J: A) dj (A J:


A) gysz (A ts: A) gysz (A ts:
gyz dz gyz dz
A) gyz (A d:z A) gyz (A d:z
C) gyzs Z
A) gyzs (A Z:
C) gyzs dZ
A) gyzs (A dZ:
C) gyj J C) gyj J
A) gyj (A J: A) gyj (A J:


.group l .group l
l l l l
ly j ly j
lly jj
lj jj lj jj


.group m .group m
n (p m n (p m
n (b m n (b m
ny n^ ny n^
nny n^n^
ny (k N ny (k N
ny (g N ny (g N


A) tz (A d:z A) tz (A d:z
tyz dz tyz dz
A) tyz (A d:z A) tyz (A d:z
C) tzs Z
A) tzs (A Z:
C) tyzs Z
A) tyzs (A Z:
C) tzs dZ
A) tzs (A dZ:
C) tyzs dZ
A) tyzs (A dZ:
C) tj c C) tj c
A) tj (A c: A) tj (A c:
C) tyj c C) tyj c
.group z .group z
z z z z
zs Z zs Z
zzs Z:




.group .group

+ 7
- 4
phsource/compile_report View File

fr 33 115 fr 33 115
fr_ca 11 115 fr_ca 11 115
hi 49 127 hi 49 127
hu 24 109
hu 26 111
nl 25 112 nl 25 112
pl 17 103 pl 17 103
sk 25 120 sk 25 120
cs 5 120 cs 5 120
hr 24 130
hr 26 132
ru 36 120 ru 36 120
it 28 112 it 28 112
es 6 112 es 6 112
pt 25 127 pt 25 127
pt_pt 17 127 pt_pt 17 127
ro 36 136 ro 36 136
el 7 112
el 8 112
sv 25 114 sv 25 114
no 29 118 no 29 118
is 27 113 is 27 113
1 r3/r_i base 1 r3/r_i base
6 r3/r_n base cy eo fr pl ru 6 r3/r_n base cy eo fr pl ru
1 r3/r_o base 1 r3/r_o base
2 r3/r_test1.wav hu hr
2 r3/r_test2.wav hu hr
3 r3/r_trill base eo it 3 r3/r_trill base eo it
4 r3/r_trill2 hu hr
3 r3/r_trill.wav base eo it 3 r3/r_trill.wav base eo it
1 r3/r_u base 1 r3/r_u base
28 r3/rx base af cy eo fr fr_ca pl ru pt_pt ro is 28 r3/rx base af cy eo fr fr_ca pl ru pt_pt ro is
10 vowel/e_mid2 af de fi nl sk ro el sw 10 vowel/e_mid2 af de fi nl sk ro el sw
1 vowel/@_fnt hr 1 vowel/@_fnt hr
1 vowel/@_hgh no 1 vowel/@_hgh no
17 vowel/i en_n en_rp en_wm cy eo fr hu pl it pt pt_pt ro ++
18 vowel/i en_n en_rp en_wm cy eo fr hu pl it pt pt_pt ro ++
1 vowel/i# cy 1 vowel/i# cy
3 vowel/i_2 de nl sv 3 vowel/i_2 de nl sv
2 vowel/i_3 af sk 2 vowel/i_3 af sk

+ 1
- 1
phsource/mbrola/cr1 View File

0 a a 5 a _ 0 a a 5 a _
0 & a 5 a _ 0 & a 5 a _


// map English phonemes to Hungarian
// map English phonemes to Croatian
0 3 r 5 r _ 0 3 r 5 r _
0 @ NULL 0 a 0 @ NULL 0 a
0 eI NULL 60 e j 0 eI NULL 60 e j

+ 102
- 0
phsource/mbrola/gr2 View File

volume 16

0 l/2 NULL 0 l
0 l/ NULL 0 l
0 r/ r 5 r _
2 r p 0 R
2 r b 0 R
2 r t 0 R
2 r d 0 R
2 r k 0 R
2 r g 0 R
2 r m 0 R
2 r n 0 R
2 r l/2 0 R
2 r f 0 R
2 r v 0 R
2 r T 0 R
2 r s 0 R
2 r z 0 R

0 r 3 5 r _
0 r/ NULL 0 r
2 R z 0 R
0 R NULL 0 r
0 r- NULL 0 r
0 l- NULL 0 l
0 w/ NULL 0 w
0 j/ NULL 0 j
2 ; i 0 NULL
0 ; NULL 0 j
0 - NULL 0 NULL
0 g- NULL 0 NULL

1 @- * 0 R
0 @- NULL 0 NULL
0 * NULL 0 r

0 N g 0 V
0 N J 0 V
0 N NULL 0 n
0 J NULL 0 q
0 Q NULL 0 G
1 m ; 0 M
0 n^ NULL 0 N
0 l^ NULL 0 L
0 ts NULL 0 S
0 dz NULL 0 Z
1 d z 0 Z
1 k s 0 X
1 p s 0 Y
0 s; NULL 0 s
0 z; NULL 0 z

0 aI NULL 60 a i
0 oI NULL 60 o i
0 a/ NULL 0 a


// map English phonemes to Greek
0 3 NULL 60 e r
0 @ NULL 0 a
0 eI NULL 60 e i
0 aU NULL 60 a u
0 oU NULL 0 o
0 @L NULL 40 e l
0 @2 NULL 0 e // @
0 @5 NULL 0 e // @
0 3 NULL 0 r // @
0 a2 NULL 0 a // @
0 I2 NULL 0 i
0 I NULL 0 i
0 a NULL 0 a
0 aa NULL 0 a
0 V NULL 0 a // @
0 U NULL 0 u
0 0 NULL 0 o
0 i: NULL 0 i
0 u: NULL 0 u
0 A: NULL 0 a
0 3: NULL 60 e r // @
//0 aI NULL 60 a j
0 OI NULL 60 o j
0 i@ NULL 60 i r // @
0 e@ NULL 70 e r
0 o@ NULL 70 o r // @
0 O@ NULL 70 o r // @
0 O NULL 0 o
0 O: NULL 0 a
0 A: NULL 0 a
0 A@ NULL 70 a r
0 U@ NULL 60 u r // @
0 aI@ NULL 70 a r // @
0 aU@ NULL 0 a

0 E NULL 0 e
0 w NULL 0 v
0 h NULL 0 x
0 tS VWL 0 c
0 tS NULL 0 S
0 dZ VWL 0 q
0 dZ NULL 0 Z


+ 18
- 0
phsource/ph_croatian View File

switchvoicing Q switchvoicing Q
endphoneme endphoneme


phoneme R2 // test
liquid
vowelin f1=0 f2=1600 -300 300 f3=-200 80
vowelout f1=2 f2=1600 -300 300 f3=-200 80 brk
formants r3/r_trill2+r3/r_test1.wav%140
trill
lengthmod 6
endphoneme

phoneme R3 // test
liquid
vowelin f1=0 f2=1600 -300 300 f3=-200 80
vowelout f1=2 f2=1600 -300 300 f3=-200 80 brk
formants r3/r_trill2+r3/r_test2.wav%140
trill
lengthmod 6
endphoneme




+ 8
- 1
phsource/ph_greek View File

formants vowel/e_mid2 formants vowel/e_mid2
endphoneme endphoneme


phoneme i
vowel starttype (i) endtype (i)
length 140
formants vowel/i
linkout ;
endphoneme

phoneme o phoneme o
vowel starttype (o) endtype (o) vowel starttype (o) endtype (o)
length 180 length 180


phoneme t // revert to alveolar /t/ phoneme t // revert to alveolar /t/
vls alv stop vls alv stop
vowelin f1=0 f2=1700 -300 300 f3=-100 80
vowelin f1=1 f2=1700 -300 300 f3=-100 80 rms=30
vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20 vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20
lengthmod 2 lengthmod 2
wave ustop/t_short%80 wave ustop/t_short%80

+ 19
- 0
phsource/ph_hungarian View File

endphoneme endphoneme




phoneme R2 // test
liquid
vowelin f1=0 f2=1600 -300 300 f3=-200 80
vowelout f1=2 f2=1600 -300 300 f3=-200 80 brk
formants r3/r_trill2+r3/r_test1.wav%140
trill
lengthmod 6
endphoneme

phoneme R3 // test
liquid
vowelin f1=0 f2=1600 -300 300 f3=-200 80
vowelout f1=2 f2=1600 -300 300 f3=-200 80 brk
formants r3/r_trill2+r3/r_test2.wav%140
trill
lengthmod 6
endphoneme





+ 2
- 2
phsource/phonemes View File



phoneme c phoneme c
vls pal stop vls pal stop
vowelin f1=0 f2=2700 400 600 f3=500 80 rate len=80
vowelout f1=0 f2=2700 400 600 f3=300 80
vowelin f1=0 f2=2700 200 500 f3=500 80 rate len=80
vowelout f1=0 f2=2700 300 500 f3=300 80
lengthmod 2 lengthmod 2
wave ustop/c%130 wave ustop/c%130
before _ ustop/ki%80 before _ ustop/ki%80

BIN
phsource/r3/r_trill View File


BIN
phsource/ustop/t_short.wav View File


+ 1
- 1
src/synthdata.cpp View File

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


const char *version_string = "1.25.01 20.May.07";
const char *version_string = "1.25.02 21.May.07";
const int version_phdata = 0x012501; const int version_phdata = 0x012501;


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

+ 7
- 0
src/synthesize.cpp View File

DoSpect(p->ph,phoneme_tab[phonSCHWA],next->ph,1,p,0); DoSpect(p->ph,phoneme_tab[phonSCHWA],next->ph,1,p,0);
} }
} }
else
{
if(p->synthflags & SFLAG_LENGTHEN)
{
DoPause(50);
}
}


if(pre_voiced) if(pre_voiced)
{ {

+ 3
- 1
src/tr_languages.cpp View File



// character codes offset by 0x380 // character codes offset by 0x380
static const char el_vowels[] = {0x10,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x35,0x37,0x39,0x3f,0x45,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,0}; static const char el_vowels[] = {0x10,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x35,0x37,0x39,0x3f,0x45,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,0};
static const char el_fvowels[] = {0x2d,0x2e,0x2f,0x35,0x37,0x39,0x45,0x4d,0};
static const char el_voiceless[]= {0x38,0x3a,0x3f,0x40,0x42,0x43,0x44,0x46,0x47,0}; static const char el_voiceless[]= {0x38,0x3a,0x3f,0x40,0x42,0x43,0x44,0x46,0x47,0};
static const char el_consonants[]={0x32,0x33,0x34,0x36,0x38,0x3a,0x3b,0x3c,0x3d,0x3e,0x40,0x41,0x42,0x43,0x44,0x46,0x47,0x48,0}; static const char el_consonants[]={0x32,0x33,0x34,0x36,0x38,0x3a,0x3b,0x3c,0x3d,0x3e,0x40,0x41,0x42,0x43,0x44,0x46,0x47,0x48,0};
static const wchar_t el_char_apostrophe[] = {0x3c3,0}; // σ static const wchar_t el_char_apostrophe[] = {0x3c3,0}; // σ
SetLetterBits(tr,LETTERGP_A,el_vowels); SetLetterBits(tr,LETTERGP_A,el_vowels);
SetLetterBits(tr,LETTERGP_B,el_voiceless); SetLetterBits(tr,LETTERGP_B,el_voiceless);
SetLetterBits(tr,LETTERGP_C,el_consonants); SetLetterBits(tr,LETTERGP_C,el_consonants);
SetLetterBits(tr,LETTERGP_Y,el_fvowels); // front vowels: ε η ι υ


tr->langopts.length_mods0 = tr->langopts.length_mods; // don't lengthen vowels in the last syllable tr->langopts.length_mods0 = tr->langopts.length_mods; // don't lengthen vowels in the last syllable
tr->langopts.stress_rule = 2; tr->langopts.stress_rule = 2;


tr->langopts.stress_rule = 0; tr->langopts.stress_rule = 0;
tr->langopts.stress_flags = 0x56; // move secondary stress from light to a following heavy syllable tr->langopts.stress_flags = 0x56; // move secondary stress from light to a following heavy syllable
tr->langopts.param[LOPT_REGRESSIVE_VOICING] = 0x4;
tr->langopts.param[LOPT_REGRESSIVE_VOICING] = 0x1;
tr->langopts.param[LOPT_IT_DOUBLING] = 1; tr->langopts.param[LOPT_IT_DOUBLING] = 1;
tr->langopts.long_stop = 130; tr->langopts.long_stop = 130;



+ 7
- 1
src/translate.cpp View File

if(sylimit & 0x100) if(sylimit & 0x100)
{ {
// only if the second word has $alt attribute // only if the second word has $alt attribute
strcpy(ph_buf,word_phonemes);
flags2 = translator->TranslateWord(p2+1, 0, wtab+1); flags2 = translator->TranslateWord(p2+1, 0, wtab+1);
strcpy(ph_buf,word_phonemes);
if((flags2 & FLAG_ALT_TRANS) == 0) if((flags2 & FLAG_ALT_TRANS) == 0)
{ {
ok = 0; ok = 0;
} }
} }


if((sylimit & 0x200) && ((wtab+1)->flags & FLAG_LAST_WORD))
{
// not if the next word is end-of-sentence
ok = 0;
}

if(ok) if(ok)
{ {
*p2 = '-'; // replace next space by hyphen *p2 = '-'; // replace next space by hyphen

+ 3
- 0
src/translate.h View File

// don't reduce the strongest vowel in a word which is marked 'unstressed' // don't reduce the strongest vowel in a word which is marked 'unstressed'
#define LOPT_KEEP_UNSTR_VOWEL 10 #define LOPT_KEEP_UNSTR_VOWEL 10
// LANG=cs,sk combine some prepositions with the following word, if the combination has N or fewer syllables // LANG=cs,sk combine some prepositions with the following word, if the combination has N or fewer syllables
// bits 0-3 N syllables
// bit 4=only if the second word has $alt attribute
// bit 5=not if the second word is end-of-sentence
#define LOPT_COMBINE_WORDS 11 #define LOPT_COMBINE_WORDS 11





Loading…
Cancel
Save