diff --git a/Makefile.am b/Makefile.am index b3527b37..6c1748ee 100644 --- a/Makefile.am +++ b/Makefile.am @@ -214,6 +214,7 @@ phsource/phonemes.stamp: \ phsource/ph_basque \ phsource/ph_bengali \ phsource/ph_bulgarian \ + phsource/ph_burmese \ phsource/ph_catalan \ phsource/ph_consonants \ phsource/ph_croatian \ @@ -356,6 +357,7 @@ dictionaries: \ espeak-data/ml_dict \ espeak-data/mr_dict \ espeak-data/ms_dict \ + espeak-data/my_dict \ espeak-data/nci_dict \ espeak-data/ne_dict \ espeak-data/nl_dict \ @@ -664,6 +666,12 @@ dictsource/ms_extra: espeak-data/ms_dict: src/espeak-ng phsource/phonemes.stamp dictsource/ms_list dictsource/ms_rules dictsource/ms_extra cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak-ng --compile=ms && cd .. +my: espeak-data/my_dict +dictsource/my_extra: + touch dictsource/my_extra +espeak-data/my_dict: src/espeak phsource/phonemes.stamp dictsource/my_list dictsource/my_rules dictsource/my_extra + cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=my && cd .. + nci: espeak-data/nci_dict dictsource/nci_extra: touch dictsource/nci_extra diff --git a/dictsource/my_list b/dictsource/my_list new file mode 100644 index 00000000..6b01fd52 --- /dev/null +++ b/dictsource/my_list @@ -0,0 +1,12 @@ +//စပေါ် zəbɔ +//soldier sold +//How zəbɔ + +// singe letter words +//က $nounf +//က kə3 //$atend + +//စ $nounf +//စ sə3 //$atend + + diff --git a/dictsource/my_rules b/dictsource/my_rules new file mode 100644 index 00000000..d11dd1d3 --- /dev/null +++ b/dictsource/my_rules @@ -0,0 +1,175 @@ +// This file is UTF8 encoded +// Spelling to phoneme rules for Burmese + +//.replace +//၀ 0 // Convert numbers +//၁ 1 +//၂ 2 +//၃ 3 +//၄ 4 +//၅ 5 +//၆ 6 +//၇ 7 +//၈ 8 +//၉ 9 + +.group က + က k + က (် ɛ +// _) က (_ kə3 +// က (ျ tɕ + +.group ျ + ျ tɕ + +.group ွ + ွ w + +//.group ကျ +// ကျ tɕ +// က (ျ tɕ + +.group ခ + ခ kh + +.group ဂ + ဂ g + +.group ဃ + ဃ g + +.group င + င ŋ + င် n + +.group စ + စ s + +.group ဆ + ဆ sh + +.group ဇ + ဇ z + +.group ဈ + ဈ z + +.group ည + ည ɲ + +.group ဉ + ဉ ɲ + +.group ဋ + ဋ t + +.group ဌ + ဌ th + +.group ဍ + ဍ t + +.group ဎ + ဎ d + +.group ဏ + ဏ n + +.group တ + တ t + +.group ထ + ထ th + +.group ဒ + ဒ d + +.group ဓ + ဓ d + +.group န + န n + +.group ပ + ပ p + +.group ဖ + ဖ ph + +.group ဗ + ဗ b + +.group ဘ + ဘ b + +.group မ + မ m + +.group ယ + ယ j + +.group ရ + ရ j + +.group လ + လ l + +.group ဝ + ဝ w + +.group သ + သ θ + +.group ဟ + ဟ h + +.group ဠ + ဠ l + +.group အ + အ ə3 + +//// + +.group ေ + ေ e3 +// က) ေ e3 +// @) ေ ke3 + +.group ိ + ိ i + +.group ီ + ီ i1 +.group ု + ု u3 + +.group ူ + ူ u1 + +.group ို + ို o + +.group ာ + ာ ə + ါ ə + +.group း + း 2 + +.group ော + ော ɔ2 + ော (် ɔ1 + ော (့ ɔ3 + ောင် ɔɴ4 + ောက် ɔ4 + +//.group ော +// ော au2 +// ော (် au1 +// ော (့ au3 +// ောင် aun4 + +//.group ် +// ် n + diff --git a/espeak-data/voices/my b/espeak-data/voices/my new file mode 100644 index 00000000..a7a37bab --- /dev/null +++ b/espeak-data/voices/my @@ -0,0 +1,2 @@ +name burmese +language my diff --git a/phsource/ph_burmese b/phsource/ph_burmese new file mode 100644 index 00000000..a706cbce --- /dev/null +++ b/phsource/ph_burmese @@ -0,0 +1,583 @@ +// http://espeak.sourceforge.net/phontab.html +//========================================================= +// Burmese +//========================================================= + +//=========== +// TONES +//=========== + +//phoneme 1 //see vietnamese; tones taken from there +// stress +// Tone(X,Y,...) +//endphoneme + +phoneme 1 //low tone + stress + Tone(20,35, envelope/i_risefall,NULL) +endphoneme + +phoneme 2 //high tone + stress + Tone(45,80, envelope/p_rise,NULL) +endphoneme + +phoneme 3 //creaky tone + stress + Tone(30,75, envelope/p_214, NULL) +endphoneme + +phoneme 4 //checked tone + stress + Tone(20,35, envelope/i_risefall,NULL) +endphoneme + + +//=========== +// VOWELS +//=========== + +//phoneme X +// vowel starttype #X endtype #X +// length XXX +// FMT(vowel/X_X) //refers to binary file in vowel/ directory +//endphoneme + + + +//Oral Vowels + +phoneme ə // Schwa +//cannot be followed by ɴ + vowel starttype #@ endtype #@ + unstressed +// IF nextPh(3) THEN //creaky tone + //length +// length + //f1 + //f2 +// ELIF nextPh(1) THEN //low tone + //length +// length + //f1 + //f2 +// ELIF nextPh(2) THEN //high tone + //length +// length + //f1 + //f2 +// ELIF nextPh(4) THEN //checked tone + //length 213 195 173 + length 194 + //f1 785 777 799 + //f2 1644 1613 1629 +// ENDIF + FMT(vowel/@) +endphoneme + +phoneme ɛ +//cannot be followed by ɴ + vowel starttype #e endtype #e + IF nextPh(3) THEN //creaky tone + //length 184 223 202 + length 203 + //formant 561,2055 566,2050 596,1978 + //f1 561 566 596: 574 + //f2 2055 2050 1978: 2028 + ELIF nextPh(1) THEN //low tone + //length 446 431 360 + length 412 + //formant 547,2002 552,1977 558,1976 + //f1 547 552 558: 552 + //f2 2002 1977 1976: 1985 + ELIF nextPh(2) THEN //high tone + //length 364 306 281 + length 317 + //formant 577,2111 545,2063 542,2036 + //f1 577 545 542: 555 + //f2 2111 2063 2036: 2070 + ELIF nextPh(4) THEN //checked tone + //length 207 215 204 + length 209 + //f1 705 722 715 + //f2 1975 1866 1871 + ENDIF + FMT(vowel/e_mid) //chosen at random +endphoneme + +phoneme i + vowel starttype #i endtype #i + IF nextPh(3) THEN //creaky tone + //length 159 187 158 + length 168 + //f1 418 356 398: 391 + //f2 2323 2169 2274: 2255 + ELIF nextPh(1) THEN //low tone + //length 425 413 385 + length 408 + //formant 458,2213 487,2139 412,2215 + //f1 458 487 412: 452 + //f2 2213 2139 2215: 2189 + ELIF nextPh(2) THEN //high tone + //length 317 338 280 + length 312 + //formant 351,2043 350,2287 365,2307 + //f1 351 350 365: 355 + //f2 2043 2287 2307: 2212 + ELIF nextPh(4) THEN //checked tone + //length 226 217 211 + length 218 + //f1 517 536 542 + //f2 2209 2185 2191 + ENDIF + FMT(vowel/i) +endphoneme + +phoneme e + vowel starttype #e endtype #e + IF nextPh(3) THEN //creaky tone + //length 191 209 191 + length 197 + //formant 431,2279 449,2343 457,2230 + //f1 431 449 457: 446 + //f2 2279 2343 2230: 2284 + ELIF nextPh(1) THEN //low tone + //length 457 467 385 + length 436 + //formant 462,2194 453,2152 453,2149 + //f1 462 453 453: 456 + //f2 2194 2152 2149: 2165 + ELIF nextPh(2) THEN //high tone + //length 328 352 328 + length 336 + //formant 451,2313 447,2288 487,2314 + //f1 451 447 487: 462 + //f2 2313 2288 2314: 2305 + ELIF nextPh(4) THEN //checked tone + //length 207 225 225 + length 219 + //f1 495 502 506 + //f2 2273 2319 2280 + ENDIF + FMT(vowel/e) +endphoneme + +phoneme u + vowel starttype #u endtype #u + IF nextPh(3) THEN //creaky tone + //length 198 216 187 + length 200 + //formant 376,1082 363,1072 348,1110 + //f1 376 363 348: 362 + //f2 1082 1072 1110: 1088 + ELIF nextPh(1) THEN //low tone + //length 508 479 396 + length 461 + //formant 377,1254 386,1223 340,1246 + //f1 377 386 340: 368 + //f2 1254 1223 1246: 1241 + ELIF nextPh(2) THEN //high tone + //length 295 335 277 + length 302 + //formant 350,1125 325,1104 326,1183 + //f1 350 325 326: 3334 + //f2 1125 1104 1183: 1137 +// ELIF nextPh(4) THEN //checked tone + //length +// length + //f1 + //f2 + ENDIF + FMT(vowel/u) +endphoneme + +phoneme o + vowel starttype #o endtype #o + IF nextPh(3) THEN //creaky tone + //length 216 277 216 + length 236 + //formant 461,1073 496,1121 505,1047 + //f1 461 496 505: 487 + //f2 1073 1121 1047: 1080 + ELIF nextPh(1) THEN //low tone + //length 545 471 396 + length 471 + //formant 479,1285 477,1167 477,1241 + //f1 479 477 477: 478 + //f2 1285 1167 1241: 1231 + ELIF nextPh(2) THEN //high tone + //length 360 382 292 + length 345 + //formant 449,1038 462,1036 507,1030 + //f1 449 462 507: 473 + //f2 1038 1036 1030: 1035 + ELIF nextPh(4) THEN //checked tone + //length 202 211 193 + length 202 + //f1 547 542 541 + //f2 1095 1110 1146 + ENDIF + FMT(vowel/oo) +endphoneme + +phoneme ɔ + vowel + IF nextPh(4) THEN //diphthong with checked tone + starttype #o endtype #u + ELSE + starttype #o endtype #o + ENDIF + IF nextPh(3) THEN //creaky tone + //length 252 270 277 + length 266 + //formant 601,1073 583,1105 604,1091 + //f1 601 583 604: 596 + //f2 1073 1105 1091: 1090 + ELIF nextPh(1) THEN //low tone + //length 453 511 410 + length 458 + //formant 549,1028 587,1068 582,1027 + //f1 549 587 582: 573 + //f2 1028 1068 1027: 1041 + ELIF nextPh(2) THEN //high tone + //length 334 338 302 + length 325 + //formant 580,1075 560,1048 578,1097 + //f1 580 560 578: 573 + //f2 1075 1049 1097: 1074 + ELIF nextPh(4) THEN //checked tone + //length 202 224 180 + length 202 + //f1 888 851 840 + //f2 1290 1317 1321 + ENDIF + FMT(vowel/oo_en) //formant +endphoneme + +phoneme a + vowel + IF nextPh(4) THEN //diphthong with checked tone + starttype #a endtype #i + ELSE + starttype #a endtype #a + ENDIF +// IF nextPh(3) THEN //creaky tone + //length +// length + //f1 + //f2 +// ELIF nextPh(1) THEN //low tone + //length +// length + //f1 + //f2 +// ELIF nextPh(2) THEN //high tone + //length +// length + //f1 + //f2 +// ELIF nextPh(4) THEN //checked tone + //length 246 244 209 + length 233 + //f1 806 753 734 + //f2 1789 1862 1928 +// ENDIF + FMT(vowel/oo_en) //formant +endphoneme + +//Nasal Vowels +//Nasal vowels cannot take checked tone + +phoneme iɴ + vowel starttype #i endtype #i +// IF nextPh(3) THEN //creaky tone + //length +// length + //f1 + //f2 +// ELIF nextPh(1) THEN //low tone + //length 379 400 359 + length 379 + //f1 479 548 577 + //f2 2015 2235 2126 +// ELIF nextPh(2) THEN //high tone + //length +// length + //f1 + //f2 +// ENDIF + FMT(vowel/i) +endphoneme + +phoneme eɴ + vowel starttype #e endtype #e +// IF nextPh(3) THEN //creaky tone + //length +// length + //f1 + //f2 +// ELIF nextPh(1) THEN //low tone + //length 417 476 497 + length 463 + //f1 478 550 605 + //f2 2323 2295 2292 +// ELIF nextPh(2) THEN //high tone + //length +// length + //f1 + //f2 +// ENDIF + FMT(vowel/e) +endphoneme + +phoneme uɴ + vowel starttype #u endtype #u +// IF nextPh(3) THEN //creaky tone + //length +// length + //f1 + //f2 +// ELIF nextPh(1) THEN //low tone + //length +// length + //f1 + //f2 +// ELIF nextPh(2) THEN //high tone + //length +// length + //f1 + //f2 +// ENDIF + FMT(vowel/u) +endphoneme + +phoneme oɴ + vowel starttype #a endtype #u +// IF nextPh(3) THEN //creaky tone + //length +// length + //f1 + //f2 +// ELIF nextPh(1) THEN //low tone + //length 372 371 329 + length 357 + //f1 530 559 573 + //f2 1006 1035 1057 +// ELIF nextPh(2) THEN //high tone + //length +// length + //f1 + //f2 +// ENDIF + FMT(vowel/oo) +endphoneme + +phoneme ɔɴ + vowel starttype #o endtype #u +// IF nextPh(3) THEN //creaky tone + //length +// length + //f1 + //f2 +// ELIF nextPh(1) THEN //low tone + //length 572 582 395 + length 511 + //f1 823 840 801 + //f2 1463 1535 1393 +// ELIF nextPh(2) THEN //high tone + //length +// length + //f1 + //f2 +// ENDIF + FMT(vowel/oo_en) //formant +endphoneme + +phoneme aɴ + vowel starttype #a endtype #i +// IF nextPh(3) THEN //creaky tone + //length +// length + //f1 + //f2 +// ELIF nextPh(1) THEN //low tone + //length 451 393 357 + length 400 + //f1 776 762 792 + //f2 1908 1772 1753 +// ELIF nextPh(2) THEN //high tone + //length +// length + //f1 + //f2 +// ENDIF + FMT(vowel/a) //formant +endphoneme + + +//=========== +// CONSONANTS +//=========== + +phoneme mh //voiceless + vls blb nasal +endphoneme + +phoneme m + //vcd blb nasal + import_phoneme base/m +endphoneme + +phoneme nh + vls alv nasal +endphoneme + +phoneme n + //vcd alv nasal + import_phoneme base/n +endphoneme + +phoneme ɲh + vls pal nasal +endphoneme + +phoneme ɲ + //vcd pal nasal palatal + import_phoneme base/n^ +endphoneme + +phoneme ŋh + vls vel nasal +endphoneme + +phoneme ŋ + //vcd vel nasal + import_phoneme base/N +endphoneme + +//phoneme ɴ +// vcd glt nasal +//endphoneme + +phoneme p + //vls blb stop + import_phoneme base/b +endphoneme + +phoneme b + //vcd blb stop + import_phoneme base/b +endphoneme + +phoneme ph //aspirated + vls blb stop + import_phoneme base/p +endphoneme + +phoneme t + //vls alv stop + import_phoneme base/d +endphoneme + +phoneme d + //vcd alv stop + import_phoneme base/d +endphoneme + +phoneme th + vls alv stop + import_phoneme base/t +endphoneme + +phoneme tɕ + //vls pla afr sibilant + import_phoneme base/tS +endphoneme + +phoneme dʑ + //vcd pla afr sibilant + import_phoneme base/dZ +endphoneme + +phoneme tɕh + vls pla afr sibilant + // aspirated +endphoneme + +phoneme k + //vls vel stop + import_phoneme base/k +endphoneme + +phoneme g + //vcd vel stop + import_phoneme base/g +endphoneme + +phoneme kh + vls vel stop + import_phoneme base/k +endphoneme + +phoneme ʔ + vls glt stop +endphoneme + +phoneme θ + //vls dnt frc + import_phoneme base/T +endphoneme + +phoneme ð + //vcd dnt frc + import_phoneme base/D +endphoneme + +phoneme s + //vls alv frc sibilant + import_phoneme base/s +endphoneme + +phoneme z + //vcd alv frc sibilant + import_phoneme base/z +endphoneme + +phoneme sh //aspirated not palatal + vls alv frc sibilant +endphoneme + +phoneme ʃ + //vls pla frc sibilant + import_phoneme base/S +endphoneme + +phoneme h + vls glt frc +endphoneme + +phoneme j + vcd pal liquid +endphoneme + +phoneme ɹ + vcd alv liquid +endphoneme + +phoneme wh //voiceless + vls blb liquid +endphoneme + +phoneme w + vcd blb liquid +endphoneme + +phoneme lh //voiceless + vls alv liquid +endphoneme + +phoneme l + //vcd alv liquid + import_phoneme base/l +endphoneme + diff --git a/phsource/phonemes b/phsource/phonemes index b8ebe4b5..3284aec3 100644 --- a/phsource/phonemes +++ b/phsource/phonemes @@ -1728,14 +1728,14 @@ include ph_finnish phonemetable et base include ph_estonian -phonemetable fr base -include ph_french +//phonemetable fr base +//include ph_french -phonemetable fr-ca fr -include ph_french_ca +//phonemetable fr-ca fr +//include ph_french_ca -phonemetable nl base -include ph_dutch +//phonemetable nl base +//include ph_dutch phonemetable hi_base base @@ -1899,90 +1899,6 @@ include ph_farsi phonemetable ar base include ph_arabic - -//************************************************************************************** -// The following lines are experimental, for future additions. -// These langauges are not in a usable state. -// These lines can be deleted. - -phonemetable rw base2 -include ph_kinyarwanda - -//phonemetable mn base -//include ph_mongolian - -phonemetable prs base -include ph_dari - -phonemetable sl pl -include ph_slovenian - -phonemetable gd base -include ph_s_gaelic - -phonemetable nso base -include ph_northern-sotho - -phonemetable ht fr -include ph_haitian - -phonemetable az tr -include ph_azerbaijani - -phonemetable ak base -include ph_akan - -phonemetable am base -include ph_amhari - -phonemetable wo base -include ph_wolof - -phonemetable dv hi_base -include ph_divehi - -phonemetable te hi_base -include ph_telugu - -phonemetable si hi_base -include ph_sinhala - -phonemetable as bn -include ph_assamese - -phonemetable or bn -include ph_oriya - -phonemetable mni bn -include ph_manipuri - - - -phonemetable tn base -include ph_setswana - - -phonemetable mt base -include ph_maltese - -phonemetable bo hi -include ph_tibetan - -phonemetable kk base -include ph_kazakh - -phonemetable tt base -include ph_tatar - -phonemetable ko base -include ph_korean - -phonemetable kl base -include ph_greenlandic - -phonemetable om base -include ph_oromo - -//phonemetable en-test base -//include ph_english_test +phonemetable my base +include ph_burmese