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

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347
  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. phoneme _j
  20. liquid palatal starttype #i
  21. ipa ʲ
  22. lengthmod 2
  23. NextVowelStarts
  24. VowelStart(j/j@)
  25. VowelStart(j/ja)
  26. VowelStart(j/je)
  27. VowelStart(j/ji)
  28. VowelStart(j/jo)
  29. VowelStart(j/ju)
  30. EndSwitch
  31. endphoneme
  32. // Vowels /////////////////////////////////////////////////////////////////////
  33. // Close Vowels
  34. phoneme i
  35. vowel starttype #i endtype #i
  36. length 160
  37. FMT(vowel/i)
  38. endphoneme
  39. phoneme M_Bo // M_B_o
  40. vowel starttype #u endtype #u
  41. ipa ɯᵝ
  42. length 160
  43. FMT(vowel/u_bck)
  44. endphoneme
  45. // Mid Vowels
  46. phoneme e_o
  47. vowel starttype #e endtype #e
  48. ipa e̞
  49. length 160
  50. FMT(vowel/e_8)
  51. endphoneme
  52. phoneme o_o
  53. vowel starttype #o endtype #o
  54. ipa o̞
  55. length 160
  56. FMT(vowel/oo_3)
  57. endphoneme
  58. // Open Vowels
  59. phoneme a_"
  60. vowel starttype #a endtype #a
  61. ipa ä
  62. length 160
  63. FMT(vowel/a)
  64. endphoneme
  65. // Consonants /////////////////////////////////////////////////////////////////
  66. phoneme m
  67. vcd blb nasal
  68. Vowelout f1=2 f2=1000 -500 -350 f3=-200 80 brk
  69. lengthmod 4
  70. NextVowelStarts
  71. VowelStart(m/m@)
  72. VowelStart(m/ma)
  73. VowelStart(m/me)
  74. VowelStart(m/mi)
  75. VowelStart(m/mo)
  76. VowelStart(m/mu)
  77. EndSwitch
  78. IF nextPh(isNotVowel) THEN
  79. FMT(m/m_)
  80. ENDIF
  81. endphoneme
  82. phoneme n
  83. vcd alv nasal
  84. Vowelout f1=2 f2=1500 -300 250 f3=-100 80 rms=20 brk
  85. lengthmod 4
  86. NextVowelStarts
  87. VowelStart(n/n@)
  88. VowelStart(n/na)
  89. VowelStart(n/ne)
  90. VowelStart(n/ni)
  91. VowelStart(n/no)
  92. VowelStart(n/nu)
  93. EndSwitch
  94. IF nextPh(isNotVowel) THEN
  95. FMT(n/n_)
  96. ENDIF
  97. endphoneme
  98. // Plosives
  99. phoneme p
  100. vls blb stop
  101. voicingswitch b
  102. lengthmod 2
  103. Vowelin f1=0 f2=1000 -50 -100 f3=-200 80 amp=11
  104. Vowelout f1=0 f2=1000 -500 -350 f3=-300 80 rms=22
  105. WAV(ustop/p)
  106. endphoneme
  107. phoneme b
  108. vcd blb stop
  109. voicingswitch p
  110. Vowelout f1=2 f2=1000 -500 -300 f3=-300 80 brk
  111. lengthmod 5
  112. IF nextPh(isPause2) THEN
  113. FMT(b/b_) addWav(x/b_)
  114. ELIF nextPh(@-) THEN
  115. FMT(b/b@2) addWav(x/b)
  116. ELIF nextPh(#@) THEN
  117. FMT(b/b@) addWav(x/b)
  118. ELIF nextPh(#a) THEN
  119. FMT(b/ba) addWav(x/b)
  120. ELIF nextPh(#e) THEN
  121. FMT(b/be) addWav(x/b)
  122. ELIF nextPh(#i) THEN
  123. FMT(b/bi) addWav(x/b)
  124. ELIF nextPh(#o) THEN
  125. FMT(b/bo) addWav(x/b)
  126. ELIF nextPh(#u) THEN
  127. FMT(b/bu) addWav(x/b)
  128. ENDIF
  129. FMT(b/b) addWav(x/b)
  130. endphoneme
  131. phoneme t
  132. vls alv stop
  133. voicingswitch d
  134. lengthmod 2
  135. Vowelin f1=0 f2=1700 -300 300 f3=-100 80
  136. Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20
  137. WAV(ustop/t, 90)
  138. endphoneme
  139. phoneme d
  140. vcd alv stop
  141. voicingswitch t
  142. lengthmod 5
  143. Vowelin f1=1 f2=1700 -300 300 f3=-100 80
  144. Vowelout f1=2 f2=1700 -300 300 f3=-100 80 brk
  145. FMT(d/d) addWav(x/d)
  146. endphoneme
  147. phoneme k
  148. vls vel stop
  149. voicingswitch g
  150. lengthmod 2
  151. Vowelin f1=0 f2=2300 200 300 f3=-200 80
  152. Vowelout f1=0 f2=2300 300 400 f3=-200 80 rms=20
  153. WAV(ustop/k)
  154. endphoneme
  155. phoneme g
  156. vcd vel stop
  157. voicingswitch k
  158. lengthmod 5
  159. Vowelin f1=2 f2=2300 200 300 f3=-300 80
  160. Vowelout f1=2 f2=2300 250 300 f3=-300 80 brk
  161. FMT(g/g) addWav(x/g2, 150)
  162. endphoneme
  163. // Sibilant Affricates
  164. phoneme t_s
  165. vls alv afr sibilant
  166. ipa ts
  167. lengthmod 2
  168. Vowelin f1=0 f2=1700 -300 300 f3=-100 80
  169. Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20
  170. WAV(ustop/ts, 70)
  171. endphoneme
  172. phoneme t_s\\
  173. vls pal afr sibilant palatal
  174. voicingswitch d_z\\
  175. ipa tɕ
  176. lengthmod 2
  177. Vowelin f1=0 f2=2700 400 600 f3=300 80 rate len=70
  178. WAV(ustop/ts_pzd)
  179. endphoneme
  180. phoneme d_z\\
  181. vcd pla afr sibilant palatal
  182. voicingswitch t_s\\
  183. ipa dʑ
  184. lengthmod 5
  185. Vowelin f1=2 f2=2700 400 600 f3=300 80 rate len=70
  186. Vowelout f1=2 f2=2700 400 600 f3=300 80
  187. FMT(dzh/dzh) addWav(x/dz_pzd)
  188. endphoneme
  189. // Sibilant Fricatives
  190. phoneme s
  191. vls alv frc sibilant
  192. voicingswitch z
  193. lengthmod 3
  194. Vowelin f1=0 f2=1700 -300 300 f3=-100 80
  195. Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20
  196. WAV(ufric/s)
  197. endphoneme
  198. phoneme z
  199. vcd alv frc sibilant
  200. voicingswitch s
  201. lengthmod 6
  202. Vowelout f1=0 f2=1700 -300 300 f3=-100 60 len=50
  203. FMT(voc/z) addWav(ufric/s_, 85)
  204. endphoneme
  205. phoneme s\\
  206. vls pal frc sibilant palatal
  207. ipa ɕ
  208. lengthmod 3
  209. Vowelin f1=1 f2=2700 400 600 f3=200 70 rate len=70
  210. Vowelout f1=1 f2=2700 400 600 f3=200 70 rate
  211. WAV(ufric/sh_pzd)
  212. endphoneme
  213. // Fricatives
  214. phoneme p\\
  215. vls blb frc
  216. ipa ɸ
  217. Vowelout f1=0 f2=1000 -500 -350 f3=-200 80
  218. lengthmod 2
  219. WAV(ufric/f)
  220. endphoneme
  221. phoneme v
  222. vcd lbd frc
  223. lengthmod 6
  224. Vowelin f1=0 f2=1000 -300 -200 f3=-300 100
  225. Vowelout f1=0 f2=1000 -500 -300 f3=-300 60 len=50
  226. FMT(voc/v) addWav(vocw/v)
  227. endphoneme
  228. phoneme C
  229. vls pal frc palatal
  230. ipa ç
  231. lengthmod 3
  232. Vowelin f1=0 f2=2700 400 600 f3=200 70
  233. Vowelout f1=0 f2=2700 400 600 f3=200 70 rms=20
  234. WAV(ufric/ch)
  235. endphoneme
  236. // Approximant
  237. phoneme j
  238. liquid palatal starttype #i
  239. lengthmod 7
  240. NextVowelStarts
  241. VowelStart(j/j@)
  242. VowelStart(j/ja)
  243. VowelStart(j/je)
  244. VowelStart(j/ji)
  245. VowelStart(j/jo)
  246. VowelStart(j/ju)
  247. EndSwitch
  248. IF nextPh(isNotVowel) THEN
  249. Vowelout len=70
  250. FMT(j/j_)
  251. ENDIF
  252. endphoneme
  253. // Flap or Tap
  254. phoneme r`
  255. liquid rfx
  256. ipa ɽ
  257. lengthmod 3
  258. Vowelout f1=3 f2=1400 -400 300 f3=-400 80 rms=35 len=15 colr=2
  259. Vowelin f1=2 f2=1400 -400 300 f3=-400 80 len=20
  260. FMT(r3/@tap_rfx)
  261. endphoneme
  262. // Coarticulated
  263. phoneme w
  264. liquid
  265. lengthmod 7
  266. starttype #u
  267. NextVowelStarts
  268. VowelStart(w/w@)
  269. VowelStart(w/wa)
  270. VowelStart(w/we)
  271. VowelStart(w/wi)
  272. VowelStart(w/wo)
  273. VowelStart(w/wu)
  274. EndSwitch
  275. IF nextPh(isNotVowel) THEN
  276. Vowelout len=50
  277. FMT(w/w_)
  278. ENDIF
  279. endphoneme