home *** CD-ROM | disk | FTP | other *** search
/ Audio 4.94 - Over 11,000 Files / audio-11000.iso / amiga / midi / midstff_.zoo / MIDIstuff / MIDIstuff.doc < prev    next >
Encoding:
Text File  |  1992-02-23  |  12.0 KB  |  255 lines

  1.     M    I    D    I    S    T    U    F    F
  2.     ~    ~    ~    ~    ~    ~    ~    ~    ~
  3.  
  4.         'MIDIstuff' release II    - - -    Feb 10, 1992
  5.  
  6.       Introducing: This package contains 8 little tools that use the
  7.       MIDI.library so that they can use MIDI at the same time and can
  8.                    easily be combined in a modular way.
  9.  
  10. Requirements:
  11. ~~~~~~~~~~~~
  12.  Bill Barton's Midi.Library version 2. ARP Library.
  13.  Works on an ancient A500 with Kickstart 1.2, not tested on any newer.
  14.  
  15. MIDI Ports    V1.2    MIDI Ports Monitor
  16. ~~~~~~~~~~
  17.  This little tool will always keep you up to date upon public MIDI ports
  18.  attached to the MIDI.Library. Actually it was meant to become a patchbay
  19.  the way Bill suggested it, but I found no way of getting a list of all
  20.  existing routes between the ports (Bill: hint! hint!), so all I can do
  21.  is display the names of the ports. At least this is done with elegance:
  22.  Ports opens up a window and writes the list of 'sources' to the left
  23.  and the 'dests' to the right. Nice thing about it is, it automatically
  24.  resizes the window to the necessary amount of lines to display everything.
  25.  
  26. SYNTAX: Ports
  27.  
  28. MIDI Keys    V2.0    Virtual MIDI Keyboard
  29. ~~~~~~~~~
  30.  Shows a 10-octave (full MIDI note range) keyboard in a window, displays
  31.  all incoming MIDI notes ('OMNI mode') by highlighting the keys with colours
  32.  changing by velocity. When the window is activated a piano keyboard is
  33.  simulated on the Amiga keyboard. You can also play notes with the mouse
  34.  button. A 'thru' route can be established by hitting the F10 key, it will
  35.  connect the Input and Output ports with each other. F2/F1 will in/decrement
  36.  the current channel the keyboard sends on.
  37.  
  38. SYNTAX: Keys [-i <Input>] [-o <Output>] [-t] [-f] [-c <Channel>]
  39.         [-y <Position>] [<Name>]
  40.  
  41.  With the <i> and <o> options MIDI input & output streams can be redirected.
  42.  You can disable the input and output routes by specifying invalid <i>/<o>.
  43.  The <t> activates the 'thru' route. <f> stands for 'followmouse', changes
  44.  the way the mouse is scanned. You can set the MIDI channel with <c> and
  45.  position the keyboard window at a certain height on the screen with <y>.
  46.  The <Name> is to override the default port name "Keyboard".
  47.  
  48. MIDI Recorder    V1.2    Little MIDI Recorder
  49. ~~~~~~~~~~~~~
  50.  Records or plays back note data from the musical instrument digital
  51.  interface (MIDI) using MIDI realtime information as timing clock.
  52.  Sequential music data can be stored and retrieved from DOS.
  53.  
  54. SYNTAX: Recorder [-i <Input>] [-o <Output>] [-t] [-b <BufferSize>]
  55.      [-r <RecordingBufferSize>] [<Name>]
  56.  
  57.  Redirection as always. The <b> changes the size of the "MAIN" track, the
  58.  buffer of permanent data, and the <r> changes the size of the "AUX"
  59.  track, which is a buffer used for incoming data only.
  60.  
  61.  The Recorder has no "PLAY" or "STOP" keys, it expects START and STOP
  62.  events to come from MIDI along with the timing information. The "RECORD"
  63.  gadget toggles recording and playback. When pressed it automatically
  64.  'rewinds' the tracks, so that recording or playback can be restarted
  65.  without needing to stop the clock, unless you have other sequencing
  66.  equipment or a drum machine attached. When activating the "RECORD" gadget
  67.  the recording buffer ("AUX" track) is automatically deleted. When you
  68.  have recorded something you like, you can copy it to the permanent buffer
  69.  ("MAIN" track) with the "MEMORIZE" gadget. With this technique you can
  70.  incrementally record on top of previous things, but you can't edit them
  71.  in any way. Playback mode automatically merges the data on both tracks,
  72.  so you have the chance to listen to what you played before copying it.
  73.  
  74.  Further functions can be obtains by picking menu items or pressing the
  75.  equivalent keys. The functions and keys are:
  76.  
  77.     Load    (right-amiga-"l")    Choose a file to load.
  78.     Save As    (right-amiga-"s")    Choose a filename to save music to.
  79.     Re-Read    (right-amiga-"r")    Load that file again.
  80.     Write    (right-amiga-"w")    Save it again.
  81.     Kill    (right-amiga-"k")    Erase the "MAIN" track!
  82.  
  83.     Status    (right-amiga-".")    Shows current status of tracks.
  84.     Thru    (right-amiga-"`")    Toggle the thru function.
  85.  
  86.  File operations apply only to the "MAIN" track, so only "memorized"
  87.  notes are actually stored! Should you happen to have a too small main
  88.  buffer, so that the Recorder refuses to copy your brilliant solo, you'll
  89.  have to save the main track, then kill it, copy and save the solo.
  90.  That is: KILL only affects the MAIN track, not the AUX (recording).
  91.  Make use of the STATUS function to keep an eye on what is happening.
  92.  The default sizes of the buffers are 40000 (MAIN) and 15000 (AUX).
  93.  Note that each MIDI event requires 4 bytes, so you must divide the
  94.  sizes by 4 to get the number of available event spaces. In the previous
  95.  version of this program, 6 bytes were used. Because of this the two
  96.  are NOT file compatible! Changes in speed are not stored.
  97.  
  98. MIDI Clock Daemon    V1.1    MIDI Clock Generator
  99. ~~~~~~~~~~~~~~~~~
  100.  The clock daemon is used to produce standard MIDI timing signals.
  101.  This program has no user interface by itself, it needs a controller to
  102.  be used. As the word 'daemon' suggests, you must run it in the back-
  103.  ground with runback, as it doesn't detach itself, and then it will wait
  104.  for orders from its MIDI ports. It runs quite stable now and only
  105.  seldom looses the beat or something like that. You must of course
  106.  maintain the multitasking environment. To stop it you can use CTRL C,
  107.  the BREAK command from a shell, or feed it with an unexpected MIDI code.
  108.  
  109. SYNTAX: [run] ClockD [-o <Output>] [<Name>]
  110.  
  111.  The ClockD is called by the timer.device 96 times per quarter note, it
  112.  then outputs a clock event to its MIDI port, which is by default not
  113.  connected anywhere, unless specified by <o>. The speed in beat per minutes
  114.  can be set with a certain MIDI controller code, as 'Control' does anyway.
  115.  ClockD is still very sensitive about interruptions while it is running,
  116.  avoid feeding it with too many commands as it might lock up the machine.
  117.  
  118. MIDI Control    V1.0    MIDI Clock Daemon Controller
  119. ~~~~~~~~~~~~
  120.  Finally you get the tool with the classic "START", "STOP" and "CONTINUE"
  121.  gadgets. When you start it up, it will look for a running ClockD and
  122.  connect itself to it so that you can use the gadgets. The tempo gadget
  123.  works as you would expect and correctly displays the beats per minute.
  124.  However be careful not to hassle too much with it while the clock is
  125.  running as bad things can happen. Best is to change the speed only
  126.  while stopped. Maybe if you have a faster Amiga than mine, this problem
  127.  will not arise for you.
  128.  
  129. SYNTAX: Control [-o <Output>] [<Name>]
  130.  
  131.  When the controller exits (by window-close or break) it will send a
  132.  code to the attached Clock daemon to also exit.
  133.  
  134. MIDI Echo    V1.0    MIDI Echo Processor
  135. ~~~~~~~~~
  136.  This filter produces copies of incoming notes at exponentially
  137.  decrementing velocity at the beat of the music. It expects both notes
  138.  and MIDI timing information to come into its listening port and will
  139.  count the MIDI timing to produce the echoes, therefore being always
  140.  in time with the rest of the music and following changes in speed of the
  141.  MIDI clock if you set it up to do so.
  142.  
  143. SYNTAX: Echo [-i <Input>] [-o <Output>] [-t] [-c <Channel>]
  144.     [-b <BufferSize>] [<Name>]
  145.  
  146.  Redirection as always. Specify on what channel Echo acts with <c>, this
  147.  is the only way to change the default of 1. Change <b> in case you
  148.  encounter a 'Buffer exceeded' message, the default is 400 events. This
  149.  time the size is in events, not bytes (sorry). Each event takes 5 bytes.
  150.  
  151.  The gadgets:
  152.  Delay is the number of MIDI ticks to wait before sending out an echo.
  153.  To stay in the rhythm of the music you must use 'MIDI-even' numbers
  154.  like 12, 24, 36, 48, 96. The default is 24. Decay is how much a note
  155.  looses in volume (velocity actually) each time. R stands for repetitions
  156.  and is used to limit the number of echoes, this is by default set to
  157.  'endless'. Mute suspends the operation of the program. Thru toggles
  158.  the additional 'thru' route.
  159.  
  160.  Note that MIDI echoes never really sound natural, but people like
  161.  Kraftwerk have sometimes used them instead of real echo processors
  162.  because of the different feel of it. Consider also the weak points
  163.  of MIDI technology, as it not always knows which voice to use upon
  164.  receipt of NoteOn/Off for the same note, and much more, consider the
  165.  velocity scaling of your synthesizer, as you might have to make
  166.  changes to the sound program so that the velocity is correctly
  167.  converted to output volume, not modified.
  168.  
  169. MIDI Holder    V1.1    Hold - A MIDI effect filter
  170. ~~~~~~~~~~~
  171.  This one is more simple, it just holds back the release of notes
  172.  as long as possible. However the effect is interesting.
  173.  
  174. SYNTAX: Holder [-i <Input>] [-o <Output>] [-t] [-c <Channel>]
  175.     [-v <Voices>] [<Name>]
  176.  
  177.  Again the only way to make it work on a channel other than 1 is to
  178.  specify <c>. With <v> you can set a limit of how many voices your
  179.  synth is able to handle on that channel, so Echo will always release
  180.  a note in time to make space for another one to avoid ugly cutoffs.
  181.  The default is 8. Use <Name> if you don't like the name "Holder".
  182.  
  183.  This filter acts upon NoteOn and Off messages only, disregarding
  184.  timing and everything else. With the "RELEASE" gadget you can
  185.  release all notes being held at once. With "THRU" the usual thru
  186.  route is enabled.
  187.  
  188. MIDI Dump    V1.1    Simple MIDI SysX Dumper
  189. ~~~~~~~~~
  190.  Receives & Sends MIDI "System Exclusive" data, (sysx, patch data for
  191.  synthesizers etc.). Data can be stored and retrieved from DOS.
  192.  
  193. SYNTAX: Dump [-i <Input>] [-o <Output>] [-b <BufferSize>] [-a] [<Name>]
  194.  
  195.  <i> and <o> as always, useful in case you want to use "midi_in" as Input.
  196.  With <b> you can change the size of the buffer in bytes, the default
  197.  is 30000. <a> stands for append mode. Default port name "Dump" can be
  198.  changed by giving an argument, as always.
  199.  
  200.  It opens a text window and displays the list of commands. The commands
  201.  are self-explicatory. About the append mode: When Dump is not in append
  202.  mode it will automatically delete the buffer upon receipt of new SysX data.
  203.  Some synthesizers though have the bad habit of saving their data with
  204.  several SysX dumps instead of a big one. In normal mode Dump would just
  205.  memorize the last one, with append mode they get appended to the buffer
  206.  instead; then you can save them all into one file, or use the split-save
  207.  function, which produces single files for each dump, but is not very
  208.  elegant. It activates with CTRL-S, use only when necessary.
  209.  
  210. General usage notes (for all programs in the package):
  211. ~~~~~~~~~~~~~~~~~~~
  212. - The screen title is often used for messages.
  213. - The programs use a certain <Name> in the MIDI library port lists, if this
  214.   name is already taken they will automatically append a number to the
  215.   name. You can override this by specifying the name you want as argument.
  216. - All utilities are now interruptable by CTRL-C or break command from CLI.
  217. - Automatic routes can be modified with the '-i' and '-o' switches.
  218. - Some utilities have 'thru' routes that can be activated with '-t'.
  219. - If a program fails to start try to run it in foreground, error messages
  220.   are displayed to stdout sometimes.
  221. - None of the executables can be made resident.
  222.  
  223. About the demo song
  224. ~~~~~
  225.  I wanted to include something small so here's the smallest thing
  226.  I had in my archives. I think I wrote it at 130 bpm or something
  227.  like that, but it sounds best at about 170.  :-)
  228.  
  229. COPYRIGHT NOTICE
  230.  The binaries package is placed into public domain, this also includes the
  231.  music files. Spread this data in whatever way you want, but leave my name
  232.  in it, please. The package is provided "as is". I don't guarantee the
  233.  functionality of any data provided with this package.
  234.  
  235.  Source-code can also be obtained by contacting me at my electronic
  236.  mail address. I can send it to you then, though it's not in public domain.
  237.  But I will only do so by email. I won't answer to anyone by snail mail.
  238.  
  239. CONCLUDING...
  240.  Hope this helps all of you MIDIaners even better than the release before!
  241.  
  242. Postcards to:
  243.  
  244.     Carl "LynX" v. Loesch
  245.          Milchstr. 32
  246.     D - 2900 Oldenburg
  247.              ~~~~~~~~~   Germany
  248.  
  249. Bug reports, suggestions, sourcecode requests, questions, contacts,
  250. contracts, cooperation, fan mail, virtual chocolate or job offers to:
  251.  
  252. INTERNET:    Carl.von.Loesch@Informatik.Uni-Oldenburg.de
  253.     or:    lynx@dm.unirm1.it
  254. BITNET:        244661 at DOLUNI1
  255.