Speaker_def.h 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177
  1. /* Speaker_def.h
  2. *
  3. * Copyright (C) 1992-2005,2011,2015-2018 Paul Boersma
  4. *
  5. * This code 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 2 of the License, or (at
  8. * your option) any later version.
  9. *
  10. * This code is distributed in the hope that it will be useful, but
  11. * WITHOUT ANY WARRANTY; without even the implied warranty of
  12. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  13. * See the 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 work. If not, see <http://www.gnu.org/licenses/>.
  17. */
  18. #define ooSTRUCT Speaker_CordDimensions
  19. oo_DEFINE_STRUCT (Speaker_CordDimensions)
  20. oo_INT16 (numberOfMasses)
  21. oo_DOUBLE (length)
  22. oo_END_STRUCT (Speaker_CordDimensions)
  23. #undef ooSTRUCT
  24. #define ooSTRUCT Speaker_CordSpring
  25. oo_DEFINE_STRUCT (Speaker_CordSpring)
  26. oo_DOUBLE (thickness)
  27. oo_DOUBLE (mass)
  28. oo_DOUBLE (k1)
  29. oo_END_STRUCT (Speaker_CordSpring)
  30. #undef ooSTRUCT
  31. #define ooSTRUCT Speaker_GlottalShunt
  32. oo_DEFINE_STRUCT (Speaker_GlottalShunt)
  33. oo_DOUBLE (Dx)
  34. oo_DOUBLE (Dy)
  35. oo_DOUBLE (Dz)
  36. oo_END_STRUCT (Speaker_GlottalShunt)
  37. #undef ooSTRUCT
  38. #define ooSTRUCT Speaker_Velum
  39. oo_DEFINE_STRUCT (Speaker_Velum) // V
  40. oo_DOUBLE (x)
  41. oo_DOUBLE (y)
  42. oo_DOUBLE (a)
  43. oo_END_STRUCT (Speaker_Velum)
  44. #undef ooSTRUCT
  45. #define ooSTRUCT Speaker_Palate
  46. oo_DEFINE_STRUCT (Speaker_Palate) // OM
  47. oo_DOUBLE (radius)
  48. oo_END_STRUCT (Speaker_Palate)
  49. #undef ooSTRUCT
  50. #define ooSTRUCT Speaker_Tip
  51. oo_DEFINE_STRUCT (Speaker_Tip)
  52. oo_DOUBLE (length)
  53. oo_END_STRUCT (Speaker_Tip)
  54. #undef ooSTRUCT
  55. #define ooSTRUCT Speaker_Alveoli
  56. oo_DEFINE_STRUCT (Speaker_Alveoli)
  57. oo_DOUBLE (x)
  58. oo_DOUBLE (y)
  59. oo_DOUBLE (a)
  60. oo_END_STRUCT (Speaker_Alveoli)
  61. #undef ooSTRUCT
  62. #define ooSTRUCT Speaker_TeethCavity
  63. oo_DEFINE_STRUCT (Speaker_TeethCavity)
  64. oo_DOUBLE (dx1)
  65. oo_DOUBLE (dx2)
  66. oo_DOUBLE (dy)
  67. oo_END_STRUCT (Speaker_TeethCavity)
  68. #undef ooSTRUCT
  69. #define ooSTRUCT Speaker_LowerTeeth
  70. oo_DEFINE_STRUCT (Speaker_LowerTeeth) // rest position of J
  71. oo_DOUBLE (r)
  72. oo_DOUBLE (a)
  73. oo_END_STRUCT (Speaker_LowerTeeth)
  74. #undef ooSTRUCT
  75. #define ooSTRUCT Speaker_UpperTeeth
  76. oo_DEFINE_STRUCT (Speaker_UpperTeeth) // U
  77. oo_DOUBLE (x)
  78. oo_DOUBLE (y)
  79. oo_END_STRUCT (Speaker_UpperTeeth)
  80. #undef ooSTRUCT
  81. #define ooSTRUCT Speaker_Lip
  82. oo_DEFINE_STRUCT (Speaker_Lip)
  83. oo_DOUBLE (dx)
  84. oo_DOUBLE (dy)
  85. oo_END_STRUCT (Speaker_Lip)
  86. #undef ooSTRUCT
  87. #define ooSTRUCT Speaker_Nose
  88. oo_DEFINE_STRUCT (Speaker_Nose)
  89. oo_DOUBLE (Dx)
  90. oo_DOUBLE (Dz)
  91. oo_VEC (weq, 14)
  92. oo_END_STRUCT (Speaker_Nose)
  93. #undef ooSTRUCT
  94. #define ooSTRUCT Speaker
  95. oo_DEFINE_CLASS (Speaker, Daata)
  96. oo_DOUBLE (relativeSize) // different for female, male, child
  97. /* In the larynx. */
  98. oo_STRUCT (Speaker_CordDimensions, cord)
  99. oo_STRUCT (Speaker_CordSpring, lowerCord)
  100. oo_STRUCT (Speaker_CordSpring, upperCord)
  101. oo_STRUCT (Speaker_GlottalShunt, shunt)
  102. /* Above the larynx. */
  103. oo_STRUCT (Speaker_Velum, velum)
  104. oo_STRUCT (Speaker_Palate, palate)
  105. oo_STRUCT (Speaker_Tip, tip)
  106. oo_DOUBLE (neutralBodyDistance)
  107. oo_STRUCT (Speaker_Alveoli, alveoli)
  108. oo_STRUCT (Speaker_TeethCavity, teethCavity)
  109. oo_STRUCT (Speaker_LowerTeeth, lowerTeeth)
  110. oo_STRUCT (Speaker_UpperTeeth, upperTeeth)
  111. oo_STRUCT (Speaker_Lip, lowerLip)
  112. oo_STRUCT (Speaker_Lip, upperLip)
  113. /* In the nasal cavity. */
  114. oo_STRUCT (Speaker_Nose, nose)
  115. oo_END_CLASS (Speaker)
  116. #undef ooSTRUCT
  117. /* End of file Speaker_def.h */