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_ipa 6.7KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254
  1. // International Phonetic Alphabet phonemes using the Conlang X-SAMPA (CXS)
  2. // transcription scheme.
  3. // Consonants (Pulmonic)
  4. // =====================
  5. //
  6. // | | blb | | lbd | | dnt | | alv | | pla | | rfx | | alp | | pal | | vel | | uvl | | phr | | glt | |
  7. // | | vls | vcd | vls | vcd | vls | vcd | vls | vcd | vls | vcd | vls | vcd | vls | vcd | vls | vcd | vls | vcd | vls | vcd | vls | vcd | vls | vcd |
  8. // |---------|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|
  9. // | nas | | m | | | | | | n | | | | n` | | | | J | | N | | | | | | |
  10. // | stp | | | | | t_d | | t | | | | | | | | | | | | | | | | | |
  11. // | sib afr | | | | | | | | | | | | | | | | | | | | | | | | |
  12. // | afr | | | | | | | | | | | | | | | | | | | | | | | | |
  13. // | lat afr | | | | | | | | | | | | | | | | | | | | | | | | |
  14. // | sib frc | | | | | | | | | | | | | | | | | | | | | | | | |
  15. // | frc | | | | | | | | | | | | | | | | | | | | | | | | |
  16. // | lat frc | | | | | | | | | | | | | | | | | | | | | | | | |
  17. // | apr | | | | | | | | r\ | | | | | | | | | | | | | | | | |
  18. // | lat apr | | | | | | | | | | | | | | | | | | | | | | | | |
  19. // | flp | | | | | | | | | | | | | | | | | | | | | | | | |
  20. // | lat flp | | | | | | | | | | | | | | | | | | | | | | | | |
  21. // | trl | | | | | | | | | | | | | | | | | | | | | | | | |
  22. // nasal
  23. phoneme m
  24. vcd blb nas
  25. ipa m
  26. Vowelout f1=2 f2=1000 -500 -350 f3=-200 80 brk
  27. lengthmod 4
  28. IF KlattSynth THEN
  29. Vowelin f1=0 f2=1000 -50 -200 f3=-200 80
  30. IF nextPh(isPause2) THEN
  31. FMT(klatt/m_)
  32. ENDIF
  33. FMT(klatt/m)
  34. ENDIF
  35. NextVowelStarts
  36. VowelStart(m/m@)
  37. VowelStart(m/ma)
  38. VowelStart(m/me)
  39. VowelStart(m/mi)
  40. VowelStart(m/mo)
  41. VowelStart(m/mu)
  42. EndSwitch
  43. IF prevPh(isNotVowel) AND nextPhW(isLiquid) THEN
  44. FMT(m/mj)
  45. ELIF prevPh(isPause) THEN
  46. FMT(m/_m)
  47. ELIF nextPh(isNotVowel) THEN
  48. FMT(m/m_)
  49. ENDIF
  50. endphoneme
  51. phoneme n
  52. vcd alv nas
  53. ipa n
  54. Vowelout f1=2 f2=1500 -300 250 f3=-100 80 rms=20 brk
  55. lengthmod 4
  56. IF KlattSynth THEN
  57. Vowelin f1=0 f2=1500 -200 200 f3=0 80
  58. FMT(klatt/n)
  59. ENDIF
  60. NextVowelStarts
  61. VowelStart(n/n@)
  62. VowelStart(n/na)
  63. VowelStart(n/ne)
  64. VowelStart(n/ni)
  65. VowelStart(n/no)
  66. VowelStart(n/nu)
  67. EndSwitch
  68. IF prevPh(isNotVowel) AND nextPhW(isLiquid) THEN
  69. FMT(n/nj)
  70. ELIF prevPh(isPause) OR prevPh(n) THEN
  71. FMT(n/_n)
  72. ELIF nextPh(isNotVowel) THEN
  73. FMT(n/n_)
  74. ENDIF
  75. endphoneme
  76. phoneme n`
  77. vcd rfx nas
  78. ipa ɳ
  79. starttype n endtype n
  80. Vowelin f1=2 f2=1700 -300 300 f3=-500 80 rms=20 colr=2
  81. Vowelout f1=2 f2=1700 -300 300 f3=-500 80 rms=20 brk colr=2
  82. lengthmod 4
  83. IF KlattSynth THEN
  84. FMT(klatt/nr)
  85. ENDIF
  86. NextVowelStarts
  87. VowelStart(n/nr@)
  88. VowelStart(n/nra)
  89. VowelStart(n/nre)
  90. VowelStart(n/nri)
  91. VowelStart(n/nro)
  92. VowelStart(n/nru)
  93. EndSwitch
  94. IF prevPh(isNotVowel) AND nextPhW(isLiquid) THEN
  95. FMT(n/nj)
  96. ELIF prevPh(isPause) OR prevPh(n`) THEN
  97. FMT(n/_nr)
  98. ELIF nextPh(isNotVowel) THEN
  99. FMT(n/nr_)
  100. ENDIF
  101. endphoneme
  102. phoneme J
  103. vcd pal nas
  104. ipa ɲ
  105. Vowelout f1=3 f2=2500 300 500 f3=100 80 len=45 brk rate
  106. lengthmod 4
  107. IF KlattSynth THEN
  108. VowelStart(klatt/n^@)
  109. FMT(klatt/n^)
  110. ENDIF
  111. NextVowelStarts
  112. VowelStart(n^/n^@)
  113. VowelStart(n^/n^a)
  114. VowelStart(n^/n^e)
  115. VowelStart(n^/n^i)
  116. VowelStart(n^/n^o)
  117. VowelStart(n^/n^u)
  118. EndSwitch
  119. IF prevPh(isPause) THEN
  120. FMT(n^/_n^)
  121. ELIF nextPh(isNotVowel) THEN
  122. IF nextPhW(J) THEN
  123. length 75
  124. ELIF prevPhW(J) THEN
  125. length 100
  126. ENDIF
  127. FMT(n^/n^_)
  128. ENDIF
  129. endphoneme
  130. phoneme N
  131. vcd vel nas
  132. ipa ŋ
  133. Vowelout f1=3 f2=2300 300 400 f3=-200 80 len=40 rms=20 brk
  134. lengthmod 8 // longer than 'n'
  135. IF KlattSynth THEN
  136. Vowelin f1=0 f2=2100 50 300 f3=0 80
  137. IF nextPh(isPause2) THEN
  138. FMT(klatt/nn_)
  139. ENDIF
  140. FMT(klatt/nn)
  141. ENDIF
  142. NextVowelStarts
  143. VowelStart(nn/nn@)
  144. VowelStart(nn/nna)
  145. VowelStart(nn/nne)
  146. VowelStart(nn/nni)
  147. VowelStart(nn/nno)
  148. VowelStart(nn/nnu)
  149. EndSwitch
  150. IF prevPh(#i) THEN
  151. VowelEnding(nn/inn, -40)
  152. ENDIF
  153. IF prevPh(isNotVowel) AND nextPhW(isLiquid) THEN
  154. FMT(nn/nnj)
  155. ELIF prevPh(isPause) THEN
  156. FMT(nn/_nn)
  157. ELIF nextPh(isNotVowel) THEN
  158. FMT(nn/nn_)
  159. ENDIF
  160. endphoneme
  161. // stop
  162. phoneme t_d
  163. vls dnt stp
  164. ipa t̪
  165. lengthmod 2
  166. Vowelin f1=1 f2=1500 -250 250 f3=-100 80 amp=16
  167. Vowelout f1=0 f2=1500 -300 250 f3=-100 80 rms=20
  168. IF nextPh(isPause2) THEN
  169. WAV(ustop/t_dnt, 35)
  170. ENDIF
  171. WAV(ustop/t_hi, 70)
  172. endphoneme
  173. phoneme t
  174. vls alv stp
  175. ipa t
  176. lengthmod 2
  177. Vowelin f1=0 f2=1700 -300 300 f3=-100 80
  178. Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20
  179. IF nextPh(isPause2) THEN
  180. WAV(ustop/t_)
  181. ELIF nextPh(isRhotic) THEN
  182. WAV(ustop/tr)
  183. ENDIF
  184. WAV(ustop/t, 90)
  185. endphoneme
  186. // approximant
  187. phoneme r\\
  188. vcd alv apr liquid rhotic
  189. ipa ɹ
  190. lengthmod 7
  191. IF nextPh(isNotVowel) THEN
  192. lengthmod 2
  193. IF nextPh(n) THEN
  194. FMT(r3/r_n) addWav(r3/rx)
  195. ELIF prevPh(isUStop) THEN
  196. FMT(r/trr)
  197. ELIF prevPh(isNotVowel) THEN
  198. FMT(r/rr)
  199. ENDIF
  200. FMT(r3/r_) addWav(r3/rx)
  201. ENDIF
  202. NextVowelStarts
  203. VowelStart(r/r@, -15)
  204. VowelStart(r/ra, -15)
  205. VowelStart(r/re, -15)
  206. VowelStart(r/ri, -15)
  207. VowelStart(r/ro, -15)
  208. VowelStart(r/ru, -15)
  209. EndSwitch
  210. IF prevPh(isVowel) THEN
  211. VowelEnding(r/xr, -50)
  212. ELIF prevPh(isPause) THEN
  213. FMT(r/_r)
  214. ELIF prevPh(isUStop) THEN
  215. FMT(r/tr)
  216. ENDIF
  217. FMT(r/r)
  218. endphoneme