eSpeak NG is an open source speech synthesizer that supports more than hundred languages and accents.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

ph_cherokee 5.2KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225
  1. //*******************************************************************
  2. // TONES
  3. //*******************************************************************
  4. //*******************************************************************
  5. // REFERENCE MATERIALS
  6. //*******************************************************************
  7. // Collaborative Documentation and Revitalization of Cherokee Tone
  8. // https://scholarspace.manoa.hawaii.edu/bitstream/handle/10125/24630/herrick.pdf
  9. // Tones fall within a range of 80–140 H (pg 21, footnote)
  10. // the mid tone (2) starts at 104 Hz (P1) and falls approximately 2 Hz at of the next four points ending at 96 Hz at P5.
  11. //
  12. // Building Tone Resources for Second Language Learners from Phonetic Documentation
  13. // https://scholarspace.manoa.hawaii.edu/bitstream/10125/24737/hirata-edds_herrick.pdf
  14. //
  15. // Pitch contours taken from Praat chart, pg 295
  16. //
  17. // (¹) low fall: 106, 102, 97, 92, 88
  18. // (²) low/mid: 104, 100, 98, 97, 96
  19. // (³) high: 108, 109, 110, 111, 112
  20. // (⁴) super high: 109, 113, 118, 122, 127
  21. // (²³) rising: 97, 98, 101, 104, 109
  22. // (³²) falling: 122, 120, 115, 106, 97
  23. // A REFERENCE GRAMMAR OF OKLAHOMA CHEROKEE (2008)
  24. // Short vowels preceding /h/ are devoiced, pg 45 (how to do this espeak-ng?)
  25. // Word final vowels are nasalized
  26. // Vowels are nasalized after a nasal consonant
  27. // Vowels are either long or short; a long vowel takes
  28. // approximately twice as long to pronounce as its
  29. // short counterpart., pg 46
  30. //int pitch1 = 0;
  31. //int pitch2 = 0;
  32. //int pitch_env = 0;
  33. //int amp_env = 0;
  34. //IF (pitch1 >= pitch2) the pitch values get swapped (???)
  35. phoneme 1 // low fall (¹)
  36. stress
  37. ipa ˨˩
  38. //Tone(106, 85, envelope/p_fall, NULL) //need a pitch contour of 106-88 for a
  39. Tone(49, 28, envelope/p_fall, NULL) //need a pitch contour of 106-88 for a
  40. endphoneme
  41. phoneme 2 // low (²)
  42. stress
  43. ipa ˨
  44. //Tone(105, 93, envelope/p_fall, NULL) //need a pitch contour of 104-96 for a
  45. Tone(49, 36, envelope/p_fall, NULL) //need a pitch contour of 104-96 for a
  46. endphoneme
  47. phoneme 23 // rising (²³)
  48. stress
  49. ipa ˨˧
  50. Tone(38, 52, envelope/p_rise, NULL) //need a pitch contour of 97-109 for a
  51. endphoneme
  52. phoneme 32 // falling (³²)
  53. stress
  54. ipa ˧˨
  55. //Tone(128, 96, envelope/p_fall, NULL) //need a pitch contour of 122-97 for a
  56. Tone(69, 37, envelope/p_fall, NULL) //need a pitch contour of 122-97 for a
  57. endphoneme
  58. phoneme 3 // high (³)
  59. stress
  60. ipa ˧
  61. //Tone(109, 116, envelope/p_rise, NULL) //need a pitch contour of 108-112 for a
  62. Tone(50, 55, envelope/p_rise, NULL) //need a pitch contour of 108-112 for a
  63. endphoneme
  64. phoneme 4 // extra high rise (⁴)
  65. stress
  66. ipa ˧˦
  67. Tone(52, 73, envelope/p_rise, NULL) //need a pitch contour of 109-127 for a
  68. endphoneme
  69. phoneme 43 // extra high fall (⁴³) - end of word tone
  70. stress
  71. ipa ˦˧
  72. //need a pitch contour of 122-75 for a~
  73. //Tone(127, 71, envelope/p_fall, NULL)
  74. Tone(67, 19, envelope/p_fall, NULL)
  75. endphoneme
  76. //*******************************************************************
  77. // LANGUAGE SPECIFIC CONSONANTS (PLOSIVES/STOPS)
  78. //*******************************************************************
  79. //none.
  80. //*******************************************************************
  81. // LANGUAGE SPECIFIC VOWELS
  82. //*******************************************************************
  83. //from phonemes
  84. phoneme : // lengthen previous vowel by "length"
  85. virtual
  86. length 175
  87. endphoneme
  88. // ạ, a
  89. //from ph_en
  90. phoneme A:
  91. vwl starttype #a endtype #a
  92. length 175
  93. FMT(vowel/aa_2)
  94. endphoneme
  95. // ạ, a, end of word vowel
  96. //from ph_english
  97. phoneme A~
  98. vwl starttype #a endtype #a
  99. length 175
  100. FMT(vnasal/aa_n2)
  101. endphoneme
  102. // e, ẹ
  103. //from ph_base2
  104. phoneme E
  105. vwl starttype #e endtype #e
  106. length 175
  107. FMT(vowel/ee_1)
  108. endphoneme
  109. // e, ẹ, final word vowel
  110. //from ph_konkani
  111. phoneme E~
  112. vwl starttype #e endtype #e
  113. length 175
  114. FMT(vnasal/ee_n2)
  115. endphoneme
  116. // i, ị
  117. //from ph_en
  118. phoneme I
  119. vwl starttype #i endtype #i
  120. length 175
  121. FMT(vowel/ii_2)
  122. endphoneme
  123. // i, ị, final word vowel
  124. //from ph_konkani
  125. phoneme I~
  126. vwl starttype #i endtype #i
  127. length 175
  128. FMT(vnasal/ii_n)
  129. endphoneme
  130. // o, ọ
  131. //from ph_base2
  132. phoneme o
  133. vwl starttype #o endtype #o
  134. length 175
  135. FMT(vowel/o)
  136. endphoneme
  137. // o, ọ, final word vowel
  138. phoneme o~
  139. vwl starttype #o endtype #o
  140. length 175
  141. FMT(vnasal/o_n)
  142. endphoneme
  143. // u, ụ
  144. //from ph_base2
  145. phoneme u
  146. vwl starttype #u endtype #u
  147. length 175
  148. FMT(vowel/u_bck)
  149. endphoneme
  150. // u, ụ, final word vowel
  151. phoneme u~
  152. vwl starttype #u endtype #u
  153. length 175
  154. FMT(vnasal/u_n)
  155. endphoneme
  156. //ṿ, v
  157. //from ph_french
  158. phoneme W~
  159. vwl starttype #@ endtype #@
  160. length 175
  161. FMT(vnasal/W_n)
  162. endphoneme
  163. // fix specific consonents to last long enough to be heard
  164. phoneme lxx
  165. import_phoneme base2/l
  166. length 75
  167. Tone(105, 93, envelope/p_fall, NULL)
  168. endphoneme
  169. phoneme mxx
  170. import_phoneme base2/m
  171. length 75
  172. Tone(105, 93, envelope/p_fall, NULL)
  173. endphoneme
  174. phoneme nxx
  175. import_phoneme base2/n
  176. length 75
  177. Tone(105, 93, envelope/p_fall, NULL)
  178. endphoneme
  179. phoneme wxx
  180. import_phoneme base2/w
  181. length 175
  182. Tone(105, 93, envelope/p_fall, NULL)
  183. endphoneme
  184. phoneme jxx
  185. import_phoneme base1/j
  186. length 75
  187. Tone(105, 93, envelope/p_fall, NULL)
  188. endphoneme
  189. phoneme hxx
  190. import_phoneme base1/h
  191. length 75
  192. Tone(105, 93, envelope/p_fall, NULL)
  193. //lengthmod 1
  194. endphoneme