Re: [linux-audio-dev] MIDI question

New Message Reply About this list Date view Thread view Subject view Author view Other groups

Subject: Re: [linux-audio-dev] MIDI question
From: Adam Zygmunt (azygmun_AT_bgnet.bgsu.edu)
Date: ke elo    11 1999 - 16:38:42 EDT


On Wed, 11 Aug 1999, David Slomin wrote:

>
> So I'm working on my sequencer, reading over the MIDI specs, and I
> realize that I don't have a really clear understanding of how MIDI
> controller messages work.
>
> I understand the simple case: coarse value adjust only of one of the
> base controllers (modulation, sustain, etc), which is sent in a single
> message.
>
> What I'd like to how the other three cases work:
>

I don't have my own synth manual with me right now (I'm at work and it's
at home), but I did some double-checking at www.midi.org. The way I
understand it is this:

All controls except pitch bend are coarse. Control change and pitch bend
are actually two different types of messages. Control change is of the
form Bx (hex) y z, where x is the MIDI channel, y is the controller
number, and z is the controller value (both 7-bit). Pitch bend is of the
form Ex l m, where x the channel, and l and m are the least- and
most-significant bytes, respectively. Both of these are also 7 bit, which
is a little weird.
    [N]RPN are actually just extensions to the controllers. As there are
only 127 available controllers, some of the more esoteric things have been
put here. I'm pretty sure (I'd have to double-check a manual to be
absolutely certian) that you use [N]RPN by sending three sequential
controller-type (Bx) messages. The first, 62 or 64 (hex), sets the RPN or
NRPN parameter number lsb. 63 or 65 sets the msb. controller 6 would then
set the value (coarse only). There are a couple of special controllers for
[N]RPN - 60 (increment) and 61(decrement) which can be used instead of 6,
though these seem a little unusual to me. To summarize, [N]RPNs are a way
of giving MIDI devices 32,000 controllers (2^14 RPNs+2^14 NRPNs), instead
of just 127. As they're all still fundamentally controllers, they still
only have 7 bits of resolution, though.

Hope this helps, and I'll post any corrections if I find any inaccuracies.

Adam Zygmunt


New Message Reply About this list Date view Thread view Subject view Author view Other groups

This archive was generated by hypermail 2b28 : pe maalis 10 2000 - 07:25:52 EST