home *** CD-ROM | disk | FTP | other *** search
/ Set of Apple II Hard Drive Images / hard.hdv / HARD / SCORES / INSTR < prev    next >
Encoding:
Text File  |  1991-01-16  |  6.3 KB  |  167 lines  |  [04] ASCII Text (0x0000)

  1. How to use the step.recorder, duredit, and seq.compiler programs:
  2.  
  3.  
  4.  
  5. DATA FLOW DIAGRAM:
  6.  
  7.  
  8. chords --> step.recorder --> score file
  9.  
  10. score file --> duredit --> score file
  11.  
  12. score file --> seq.compiler --> sequence file
  13.  
  14. sequence files --> mixer --> sequence file
  15.  
  16. sequence file --> playback800 --> music
  17.  
  18.  
  19.  
  20. step.recorder
  21. =============
  22. uses binary file: stepseq2
  23.  
  24. This program works with keyboards that send NOTE OFF messages as $90 nn 00.
  25.  
  26. When you run the program, it waits for you to start playing at the keyboard.
  27. You can play a chord, and when you release the keys, the midi note numbers of that chord will be stored in memory, separated by $FF markers.  For example, C Major followed by D minor would look as follows:
  28.  
  29. FF 3C 40 43 FF 3E 41 45 FF
  30.  
  31. So, if you want to input a song, treat each simultaneous event as a different chord.  Later on, you can use the DUREDIT program to specify the duration of each note in a chord.
  32.  
  33. Press any key on your computer keyboard to stop the program.  You'll be given an option to save the song.
  34.  
  35.  
  36. duredit
  37. =======
  38. uses files: duredit2.obj, runtime
  39. (this is a compiled version of the basic duredit2 program)
  40.  
  41. Before EXEC'ing this file, you must BLOAD the file you are editing at address $4000 (16384).  You may load a file created with Step.Recorder, or a file that has been previously edited with duredit.
  42.  
  43. When the program starts, you see two lines of data.  The top line shows what is to the left of the pointer, the bottom line shows what's right of the pointer.  You move the pointer through the file and can insert/delete notes, rests, durations, repeat markers, event markers, and velocity changes.
  44.  
  45. Commands:
  46.  
  47. -->                advance one position
  48. <--                go back one position
  49. down arrow         advance one event
  50. up arrow           go back one event
  51.  
  52. ctrl-D             deletes one position to the left
  53.  
  54. ctrl-B             go to beginning of file
  55. ctrl-E             go to end of file
  56.  
  57. =                  set cursor multiple - type a number at the prompt
  58.                    and your next movement or delete command will be repeated
  59.                    that many times
  60.  
  61. 0                  you get a prompt to enter a duration string.  use the
  62.                    following characters:
  63.  
  64.                    7=breve  1=whole  2=half  4=quarter  8=eighth  6=16th
  65.                    3=32nd   0=64th   .=dot   9=triplet  5=quintuplet
  66.  
  67.                    if a note is tied, combine the above values with a '+'
  68.                    for example: half note triplet tied to dotted 8th:  29+8.
  69.  
  70.                    Note: the value displayed in the file represents the 
  71.                    time value of the note, relative to quarter note=240.
  72.                    ex. half note = 480, 8th note = 120.  If the value is 
  73.                    greater than 999, it is displayed in inverse.
  74.  
  75.                    A duration value applies to all subsequent notes up to
  76.                    the next duration marker.
  77.                                 
  78.                    Ex: / 120 3C 3E 240 3G / 120 3C 3E /
  79.                                  ^                  ^
  80.                    these E's have the duration value 120.
  81.  
  82.  
  83. /                  Inserts an event marker ($FF)
  84.  
  85. *                  Inserts a rest ($7F)
  86.  
  87. V                  Inserts a velocity change marker.  Enter new velocity.
  88.                    Note: velocity markers appear in inverse.
  89.  
  90. space              Inserts a note.  You specify the midi note number.
  91.                    ex. 60=middle C  (displayed as 3C)    61=C#, 62=D, etc.
  92.  
  93.    
  94. [, ], <            REPEAT SEGMENTS:
  95.                    You define the structure of the song by marking off
  96.                    the beginning and end of a repeated section, and using
  97.                    a '<' marker to call that repeated section.  For example:
  98.                      
  99.                    [1 ..section A.. 1]  <1  <1  [2 ..section B.. 2] <1 <2
  100.  
  101.                    this song has the structure A A A B A B
  102.  
  103.                    Section A is defined with the [1 and 1] markers, and called
  104.                    with the <1 marker.  Section B is defined with the [2 and
  105.                    2] markers, and called with the <2 marker.
  106.  
  107.                    You insert the marker by typing [ ] or < and entering the
  108.                    number you want to give to the marker.
  109.  
  110.  
  111. ESC                Exits program and moves data to $2000 (8192).  You must
  112.                    hit CTRL-RESET after the program is done.  You will then
  113.                    see the starting and ending address of the data.
  114.                    To save the file:
  115.  
  116.                    BSAVE <filename>,A <start adrs> ,E <end adrs>
  117.  
  118.  
  119.  
  120. DATA STRUCTURE:
  121. The binary data in the file can be read sequentially.
  122. If a byte is < $08, the following rules apply:
  123.  
  124. $00 = end of file
  125. $01 = one byte duration - take next byte and subtract $80
  126. $02 = two byte duration - take next 2 bytes, subtract $80 from each, multiply
  127.                           first by $80, add second.
  128. $03 = velocity - take next byte and subtract $80
  129. $04 = undefined
  130. $05 = left repeat marker number - take next byte and subtract $80
  131. $06 = right rpt marker number - take next byte and subtract $80
  132. $07 = repeat call marker number - take next byte and subtract $80
  133.  
  134. $7f = rest
  135. $ff = end of event
  136.  
  137.  
  138. seq.compiler:
  139. ============
  140. Reads the binary data of a score file and compiles a midi-file-format sequence in main memory.  
  141.  
  142. BLOAD your score file at A$2000
  143. BRUN SEQ.COMPILER
  144.  
  145. if your computer hangs, there may be a problem with the repeat segments in your score file (ex. calling a repeat segment when the ] marker was left out.)
  146.  
  147. if not, in a few seconds you'll have a sequence sitting in memory at $4000.
  148.  
  149.  
  150. to save it:
  151. ----------
  152.  
  153. PRINT PEEK(8)+PEEK(9)*256
  154.  
  155. BSAVE <filename>,A$4000,E <the number returned above>
  156.  
  157.  
  158. to play it:
  159. ----------
  160.  
  161. poke 6,0: poke 7,64
  162. poke 255, <speed of playback, usually 16 or 32>
  163.  
  164. BRUN PLAYBACK800
  165.  
  166.  
  167. The MIXER program is used if you created separate sequence files for different tracks of a song (ex. Right Hand part, Left Hand part) and want to combine the sequences together in one sequence file.  First, save each sequence on your ramdisk.  Then load the MIXER program, list it, and edit in the filenames of your sequences files.  Change the lines which specify the prefix of your ramdisk and the number of tracks to mix.  Then run it and wait about 15 minutes.  It will terminate with a RANGE error, but that's no problem - just type PRINT SQ to find the end address, and BSAVE <filename>,A$2000,E <sq>.