home *** CD-ROM | disk | FTP | other *** search
/ Mega A/V / mega_av.zip / mega_av / SOUNDUTL / COMPOSP.ZIP / COMPOSP.DOC next >
Text File  |  1991-12-11  |  11KB  |  223 lines

  1. Ok, i wrote this program for my SBPro, but since it was so little trouble,
  2. i also put in adlib support... shit... this is some of my worst code... guess
  3. thats cuz i did it while i was sick...
  4.  
  5. Run the program with a filename, the filename must not have an extension.
  6. When you save your file with F10, it is given the extention ".667". In this
  7. program all values are in hex.
  8.  
  9.  
  10. Keys:
  11.  
  12.   Anywhere:
  13.     ALT-X                               ...  exit program
  14.     +, -                                ...  increase, decrease octave
  15.     *, /                                ...  increase, decrease tempo
  16.     <, >                                ...  increase, decrease current voice
  17.     0                                   ...  shuddap
  18.     F5                                  ...  play song
  19.     F6                                  ...  play pattern
  20.     F7                                  ...  play from current order
  21.     F10                                 ...  save song
  22.     ALT-N                               ...  clear song
  23.     Z,S,X,D,C,V,G,B,H,N,J,M,            ...  play the notes C,C#,D,ect...
  24.     Q,2,W,3,E,R,5,T,6,Y,7,U                  using the instrument and voice
  25.                                              selected (2 octaves here)
  26.    (keys F5-F10, and ALT-N do not work in the Load Instrument menu)
  27.  
  28.   Order Edit:
  29.     , , , , PgUp, PgDn, Home, End,  ...  move cursor
  30.     Tab, S.Tab
  31.     .                                   ...  clear 1 order
  32.     Ins, Del                            ...  insert, delete order
  33.     Enter, Space                        ...  edit order number
  34.     F1                                  ...  goto pattern edit
  35.     F2                                  ...  goto instrument edit
  36.     F8                                  ...  clear whole order
  37.  
  38.   Instrument Edit:
  39.     , , PgUp, PgDn, Home, End         ...  move cursor
  40.     Ins, Del                            ...  insert, delete instrument
  41.     Enter                               ...  edit instrument
  42.     Backspace                           ...  load an instrument
  43.     Space                               ...  edit instrument name
  44.     F1                                  ...  goto pattern edit
  45.     F3                                  ...  goto order edit
  46.     F4                                  ...  save instrument
  47.     F8                                  ...  clear all instruments
  48.  
  49.   Editing Instrument:
  50.     , , Tab, S.Tab                    ...  move cursor
  51.     Space                               ...  edit instrument name
  52.     F1                                  ...  goto pattern edit
  53.     F2, ESC, Enter                      ...  return to instrument edit
  54.     F3                                  ...  goto order edit
  55.     F4                                  ...  save instrument
  56.     F8                                  ...  clear this instrument
  57.  
  58.   Load Instrument:
  59.     , , , , Tab, S.Tab              ...  move cursor
  60.     Z,S,X,D,C,V,G,B,H,N,J,M,            ...  play instrument the cursor is on
  61.     Q,2,W,3,E,R,5,T,6,Y,7,U
  62.     ESC                                 ...  return to instrument menu
  63.     Space, Enter                        ...  load instrument
  64.  
  65.   Pattern Edit:
  66.     , , , , Tab, S.Tab              ...  move cursor
  67.     Z,S,X,D,C,V,G,B,H,N,J,M,            ...  enter notes
  68.     Q,2,W,3,E,R,5,T,6,Y,7,U
  69.     PgUp, PgDn                          ...  next, previous pattern
  70.     .                                   ...  clear note
  71.     [                                   ...  enter new instrument
  72.     ]                                   ...  enter new volume
  73.     {                                   ...  clear instrument
  74.     }                                   ...  clear volume
  75.     ;                                   ...  set pattern break
  76.     '                                   ...  set pattern jump
  77.     Ins, Del                            ...  insert, delete track
  78.     ALT-B                               ...  mark beginning of block
  79.     ALT-E                               ...  mark end of block
  80.     ALT-L                               ...  mark entire channel
  81.     ALT-C                               ...  copy block
  82.     ALT-Z                               ...  clear block
  83.     ALT-O                               ...  overwrite block
  84.     ALT-U                               ...  unmark block
  85.     ALT-Q                               ...  block up an octave
  86.     ALT-A                               ...  block down an octave
  87.     ALT-W                               ...  block up a halftone
  88.     ALT-S                               ...  block down a halftone
  89.     F2                                  ...  goto instrument edit
  90.     F3                                  ...  goto order edit
  91.     F8                                  ...  clear whole pattern
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99. Values in the instrument window:
  100.  
  101.  
  102. There are two sets of the same factors for the two operators that make up
  103. a voice, the first is the Modulator, the second is the Carrier.
  104. The modulator modulates the output of the carrier in FM synthesis, the
  105. voice will be in FM mode if the "C" bit is set to 0, if it is set to 1
  106. the outputs of the two operators will instead be added together to form
  107. the output of 2 non-FM voices rather than 1 FM.
  108.  
  109.  
  110.  AR DR SL RR ML KS TL WS AVEK
  111.  │  │  │  │  │  │  │  │  │││└─Envelope scaling for operator
  112.  │  │  │  │  │  │  │  │  │││   (the higher the note the quicker it plays)
  113.  │  │  │  │  │  │  │  │  ││└─Sustain Sound, if this bit is set then the note
  114.  │  │  │  │  │  │  │  │  ││    will remain on at a level determined by "SL"
  115.  │  │  │  │  │  │  │  │  ││    until another note on the voice is played
  116.  │  │  │  │  │  │  │  │  │└─Volume vibrato (self explanatory)
  117.  │  │  │  │  │  │  │  │  └─Amplitude vibrato (self explanatory)
  118.  │  │  │  │  │  │  │  └─Wave select for operator, wave types are: 0-sine,
  119.  │  │  │  │  │  │  │    1-half sine, 2-abs. sine, 3-pulse sine
  120.  │  │  │  │  │  │  └─Total level, volume control for operator, 0 is highest
  121.  │  │  │  │  │  │
  122.  │  │  │  │  │  └─Key scale level, (the higher the note the quieter): 0-no KSL
  123.  │  │  │  │  │     1-KSL of 3 dB/oct, 2-KSL of 1.5 dB/oct, 3-KSL of 6 dB/oct
  124.  │  │  │  │  └─Frequency multiplier, output frequency of operator will be
  125.  │  │  │  │     multiplied by this
  126.  │  │  │  └─Release rate, after a note reaches its sustain level, it will
  127.  │  │  │     then diminish to nothingness at a speed determined by this
  128.  │  │  └─Sustain level (0-max, F-none): After a note reaches its max, it will
  129.  │  │     diminish to this level, and if the "E" bit is set it will remain
  130.  │  │     at this level until another note is played on the channel
  131.  │  └─Decay rate, this determines how fast a note goes from its max to the
  132.  │      sustain level
  133.  └─Attack rate, determines how fast a note reaches its max after being activated
  134.  
  135.  
  136.  FB C
  137.  │  └─Connection: 0-FM synthesis, 1-Additive synthesis
  138.  │
  139.  └─Feedback: in FM the modulators output is multipliued by this and then
  140.      sent to its own input
  141.  
  142.  
  143. Dont expext to understand any of this, the best way to learn how each parameter
  144. affects the sound is to experiment, begin with something like these values
  145.  
  146.  
  147.  AR DR SL RR ML KS TL WS AVEK   AR DR SL RR ML KS TL WS AVEK   FB C
  148.  0F 02 0F 01 01 00 00 00 0000   0F 02 0F 01 01 00 00 00 0000   00 0
  149.  
  150.  
  151.    and experiment...
  152.  
  153.  
  154.  
  155.  
  156. Pattern Edit:
  157.  
  158.  
  159. ███ 0108C 2 ···C 2C 1···A 3······C 2······························ 00 ·· ·· ··
  160. ███ ······· ······C 1···B 3······C 1······························ 01 ·· ·· ··
  161. ███ ······· ······C 1·····················D 4····················· 02 ·· ·· ··
  162. J03 04··C 3 ···C 3C 1············································· 01 ·· ·· ··
  163. │██ │·0CD#2 ···D#2C 1···A 3······C 2······························ │· ·· ·· ··
  164. │ │ │ │ │   │                                                      │
  165. │ │ │ │ │   └ Full 18 channel pattern, this          Order in which patterns
  166. │ │ │ │ │     doesnt show instruments and volumes     will be played
  167. │ │ │ │ │     you have to see those one channel
  168. │ │ │ │ │     at a time, on the SBPro the tracks
  169. │ │ │ │ │     are left, right, left, right, ect...
  170. │ │ │ │ │     on the Adlib or SB, only every second
  171. │ │ │ │ │     track is played, but you can still enter
  172. │ │ │ │ │     all notes.
  173. │ │ │ │ │
  174. │ │ │ │ └ Note and octave
  175. │ │ │ │
  176. │ │ │ └ New volume (0 highest - 3f lowest)
  177. │ │ │
  178. │ │ └ New instrument for channel
  179. │ │
  180. │ └ Info bar
  181. └ Jump command, jumps from current pattern to the # order.
  182.    could also be "-B-" command, which just breaks out of the
  183.    current pattern.
  184.  
  185.  
  186. Status Bar:
  187.  
  188. Tempo:   The tempo of the music, lower is faster
  189. Octave:  The octave the lower keyboard keys will currently play in, the
  190.          upper keyboard keys will play one octave above that. If youre
  191.          entering notes into a pattern they will be of these octaves.
  192. Voice:   The channel you are currently editin or playing on, on the adlib
  193.          only the even channels will produce sounds, although you will still
  194.          be able to enter notes in the patterns on the odd channels.
  195. Pattern: The pattern you are currently editing.
  196. Order:   Your location in the order of the song, pressing F7 will cause the
  197.          music to start playing from this order.
  198. Size:    The size of the actual music data, excluding some misc things, just
  199.          keep this number below F400, if you exceed this number, any changes
  200.          you make to the patterns will not be stored. This number only changes
  201.          when you change to another patter cuz when you do that the pattern
  202.          you were working on is packed to memory and the size is recalculated.
  203.  
  204.  
  205.  
  206. COMPOSP.DAT is the instrument bank file for this composer. Upon running
  207. this program, it will chek if this file exists in the directory the
  208. composer is located in (it may be different from the directory youre
  209. running it from). If it does, it will load it, if it doesnt, it will create
  210. it and put in 1 instrument. This file can hold up to 1666 different istruments
  211. each defined by a unique 8-character name. At full size, this file will be no
  212. more than 31656 bytes. But you will probably never even fill it up half-way...
  213.  
  214. Try to make it a habit of entering the instrument number at the beginning
  215. of a pattern for each channel that is going to play, if you dont, then that
  216. channel will not be played back correctly with F6... (sorry, but i didnt feel
  217. like putting in any back-trace-into-the-compressed-patterns-logic in at this
  218. point in spacetime) and remember that whatever instrument was set for a
  219. channel at the end of a pattern will remain into the next pattern and will be
  220. used in that pattern unless another instrument for that channel is set.
  221.  
  222.