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

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