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

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332
  1. // International Phonetic Alphabet: Narrow Transcription
  2. //
  3. // Copyright (C) 2017 Reece H. Dunn
  4. //
  5. // This program is free software; you can redistribute it and/or modify
  6. // it under the terms of the GNU General Public License as published by
  7. // the Free Software Foundation; either version 3 of the License, or
  8. // (at your option) any later version.
  9. //
  10. // This program is distributed in the hope that it will be useful,
  11. // but WITHOUT ANY WARRANTY; without even the implied warranty of
  12. // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  13. // GNU General Public License for more details.
  14. //
  15. // You should have received a copy of the GNU General Public License
  16. // along with this program; if not, see: <http://www.gnu.org/licenses/>.
  17. // This is using the X-SAMPA transcriptions
  18. // (http://www.phon.ucl.ac.uk/home/sampa/x-sampa.htm).
  19. // Vowels /////////////////////////////////////////////////////////////////////
  20. // Close Vowels
  21. phoneme i
  22. vowel starttype #i endtype #i
  23. length 160
  24. FMT(vowel/i)
  25. endphoneme
  26. phoneme M_Bo // M_B_o
  27. vowel starttype #u endtype #u
  28. ipa ɯᵝ
  29. length 160
  30. FMT(vowel/u_bck)
  31. endphoneme
  32. // Mid Vowels
  33. phoneme e_o
  34. vowel starttype #e endtype #e
  35. ipa e̞
  36. length 160
  37. FMT(vowel/e_8)
  38. endphoneme
  39. phoneme o_o
  40. vowel starttype #o endtype #o
  41. ipa o̞
  42. length 160
  43. FMT(vowel/oo_3)
  44. endphoneme
  45. // Open Vowels
  46. phoneme a_"
  47. vowel starttype #a endtype #a
  48. ipa ä
  49. length 160
  50. FMT(vowel/a)
  51. endphoneme
  52. // Consonants /////////////////////////////////////////////////////////////////
  53. phoneme m
  54. vcd blb nasal
  55. Vowelout f1=2 f2=1000 -500 -350 f3=-200 80 brk
  56. lengthmod 4
  57. NextVowelStarts
  58. VowelStart(m/m@)
  59. VowelStart(m/ma)
  60. VowelStart(m/me)
  61. VowelStart(m/mi)
  62. VowelStart(m/mo)
  63. VowelStart(m/mu)
  64. EndSwitch
  65. IF nextPh(isNotVowel) THEN
  66. FMT(m/m_)
  67. ENDIF
  68. endphoneme
  69. phoneme n
  70. vcd alv nasal
  71. Vowelout f1=2 f2=1500 -300 250 f3=-100 80 rms=20 brk
  72. lengthmod 4
  73. NextVowelStarts
  74. VowelStart(n/n@)
  75. VowelStart(n/na)
  76. VowelStart(n/ne)
  77. VowelStart(n/ni)
  78. VowelStart(n/no)
  79. VowelStart(n/nu)
  80. EndSwitch
  81. IF nextPh(isNotVowel) THEN
  82. FMT(n/n_)
  83. ENDIF
  84. endphoneme
  85. // Plosives
  86. phoneme p
  87. vls blb stop
  88. voicingswitch b
  89. lengthmod 2
  90. Vowelin f1=0 f2=1000 -50 -100 f3=-200 80 amp=11
  91. Vowelout f1=0 f2=1000 -500 -350 f3=-300 80 rms=22
  92. WAV(ustop/p)
  93. endphoneme
  94. phoneme b
  95. vcd blb stop
  96. voicingswitch p
  97. Vowelout f1=2 f2=1000 -500 -300 f3=-300 80 brk
  98. lengthmod 5
  99. IF nextPh(isPause2) THEN
  100. FMT(b/b_) addWav(x/b_)
  101. ELIF nextPh(@-) THEN
  102. FMT(b/b@2) addWav(x/b)
  103. ELIF nextPh(#@) THEN
  104. FMT(b/b@) addWav(x/b)
  105. ELIF nextPh(#a) THEN
  106. FMT(b/ba) addWav(x/b)
  107. ELIF nextPh(#e) THEN
  108. FMT(b/be) addWav(x/b)
  109. ELIF nextPh(#i) THEN
  110. FMT(b/bi) addWav(x/b)
  111. ELIF nextPh(#o) THEN
  112. FMT(b/bo) addWav(x/b)
  113. ELIF nextPh(#u) THEN
  114. FMT(b/bu) addWav(x/b)
  115. ENDIF
  116. FMT(b/b) addWav(x/b)
  117. endphoneme
  118. phoneme t
  119. vls alv stop
  120. voicingswitch d
  121. lengthmod 2
  122. Vowelin f1=0 f2=1700 -300 300 f3=-100 80
  123. Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20
  124. WAV(ustop/t, 90)
  125. endphoneme
  126. phoneme d
  127. vcd alv stop
  128. voicingswitch t
  129. lengthmod 5
  130. Vowelin f1=1 f2=1700 -300 300 f3=-100 80
  131. Vowelout f1=2 f2=1700 -300 300 f3=-100 80 brk
  132. FMT(d/d) addWav(x/d)
  133. endphoneme
  134. phoneme k
  135. vls vel stop
  136. voicingswitch g
  137. lengthmod 2
  138. Vowelin f1=0 f2=2300 200 300 f3=-200 80
  139. Vowelout f1=0 f2=2300 300 400 f3=-200 80 rms=20
  140. WAV(ustop/k)
  141. endphoneme
  142. phoneme g
  143. vcd vel stop
  144. voicingswitch k
  145. lengthmod 5
  146. Vowelin f1=2 f2=2300 200 300 f3=-300 80
  147. Vowelout f1=2 f2=2300 250 300 f3=-300 80 brk
  148. FMT(g/g) addWav(x/g2, 150)
  149. endphoneme
  150. // Sibilant Affricates
  151. phoneme t_s
  152. vls alv afr sibilant
  153. ipa ts
  154. lengthmod 2
  155. Vowelin f1=0 f2=1700 -300 300 f3=-100 80
  156. Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20
  157. WAV(ustop/ts, 70)
  158. endphoneme
  159. phoneme t_s\\
  160. vls pal afr sibilant palatal
  161. voicingswitch d_z\\
  162. ipa tɕ
  163. lengthmod 2
  164. Vowelin f1=0 f2=2700 400 600 f3=300 80 rate len=70
  165. WAV(ustop/ts_pzd)
  166. endphoneme
  167. phoneme d_z\\
  168. vcd pla afr sibilant palatal
  169. voicingswitch t_s\\
  170. ipa dʑ
  171. lengthmod 5
  172. Vowelin f1=2 f2=2700 400 600 f3=300 80 rate len=70
  173. Vowelout f1=2 f2=2700 400 600 f3=300 80
  174. FMT(dzh/dzh) addWav(x/dz_pzd)
  175. endphoneme
  176. // Sibilant Fricatives
  177. phoneme s
  178. vls alv frc sibilant
  179. voicingswitch z
  180. lengthmod 3
  181. Vowelin f1=0 f2=1700 -300 300 f3=-100 80
  182. Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20
  183. WAV(ufric/s)
  184. endphoneme
  185. phoneme z
  186. vcd alv frc sibilant
  187. voicingswitch s
  188. lengthmod 6
  189. Vowelout f1=0 f2=1700 -300 300 f3=-100 60 len=50
  190. FMT(voc/z) addWav(ufric/s_, 85)
  191. endphoneme
  192. phoneme s\\
  193. vls pal frc sibilant palatal
  194. ipa ɕ
  195. lengthmod 3
  196. Vowelin f1=1 f2=2700 400 600 f3=200 70 rate len=70
  197. Vowelout f1=1 f2=2700 400 600 f3=200 70 rate
  198. WAV(ufric/sh_pzd)
  199. endphoneme
  200. // Fricatives
  201. phoneme p\\
  202. vls blb frc
  203. ipa ɸ
  204. Vowelout f1=0 f2=1000 -500 -350 f3=-200 80
  205. lengthmod 2
  206. WAV(ufric/f)
  207. endphoneme
  208. phoneme v
  209. vcd lbd frc
  210. lengthmod 6
  211. Vowelin f1=0 f2=1000 -300 -200 f3=-300 100
  212. Vowelout f1=0 f2=1000 -500 -300 f3=-300 60 len=50
  213. FMT(voc/v) addWav(vocw/v)
  214. endphoneme
  215. phoneme C
  216. vls pal frc palatal
  217. ipa ç
  218. lengthmod 3
  219. Vowelin f1=0 f2=2700 400 600 f3=200 70
  220. Vowelout f1=0 f2=2700 400 600 f3=200 70 rms=20
  221. WAV(ufric/ch)
  222. endphoneme
  223. // Approximant
  224. phoneme j
  225. liquid palatal starttype #i
  226. lengthmod 7
  227. NextVowelStarts
  228. VowelStart(j/j@)
  229. VowelStart(j/ja)
  230. VowelStart(j/je)
  231. VowelStart(j/ji)
  232. VowelStart(j/jo)
  233. VowelStart(j/ju)
  234. EndSwitch
  235. IF nextPh(isNotVowel) THEN
  236. Vowelout len=70
  237. FMT(j/j_)
  238. ENDIF
  239. endphoneme
  240. // Flap or Tap
  241. phoneme r`
  242. liquid rfx
  243. ipa ɽ
  244. lengthmod 3
  245. Vowelout f1=3 f2=1400 -400 300 f3=-400 80 rms=35 len=15 colr=2
  246. Vowelin f1=2 f2=1400 -400 300 f3=-400 80 len=20
  247. FMT(r3/@tap_rfx)
  248. endphoneme
  249. // Coarticulated
  250. phoneme w
  251. liquid
  252. lengthmod 7
  253. starttype #u
  254. NextVowelStarts
  255. VowelStart(w/w@)
  256. VowelStart(w/wa)
  257. VowelStart(w/we)
  258. VowelStart(w/wi)
  259. VowelStart(w/wo)
  260. VowelStart(w/wu)
  261. EndSwitch
  262. IF nextPh(isNotVowel) THEN
  263. Vowelout len=50
  264. FMT(w/w_)
  265. ENDIF
  266. endphoneme