* zh (Chinese) -- Silas S. Brown | * zh (Chinese) -- Silas S. Brown | ||||
new languages: | new languages: | ||||
* haw (Hawaiian) -- Valdis Vitolins | |||||
* uk (Ukrainian) -- Valdis Vitolins | * uk (Ukrainian) -- Valdis Vitolins | ||||
* qu (Quechua) -- Valdis Vitolins | * qu (Quechua) -- Valdis Vitolins | ||||
espeak-ng-data/grc_dict \ | espeak-ng-data/grc_dict \ | ||||
espeak-ng-data/gu_dict \ | espeak-ng-data/gu_dict \ | ||||
espeak-ng-data/hak_dict \ | espeak-ng-data/hak_dict \ | ||||
espeak-ng-data/haw_dict \ | |||||
espeak-ng-data/hi_dict \ | espeak-ng-data/hi_dict \ | ||||
espeak-ng-data/hr_dict \ | espeak-ng-data/hr_dict \ | ||||
espeak-ng-data/ht_dict \ | espeak-ng-data/ht_dict \ | ||||
hak: espeak-ng-data/hak_dict | hak: espeak-ng-data/hak_dict | ||||
espeak-ng-data/hak_dict: dictsource/hak_list dictsource/hak_rules dictsource/hak_extra | espeak-ng-data/hak_dict: dictsource/hak_list dictsource/hak_rules dictsource/hak_extra | ||||
haw: espeak-ng-data/haw_dict | |||||
espeak-ng-data/haw_dict: dictsource/haw_list dictsource/haw_rules dictsource/haw_extra | |||||
ht: espeak-ng-data/ht_dict | ht: espeak-ng-data/ht_dict | ||||
espeak-ng-data/ht_dict: dictsource/ht_list dictsource/ht_rules dictsource/ht_extra | espeak-ng-data/ht_dict: dictsource/ht_list dictsource/ht_rules dictsource/ht_extra | ||||
// Names of letters | |||||
a a | |||||
e e | |||||
i i | |||||
o o | |||||
u u | |||||
'a: a:: | |||||
ē e:: | |||||
ī i:: | |||||
ō o:: | |||||
'u: u:: | |||||
ai ai | |||||
ae ae | |||||
ao ao | |||||
au au | |||||
ei ei | |||||
eu eu | |||||
iu iu | |||||
oi oi | |||||
ou ou | |||||
ui ui | |||||
h he: | |||||
k ke: | |||||
l la: | |||||
m mu: | |||||
n nu: | |||||
p pi: | |||||
w ve: | |||||
‘ ?okina | |||||
// Numbers | |||||
_0 ?ole | |||||
_1 ?ekahi | |||||
_2 ?elua | |||||
_3 ?ekolu | |||||
_4 ?eh'a: | |||||
_5 ?elima | |||||
_6 ?eono | |||||
_7 ?ehiku | |||||
_8 ?ewalu | |||||
_9 ?eiwa | |||||
_10 ?umi | |||||
_11 ?umik'u:m'a:kahi | |||||
_12 ?umik'u:m'a:lua | |||||
_13 ?umik'u:m'a:kolu | |||||
_14 ?umik'u:m'a:h'a: | |||||
_15 ?umik'u:m'a:lima | |||||
_16 ?umik'u:m'a:ono | |||||
_17 ?umik'u:m'a:hiku | |||||
_18 ?umik'u:m'a:walu | |||||
_19 ?umik'u:m'a:iwa | |||||
_20 iwak'a:lua | |||||
_21 iwak'a:luak'u:m'a:kahi | |||||
_22 iwak'a:luak'u:m'a:lua | |||||
_23 iwak'a:luak'u:m'a:kolu | |||||
_24 iwak'a:luak'u:m'a:h'a: | |||||
_25 iwak'a:luak'u:m'a:lima | |||||
_26 iwak'a:luak'u:m'a:ono | |||||
_27 iwak'a:luak'u:m'a:hiku | |||||
_28 iwak'a:luak'u:m'a:walu | |||||
_29 iwak'a:luak'u:m'a:iwa | |||||
_30 kanakolu | |||||
_40 kanah'a: | |||||
_50 kanalima | |||||
_60 kanaono | |||||
_70 kanahiku | |||||
_80 kanawalu | |||||
_90 kanaiwa | |||||
_0C ho?okahi | |||||
_0M1 kaukani | |||||
_0M2 miliona | |||||
_0M3 piliona | |||||
// Unstressed words | |||||
a'ela $u | |||||
a'e $u | |||||
akula $u | |||||
aku $u | |||||
'ana $u | |||||
a'o $u | |||||
au $u | |||||
ho'i $u | |||||
'ia $u | |||||
ia $u | |||||
iā $u | |||||
ihola $u | |||||
iho $u | |||||
ilelo $u | |||||
kākou $u | |||||
lākou $u | |||||
lā $u | |||||
maila $u | |||||
mai $u | |||||
mau $u | |||||
nō $u | |||||
'oe $u | |||||
'o $u | |||||
'oukou $u | |||||
paha $u | |||||
po'e $u | |||||
pono $u | |||||
pū $u | |||||
ua $u | |||||
wale $u | |||||
wau $u |
.replace | |||||
â ā | |||||
ê ē | |||||
î ī | |||||
ô ō | |||||
û ū | |||||
` ' | |||||
‘ ' | |||||
’ ' | |||||
ʻ ' | |||||
.L20 a o u | |||||
.L40 i e | |||||
.group a | |||||
a a | |||||
.group e | |||||
e e | |||||
.group i | |||||
i i | |||||
.group o | |||||
o o | |||||
.group u | |||||
u u | |||||
.group ā | |||||
ā 'a: | |||||
.group ē | |||||
ē 'e: | |||||
.group ī | |||||
ī 'i: | |||||
.group ō | |||||
ō 'o: | |||||
.group ū | |||||
ū 'u: | |||||
.group ai | |||||
ai ai | |||||
.group ae | |||||
ae ae | |||||
.group ao | |||||
ao ao | |||||
.group au | |||||
au au | |||||
.group ei | |||||
ei ei | |||||
.group eu | |||||
eu eu | |||||
.group iu | |||||
iu iu | |||||
.group oi | |||||
oi oi | |||||
.group ou | |||||
ou ou | |||||
.group ui | |||||
ui ui | |||||
.group h | |||||
h h | |||||
.group k | |||||
k k | |||||
.group l | |||||
l l | |||||
.group m | |||||
m m | |||||
.group n | |||||
n n | |||||
.group p | |||||
p p | |||||
.group v | |||||
v v | |||||
.group w | |||||
w (L20 w | |||||
w (L40 v | |||||
.group ' | |||||
' _! // short non-breking pause instead of standard ? glottal stop | |||||
// other Latin letters, to not switch to standard English during pronunciation | |||||
.group | |||||
b b | |||||
c ts | |||||
d d | |||||
f f | |||||
g g | |||||
q k | |||||
r r | |||||
s s | |||||
t t | |||||
z z |
| `roa` | `ca` | Romance | Catalan | | | | `roa` | `ca` | Romance | Catalan | | | ||||
| `sit` | `yue` | Sino-Tibetan | Chinese | Cantonese | | | `sit` | `yue` | Sino-Tibetan | Chinese | Cantonese | | ||||
| `sit` | `hak` | Sino-Tibetan | Chinese | Hakka | | | `sit` | `hak` | Sino-Tibetan | Chinese | Hakka | | ||||
| `map` | `haw` | Austronesian | Hawaiian | | | |||||
| `sit` | `cmn` | Sino-Tibetan | Chinese | Mandarin | | | `sit` | `cmn` | Sino-Tibetan | Chinese | Mandarin | | ||||
| `zls` | `hr` | South Slavic | Croatian | | | | `zls` | `hr` | South Slavic | Croatian | | | ||||
| `zlw` | `cs` | West Slavic | Czech | | | | `zlw` | `cs` | West Slavic | Czech | | |
name Hawaiian | |||||
language haw | |||||
status testing |
phoneme a | |||||
vwl starttype #a endtype #a | |||||
length 130 | |||||
FMT(vwl_lv/a, 100) | |||||
endphoneme | |||||
phoneme a: | |||||
vwl starttype #a endtype #a | |||||
length 310 | |||||
lng | |||||
FMT(vwl_lv/aa, 90) | |||||
endphoneme | |||||
phoneme e | |||||
vwl starttype #e endtype #e | |||||
length 120 | |||||
FMT(vwl_lv/e, 100) | |||||
endphoneme | |||||
phoneme e: | |||||
vwl starttype #e endtype #e | |||||
length 300 | |||||
FMT(vwl_lv/ee, 100) | |||||
endphoneme | |||||
phoneme i | |||||
vwl starttype #i endtype #i | |||||
length 120 | |||||
FMT(vwl_lv/i, 110) | |||||
endphoneme | |||||
phoneme i: | |||||
vwl starttype #i endtype #i | |||||
length 280 | |||||
FMT(vwl_lv/ii, 90) | |||||
endphoneme | |||||
phoneme o | |||||
vwl starttype #o endtype #o | |||||
length 120 | |||||
FMT(vwl_lv/o, 90) | |||||
endphoneme | |||||
phoneme o: | |||||
vwl starttype #o endtype #o | |||||
length 300 | |||||
FMT(vwl_lv/oo, 75) | |||||
endphoneme | |||||
phoneme u | |||||
vwl starttype #u endtype #u | |||||
length 120 | |||||
FMT(vwl_lv/u, 100) | |||||
endphoneme | |||||
phoneme u: | |||||
vwl starttype #u endtype #u | |||||
length 300 | |||||
FMT(vwl_lv/uu, 90) | |||||
endphoneme | |||||
phoneme ai | |||||
vwl starttype #a endtype #i | |||||
length 280 | |||||
lng | |||||
FMT(vdiph/aai, 100) | |||||
endphoneme | |||||
phoneme au | |||||
vwl starttype #a endtype #u | |||||
length 300 | |||||
lng | |||||
FMT(vdiph/aau, 100) | |||||
endphoneme | |||||
phoneme ei | |||||
vwl starttype #e endtype #i | |||||
length 280 | |||||
lng | |||||
FMT(vdiph/eei_2, 100) | |||||
endphoneme | |||||
phoneme ie | |||||
vwl starttype #i endtype #e | |||||
length 250 | |||||
lng | |||||
FMT(vdiph2/ie_2, 100) | |||||
endphoneme | |||||
phoneme iu | |||||
vwl starttype #i endtype #u | |||||
length 250 | |||||
lng | |||||
FMT(vdiph2/iu_2, 100) | |||||
endphoneme | |||||
phoneme ui | |||||
vwl starttype #u endtype #i | |||||
length 250 | |||||
lng | |||||
FMT(vdiph/ui, 100) | |||||
endphoneme | |||||
phoneme uo | |||||
vwl starttype #u endtype #a | |||||
length 280 | |||||
lng | |||||
FMT(vdiph2/ua, 110) | |||||
endphoneme | |||||
phoneme oi | |||||
vwl starttype #o endtype #i | |||||
length 250 | |||||
lng | |||||
FMT(vdiph/ooi, 100) | |||||
endphoneme | |||||
phoneme k | |||||
vls vel stp | |||||
lengthmod 2 | |||||
voicingswitch g | |||||
Vowelin f1=0 f2=2300 200 400 f3=-100 80 | |||||
Vowelout f1=0 f2=2300 300 400 f3=-100 80 rms=20 | |||||
IF nextPh(isPause2) THEN | |||||
WAV(ustop/k_) | |||||
ENDIF | |||||
IF nextPh(#i) OR nextPh(l^) THEN | |||||
WAV(ustop/ki) | |||||
ENDIF | |||||
IF nextPh(l) THEN | |||||
WAV(ustop/kl) | |||||
ENDIF | |||||
WAV(ustop/k_unasp, 60) | |||||
endphoneme | |||||
phoneme l | |||||
liquid | |||||
IF nextPh(isNotVowel) THEN | |||||
PrevVowelEndings | |||||
VowelEnding(l/L1_@L) | |||||
VowelEnding(l/L1_aL) | |||||
VowelEnding(l/L1_eL) | |||||
VowelEnding(l/L1_iL) | |||||
VowelEnding(l/L1_oL) | |||||
VowelEnding(l/L1_uL) | |||||
EndSwitch | |||||
FMT(l/l_) | |||||
RETURN | |||||
ENDIF | |||||
CALL vowelstart_l | |||||
IF prevPh(a) OR prevPh(a:) THEN | |||||
VowelEnding(l/xl, 20) | |||||
ELSEIF prevPh(isVowel) THEN | |||||
VowelEnding(l/xl, 10) | |||||
ENDIF | |||||
IF prevPh(isPause) THEN | |||||
FMT(l/_l) | |||||
ENDIF | |||||
IF prevPh(t) THEN | |||||
FMT(l/tl) | |||||
ENDIF | |||||
IF prevPh(l/) THEN | |||||
FMT(l/l_long) | |||||
ENDIF | |||||
FMT(l/l) | |||||
endphoneme | |||||
phoneme m | |||||
vcd blb nas | |||||
Vowelout f1=2 f2=1000 -500 -350 f3=-200 80 brk | |||||
lengthmod 4 | |||||
IF KlattSynth THEN | |||||
Vowelin f1=0 f2=1000 -50 -200 f3=-200 80 | |||||
IF nextPh(isPause2) THEN | |||||
FMT(klatt/m_) | |||||
ENDIF | |||||
FMT(klatt/m) | |||||
ENDIF | |||||
NextVowelStarts | |||||
VowelStart(m/m@) | |||||
VowelStart(m/ma) | |||||
VowelStart(m/me) | |||||
VowelStart(m/mi) | |||||
VowelStart(m/mo) | |||||
VowelStart(m/mu) | |||||
EndSwitch | |||||
IF prevPh(isNotVowel) AND nextPhW(isLiquid) THEN | |||||
FMT(m/mj) | |||||
ELIF prevPh(isPause) THEN | |||||
FMT(m/_m) | |||||
ELIF nextPh(isNotVowel) THEN | |||||
FMT(m/m_) | |||||
ELIF nextPh(m) THEN | |||||
FMT(m/mj) | |||||
ENDIF | |||||
endphoneme | |||||
phoneme p | |||||
vls blb stp | |||||
lengthmod 2 | |||||
voicingswitch b | |||||
Vowelin f1=0 f2=1000 -50 -100 f3=-200 80 | |||||
Vowelout f1=0 f2=1000 -500 -350 f3=-300 80 rms=30 | |||||
IF nextPh(isPause2) THEN | |||||
WAV(ustop/p_unasp_, 80) | |||||
ENDIF | |||||
IF nextPh(l) THEN | |||||
WAV(ustop/pl) | |||||
ENDIF | |||||
WAV(ustop/p_unasp, 120) | |||||
endphoneme | |||||
phoneme v | |||||
vcd lbd frc | |||||
ipa ʋ | |||||
lengthmod 6 | |||||
voicingswitch f | |||||
Vowelin f1=0 f2=1000 -300 -200 f3=-300 100 | |||||
Vowelout f1=0 f2=1000 -500 -300 f3=-300 60 len=50 | |||||
IF nextPh(isPause2) THEN | |||||
FMT(voc/v#_) | |||||
ENDIF | |||||
FMT(voc/v#) | |||||
endphoneme | |||||
phonemetable hak base1 | phonemetable hak base1 | ||||
include ph_hakka | include ph_hakka | ||||
phonemetable haw base1 | |||||
include ph_hawaiian | |||||
phonemetable hi_base base1 | phonemetable hi_base base1 | ||||
include ph_hindi_base | include ph_hindi_base | ||||