| * 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 | ||||