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_consonants 2.7KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  1. // Extra consonants. Use (for example):
  2. // import_phoneme consonants/c2
  3. phoneme ts
  4. import_phoneme ipa/ts\)
  5. voicingswitch dz
  6. endphoneme
  7. phoneme dz
  8. vcd alv afr sib
  9. voicingswitch ts
  10. lengthmod 5
  11. Vowelin f1=1 f2=1700 -300 300 f3=-100 80 len=50
  12. Vowelout f1=2 f2=1700 -300 300 f3=-100 80
  13. IF PreVoicing THEN
  14. FMT(d/xd)
  15. ENDIF
  16. IF nextPh(isPause2) THEN
  17. FMT(voc/z_) addWav(ustop/ts_, 60)
  18. ENDIF
  19. FMT(d/xdz) addWav(ustop/ts, 140)
  20. endphoneme
  21. phoneme p- // unaspirated
  22. vls blb stp
  23. lengthmod 2
  24. voicingswitch b
  25. Vowelin f1=0 f2=1000 -50 -100 f3=-200 80
  26. Vowelout f1=0 f2=1000 -500 -350 f3=-300 80 rms=30
  27. IF nextPh(l) THEN
  28. WAV(ustop/pl)
  29. ELIF nextPh(isRhotic) THEN
  30. WAV(ustop/pr)
  31. ELIF nextPh(isPause2) THEN
  32. WAV(ustop/p_unasp_, 80)
  33. ENDIF
  34. WAV(ustop/p_unasp)
  35. endphoneme
  36. phoneme ph // aspirated
  37. vls blb stp
  38. lengthmod 2
  39. voicingswitch b
  40. Vowelin f1=0 f2=1000 -50 -100 f3=-200 80
  41. Vowelout f1=0 f2=1000 -500 -350 f3=-300 80 rms=30
  42. IF nextPh(isPause2) THEN
  43. WAV(ustop/p_)
  44. ENDIF
  45. IF nextPh(l) THEN
  46. WAV(ustop/pl)
  47. ENDIF
  48. WAV(ustop/p_asp)
  49. endphoneme
  50. phoneme t-
  51. vls alv stp
  52. lengthmod 2
  53. voicingswitch d
  54. Vowelin f1=0 f2=1700 -300 300 f3=-100 80
  55. Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20
  56. IF nextPh(isPause2) THEN
  57. WAV(ustop/t_)
  58. ENDIF
  59. WAV(ustop/t_short)
  60. endphoneme
  61. phoneme c2
  62. vls pal afr sib
  63. lengthmod 2
  64. Vowelin f1=0 f2=2700 400 600 f3=300 80 rate len=70
  65. Vowelout f1=0 f2=2700 400 600 f3=300 80 colr=1
  66. IF nextPh(isPause2) THEN
  67. WAV(ustop/ts_pzd_)
  68. ENDIF
  69. WAV(ustop/ts_pzd2, 90)
  70. endphoneme
  71. phoneme k- // unaspirated
  72. vls vel stp
  73. lengthmod 2
  74. voicingswitch g
  75. Vowelin f1=0 f2=2300 200 300 f3=-150 80
  76. Vowelout f1=0 f2=2300 300 400 f3=-150 80 rms=20
  77. IF nextPh(isPause2) THEN
  78. WAV(ustop/k_unasp, 50)
  79. ENDIF
  80. WAV(ustop/k_unasp, 60) // weaker
  81. endphoneme
  82. phoneme kh
  83. vls vel stp
  84. lengthmod 2
  85. voicingswitch g
  86. Vowelin f1=0 f2=2300 200 300 f3=-150 80
  87. Vowelout f1=0 f2=2300 300 400 f3=-150 80 rms=20
  88. IF nextPh(isPause2) THEN
  89. WAV(ustop/k_asp, 50)
  90. ENDIF
  91. IF nextPh(l) THEN
  92. WAV(ustop/kl)
  93. ENDIF
  94. WAV(ustop/k_asp, 90)
  95. endphoneme
  96. phoneme k#
  97. vls vel stp
  98. lengthmod 2
  99. voicingswitch g
  100. Vowelin f1=1 f2=1400 -100 100 f3=-150 80
  101. Vowelout f1=0 f2=2300 300 400 f3=-150 80 rms=20
  102. IF nextPh(isPause2) THEN
  103. WAV(ustop/k_asp, 40)
  104. ENDIF
  105. IF nextPhW(#e) OR nextPhW(#i) THEN
  106. WAV(ustop/k_asp_e, 40)
  107. ELIF nextPhW(#o) OR nextPhW(#u) THEN
  108. WAV(ustop/k_asp_a, 25)
  109. ELSE
  110. WAV(ustop/k_asp_a, 30)
  111. ENDIF
  112. endphoneme
  113. phoneme s2 // second part of a long [s:]
  114. vls alv frc sib
  115. Vowelin f1=0 f2=1700 -300 300 f3=-100 80
  116. lengthmod 3
  117. IF nextPh(isPause2) THEN
  118. WAV(ufric/s_)
  119. ENDIF
  120. WAV(ufric/s_continue)
  121. endphoneme