manual_Artsynth.cpp 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185
  1. /* manual_Artsynth.cpp
  2. *
  3. * Copyright (C) 1992-2005,2007,2010,2011,2014-2017 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. #include "ManPagesM.h"
  19. void manual_Artsynth_init (ManPages me);
  20. void manual_Artsynth_init (ManPages me) {
  21. MAN_BEGIN (U"Articulatory synthesis", U"ppgb", 201101028)
  22. INTRO (U"This is a description of the articulatory synthesis package in Praat. "
  23. "For a detailed description of the physics and mathematics behind the model, "
  24. "see @@Boersma (1998)@, chapters 2 and 3. "
  25. "For examples of how to synthesize utterances, consult http://www.fon.hum.uva.nl/paul/diss/ch5/.")
  26. ENTRY (U"How to start (after reading the @Intro)")
  27. NORMAL (U"We are going to have the synthesizer say [əpə]. We need a @Speaker and an @Artword object.")
  28. NORMAL (U"1. Create a speaker with @@Create Speaker...@ from the @@New menu@.")
  29. NORMAL (U"2. Create an articulation word of 0.5 seconds with @@Create Artword...@.")
  30. NORMAL (U"3. Edit the Artword by selecting it and clicking ##View & Edit#.")
  31. NORMAL (U"4. To set the glottis to a position suitable for phonation, use the ArtwordEditor to "
  32. "set the %Interarytenoid activity to 0.5 throughout the utterance. You set two targets: "
  33. "0.5 at a time of 0 seconds, and 0.5 at a time of 0.5 seconds.")
  34. NORMAL (U"5. To prevent air escaping from the nose, close the nasopharyngeal port "
  35. "by setting the %LevatorPalatini activity to 1.0 throughout the utterance.")
  36. NORMAL (U"6. To generate the lung pressure needed for phonation, you set the %Lungs activity at 0 seconds to 0.2, "
  37. "and at 0.1 seconds to 0.")
  38. NORMAL (U"7. To force a jaw movement that closes the lips, set the %Masseter activity at 0.25 seconds to 0.7, "
  39. "and the %OrbicularisOris activity at 0.25 seconds to 0.2.")
  40. NORMAL (U"8. Select the Speaker and the Artword and click #Movie; "
  41. "you will see a closing-and-opening gesture of the mouth.")
  42. NORMAL (U"9. Select the Speaker and the Artword and click ##To Sound...# "
  43. "(see @@Artword & Speaker: To Sound...@).")
  44. NORMAL (U"10. Just click #OK; the synthesis starts.")
  45. NORMAL (U"11. If you are sitting at a 1997 computer, this will last for 5 minutes or so; at a 2010 computer, 6 seconds. "
  46. "If this is too slow for you, click #Interrupt. "
  47. "Otherwise, you can watch the vibrating vocal cords "
  48. "and the changing vocal-tract shape.")
  49. NORMAL (U"12. You can play, view, and analyse the resulting @Sound as you would any other. "
  50. "You can see and hear a sound movie if you select the Speaker, "
  51. "the Artword, and the Sound, and click #Play.")
  52. MAN_END
  53. MAN_BEGIN (U"Artword", U"ppgb", 20030316)
  54. INTRO (U"One of the @@types of objects@ in Praat. See @@Articulatory synthesis@.")
  55. NORMAL (U"An object of class Artword object represents the activities of several speech muscles as functions of time.")
  56. ENTRY (U"Artword commands")
  57. LIST_ITEM (U"• @@Create Artword...@: creates an Artword with relaxed muscles")
  58. LIST_ITEM (U"• @@Artword & Speaker: To Sound...@: articulatory synthesis")
  59. MAN_END
  60. MAN_BEGIN (U"Artword & Speaker: To Sound...", U"ppgb", 20040331)
  61. INTRO (U"A command to synthesize a @Sound object from the selected @Speaker and the selected @Artword.")
  62. NORMAL (U"This is the command that performs the actual articulatory synthesis. "
  63. "See @@Articulatory synthesis@.")
  64. ENTRY (U"Settings")
  65. TAG (U"##Sampling frequency (Hz)")
  66. DEFINITION (U"the number of times per second that the equilibrium widths and lengths and the tensions of the muscles "
  67. "are recomputed from the Artword. This will also be the sampling frequency of the resulting sound and "
  68. "of the optional resulting tube widths, air pressures, and air velocities. The standard value is 22050 Hz.")
  69. TAG (U"##Oversampling")
  70. DEFINITION (U"the number of times that the aerodynamic quantities and the state of the tube walls "
  71. "will be recomputed during each sample period. The standard value is 25.")
  72. TAG (U"##Width 1#, ##Width 2#, ##Width 3#")
  73. DEFINITION (U"the numbers (see below) of the tubes whose widths you want to monitor. "
  74. "E.g., if ##Width 1# is 36, the synthesizer will create a Sound object named $$width36$, "
  75. "which contains the width of tube 36 (the lower glottis) as a function of time, expressed in metres. "
  76. "To prevent the creation of a $$width$ object, specify $$0$ (the standard value).")
  77. TAG (U"##Pressure 1#, ##Pressure 2#, ##Pressure 3#")
  78. DEFINITION (U"the numbers (see below) of the tubes whose air pressures you want to monitor. "
  79. "E.g., if ##Pressure 3# is 37, the synthesizer will create a Sound object named $$pressure37$, "
  80. "which contains the air pressure of tube 37 (the upper glottis) as a function of time, expressed in Pascal. "
  81. "To prevent the creation of a $$pressure$ object, specify $$0$ (the standard value).")
  82. TAG (U"##Velocity 1#, ##Velocity 2#, ##Velocity 3")
  83. DEFINITION (U"the numbers (see below) of the tubes whose air velocities you want to monitor. "
  84. "E.g., if ##Velocity 1# is 60, the synthesizer will create a Sound object named $velocity60, "
  85. "which contains the air velocity of tube 60 (in the mouth) as a function of time, expressed in metres per second. "
  86. "To prevent the creation of a $velocity object, specify $0 (the standard value).")
  87. ENTRY (U"Stability")
  88. NORMAL (U"The internal sampling frequency for the aerodynamics is the specified ##Sampling frequency#, "
  89. "multiplied by the specified #Oversampling. With the standard settings, this is 22050 times 25 = 550750 Hz.")
  90. NORMAL (U"To ensure the stability of the synthesis, this internal sampling frequency should not be less than the "
  91. "velocity of sound (353 m/s) divided by the length of the shortest tube. For the standard #Female, "
  92. "#Male, and #Child speakers, the shortest tube is the upper glottis, which has a length "
  93. "of 0.7, 1.0, and 0.3 millimetres, respectively. The minimum internal sampling frequencies, therefore, "
  94. "are 504286, 353000, and 1176667 hertz, respectively.")
  95. ENTRY (U"Time resolution")
  96. NORMAL (U"To capture the microscopic pressure changes in the glottis, you will want maximum time resolution. "
  97. "For a female speaker, you could set ##Sampling frequency# to 550750 Hz, and #Oversampling to 1.")
  98. ENTRY (U"Tube numbers")
  99. NORMAL (U"Here are the tube numbers that you can use for the #Width, #Pressure, and #Velocity settings:")
  100. LIST_ITEM (U"1..23: lungs (from bottom to top)")
  101. LIST_ITEM (U"24..29: bronchi (from bottom to top)")
  102. LIST_ITEM (U"30..35: trachea (from bottom to top)")
  103. LIST_ITEM (U"36: lower glottis")
  104. LIST_ITEM (U"37: upper glottis (not for a one-mass model)")
  105. LIST_ITEM (U"38..49: pharynx (from bottom to top)")
  106. LIST_ITEM (U"50..51: nasopharyngeal branching")
  107. LIST_ITEM (U"52..64: mouth (from back to front)")
  108. LIST_ITEM (U"65..78: nose (from back to front)")
  109. LIST_ITEM (U"79..86: conus elasticus (only for a 10-mass model)")
  110. LIST_ITEM (U"87..89: glottal shunt between the arytenoids (from bottom to top)")
  111. NORMAL (U"Some structural properties:")
  112. LIST_ITEM (U"• Tube 1 is closed at the bottom.")
  113. LIST_ITEM (U"• Tubes 64 (lips) and 78 (nostrils) radiate into the air.")
  114. LIST_ITEM (U"• The nasopharyngeal branch is at tubes 50, 51, and 65. They are constrained to have equal lengths.")
  115. LIST_ITEM (U"• For a one-mass model of the vocal cords, tube 36 is connected to 38.")
  116. LIST_ITEM (U"• For a 10-mass model, tubes 32..35 are replaced with 79..86, so that "
  117. "tube 31 is connected to 79, and 86 is connected to 36.")
  118. LIST_ITEM (U"• A glottal shunt will be implemented if the speaker's $$shunt.Dx$ attribute is not zero. "
  119. "A branch is then made from tubes 34 and 35 (or 85 and 86) to 87, "
  120. "and from tube 89 to 38 and 39.")
  121. MAN_END
  122. MAN_BEGIN (U"Create Artword...", U"ppgb", 20101212)
  123. INTRO (U"A command to create an @Artword object with all muscle activities set to zero. "
  124. "See @@Articulatory synthesis@.")
  125. ENTRY (U"Settings")
  126. TAG (U"##Name")
  127. DEFINITION (U"the name that you give to the created object. The standard name is $$hallo$, "
  128. "but you should give it a more sensible name, possibly something that represents the utterance "
  129. "that it is supposed to generate.")
  130. TAG (U"##Duration (seconds)")
  131. DEFINITION (U"the duration of the resulting Artword. Should be as long as the utterance that "
  132. "you want to generate with it. The standard value is 1 second.")
  133. MAN_END
  134. MAN_BEGIN (U"Create Speaker...", U"ppgb", 20101212)
  135. INTRO (U"A command to create a @Speaker object. See @@Articulatory synthesis@.")
  136. ENTRY (U"Settings")
  137. TAG (U"##Name")
  138. DEFINITION (U"the name that you give to the created object. The standard name is \"speaker\", "
  139. "but if you work with multiple Speaker objects, give them sensible names to reduce confusion.")
  140. TAG (U"##Kind of speaker")
  141. DEFINITION (U"Choose from #Female, #Male, or #Child. The only difference is a relative size.")
  142. TAG (U"##Number of tubes in glottis")
  143. DEFINITION (U"Choose from #1, #2, or #10. See @@Artword & Speaker: To Sound...@ for details.")
  144. MAN_END
  145. MAN_BEGIN (U"Create Vocal Tract from phone...", U"ppgb", 19960908)
  146. INTRO (U"A way to create a @VocalTract object.")
  147. ENTRY (U"Purpose")
  148. NORMAL (U"to translate a phone symbol like [a], [u], etc., into a vocal-tract area function.")
  149. ENTRY (U"Behaviour")
  150. NORMAL (U"The resulting VocalTract will appear in the list of objects, "
  151. "with the same name as the phone.")
  152. ENTRY (U"Algorithm")
  153. NORMAL (U"The area function of the resulting VocalTract is taken from the Russian speaker from @@Fant (1960)@.")
  154. MAN_END
  155. MAN_BEGIN (U"Speaker", U"ppgb", 19980201)
  156. INTRO (U"One of the @@types of objects@ in Praat. See @@Articulatory synthesis@.")
  157. ENTRY (U"Speaker commands")
  158. LIST_ITEM (U"• @@Create Speaker...")
  159. LIST_ITEM (U"• @@Artword & Speaker: To Sound...@: articulatory synthesis")
  160. MAN_END
  161. MAN_BEGIN (U"VocalTract", U"ppgb", 20030316)
  162. INTRO (U"One of the @@types of objects@ in Praat.")
  163. NORMAL (U"A VocalTract object represents the area function of the vocal tract, expressed in m^2, "
  164. "running from the glottis to the lips.")
  165. MAN_END
  166. MAN_BEGIN (U"VocalTract: Formula...", U"ppgb", 20021206)
  167. INTRO (U"A command for changing the data in all selected @VocalTract objects.")
  168. NORMAL (U"See the @Formulas tutorial for examples and explanations.")
  169. MAN_END
  170. }
  171. /* End of file manual_Artsynth.cpp */