home *** CD-ROM | disk | FTP | other *** search
/ No Fragments Archive 10: Diskmags / nf_archive_10.iso / MAGS / ST_USER / 1989 / USER1289.MSA / STACATTO.FLD_DOC_COMPOSE.DOC < prev    next >
Text File  |  1989-09-28  |  13KB  |  272 lines

  1. ====== STaccato ======
  2.  
  3. Program by Leo de Wit, July '87, translated into English for the net 880903
  4.  
  5. PART 2: Music format information
  6.  
  7. COMPOSE TUNES YOURSELF:
  8. ----------------------
  9. This part of the Staccato documentation handles the self composing of
  10. tunes to be played by STaccato. This is by far the hardest, but if you
  11. have any musical background it should be possible without too much effort.
  12.  
  13. STaccato accepts filenames of songs to be played as arguments to
  14. the program. It also needs GEM because of the graphics. Unfortunately,
  15. it is not possible to install a GEM appilcation as accepting parameters
  16. (installing as TTP leads to a crash). What you *COULD* do is indicate
  17. for STACCATO.PRG that the document type is MUS (in INSTALL APPLICATION).
  18. If you always use .MUS as file extension for the music files, you can
  19. (if STACCATO.PRG is in the same directory) by clicking the .MUS file
  20. start the tune automatically (the Desktop will start STACCATO.PRG with
  21. the music file as its argument string). I myself use a shell so that
  22. a GEM application CAN be started with parameters. This is somewhat more
  23. handy for testing new pieces (the start tune is skipped, you don't need
  24. to answer the standard questions of the program and select the directory).
  25. You can switch from the editor to the music player in notime (I have it
  26. all either on RAM- or hard disk).
  27.  
  28. Then follows here the layout of a .MUS file, the text file that
  29. contains the music instructions.
  30. Each musical line (and you can decide for yourself how many bars it
  31. has got) consists in the textfile of a group of 1 to 4 lines.
  32. This is a group of contiguous lines in the file that do not start with
  33. a dollar sign ($); lines starting with a dollar have a special meaning.
  34. The first of these lines contains global indications, like the volume,
  35. the key and the tempo; the next three contain indications for the three
  36. respective channels of the sound generator. An indication is either a
  37. note itself, i.e. pitch and duration, or something about the sound or
  38. the volume etc. (the 'how').
  39.  
  40. A note itself is constructed like this:
  41. a) (optionally) a length (like 1: whole-note or semibreve, 2: half-note
  42. or minim, 4: quarter-note or crotchet, 8: eight-note or quaver, 16:
  43. sixteenth-note or semiquaver, 3: third-note or triplet). A missing
  44. length indication defaults to the previous used value. The length
  45. indication can be followed by a dot, which increases its length with
  46. half its value (and this may be repeated).
  47. b) a pitch (C,D,E,F,G,A,B,c,d,e,f,g,a,b), for which the inflections
  48. apply that are implied by the scale chosen, for instance if we choose
  49. the scale of D major (two raisings: Fis and Cis) then each F gets a
  50. sharp: Fis, and each C also (Cis).
  51. c) (optionally) inflections (# for sharp, & for flat, ## and && for
  52. respectively double sharp and double flat, = for natural sign). Beware:
  53. all inflections have a temporary character; an inflection in one voice
  54. does not imply one in another. So there's a difference in this respect
  55. with classical music notation. For long lasting inflections: use a
  56. different scale.
  57. d) (optionally) an indication for the style to be used: . for staccato,
  58. " for legato. A staccato playing style means that the second half of the
  59. note is replaced by a rest of equal length, legato style implies that
  60. there is no rest between notes. The default playing style is portato,
  61. which disjoins notes just slightly. The three playing styles can be
  62. installed as default style by the 'L' option (see below).
  63. e) (optionally) selection of a higher or lower octave: each ' denotes
  64. an octave higher, each _ an octave lower. Like the options c) and d)
  65. this selection is only temporarely. For a long lasting octave change:
  66. use the O option (see below). The default octaves used per voice are:
  67. channel A: C is the middle C of the piano, channel B: an octave below A,
  68. channel C: an octave below B. This default appears to satisfy very well
  69. in practice.
  70. f) (optionally) volume change (to emphasize a note): > for one degree
  71. louder, < for one degree softer. This is a temporary change of the volume.
  72.  
  73. The options c), d), e) and f) are interchangeable.
  74. The options c), e) and f) are also cumulative, e.g. a&'>> means
  75. an As an octave higher and two degrees louder.
  76.  
  77. Indications about the way how:
  78. These are mostly commands that consist of a capital (for the type of
  79. command), optional parameters terminated by a ; .
  80. The only exceptions are the commands {, }, [ and ] that mean respectively:
  81. start / stop noise for this channel and start / stop wave for this channel
  82. (for wave: see the W option below).
  83. Here are the capital letter commands:
  84. M: the macro command. This is, as an exception, terminated by a | .
  85. The first character behind M is the macro's number (up to 8 macros can be
  86. defined; an existing macro can be redefined). A @ followed by the macro's
  87. number gets substituted by the text of the macro. Macros are neat for
  88. small, often returning patterns (trills, motifs).
  89. V: the volume command; this indicates the loudness of the tone by means
  90. of either:
  91. a) a number from 0 to 15 (quiet - very loud).
  92. b) an indication of the form ppp - pp - p - mp - mf - f - ff - fff
  93. (respectively very soft to very loud).
  94. c) a + or a - (respectively a degree lower or higher in loudness).
  95. The volume command can be used both globally and per channel.
  96. L: the legato command; this indicates the playing style: L.; staccato,
  97. L; portato and L"; legato.
  98. The legato command can be used both globally and per channel.
  99. O: the octave command; this indicates the octave a voice is played in
  100. (Note: by using both upper- and lowercase letters for the notes' names
  101. we do not have to use the O-command too often. O is followed by a digit
  102. 0-8 (very low - very high) or by a + or a - (repectively an octae higher
  103. or lower).
  104. The octave command can be used both globally and per channel.
  105. T: the tempo command; this indicates the tempo as crotchets per minute,
  106. either as a number, e.g. T120; or as a musical term, e.g. Tallegro; .
  107. The allowed tempi are (with corresponding number of crotchets): Largo (50),
  108. Larghetto (63), Adagio (71), Andante (92), Moderato (114), Allegro (144),
  109. Presto (184), Prestissimo (204). The indication by number is more handy
  110. because the tempo can be specified more accurately.
  111. The tempo command can only be used globally.
  112. Q: the vibrato command; this has two numbers separated by a comma as
  113. parameters: Qk,l; . The first number represents the vibrato depth (how
  114. much deviates the frequency at most from the basic frequency), the second
  115. the vibrato frequency (number of frequency changes per second). A light
  116. vibrato enlivens the somewhat dull sound of the sound chip; I myself
  117. like a Q1,5; for the upper voice and no vibrato for the other two.
  118. The vibrato command is a per channel command; if it is used globally
  119. it is used for the wave frequency, not for an overall vibrato.
  120. S: the scale command; this indicates the default inflections; use for
  121. a minor scale the corresponding major (e.g. C if needing A minor).
  122. The parameter is a capital A-G that indicates the keynote, followed by
  123. zero or more inflections & or #. Example: a song is in g minor. The
  124. corresponding major scale is Bes or B&, so the command becomes: SB&; .
  125. The scale command can only be used globally.
  126. W: the wave command; this one has a number from 0-15 as parameter and
  127. indicates the type of waveform that is used as envelope for the tone.
  128. For a more elaborate description of these wave types I refer to the
  129. the techinal docs about the sound generator chip YM-2149 (or the
  130. compatible but more propagated AY-3-8910), or descriptions about the
  131. ST's hardware, e.g. Data Becker's book 'ATARI ST Intern'. It suffices
  132. to say here that one can indicate per channel whether the volume is
  133. constant or follows a curve; in the music text file we indicate the
  134. use of the curve by a [ (start wave) and ] (stop wave). With indications
  135. to the global channel we indicate the frequency of the curve (e.g. a'),
  136. with the W command the form of the curve (triangle, sawtooth etc.).
  137. I myself am not very impressed by the wave's possibilities; perhaps it
  138. can be of good use for sound effects.
  139.  
  140. Finally the lines that start with a dollar sign; these give global
  141. indications about the way in which tp play the tune. The type of indication
  142. depends on the character following the dollar:
  143. 1) ! : this is a comment line. I use comment lines to indicate the
  144. piece's title, who composed it and who arranged it; besides that I use empty
  145. comment lines as separator between musical lines as follows:
  146.  
  147. $!
  148. <indications for first line of global channel>
  149. <indications for first line of channel A>
  150. <indications for first line of channel B>
  151. <indications for first line of channel C>
  152. $!
  153. <indications for second line of global channel>
  154. <indications for second line of channel A>
  155. <indications for second line of channel B>
  156. <indications for second line of channel C>
  157. $!
  158. etc...
  159.  
  160. or to indicate that only two channels (A and B) are being used:
  161.  
  162. $!
  163. <indications for first line of global channel>
  164. <indications for first line of channel A>
  165. <indications for first line of channel B>
  166. $!
  167. <indications for second line of global channel>
  168. <indications for second line of channel A>
  169. <indications for second line of channel B>
  170. $!
  171. etc...
  172.  
  173. As a further pecularity of the comment line should be mentioned, that the
  174. first 3 lines of the file, if they are comment lines, are displayed on
  175. the piano's title-page.
  176.  
  177. 2) i : include a file here, e.g. $i intermez.mus (we will indicate
  178. from here the file that is included and the file that includes an other
  179. by means of the terms included and including file respectively). The
  180. file intermez.mus (that by the way has to reside in the same folder as
  181. the including file) is started at this point as if there was made a
  182. different choice for a file to be played.
  183. More than one files can be included and including files can be nested.
  184. Beware that included files can change default settings (so you can end up
  185. with a wrong scale coming back in the including file); unless you know
  186. exactly what you're doing, you should use the including file only for
  187. including and don't put music into it. Including is fine for pieces that
  188. are built according to the sonata form or like a suite (look for example
  189. in \mozart\nachtms\serenade.son or \bach\frans6\suite6.son). You are
  190. advised to give these including files a new extension, for example .son
  191. for sonata instead of the default .mus extension for music file. The use of
  192. the .mus extension for music files is also recommended because of
  193. a) clarity, b) possibility to automatically start a tune by installing
  194. STACCATO.PRG as having document-type MUS (INSTALL APPLICATION), c) the
  195. possibility for this file to be a party to the guessing (guessing only
  196. selects .MUS files). The reason for include files getting a defferent
  197. extension is just because of c): if we made them .MUS also, we would have
  198. to guess also for them, but how can you differentiate between a tune and
  199. a different tune that the first one is part of?!
  200.  
  201. 3) the symbols |:, 1 and :| : indicate a repetition.
  202. |: indicates the beginning, and :| the end. A possible number directly
  203. following the :| indicates the number of repetitions (default is 2).
  204. The 1 can be used to make a distinction between the last time and the one
  205. before:
  206.  
  207. $|:
  208. <Common part each time>
  209. .
  210. .
  211. .
  212. <End of common part>
  213. $1
  214. <This part not the last time>
  215. .
  216. .
  217. .
  218. <End of not the last time>
  219. $:|
  220. <This part only the last time>
  221.  
  222. 4) t, the displaying of text; this is nice for songs to be sung along
  223. with. The t is optionally followed by a number that indicates for which
  224. repetition the text has to be displayed; is the number missing, the text
  225. is always displayed. This is useful for multiple stanzas; the music only
  226. has to be written once. Example:
  227.  
  228. $|: <begin stanza>
  229. $t1 <text 1st line 1st stanza>
  230. $t2 <text 1st line 2nd stanza>
  231. $t3 <text 1st line 3rd stanza>
  232. <indications global channel 1st line stanza>
  233. <indications channel A 1st line stanza>
  234. <indications channel B 1st line stanza>
  235. <indications channel C 1st line stanza>
  236. $! <marking of next musical sentence>
  237. $t1 <text 2nd line 1st stanza>
  238. etc...
  239. .
  240. .
  241. .
  242. $t1 <text last line 1st stanza>
  243. $t2 <text last line 2nd stanza>
  244. $t3 <text last line 3rd stanza>
  245. <indications global channel last line stanza>
  246. <indications channel A last line stanza>
  247. <indications channel B last line stanza>
  248. <indications channel C last line stanza>
  249. $t <text 1st line refrain>
  250. <indications global channel 1st line refrain>
  251. <indications channel A 1st line refrain>
  252. <indications channel B 1st line refrain>
  253. <indications channel C 1st line refrain>
  254. $! <marking of next musical sentence>
  255. $t <text 2nd line refrain>
  256. etc...
  257. .
  258. .
  259. .
  260. $t <text last line refrain>
  261. <indications global channel last line refrain>
  262. <indications channel A last line refrain>
  263. <indications channel B last line refrain>
  264. <indications channel C last line refrain>
  265. $:|3 <three repetitions>
  266.  
  267. In the folder nedvolk you'll find examples of the t option.
  268. By the way, to get some experience with the stuff, you could copy a
  269. piece and, modifying it bit by bit, try out the various possibilities of
  270. the sound interpreter.
  271.  
  272.