mirror of
https://github.com/rhasspy/espeak-ng.git
synced 2026-11-10 16:21:29 +00:00
Created spanish diphthongs [oi], added statements to distinguish final 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
This commit is contained in:
+118
-99
@@ -3,94 +3,113 @@
|
||||
// letters
|
||||
|
||||
_cap m'aJ^us // should be "mayúscula" after the letter?
|
||||
_?? s'imbOlo
|
||||
_?? s'imbolo
|
||||
_#32 Esp'aTjo
|
||||
|
||||
|
||||
// accent names
|
||||
_lig liQaD'ura
|
||||
_acu aQ'uDo
|
||||
_ac2 d'Oble||aQ'uDo
|
||||
_ac2 d'oble||aQ'uDo
|
||||
_brv br'eBe
|
||||
_ced TeD'iJ^a
|
||||
_cir Tirkumfl'exo
|
||||
_dia dj'Eresis
|
||||
_dac d'Oble||aQ'uDo
|
||||
_dot p'unto // ??
|
||||
_dac d'oble||aQ'uDo
|
||||
_dot p'unto
|
||||
_grv gr'aBe
|
||||
_hac kar'On
|
||||
_mcn makr'On
|
||||
_hac kar'on
|
||||
_mcn makr'on
|
||||
_ogo kol'ita
|
||||
_rng an'iJ^o
|
||||
_stk b'aRR2a // ??
|
||||
_tld t'ilde
|
||||
_sup supE**'indiTe // soB**e||esk**'ito
|
||||
_sub suB'indiTe
|
||||
|
||||
|
||||
// names of symbols
|
||||
ª a
|
||||
º o
|
||||
// ª a
|
||||
// º o
|
||||
° grados
|
||||
_. punto
|
||||
_, koma
|
||||
_; p,untoik'oma
|
||||
_: d,Osp'untOs
|
||||
_! TERR2'araDmiraTj'On
|
||||
_? TERR2'arintERR2,oQaTj'On
|
||||
_¡ aBr'iraDmiraTj'On
|
||||
_¿ aBr'irintERR2,oQaTj'On
|
||||
_< men'Orke
|
||||
_> maJ^'Orke
|
||||
_' apOstr'ofo
|
||||
_: d,osp'untos
|
||||
_! TERR2'araDmiraTj'on
|
||||
_? TERR2'arintERR2,oQaTj'on
|
||||
_¡ aBr'iraDmiraTj'on
|
||||
_¿ aBr'irintERR2,oQaTj'on
|
||||
_< men'orke
|
||||
_> maJ^'orke
|
||||
_' apostr'ofo
|
||||
_" kom'iJ^as
|
||||
_+ s'iQnOdesum'ar
|
||||
_- gJ^On
|
||||
// _+ s'iQnodesum'ar
|
||||
_- gJ^on
|
||||
__ suBraJ^'aDo
|
||||
_/ baRR2a
|
||||
_\ b'aRR2aimbErt'iDa
|
||||
_` aT'EntOgr'aBe
|
||||
_` aT'Ento||gr'aBe
|
||||
_´ aT'Ento||aQ'uDo
|
||||
_( ,aBrepar'Entesis
|
||||
_) Tj,ERR2apar'Entesis
|
||||
_[ ,aBrekOrtS'ete
|
||||
_] Tj,ERR2akOrtS'ete
|
||||
_[ ,aBrekortS'ete
|
||||
_] Tj,ERR2akortS'ete
|
||||
_{ ,aBreJ^'aBe
|
||||
_} Tj,ERR2aJ^'aBe
|
||||
_« kom'iJ^as||iTkJ^'ErDas
|
||||
_» kom'iJ^as||dEr'EtSas
|
||||
|
||||
= iQw'al $max3
|
||||
+ m'as $max3
|
||||
# almOaD'iJ^a $max3
|
||||
# almoaD'iJ^a $max3
|
||||
* astEr'isko $max3
|
||||
. punto $max3
|
||||
|
||||
^ Tirkumfl'exo
|
||||
₠ 'eU*o
|
||||
€ eUro
|
||||
% pOrTj'Ento $max3
|
||||
% porTj'Ento $max3
|
||||
& ampErs'ant
|
||||
@ aRR2'oBa
|
||||
/ baRR2a
|
||||
© kopiRR2'aIt
|
||||
£ liBras
|
||||
¶ p'aRR2afo
|
||||
§ sEkTj'On
|
||||
§ sEkTj'on
|
||||
¬ n'ot
|
||||
· p'unto||m'edjo
|
||||
|
||||
// Language names
|
||||
|
||||
_cyr Ti*'iliko_
|
||||
_hy arm'enjo
|
||||
_he eB@-*'Eo
|
||||
_ar 'a*aBe
|
||||
_hi 'i:ndi
|
||||
_bn beNg,al'i_
|
||||
_ta t'amil
|
||||
_te tel'ugu
|
||||
_si TiNgal'es
|
||||
_th t'a:i
|
||||
_my birm'ano
|
||||
_ko ko*e/'ano
|
||||
_ja x,apon'Es
|
||||
_zh tS'ino
|
||||
|
||||
// numbers
|
||||
_0 T'ero
|
||||
_1 'uno
|
||||
_2 d'Os
|
||||
_2 d'os
|
||||
_3 tr'es
|
||||
_4 kw'atro
|
||||
_5 T'inko
|
||||
_6 s'eIs
|
||||
_7 sj'ete
|
||||
_8 'OtSo
|
||||
_8 'otSo
|
||||
_9 nw'eBe
|
||||
_1X dj'ET
|
||||
_11 'OnTe
|
||||
_11 'onTe
|
||||
_12 d'oTe
|
||||
_13 tr'eTe
|
||||
_14 kat'OrTe
|
||||
_14 kat'orTe
|
||||
_15 k'inTe
|
||||
_20 b'eInte
|
||||
_2X beInt
|
||||
@@ -99,28 +118,28 @@ _4X kwar'Enta
|
||||
_5X Tinkw'Enta
|
||||
_6X sEs'Enta
|
||||
_7X sEt'Enta
|
||||
_8X OtS'Enta
|
||||
_9X nOB'Enta
|
||||
// _0C Tj'EntOs
|
||||
_8X otS'Enta
|
||||
_9X noB'Enta
|
||||
// _0C Tj'Entos
|
||||
_1C0 Tj'en // exactly one hundred
|
||||
_1C Tj'ento
|
||||
_2C dosTj'entos
|
||||
_3C tresTj'entos
|
||||
_4C kwatroTj'entos
|
||||
_5C kinj'EntOs
|
||||
_5C kinj'Entos
|
||||
_6C seIsTj'entos
|
||||
_7C s,eteTj'EntOs
|
||||
_7C s,eteTj'Entos
|
||||
_8C otSoTj'entos
|
||||
_9C n,OBeTj'EntOs
|
||||
_9C n,oBeTj'Entos
|
||||
_0M1 m'il
|
||||
_0M2 miJ^'ones
|
||||
_1M2 'unmiJ^'On
|
||||
_1M2 'unmiJ^'on
|
||||
_0M4 _biJ^'onEs
|
||||
_1M4 'unbiJ^'On
|
||||
_1M4 'unbiJ^'on
|
||||
?2 _0M2 mij:'ones
|
||||
?2 _1M2 'unmij:'On
|
||||
?2 _1M2 'unmij:'on
|
||||
?2 _0M4 _bij:'onEs
|
||||
?2 _1M4 'unbij:'On
|
||||
?2 _1M4 'unbij:'on
|
||||
_0and i
|
||||
_dpt koma
|
||||
//_roman Rom'ano
|
||||
@@ -140,7 +159,7 @@ _4o kw'art
|
||||
_5o kint
|
||||
_6o s'Ekst
|
||||
_7o s'Etim
|
||||
_8o Okt'aB
|
||||
_8o okt'aB
|
||||
_9o noB'en
|
||||
_10o D'ETim
|
||||
_11o und'ETim
|
||||
@@ -150,7 +169,7 @@ _14o DeTimokw'art
|
||||
_15o DeTimok'int
|
||||
_16o DeTimos'Ekst
|
||||
_17o DeTimos'Eptim
|
||||
_18o DeTimOkt'aB
|
||||
_18o DeTimokt'aB
|
||||
_19o DeTimonoB'en
|
||||
_20o Bix'Esim
|
||||
_2Xo Bix'Esim
|
||||
@@ -159,7 +178,7 @@ _4Xo kwaDrax'Esim
|
||||
_5Xo kinkwax'Esim
|
||||
_6Xo seQsax'Esim
|
||||
_7Xo sEptwax'Esim
|
||||
_8Xo Oktox'Esim
|
||||
_8Xo oktox'Esim
|
||||
_9Xo nonax'Esim
|
||||
_0Co TEnt'Esim
|
||||
_1Co TEnt'Esim
|
||||
@@ -169,14 +188,13 @@ _4Co kwaDriNxEnt'Esim
|
||||
_5Co kiNxEnt'Esim
|
||||
_6Co seksTEnt'Esim
|
||||
_7Co sep:tiNxEnt'Esim
|
||||
_8Co OktiNxEnt'Esim
|
||||
_8Co oktiNxEnt'Esim
|
||||
_9Co noniNxEnt'Esim
|
||||
_0M1o mil'Esim
|
||||
|
||||
|
||||
vi bi // not a Roman number
|
||||
|
||||
// unstressed words
|
||||
// articles
|
||||
el $u+
|
||||
los $u+
|
||||
@@ -184,12 +202,6 @@ la $u+
|
||||
las $u+
|
||||
lo $u+
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// pronouns
|
||||
|
||||
me $u+ $only // reflexive pronouns
|
||||
@@ -200,7 +212,6 @@ se $u+
|
||||
nos $u+
|
||||
os $u+
|
||||
|
||||
|
||||
// possessives
|
||||
mi $u+
|
||||
mis $u+
|
||||
@@ -216,6 +227,7 @@ vuestro $u+
|
||||
vuestros $u+
|
||||
vuestra $u+
|
||||
vuestras $u+
|
||||
|
||||
// prepositions
|
||||
a $u+ // at
|
||||
al $u+
|
||||
@@ -235,21 +247,17 @@ desde $u+ // from,since
|
||||
hasta $u+
|
||||
hacia $u+
|
||||
|
||||
|
||||
e $u+ $only
|
||||
y %i // and
|
||||
o $u+ // or
|
||||
u $u+
|
||||
|
||||
|
||||
aunque $u+ // although
|
||||
pero $u+
|
||||
porque $u+ // because
|
||||
|
||||
|
||||
que $u+ // that
|
||||
cuando $u+
|
||||
cuanto $u+
|
||||
adonde $u+
|
||||
donde $u+
|
||||
como $u+
|
||||
quien $u+
|
||||
@@ -257,9 +265,6 @@ quienes $u+
|
||||
mientras $u+
|
||||
si $u+
|
||||
|
||||
|
||||
|
||||
|
||||
// Letters
|
||||
// If a letter has a "word" pronunciation which is different from its
|
||||
// "letter" name, then include the letter name here, with the letter
|
||||
@@ -271,7 +276,7 @@ d de
|
||||
f Efe
|
||||
g xe
|
||||
h atSe
|
||||
j xOta
|
||||
j xota
|
||||
k ka
|
||||
l Ele
|
||||
m Eme
|
||||
@@ -283,7 +288,7 @@ r Ere
|
||||
s Ese
|
||||
t te
|
||||
v uBe
|
||||
w uBe||d'OBle
|
||||
w uBe||d'oBle
|
||||
x Ekis
|
||||
z TEta
|
||||
|
||||
@@ -299,8 +304,7 @@ ll 'El^e
|
||||
_ó 'o||aTEntw'aDa
|
||||
ú 'u||aTEntw'aDa
|
||||
ü 'u||kon||dj'ErEsis
|
||||
|
||||
|
||||
ç $accent
|
||||
|
||||
// Abbreviations
|
||||
dña doña $text
|
||||
@@ -326,48 +330,63 @@ Sres señores $text $capital $dot
|
||||
Srta señorita $text $capital $dot
|
||||
Ud usted $text $capital $dot
|
||||
Uds ustedes $text $capital $dot
|
||||
// (/ h) pOr||'Ora
|
||||
|
||||
// (/ h) por||'ora
|
||||
|
||||
// pronunciation exceptions
|
||||
ser s'e@-* $only // it's not a abbrev
|
||||
|
||||
linux $1
|
||||
// Proper Names and countries
|
||||
amsterdam $3
|
||||
bardem $2
|
||||
jerusalem $4
|
||||
méxico m'Exiko
|
||||
vietnam $2
|
||||
spanish sp'aniS
|
||||
english ínglish $text
|
||||
firefox f'aIrfoks
|
||||
microsoft m'aIkrosoft
|
||||
software s'oftwer
|
||||
hardware h'ardwer
|
||||
skype sk'aIp
|
||||
messenger m'esendZer
|
||||
live l'aIB
|
||||
facebook f'eIsbuk
|
||||
twitter tw'iter
|
||||
twit tw'it
|
||||
mozilla moT'ila
|
||||
espeak 'isp'ik
|
||||
(e speak) 'isp'ik
|
||||
eloquence 'elokwens
|
||||
speech sp'itS
|
||||
platform pl'atfom
|
||||
voice bois $text
|
||||
windows w'indows
|
||||
|
||||
// foreign words
|
||||
|
||||
android 'androId
|
||||
apple 'ap@l
|
||||
(i phone) 'aIfon
|
||||
iphone 'aIfon
|
||||
(i pod) 'aIpod
|
||||
ipod 'aIpod
|
||||
jaws dZ'os
|
||||
window w'indow
|
||||
copyright k'opiRR2,aIt
|
||||
chrome kr'owm
|
||||
curriculum $2
|
||||
diem d'i:em $only
|
||||
eloquence 'elokwens
|
||||
english ínglish $text
|
||||
espeak 'isp'ik
|
||||
eyes 'aIs
|
||||
facebook f'eIsbuk
|
||||
firefox f'aIrfoks
|
||||
free fr'i
|
||||
google g'ug@l
|
||||
chrome kr'owm
|
||||
office 'ofis
|
||||
service s'erBis
|
||||
power p'awer
|
||||
thunderbird t'anderbird
|
||||
hardware h'ardwer
|
||||
iphone 'aIfon
|
||||
ipod 'aIpod
|
||||
jaws dZ'os
|
||||
jazz dZ'as
|
||||
linux $1
|
||||
live l'aIB
|
||||
messenger m'esendZer
|
||||
microsoft m'aIkrosoft
|
||||
mozilla moT'ila
|
||||
office 'ofis
|
||||
platform pl'atfom
|
||||
power p'awer
|
||||
service s'erBis
|
||||
skype sk'aIp
|
||||
snapshot sn'apS,ot // _^_en
|
||||
software s'oftwer
|
||||
spanish sp'aniS
|
||||
speech sp'itS
|
||||
thunderbird t'anderbird
|
||||
twit tw'it
|
||||
twitter tw'iter
|
||||
voice bois $text
|
||||
window w'indow
|
||||
|
||||
(e speak) 'isp'ik
|
||||
(i phone) 'aIfon
|
||||
(i pod) 'aIpod
|
||||
|
||||
// Main nouns Dictionary
|
||||
cataplum $3
|
||||
|
||||
|
||||
+25
-23
@@ -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]
|
||||
@@ -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
|
||||
@@ -138,7 +140,7 @@
|
||||
// @) m (_ =m
|
||||
_) mn (em n
|
||||
_) mb (A mb
|
||||
|
||||
@@) mente (_S5t m'e/nte
|
||||
|
||||
.group n
|
||||
n n
|
||||
@@ -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
|
||||
@@ -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
|
||||
|
||||
|
||||
+2
-2
@@ -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
|
||||
|
||||
+42
-8
@@ -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
|
||||
|
||||
@@ -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
|
||||
@@ -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
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user