Browse Source

Removed lengthen penultimate stressed vowels from dictionary.c lines 1469-1475. (See #80).

Fixed length stressed vowels in tr_language.c (see #80).

Improved phonemes, new statements for [a] and long close [o].

Added last improvements in italian dict source tested on april-may 2016.
master
chrislm 9 years ago
parent
commit
80da24bec7
6 changed files with 131 additions and 112 deletions
  1. 39
    27
      dictsource/it_list
  2. 1
    2
      dictsource/it_listx
  3. 65
    59
      dictsource/it_rules
  4. 24
    13
      phsource/ph_italian
  5. 0
    9
      src/libespeak-ng/dictionary.c
  6. 2
    2
      src/libespeak-ng/tr_languages.c

+ 39
- 27
dictsource/it_list View File

 
// This file is UTF-8 encoded // This file is UTF-8 encoded
// Updated 2016 march 30 by Chris, Christian Leo M, <[email protected]>
// Updated 2016 june 4 by Chris, Christian Leo M, <[email protected]>


// $alt change [e] or [o] in the stressed syllable to [E] or [O] // $alt change [e] or [o] in the stressed syllable to [E] or [O]
// $alt2 change [E] or [O] in the stressed syllable to [e] or [o] // $alt2 change [E] or [O] in the stressed syllable to [e] or [o]
b bi b bi
c tSi c tSi
d d['i: d d['i:
_e e:
_e E:
f 'Effe f 'Effe
g dZi g dZi
h ak:a h ak:a
_i i: _i i:
j 'i||l'unga
j 'i||_l'uNga/
k kap:a k kap:a
l Elle l Elle
m Emme m Emme
n Enne/ n Enne/
_o o:
_o O:
p pi p pi
q ku q ku
r ER*e r ER*e
_1 'uno _1 'uno
_2 d'ue _2 d'ue
_3 t@-*'e _3 t@-*'e
_4 kw2'at:@-*o
_5 tS'inkw2e
_4 kw'at:@-*o
_5 tS'inkwe
_6 s'Ej _6 s'Ej
_7 s'Et:e _7 s'Et:e
_8 'Ot:o _8 'Ot:o
_12 d'oditSi _12 d'oditSi
_13 t@-*'editSi _13 t@-*'editSi
_14 kw2at:'oRditSi _14 kw2at:'oRditSi
_15 kw2'imditSi
_15 kw'imditSi
_16 s'editSi _16 s'editSi
_17 ditSass'Et:e _17 ditSass'Et:e
_18 ditS'Ot:o _18 ditS'Ot:o
_29 ventin'Ove _29 ventin'Ove
_3X t@-*'enta _3X t@-*'enta
_4X kua*'a:nta _4X kua*'a:nta
_5X tSinkw2'anta
_5X tSinkw'anta
_6X sess'anta _6X sess'anta
_7X set:'anta _7X set:'anta
_8X ot:'anta _8X ot:'anta
_1ox p@-*im _1ox p@-*im
_2ox sekond _2ox sekond
_3ox tE@-*ts _3ox tE@-*ts
_4ox kw2a:@-*t
_5ox kw2int
_4ox kwa:@-*t
_5ox kwint
_6ox sEst _6ox sEst
_7ox s'Et:im _7ox s'Et:im
_8ox ot:av _8ox ot:av
_1o un'Ezim _1o un'Ezim
_2o du'Ezim _2o du'Ezim
_3o t@-*e'Ezim _3o t@-*e'Ezim
_4o kw2at:@-*'Ezim
_5o tSinkw2'Ezim
_4o kwat:@-*'Ezim
_5o tSinkw'Ezim
_6o sEj'Ezim _6o sEj'Ezim
_7o sEt:'Ezim _7o sEt:'Ezim
_8o Ot:'Ezim _8o Ot:'Ezim
_20o vent'Ezim _20o vent'Ezim
_30o t@-*ent'Ezim _30o t@-*ent'Ezim
_40o kua*a:nt'Ezim _40o kua*a:nt'Ezim
_50o tSinkw2ant'Ezim
_50o tSinkwant'Ezim
_60o sessant'Ezim _60o sessant'Ezim
_70o set:ant'Ezim _70o set:ant'Ezim
_80o ot:ant'Ezim _80o ot:ant'Ezim
unicef $1 unicef $1
url u||eR*e||'El:e $only url u||eR*e||'El:e $only
usb $abbrev usb $abbrev
utc ,u||ti||tS'i
wwf vu||vu||'Ef:e wwf vu||vu||'Ef:e
www v,u||_vu||_v'u www v,u||_vu||_v'u
xml iks||em:e||'El:e xml iks||em:e||'El:e
nostre $u+ nostre $u+
vostre $u+ vostre $u+


questo $u+
questa $u+
questi $u+ $nounf
queste $u+

quest $u+ $nounf
(questa è) kw'esta||'E
(questo è) kw'esto/||,E
quel $u+ quel $u+
quella $u+ quella $u+
quei kw2eI quei kw2eI
neanche $u+ $brk neanche $u+ $brk
né $u+ $brk $only né $u+ $brk $only
no nO $strend no nO $strend
non $u $only
non $u $verbf $only
o $u+ $brk o $u+ $brk
ogni $u+ ogni $u+
oltre $u+ oltre $u+
disneyland $1 disneyland $1
display displ'ei display displ'ei
device dIv'aIs device dIv'aIs
door d'o:@-* $onlys
doppler $1 doppler $1
down d'a/:w2n down d'a/:w2n
download d'a/:w2nl,o:d download d'a/:w2nl,o:d
(déjà vu) deIZa:||v'u: (déjà vu) deIZa:||v'u:
(ladies and gentlemen) l'eIdIz||and||dZ'Ent@lm@n (ladies and gentlemen) l'eIdIz||and||dZ'Ent@lm@n
(nôtre dame) noUt@-*'da:m (nôtre dame) noUt@-*'da:m
(question time) kw2'estiont'aIm
(question time) kw'estiont'aIm


// Main nouns Dictionary (see also it_listx) // Main nouns Dictionary (see also it_listx)


revoche $1 revoche $1
riavvia @-*iav:'i#a riavvia @-*iav:'i#a
riavvio @-*iav:'IO riavvio @-*iav:'IO
riciao @-*i_tS'ao:
ricordino $3 $noun ricordino $3 $noun
rigoli $1 rigoli $1
rossonere $3 $alt2 rossonere $3 $alt2
schizzofrenia $4 schizzofrenia $4
scia S'ia scia S'ia
sciabile Si'abile sciabile Si'abile
sciacquii S,akw2'i:j
sciacquii S,akw'i:j
sciacquio S,akw2'i;O sciacquio S,akw2'i;O
sciator Si|at'oR sciator Si|at'oR
sciatric Siat@-*'ItS sciatric Siat@-*'ItS
cos'hai koz'a:i cos'hai koz'a:i
cos'è koz'E cos'è koz'E
dov'è dov'E dov'è dov'E
qual'è kwal''E
tant'è taNt'E tant'è taNt'E
l'ancora l'ankoRa l'ancora l'ankoRa
un'ancora un'a:nkoRa un'ancora un'a:nkoRa
quand'è kw2aNd'E
quand'è kwaNd'E
senz'altro sents'a:lt@-*o senz'altro sents'a:lt@-*o
nessun'altra nessun'alt@-*a nessun'altra nessun'alt@-*a
ultim'ora ultim'ORa ultim'ora ultim'ORa
(principi attivi) p@-*intS'i:pI||at:'ivI (principi attivi) p@-*intS'i:pI||at:'ivI
(principi morali) p@-*intS'i:pI||moR'alI (principi morali) p@-*intS'i:pI||moR'alI
(principi sociali) p@-*intS'i:pI||sotS'alI (principi sociali) p@-*intS'i:pI||sotS'alI
ciao tS'ao_
(ciao a) tS'ao||_|,a_|
(ciao ciao) tS,a/o||tSao
(un turbine) un||_t'u@-*bine (un turbine) un||_t'u@-*bine
(gli auguri) l^iaw2g'u:RI (gli auguri) l^iaw2g'u:RI
(pro capite) p@-*ok'a:pIte (pro capite) p@-*ok'a:pIte
sangano $2 sangano $2
sanlazzaro san_l'adz:aRo sanlazzaro san_l'adz:aRo
saragozzano $4 saragozzano $4
sarcidano $3
sarezzano $3 sarezzano $3
sarnano $2 sarnano $2
sassano $2 sassano $2
asimov 'azim,ov asimov 'azim,ov
asterix $1 asterix $1
augias a'u:dZas augias a'u:dZas
avirex $1
bardot ba@-*d'o bardot ba@-*d'o
bartali $1 bartali $1
bastian $2 bastian $2
deborah $1 $alt2 deborah $1 $alt2
deidda de'i:d:a deidda de'i:d:a
delrio del||@-*'io/ delrio del||@-*'io/
dessolis $2 $onlys
diaz d'iats $only diaz d'iats $only
Dickinson $1 Dickinson $1
diocle $1 diocle $1
atterrano $2 atterrano $2
atterrino $2 atterrino $2
attestino $2 attestino $2
attieniti $2
attirano $2 attirano $2
attirino $2 attirino $2
attonit $2 attonit $2
spolverano $1 spolverano $1
spopolano $1 spopolano $1
sporchino $1 sporchino $1
spostino $1 $alt2
sprecano $1 sprecano $1
spregia $1 spregia $1
sprigionino $2 sprigionino $2
(come desideri) kome||dez'ideRi (come desideri) kome||dez'ideRi
(così desideri) koz'i||_dez'i:deRI (così desideri) koz'i||_dez'i:deRI
(cosa desideri) k'O:za||dez'i:deRI (cosa desideri) k'O:za||dez'i:deRI
(cui desideri) k'u:|I||dez'ide**I
(invece desideri) inv'etSe||dez'ide**I
(la desideri) ladez'i:deRi (la desideri) ladez'i:deRi
(lo desideri) lodez'ideRi (lo desideri) lodez'ideRi
(mi desideri) mI||dez'i:deRI (mi desideri) mI||dez'i:deRI
(quando desideri) kw2ando||_|dez'i:deRi
(quindi desideri) kw2,indi||_dez'i:deRi
// (non desideri) non||dez'ideRI
(quando desideri) kwando||_|dez'i:deRi
(quindi desideri) kw,indi||_dez'i:deRi


// pronominal verbs // pronominal verbs


cercal $1 cercal $1
cercasi $1 cercasi $1
chiuditi kj'uditI chiuditi kj'uditI
cliccal $1
cliccaci $1
compil $2 compil $2
comunicacel $2 comunicacel $2
comunical $2 comunical $2
evolversi $2 evolversi $2
fammel $1 fammel $1
fattel f'at:el fattel f'at:el
fermati $1 $atstart
fermatosi $2 fermatosi $2
formatosi $2 formatosi $2
giuravi $2 giuravi $2
illuminami $2 illuminami $2
illuminal $2 illuminal $2
immergiti $2 immergiti $2
immetterl $2
impostaci $2 impostaci $2
impostomi $2 impostomi $2
indirizziamoci indiRi_tsj'amotSI // $5 indirizziamoci indiRi_tsj'amotSI // $5
portala $1 portala $1
portalo $1 portalo $1
portatel $2 portatel $2
posizionati $4 $atstart
presentaci $2 presentaci $2
promessomi $2 promessomi $2
privaci $1 privaci $1

+ 1
- 2
dictsource/it_listx View File

apostat $2 apostat $2
apostrof $2 apostrof $2
apotem $alt apotem $alt
appen ap:,en
appen ap:'en
appendice $3 appendice $3
appiomb $alt2 appiomb $alt2
appoggi $alt appoggi $alt
cot $alt cot $alt
cottim $alt cottim $alt
coyote $alt coyote $alt
cozzoli k'o_tsolI
cratere $2 cratere $2
cred $alt cred $alt
credit $1 $alt2 credit $1 $alt2

+ 65
- 59
dictsource/it_rules View File



// Italian translation rules // Italian translation rules
// This file is UTF-8 encoded // This file is UTF-8 encoded
// Last update: 2016 march 3 by Chris <[email protected]>
// Last update: 2016 june 1 by Chris <[email protected]>
// letter groups // letter groups
// A any vowel // A any vowel
// C any consonant // C any consonant
cqui (A k:wj cqui (A k:wj
c (Y tS c (Y tS
cc (Y tS: cc (Y tS:
ch (Y k
ch (Y k
cch (Y k: cch (Y k:
s) ch (A k s) ch (A k
ch (a tS ch (a tS
ch (o tS ch (o tS
ch (u tS ch (u tS
ci (A tS
cci (A tS:
@) co (lA_ =ko
ci (A tS
cci (A tS:
@) co (lA_ =ko
cardia (_ ka@-*d'ia cardia (_ ka@-*d'ia
cardie (_ ka@-*d'ie cardie (_ ka@-*d'ie
_) c' (P2t tS
_) c' (P2t tS
@@A) ce (A_ =tSE @@A) ce (A_ =tSE
ciano (_ =tSano // verbs ciano (_ =tSano // verbs
cciano (_ =tS:ano cciano (_ =tS:ano
cuocer (L04_ kU'OtSe@-* cuocer (L04_ kU'OtSe@-*
compra (L07_ k'omp@-*a compra (L07_ k'omp@-*a
_L04Z) capit (A_ k'a:p,it _L04Z) capit (A_ k'a:p,it
_L04Z) capit (ano_ k'a:p,it
_L04Z) capit (ano_ k'a:p,it
correr (L04_ k'o:R*eR correr (L04_ k'o:R*eR
ccorrer (L04_ k:'o:R*eR ccorrer (L04_ k:'o:R*eR
chiama (L07_ ki'a:ma chiama (L07_ ki'a:ma
a) cquista (L07_ k:w2'ista
a) cquista (L07_ k:w'ista
re) cat (AL07_ k''at


.group d .group d
d d
dd d:
d d
dd d:
n) dere (_ =deRe n) dere (_ =deRe
_) dall' (P5t dall
_) dell' (P5t dell
_) dall' (P5t dall
_) dell' (P5t dell
_) d' (P2t d _) d' (P2t d
donat (Y_ don'at donat (Y_ don'at
dona (L07_ d'ona // Pron.s verbs dona (L07_ d'ona // Pron.s verbs
day (_ d'eI // foreign day (_ d'eI // foreign


.group e .group e
e e
e e
ei (d Ej ei (d Ej
ei (c Ej ei (c Ej
ei (colA_ ei ei (colA_ ei
@t) ei (_ 'eI @t) ei (_ 'eI
@) ey (_ =eI @) ey (_ =eI
@C) e (_S1q e/ // lookup it_list without suffix @C) e (_S1q e/ // lookup it_list without suffix
e (C_ E
e (A E
e (C%A_ E
e (C_ E
e (A E
e (C%A_ E
_d) e (llA_ e _d) e (llA_ e
e (CiCA_ E
e (CulA_ E
e (llu E
e (st E
e (ttA_ e
c) e (ttA_ E
e (tti@ E
e (zzA_ e
e (r E
e (rsi_N e
e (CiCA_ E
e (CulA_ E
e (llu E
e (st E
e (ttA_ e
c) e (ttA_ E
e (tti@ E
e (zzA_ e
e (r E
e (rsi_N e
A) e (r_ 'E A) e (r_ 'E
_r) e E _r) e E
@) e (ci_ =e @) e (ci_ =e
e (l E
r) e (m E
e (monA_ 'e
e (nA_ E
g) e (ne E
e (ngA_ e
e (nCA_ E
@m) e (ntA_ e
%C) e (rA_ =E
C) e (re_ =E
gg) e (ro_ E
gg) e (ri_ E
f) e (rm e
@) e (rrimo_ 'E
e (l E
r) e (m E
e (monA_ 'e
e (nA_ E
g) e (ne E
e (ngA_ e
e (nCA_ E
@m) e (ntA_ e
%C) e (rA_ =E
C) e (re_ =E
gg) e (ro_ E
gg) e (ri_ E
f) e (rm e
@) e (rrimo_ 'E
an) e (simA_ 'e: an) e (simA_ 'e:
@) e (simA_ 'E @) e (simA_ 'E
h) e (ss e
m) e (ss e
_sC) e (ss e
e (ssa_ e
e (tr E
e (ti E
e (vi_ E
e (vo_ E
@) e (volA_ 'e
h) e (ss e
m) e (ss e
_sC) e (ss e
e (ssa_ e
e (tr E
e (ti E
e (vi_ E
e (vo_ E
@) e (volA_ 'e
e (zA E e (zA E
CC) eggia (no_ 'EdZ:a CC) eggia (no_ 'EdZ:a
C) ender (L04_ 'ende@-* // Pron.s verbs C) ender (L04_ 'ende@-* // Pron.s verbs
fobi (A_ fob'i; fobi (A_ fob'i;
fob (A_ =fob fob (A_ =fob
farma (ci_ f'a@-*ma farma (ci_ f'a@-*ma
ferma (L07_ f'e@-*ma/


.group g .group g
g g g g


.group q .group q
q k q k
qu (AK kw2
qu (A kw
qui (A kwj qui (A kwj
_) quell' (P6t kw2Ell
_) quest' (P6t kw2est
_) quell' (P6t kwEll
_) quest' (P6t kwest


.group r .group r
C) r @-* C) r @-*
.group t .group t
t t t t
tt t: tt t:
@a) tria (_ t@-*'ia
_) t' (P2t t
@a) tria (_ t@-*'ia
@a) trie (_ t@-*'ie @a) trie (_ t@-*'ie
a) ttoria (_ t:oR'ia a) ttoria (_ t:oR'ia
a) ttorie (_ t:oR'Ie a) ttorie (_ t:oR'Ie
_) togli (L04_ t'Ol^i _) togli (L04_ t'Ol^i
trova (L07_ t@-*'Ova trova (L07_ t@-*'Ova
_) tutt' (P5t tut: _) tutt' (P5t tut:
au) tentica (L07_ t'ENtIka/
a) ttiva (L07_ t:'iva
L02) tre (_ t@-*'e L02) tre (_ t@-*'e


.group u .group u
uomini (_ w2'Omini uomini (_ w2'Omini


.group v .group v
v v
vv v:
vvi (A v:i
v v
vv v:
vvi (A v:i
C) vi (A vI C) vi (A vI
C) vi (A_ =vI C) vi (A_ =vI
A) vino (_ =vino // verbs A) vino (_ =vino // verbs
_in) vader (L04_ v'a:de@-* _in) vader (L04_ v'a:de@-*
_) vota (L07_ v'Ota _) vota (L07_ v'Ota
s) veglia (L07_ v'el^ia s) veglia (L07_ v'el^ia
volta (L07_ v'Olta


.group w .group w
w w2 w w2
D) , (D v'i@-*gola D) , (D v'i@-*gola
__) - (_D meno __) - (_D meno
A_) - (_D _ A_) - (_D _
C_) - (_D _
§ pa*'ag@-*afO
C_) - (_D _
§ pa*'ag@-*afO
's (S2t s

+ 24
- 13
phsource/ph_italian View File

 
//==================================================== //====================================================
// Italian, last update 2 jan 2016 by Chris <[email protected]>
// Italian, last update 4 june 2016 by Chris <[email protected]>
//==================================================== //====================================================


phoneme : // Lengthen previous vowel by "length" phoneme : // Lengthen previous vowel by "length"
vowel starttype #a endtype #a vowel starttype #a endtype #a
length 160 length 160
ChangeIfNotStressed(a/) ChangeIfNotStressed(a/)
IF thisPh(isWordEnd) AND prevPhW(t) AND thisPh(isStressed) THEN
FMT(vowel/a)
ENDIF
IF nextPhW(o/) THEN
FMT(vowel/a_2)
ENDIF
IF prevPhW(isVowel) OR prevPhW(j) THEN
FMT(vowel/a, 90)
ENDIF
FMT(vwl_it/a) FMT(vwl_it/a)
endphoneme endphoneme



phoneme a/ phoneme a/
vowel starttype #a endtype #a vowel starttype #a endtype #a
length 140
length 145
IF thisPh(isWordEnd) THEN IF thisPh(isWordEnd) THEN
FMT(vowel/a#_4, 65)
FMT(vowel/a_7, 75)
ENDIF ENDIF
FMT(vowel/a_7)
FMT(vowel/a_8)
endphoneme endphoneme




phoneme e phoneme e
vowel starttype #e endtype #e vowel starttype #e endtype #e
length 150
length 155
ChangeIfNotStressed(e/) ChangeIfNotStressed(e/)
FMT(vowel/e_2, 80) FMT(vowel/e_2, 80)
endphoneme endphoneme


phoneme E phoneme E
vowel starttype #e endtype #e vowel starttype #e endtype #e
length 145
length 150
ChangeIfUnstressed(e/) ChangeIfUnstressed(e/)
FMT(vwl_it/e_open) FMT(vwl_it/e_open)
endphoneme endphoneme


phoneme o phoneme o
vowel starttype #o endtype #o vowel starttype #o endtype #o
length 150
length 160
ChangeIfNotStressed(o/) ChangeIfNotStressed(o/)
FMT(vwl_it/o) FMT(vwl_it/o)
endphoneme endphoneme


phoneme o/ phoneme o/
vowel starttype #o endtype #o vowel starttype #o endtype #o
length 140
length 145
IF nextPhW(isNasal) OR nextPhW(isLiquid) THEN IF nextPhW(isNasal) OR nextPhW(isLiquid) THEN
FMT(vwl_it/o_open, 80) FMT(vwl_it/o_open, 80)
ENDIF ENDIF
IF thisPh(isWordEnd) THEN IF thisPh(isWordEnd) THEN
FMT(vowel/o, 65)
FMT(vwl_it/o, 65)
ENDIF ENDIF
FMT(vowel/o) FMT(vowel/o)
endphoneme endphoneme


phoneme ts phoneme ts
vls alv afr sibilant vls alv afr sibilant
voicingswitch dz
voicingswitch s
lengthmod 9 lengthmod 9
Vowelin f1=0 f2=1700 -300 300 f3=-100 60 len=60 Vowelin f1=0 f2=1700 -300 300 f3=-100 60 len=60
Vowelout f1=0 f2=1700 -300 250 f3=-100 70 rms=14 Vowelout f1=0 f2=1700 -300 250 f3=-100 70 rms=14
IF nextPh(isPause2) THEN
IF nextPh(isNotVowel) THEN
WAV(ustop/ts_, 80) WAV(ustop/ts_, 80)
ENDIF ENDIF
WAV(ustop/ts_, 70)
IF prevPhW(isNotVowel) THEN
WAV(ustop/ts_, 70)
ENDIF
WAV(ustop/ts)
endphoneme endphoneme


phoneme dz phoneme dz

+ 0
- 9
src/libespeak-ng/dictionary.c View File

if (shorten) if (shorten)
p++; p++;
} }

if ((v_stress >= 4) && (tr->langopts.param[LOPT_IT_LENGTHEN] == 2)) {
// LANG=Italian, lengthen penultimate stressed vowels, unless followed by 2 consonants
if ((v == (vowel_count - 2)) && (syllable_weight[v] == 0)) {
*output++ = phcode;
phcode = phonLENGTHEN;
}
}

v++; v++;
} }



+ 2
- 2
src/libespeak-ng/tr_languages.c View File

case L('i', 't'): // Italian case L('i', 't'): // Italian
{ {
static const short stress_lengths_it[8] = static const short stress_lengths_it[8] =
{ 165, 100, 170, 150, 0, 0, 215, 303 };
{ 165, 130, 170, 150, 0, 0, 218, 305 };
static const unsigned char stress_amps_it[8] = static const unsigned char stress_amps_it[8] =
{ 16, 15, 16, 14, 20, 22, 22, 24 };
{ 16, 18, 17, 14, 20, 22, 22, 22 };


SetupTranslator(tr, stress_lengths_it, stress_amps_it); SetupTranslator(tr, stress_lengths_it, stress_amps_it);



Loading…
Cancel
Save