[comp.music] MIDI specs...

wiml@blake.acs.washington.edu (William Lewis) (08/08/89)

In article <5791@rpi.edu> fargo@pawl.rpi.edu (Irwin M. Fargo) writes:
>I'm doing some development work and need the design specifications for MIDI.
>
>If anyone can direct me to, or send me, the circuit diagrams, etc., I'd really
>appreciate it.

   The most recent issue of /Radio-Electronics/ (August 1989, Vol 60 No. 8)
has an article on MIDI which seems to be complete enough to build a MIDI
system (if you are patient...). Includes voltage levels and (I think) a
schematic of a driver circuit; but it focuses mainly on the format of the
data sent along the line and how individual devices should respond to it.
  BTW, anyone who actually uses a MIDI system -- from this article it looks
as if only sixteen instruments can be connected to any MIDI loop. (only
4 bits are available to specify instrument number.) This includes things like
keyboards, sequencers, &c. Is this true?

   --- phelliax
       "dum dum de da dum dum, dum de da DUM dum de da!"

dts@quad.uucp (David T. Sandberg) (08/14/89)

In article <2631@blake.acs.washington.edu> wiml@blake.acs.washington.edu (William Lewis) writes:
>  BTW, anyone who actually uses a MIDI system -- from this article it looks
>as if only sixteen instruments can be connected to any MIDI loop. (only
>4 bits are available to specify instrument number.) This includes things like
>keyboards, sequencers, &c. Is this true?

Rather than instruments, say that there are only sixteen *channels*...
if you have two sound sources you want to double up on the same part,
they can both be set to read from the same channel information.  But
in general, yes, you are limited to sixteen channels on any given MIDI
path.  However, this can be gotten around by using multiple MIDI paths
in your overall system, if you have both hardware and software smart
enough to handle such a setup.  Also, you seemed to indicate that the
limit of 16 "instruments" includes sequencers.  Fortunately, only
controlled devices need to be assigned to specific MIDI channels... by
definition, a sequencer is reading and dispatching MIDI data on *all*
channels, for the other devices on the loop, so it doesn't need a
separate channel for itself.

-- 
                                  David Sandberg - Quadric Systems
  "Strike Hard, Strike Sure"      PSEUDO: dts@quad.uucp
    Bomber Command, R.A.F.        ACTUAL: ..uunet!rosevax!sialis!quad!dts

stank@anvil.WV.TEK.COM (Stan Kalinowski) (08/15/89)

In article <2631@blake.acs.washington.edu> wiml@blake.acs.washington.edu (William Lewis) writes:
	.
	.
	.
>  BTW, anyone who actually uses a MIDI system -- from this article it looks
>as if only sixteen instruments can be connected to any MIDI loop. (only
>4 bits are available to specify instrument number.) This includes things like
>keyboards, sequencers, &c. Is this true?

Yes it is, except that most sequencers don't need a channel number
only controllers and instruments do.  Given the bandwith of the MIDI
format, 16 devices is not an unreasonable number.  It is very likely
that one would encounter data saturation (objectionable delays etc.)
on the MIDI interface at around 16 devices for anything but the most
simple performances.  Most people get around the 16 channel limit by
using several MIDI ports on their computer/sequencer.  There is at
least one manufacturer that makes a sequencer package for the IBM PC
that claims to support 4 MIDI ports, yeilding a total of 64 channels.

							stank
US Mail: Stan Kalinowski, Tektronix, Inc., Interactive Technologies Division
         PO Box 1000, MS 61-028, Wilsonville OR 97070   Phone:(503)-685-2458
e-mail:  {ucbvax,decvax,allegra,uw-beaver}!tektronix!orca!stank
    or   stank@orca.WV.TEK.COM

dts@quad.uucp (David T. Sandberg) (08/15/89)

In article <4220@orca.WV.TEK.COM> stank@anvil.WV.TEK.COM (Stan Kalinowski) writes:
:...................................   Given the bandwith of the MIDI
:format, 16 devices is not an unreasonable number.  It is very likely
:that one would encounter data saturation (objectionable delays etc.)
:on the MIDI interface at around 16 devices for anything but the most
:simple performances.

True.  At that point you begin to approach the saturation point of
the 31Kbaud MIDI spec, particularly if you have lots of controller
data, or, heaven forbid, unfiltered aftertouch.  Where is MIDI Level
II when we need it...  ;')

Actually, it isn't too serious.  A little conscious thought in the
sequencing process, and judicious use of an event editor, can
unclutter tight spots in the MIDI data flow most of the time.

Question: has anyone else experienced problems with the Alesis
MidiVerb II, as in it's randomly missing patch changes?  One time
it will catch any given change, the next time it won't.  Grrr.
Particularly galling when mixing a song to tape which has an
important change right at the end, and going all the way through
the song, only to have to do it again from the beginning.  Bleah.

:..................... Most people get around the 16 channel limit by
:using several MIDI ports on their computer/sequencer.  There is at
:least one manufacturer that makes a sequencer package for the IBM PC
:that claims to support 4 MIDI ports, yeilding a total of 64 channels.

More than one by now, I'd bet.  The latest version of Cakewalk
apparently supports at least four ports, anyway.

-- 
                                  David Sandberg - Quadric Systems
  "Strike Hard, Strike Sure"      PSEUDO: dts@quad.uucp
    Bomber Command, R.A.F.        ACTUAL: ..uunet!rosevax!sialis!quad!dts

dce@Solbourne.COM (David Elliott) (08/15/89)

In article <4220@orca.WV.TEK.COM> stank@anvil.WV.TEK.COM (Stan Kalinowski) writes:
>  ...                 Most people get around the 16 channel limit by
>using several MIDI ports on their computer/sequencer.

An alternative trick is to use keyboard zones and internal transposition.

For example, let's say you have a track in which you play a flute
run that covers a single octave.  You've dedicated an entire MIDI
channel to this, but are only using 12 note values in that channel.

Many synths (TX81Z, K5, K1, D110, etc.) allow you to say "this
instrument should only respond to notes in a certain range".  So, you
could "restrict" the flute patch to the octave it needs, and then use
the rest of the note values on that channel for a different
instrument.  If the new part encroaches on the already-used territory,
you should be able to transpose either or both of the instruments to
get them out of each others' areas.

Some sequencers, such as Vision for the Mac, allow you to set up your
system to easily take advantage of this.  By default, I have channels
5, 10, and 14 set up to split my synths into three parts like this,
and I have setup templates for the synths to make it easy for me to
do all of this.

-- 
David Elliott		dce@Solbourne.COM
			...!{uunet,boulder,nbires,sun}!stan!dce

"I had a dream that my kids had been reparented." - Tom LaStrange