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.2KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221
  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 | | | | | | | | | | | | | | | | | | | | | | | | |
  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. Vowelout f1=2 f2=1000 -500 -350 f3=-200 80 brk
  26. lengthmod 4
  27. IF KlattSynth THEN
  28. Vowelin f1=0 f2=1000 -50 -200 f3=-200 80
  29. IF nextPh(isPause2) THEN
  30. FMT(klatt/m_)
  31. ENDIF
  32. FMT(klatt/m)
  33. ENDIF
  34. NextVowelStarts
  35. VowelStart(m/m@)
  36. VowelStart(m/ma)
  37. VowelStart(m/me)
  38. VowelStart(m/mi)
  39. VowelStart(m/mo)
  40. VowelStart(m/mu)
  41. EndSwitch
  42. IF prevPh(isNotVowel) AND nextPhW(isLiquid) THEN
  43. FMT(m/mj)
  44. ELIF prevPh(isPause) THEN
  45. FMT(m/_m)
  46. ELIF nextPh(isNotVowel) THEN
  47. FMT(m/m_)
  48. ENDIF
  49. endphoneme
  50. phoneme n
  51. vcd alv nas
  52. Vowelout f1=2 f2=1500 -300 250 f3=-100 80 rms=20 brk
  53. lengthmod 4
  54. IF KlattSynth THEN
  55. Vowelin f1=0 f2=1500 -200 200 f3=0 80
  56. FMT(klatt/n)
  57. ENDIF
  58. NextVowelStarts
  59. VowelStart(n/n@)
  60. VowelStart(n/na)
  61. VowelStart(n/ne)
  62. VowelStart(n/ni)
  63. VowelStart(n/no)
  64. VowelStart(n/nu)
  65. EndSwitch
  66. IF prevPh(isNotVowel) AND nextPhW(isLiquid) THEN
  67. FMT(n/nj)
  68. ELIF prevPh(isPause) OR prevPh(n) THEN
  69. FMT(n/_n)
  70. ELIF nextPh(isNotVowel) THEN
  71. FMT(n/n_)
  72. ENDIF
  73. endphoneme
  74. phoneme n`
  75. vcd rfx nas
  76. ipa ɳ
  77. starttype n endtype n
  78. Vowelin f1=2 f2=1700 -300 300 f3=-500 80 rms=20 colr=2
  79. Vowelout f1=2 f2=1700 -300 300 f3=-500 80 rms=20 brk colr=2
  80. lengthmod 4
  81. IF KlattSynth THEN
  82. FMT(klatt/nr)
  83. ENDIF
  84. NextVowelStarts
  85. VowelStart(n/nr@)
  86. VowelStart(n/nra)
  87. VowelStart(n/nre)
  88. VowelStart(n/nri)
  89. VowelStart(n/nro)
  90. VowelStart(n/nru)
  91. EndSwitch
  92. IF prevPh(isNotVowel) AND nextPhW(isLiquid) THEN
  93. FMT(n/nj)
  94. ELIF prevPh(isPause) OR prevPh(n`) THEN
  95. FMT(n/_nr)
  96. ELIF nextPh(isNotVowel) THEN
  97. FMT(n/nr_)
  98. ENDIF
  99. endphoneme
  100. phoneme J
  101. vcd pal nas
  102. ipa ɲ
  103. Vowelout f1=3 f2=2500 300 500 f3=100 80 len=45 brk rate
  104. lengthmod 4
  105. IF KlattSynth THEN
  106. VowelStart(klatt/n^@)
  107. FMT(klatt/n^)
  108. ENDIF
  109. NextVowelStarts
  110. VowelStart(n^/n^@)
  111. VowelStart(n^/n^a)
  112. VowelStart(n^/n^e)
  113. VowelStart(n^/n^i)
  114. VowelStart(n^/n^o)
  115. VowelStart(n^/n^u)
  116. EndSwitch
  117. IF prevPh(isPause) THEN
  118. FMT(n^/_n^)
  119. ELIF nextPh(isNotVowel) THEN
  120. IF nextPhW(J) THEN
  121. length 75
  122. ELIF prevPhW(J) THEN
  123. length 100
  124. ENDIF
  125. FMT(n^/n^_)
  126. ENDIF
  127. endphoneme
  128. phoneme N
  129. vcd vel nas
  130. Vowelout f1=3 f2=2300 300 400 f3=-200 80 len=40 rms=20 brk
  131. lengthmod 8 // longer than 'n'
  132. IF KlattSynth THEN
  133. Vowelin f1=0 f2=2100 50 300 f3=0 80
  134. IF nextPh(isPause2) THEN
  135. FMT(klatt/nn_)
  136. ENDIF
  137. FMT(klatt/nn)
  138. ENDIF
  139. NextVowelStarts
  140. VowelStart(nn/nn@)
  141. VowelStart(nn/nna)
  142. VowelStart(nn/nne)
  143. VowelStart(nn/nni)
  144. VowelStart(nn/nno)
  145. VowelStart(nn/nnu)
  146. EndSwitch
  147. IF prevPh(#i) THEN
  148. VowelEnding(nn/inn, -40)
  149. ENDIF
  150. IF prevPh(isNotVowel) AND nextPhW(isLiquid) THEN
  151. FMT(nn/nnj)
  152. ELIF prevPh(isPause) THEN
  153. FMT(nn/_nn)
  154. ELIF nextPh(isNotVowel) THEN
  155. FMT(nn/nn_)
  156. ENDIF
  157. endphoneme
  158. // approximant
  159. phoneme r\\
  160. vcd alv apr liquid rhotic
  161. ipa ɹ
  162. lengthmod 7
  163. IF nextPh(isNotVowel) THEN
  164. lengthmod 2
  165. IF nextPh(n) THEN
  166. FMT(r3/r_n) addWav(r3/rx)
  167. ELIF prevPh(isUStop) THEN
  168. FMT(r/trr)
  169. ELIF prevPh(isNotVowel) THEN
  170. FMT(r/rr)
  171. ENDIF
  172. FMT(r3/r_) addWav(r3/rx)
  173. ENDIF
  174. NextVowelStarts
  175. VowelStart(r/r@, -15)
  176. VowelStart(r/ra, -15)
  177. VowelStart(r/re, -15)
  178. VowelStart(r/ri, -15)
  179. VowelStart(r/ro, -15)
  180. VowelStart(r/ru, -15)
  181. EndSwitch
  182. IF prevPh(isVowel) THEN
  183. VowelEnding(r/xr, -50)
  184. ELIF prevPh(isPause) THEN
  185. FMT(r/_r)
  186. ELIF prevPh(isUStop) THEN
  187. FMT(r/tr)
  188. ENDIF
  189. FMT(r/r)
  190. endphoneme