Skip to content

Commit

Permalink
Created spanish diphthongs [oi], added statements to distinguish fina…
Browse files Browse the repository at this point in the history
…l diphtong, Created file phoneme oo_ unstressed final vowel.

Replace upercase O in ditc source

Added statements for unstressed vowels, change length/amplitude for unstressed vowels.

improved spanish prosody in tr_language.c

Added rule for suffix mente in es_rules

Translated language names

Added rules for letter spanish ce cedilla, see issue 130

Intonation: improved head and prehead in tune q6
  • Loading branch information
Christianlm committed Jul 22, 2016
1 parent 98ee9cb commit d90c7f2
Show file tree
Hide file tree
Showing 8 changed files with 187 additions and 132 deletions.
213 changes: 116 additions & 97 deletions dictsource/es_list

Large diffs are not rendered by default.

48 changes: 25 additions & 23 deletions dictsource/es_rules
Original file line number Diff line number Diff line change
Expand Up @@ -39,11 +39,15 @@
c k
_) c (L01A k // allow: cl cr at start of word
_) ch tS // allow _ch

c (Y T // ce, ci
ch tS
A) ck k

.group ç
ç s
A) ç (A s
_) ç s

.group d
d d
_) d ($unpr d // phoneme definition may change it to [D]
Expand All @@ -64,18 +68,16 @@

.group e
e e
// e (CK E
e (nK E
e (r E
e (nC E
// e (r E
e (Ch e
Ar) e E
ei eI
ey (K eI
ey (_ 'eI
// Ar) e E
ei ei
ey (K ei
ey (_ 'ei
eu eU
eu (_ 'eU


.group f
f f
_) f (L01A f // allow fl fr at start of word
Expand Down Expand Up @@ -138,7 +140,7 @@
// @) m (_ =m
_) mn (em n
_) mb (A mb

@@) mente (_S5t m'e/nte

.group n
n n
Expand All @@ -151,14 +153,14 @@
_) nh (A n

.group o
o o
o (CK O
o (r O
o (Ch o
Ar) o O
oi oI
oy (K oI
oy (_ 'oI
o o
o (CK o
o (r o
o (Ch o
// Ar) o o
oi oI
oy (K oI
oy (_ 'oI
ou ow

.group p
Expand Down Expand Up @@ -267,17 +269,17 @@

.group
á ''a
é ''E
é ''e
í ''i
ó ''O
ó ''o
ú ''u
ü u
ñ n^
$ d'Olar
$ d'olar

_) - (_D m'EnOs
_) - (_D m'Enos
A_) - (_D _
C_) - (_D _

, (D kOma
, (D koma

4 changes: 2 additions & 2 deletions phsource/intonation
Original file line number Diff line number Diff line change
Expand Up @@ -247,9 +247,9 @@ nucleus fall-rise 74 26 23 45
endtune

tune q6
prehead 48 60
prehead 58 40
headenv fall 16
head 3 78 40 -7 -3
head 3 74 45 -7 -2
headextend 10 47 23 9 0
onset 58 45 48
headlast 55 32 27
Expand Down
50 changes: 42 additions & 8 deletions phsource/ph_spanish
Original file line number Diff line number Diff line change
Expand Up @@ -6,19 +6,37 @@

phoneme a
vowel starttype #a endtype #a
length 200
length 190
ChangeIfNotStressed(a/)
FMT(vowel/a_4)
endphoneme

phoneme a/
vowel starttype #a endtype #a
length 155
IF thisPh(isWordEnd) THEN
FMT(vowel/a_4, 85)
ENDIF
FMT(vowel/a_4, 95)
endphoneme

phoneme e
vowel starttype #e endtype #e
length 200
length 190
ChangeIfNotStressed(e/)
FMT(vowel/e_mid2)
endphoneme

phoneme e/
vowel starttype #e endtype #e
length 150
FMT(vowel/e_mid2, 90)
endphoneme

phoneme E
vowel starttype #e endtype #e
length 200
length 175
ChangeIfNotStressed(e/)
FMT(vowel/e_mid2)
endphoneme

Expand All @@ -31,14 +49,22 @@ endphoneme

phoneme o
vowel starttype #o endtype #o
length 200
length 195
ChangeIfNotStressed(o/)
IF nextPhW(n) THEN
length 160
FMT(vowel/o_mid2)
ENDIF
FMT(vowel/oo)
endphoneme

phoneme O
phoneme o/
vowel starttype #o endtype #o
length 200
FMT(vowel/oo)
length 155
IF thisPh(isWordEnd) THEN
FMT(vwl_es/oo_)
ENDIF
FMT(vowel/oo, 90)
endphoneme

phoneme u
Expand All @@ -47,7 +73,15 @@ phoneme u
FMT(vowel/u_bck2)
endphoneme


phoneme oI
vowel starttype #o endtype #i
length 245
IF thisPh(isWordEnd) OR prevPh(r) THEN
length 260
FMT(vwl_es/ooi_)
ENDIF
FMT(vwl_es/ooi)
endphoneme


phoneme g
Expand Down
Binary file added phsource/vwl_es/oo_
Binary file not shown.
Binary file added phsource/vwl_es/ooi
Binary file not shown.
Binary file added phsource/vwl_es/ooi_
Binary file not shown.
4 changes: 2 additions & 2 deletions src/libespeak-ng/tr_languages.c
Original file line number Diff line number Diff line change
Expand Up @@ -691,8 +691,8 @@ Translator *SelectTranslator(const char *name)
case L('i', 'a'): // Interlingua
case L_pap: // Papiamento
{
static const short stress_lengths_es[8] = { 160, 140, 145, 140, 0, 0, 200, 245 };
static const unsigned char stress_amps_es[8] = { 16, 13, 15, 16, 20, 20, 22, 22 }; // 'diminished' is used to mark a quieter, final unstressed syllable
static const short stress_lengths_es[8] = { 160, 145, 155, 150, 0, 0, 200, 245 };
static const unsigned char stress_amps_es[8] = { 16, 14, 15, 16, 20, 20, 22, 22 }; // 'diminished' is used to mark a quieter, final unstressed syllable
static const wchar_t ca_punct_within_word[] = { '\'', 0xb7, 0 }; // ca: allow middle-dot within word

SetupTranslator(tr, stress_lengths_es, stress_amps_es);
Expand Down

0 comments on commit d90c7f2

Please sign in to comment.