[comp.sys.atari.st] MIDI-Controllers

Mark_OBryan@UM.CC.UMICH.EDU (08/27/87)

In Info-Atari16 Digest V87 #319, Frans Hummelman writes:
 
>  I'm writing a program in GFA-BASIC to control my MIDI-devices...
>
>  In order not to get into problems with different codes controlling
>  wheels, key-velocity etc. I'm looking for an exquisite list with
>  differences of all kind of MIDI-synth-types. (At last a STANDARD?).
 
In case there are other people with an interest in MIDI as well...
the MMA (MIDI Manufacturers Association) mapped out a set of standard
controller definitions about a year ago.  Some of the highlights are:
 
14-BIT CONTROLLER'S (decimal MSB'S listed below; LSB'S = MSB + 32)
(MSB/LSB refer to the Most/Least Significant Byte of the control value)
 
      1 = Modulation
      2 = Breath Controller
      4 = Foot Controller
      5 = Portamento Time
      6 = Data Entry Slider/Knob
      7 = Main Volume
      8 = Balance
     10 = Pan
     11 = Expression
  16-19 = General Purpose Controller #1-4
 
7-BIT CONTROLLER'S
 
     64 = Hold, Damper Pedal (sustain)
     65 = Portamento
     66 = Sostenuto
     67 = Soft Pedal
     69 = Hold 2
  80-83 = General Purpose Controller #5-8
     92 = Tremolo Depth
     93 = Chorus Depth
     94 = Detune (Celeste)
     95 = Phaser Depth
 
PARAMETER VALUE
 
     96 = Data Increment
     97 = Data Decrement
 
If you're interested in more details on this topic, I'd recommend that
you pick up a copy of "The MIDI Resource Book", written by Steve De Furia
and Joe Scacciaferro.  See pages 66-69 for more on MIDI Controllers,
including changes made to Controllers 64-95 from switches to continuous
controllers, as well as information on the new Registered and Non-Registered
Parameter Number extensions.
 
It's available from Hal Leonard Publishing, and is an excellent source
of the latest reference material (up through September of 1986) on
things like the Sample Dump standard and Midi Time Code specifications.
 
- Mark O'Bryan, Paradigm Software Products

Henry_Burdett_Messenger@cup.portal.com (09/16/87)

   There is a longword at hex 4ba (hz_200) which contains a clock value
   accurate to 5 ms. This more than adequate for MIDI, since a note-off
   message for even a three-finger chord requires 4 ms...

       32000 bps = approx 3200 bytes/sec

       One note-off message is 3 bytes, and therefore requires 1 ms to
       be sent down the wire.

       v--- 5 ms ----v
       [1][2][3][4]

       1 = note off msg #1, 2 = note off msg #2, 3 = note off msg #3
       4 = all notes off

       Since this is supposed to be happening "simultaneously", a one
       ms clock isn't required.
  
   My MIDI sequencer works perfectly well with a 5 ms clock... 
  
 -------------------------------------------------------------------------- 
        A member of the David Van Tieghem underground fan club :-) 
    Henry B. Messenger, a DECperson, but in no way representing Digital. 
    USENET: henry_burdett_messenger@cup.portal.com   CIS: 72477,3356