Korg Poly800/EX800 Users group photo

Yahoo Groups archive

Korg Poly800/EX800 Users

Index last updated: 2026-03-31 23:23 UTC

Thread

Implementing MIDI controllers for all parameters

Implementing MIDI controllers for all parameters

2008-06-02 by korgpolyex800

I am about to get serious about writing the code that implements MIDI
controllers for all of the Poly 800 parameters. The controllers would
edit the current sound parameters and would require "writing" to a
specific patch in order to make the current sound permanent in one of
the 64 patches.

Some of the controllers will be set up specifically according to a
well known controller. VCF, resonance, portamento time, etc all have
assigned controllers. I will write the code so that those specific
MIDI controllers work for those well known controllers.

Now, given that there are about 50 to 60 original parameters to edit
and another 64 potentially in extended parameters, I think it makes
sense for us to just assume that we'll be dealing with about 128
different controllers. Also, the parameters are kind of set up in
blocks of eight. And furthermore, global mode uses up to 64 different
parameters too.

So I was thinking about assigning controller 22 to be a parameter bank
select. Controller 22 would use a range of values from 0-16 (anything
above 16 would be ignored). Then Controllers 23 to 31 would be
parameter controllers for parameter 0 through 7.

For example, set Controller 22 to 4 would select the EG1 parameters
for editing. Then, you would edit attack, decay, bp, slope, sustain
and release by using controllers 23-29 (30 and 31 would not be active
because the EG parameter bank only has six parameters to edit). So 23
would edit the attack through to 29 would edit release.

If you want to edit EG2 parameters you would send controller 22 with a
value of 5. Then use controllers 23-29 to edit EG2 parameters. Once
again, 23 would control attack through 29 would control release.

Using this model, we can use nine knobs on a controller to edit all of
the parameter "banks". The banks would be 0-7 for the original
parameters, 8-15 for extended parameters and 16 for global parameters.

So just about any MIDI controller that has nine assignable knobs could
edit all of the parameters in the Poly.

Hmm, maybe I should just leave out the global parameters.

What does everyone think of that method?

Mike.

Re:Implementing MIDI controllers for all parameters

2008-06-02 by Russ


sounds awesome. I am not sure if there are any 'standard' mappings for ADSR mapping (well ...ADBSSR). But even if there are, its hard to quibble. Being able to control these parameters by midi means I can just make a widget in Sonar to edit patches! Awwesome

Re: [korgpolyex] Implementing MIDI controllers for all parameters

2008-06-02 by Atom Smasher

On Mon, 2 Jun 2008, korgpolyex800 wrote:

> So I was thinking about assigning controller 22 to be a parameter bank
> select. Controller 22 would use a range of values from 0-16 (anything
> above 16 would be ignored). Then Controllers 23 to 31 would be parameter
> controllers for parameter 0 through 7.
...
> What does everyone think of that method?
===============

overall, it sounds great. for people who don't have a PC1600, might there
be a way to use the display to show what group of parameters is
selected... "En1", "LFO2", "OSC2", "FILTER", etc? i'm thinking it would be
great if that flashed on the display for 2-3 seconds, or until a parameter
is edited.

also, for people who don't have a PC1600, maybe CC22 should ignore the low
bits; if i had to use my evolution (MK249c) to select 0-16 with a small
knob that has a range of 0-127 it would kinda suck. ignoring the low bits
(and using the high bits) would give better control in that situation.
best of all would be adding a second CC to adjust the "edit bank" (or
whatever you want to call it); one that works as you described (for
software and PC1600's) and one that works as i described, for most
hardware controllers.

i haven't gone over the rest of the math, but that's my biggest concern
and it's not that big, since i have a PC1600x.


--
...atom

________________________
http://atom.smasher.org/
762A 3B98 A3C3 96C9 C6B7 582A B88D 52E4 D9F5 7808
-------------------------------------------------

"Somebody has to take governments' place, and business
seems to me to be a logical entity to do it."
-- David Rockefeller
Newsweek International, 1 Feb 1999.

Re: [korgpolyex] Implementing MIDI controllers for all parameters

2008-06-03 by Daniel Forró

There's also possibility not to use neighboring values but divide 128
values by concrete number of steps for each parameter, like this:

0/1: 0= 0-63, 1=64-127
0-7: 0=0-15, 1=16-31, 2=32-47 ... ... 7=112-127
0-15: 0=0-7, 1=8-15 ... ... 15=120-127
0-31: 0=0-3, 1=4-7 ... ... 31=124-127

Small problem can be with odd values. For example 0-2: 0=0-42,
1=43-84, 2=85-127

This would be very comfortable and intuitive for physical control
from rotary pots or sliders.

Daniel Forro


On Jun 3, 2008, at 5:10 AM, Atom Smasher wrote:

> On Mon, 2 Jun 2008, korgpolyex800 wrote:
>
>> So I was thinking about assigning controller 22 to be a parameter
>> bank
>> select. Controller 22 would use a range of values from 0-16 (anything
>> above 16 would be ignored). Then Controllers 23 to 31 would be
>> parameter
>> controllers for parameter 0 through 7.
> ...
>> What does everyone think of that method?
> ===============
>
> overall, it sounds great. for people who don't have a PC1600, might
> there
> be a way to use the display to show what group of parameters is
> selected... "En1", "LFO2", "OSC2", "FILTER", etc? i'm thinking it
> would be
> great if that flashed on the display for 2-3 seconds, or until a
> parameter
> is edited.
>
> also, for people who don't have a PC1600, maybe CC22 should ignore
> the low
> bits; if i had to use my evolution (MK249c) to select 0-16 with a
> small
> knob that has a range of 0-127 it would kinda suck. ignoring the
> low bits
> (and using the high bits) would give better control in that situation.
> best of all would be adding a second CC to adjust the "edit bank" (or
> whatever you want to call it); one that works as you described (for
> software and PC1600's) and one that works as i described, for most
> hardware controllers.
>
> i haven't gone over the rest of the math, but that's my biggest
> concern
> and it's not that big, since i have a PC1600x.
>
>
> --
> ...atom
>
> ________________________
> http://atom.smasher.org/
> 762A 3B98 A3C3 96C9 C6B7 582A B88D 52E4 D9F5 7808
> -------------------------------------------------
>
> "Somebody has to take governments' place, and business
> seems to me to be a logical entity to do it."
> -- David Rockefeller
> Newsweek International, 1 Feb 1999.
>
>
>
> ------------------------------------
>
> Yahoo! Groups Links
>
>
>

Re: Implementing MIDI controllers for all parameters

2008-06-03 by zoinky420

Sounds good but I just discovered my JL Cooper Fadermaster does
handle NRPNs the same way as CC, and I think all controller boxes do,
and I think Atom mentioned that CC only have 7-bit resolution,
whereas I read somewhere else that NRPNs have 14-bit resolution. So
you might want to check to see if there might be a benefit in using a
few NRPNs?

--- In korgpolyex@yahoogroups.com, "korgpolyex800"
<korgpolyex800@...> wrote:
>
> I am about to get serious about writing the code that implements
MIDI
> controllers for all of the Poly 800 parameters. The controllers
would
> edit the current sound parameters and would require "writing" to a
> specific patch in order to make the current sound permanent in one
of
> the 64 patches.
>
> Some of the controllers will be set up specifically according to a
> well known controller. VCF, resonance, portamento time, etc all have
> assigned controllers. I will write the code so that those specific
> MIDI controllers work for those well known controllers.
>
> Now, given that there are about 50 to 60 original parameters to edit
> and another 64 potentially in extended parameters, I think it makes
> sense for us to just assume that we'll be dealing with about 128
> different controllers. Also, the parameters are kind of set up in
> blocks of eight. And furthermore, global mode uses up to 64
different
> parameters too.
>
> So I was thinking about assigning controller 22 to be a parameter
bank
> select. Controller 22 would use a range of values from 0-16
(anything
> above 16 would be ignored). Then Controllers 23 to 31 would be
> parameter controllers for parameter 0 through 7.
>
> For example, set Controller 22 to 4 would select the EG1 parameters
> for editing. Then, you would edit attack, decay, bp, slope, sustain
> and release by using controllers 23-29 (30 and 31 would not be
active
> because the EG parameter bank only has six parameters to edit). So
23
> would edit the attack through to 29 would edit release.
>
> If you want to edit EG2 parameters you would send controller 22
with a
> value of 5. Then use controllers 23-29 to edit EG2 parameters. Once
> again, 23 would control attack through 29 would control release.
>
> Using this model, we can use nine knobs on a controller to edit all
of
> the parameter "banks". The banks would be 0-7 for the original
> parameters, 8-15 for extended parameters and 16 for global
parameters.
>
> So just about any MIDI controller that has nine assignable knobs
could
> edit all of the parameters in the Poly.
>
> Hmm, maybe I should just leave out the global parameters.
>
> What does everyone think of that method?
>
> Mike.
>

Re: Implementing MIDI controllers for all parameters

2008-06-04 by korgpolyex800

I wasn't planning on using NPRN's in the first version of the
software. NPRN's are supported in later MIDI hardware controllers and
very few of the early hardware controllers support NPRN's or if they
do support NPRN's, they don't it very nicely anyway.

My idea was to use MIDI CC's 23 through to 31. They are not NPRN's,
they are just unassigned MIDI controllers. So we can do whatever we
want with them.

Each one of those unassigned MIDI CC's has only 127 bit resolution,
but that's perfect for the Poly 800. So I think we are good to go there.

Mike.

--- In korgpolyex@yahoogroups.com, "zoinky420" <zoinky420@...> wrote:
>
>
> Sounds good but I just discovered my JL Cooper Fadermaster does
> handle NRPNs the same way as CC, and I think all controller boxes do,
> and I think Atom mentioned that CC only have 7-bit resolution,
> whereas I read somewhere else that NRPNs have 14-bit resolution. So
> you might want to check to see if there might be a benefit in using a
> few NRPNs?
>
> --- In korgpolyex@yahoogroups.com, "korgpolyex800"
> <korgpolyex800@> wrote:
> >
> > I am about to get serious about writing the code that implements
> MIDI
> > controllers for all of the Poly 800 parameters. The controllers
> would
> > edit the current sound parameters and would require "writing" to a
> > specific patch in order to make the current sound permanent in one
> of
> > the 64 patches.
> >
> > Some of the controllers will be set up specifically according to a
> > well known controller. VCF, resonance, portamento time, etc all have
> > assigned controllers. I will write the code so that those specific
> > MIDI controllers work for those well known controllers.
> >
> > Now, given that there are about 50 to 60 original parameters to edit
> > and another 64 potentially in extended parameters, I think it makes
> > sense for us to just assume that we'll be dealing with about 128
> > different controllers. Also, the parameters are kind of set up in
> > blocks of eight. And furthermore, global mode uses up to 64
> different
> > parameters too.
> >
> > So I was thinking about assigning controller 22 to be a parameter
> bank
> > select. Controller 22 would use a range of values from 0-16
> (anything
> > above 16 would be ignored). Then Controllers 23 to 31 would be
> > parameter controllers for parameter 0 through 7.
> >
> > For example, set Controller 22 to 4 would select the EG1 parameters
> > for editing. Then, you would edit attack, decay, bp, slope, sustain
> > and release by using controllers 23-29 (30 and 31 would not be
> active
> > because the EG parameter bank only has six parameters to edit). So
> 23
> > would edit the attack through to 29 would edit release.
> >
> > If you want to edit EG2 parameters you would send controller 22
> with a
> > value of 5. Then use controllers 23-29 to edit EG2 parameters. Once
> > again, 23 would control attack through 29 would control release.
> >
> > Using this model, we can use nine knobs on a controller to edit all
> of
> > the parameter "banks". The banks would be 0-7 for the original
> > parameters, 8-15 for extended parameters and 16 for global
> parameters.
> >
> > So just about any MIDI controller that has nine assignable knobs
> could
> > edit all of the parameters in the Poly.
> >
> > Hmm, maybe I should just leave out the global parameters.
> >
> > What does everyone think of that method?
> >
> > Mike.
> >
>

Re: Implementing MIDI controllers for all parameters

2008-06-04 by korgpolyex800

Atom,

Flashing the display when a CC gets changed sounds like a great idea
but you ask alot man!

I will add this to the feature request list.

The way Korg set up the display in the first place was awful. I can
think of several ways to make it better but at the moment I'm
struggling just to get the CC's implmented. It's summer up here -
remember?(!)

As for the format of the controllers data, yes, the values will be
proportionally spread across 0-127 regardless of whether they are
on/off or 0-99. In most cases, the parameters fall into a factor of
128 so it's easy to just use a binary rotate command to shift the most
significant bits down to the least significant. So for example, all of
the envelope values just need to be shifted right three times to get
127 to be 31. The rest, I'll have to use a lookup table that returns a
proportional value according to the CC data value. How I actually do
this fast enough to fit within the MIDI interrupt service routine is
the tricky bit. But I have a pretty good idea about how to do it. I
may even get a chance to do write this code this weekend.

Mike.

--- In korgpolyex@yahoogroups.com, Atom Smasher <atom@...> wrote:
>
> On Mon, 2 Jun 2008, korgpolyex800 wrote:
>
> > So I was thinking about assigning controller 22 to be a parameter
bank
> > select. Controller 22 would use a range of values from 0-16 (anything
> > above 16 would be ignored). Then Controllers 23 to 31 would be
parameter
> > controllers for parameter 0 through 7.
> ...
> > What does everyone think of that method?
> ===============
>
> overall, it sounds great. for people who don't have a PC1600, might
there
> be a way to use the display to show what group of parameters is
> selected... "En1", "LFO2", "OSC2", "FILTER", etc? i'm thinking it
would be
> great if that flashed on the display for 2-3 seconds, or until a
parameter
> is edited.
>
> also, for people who don't have a PC1600, maybe CC22 should ignore
the low
> bits; if i had to use my evolution (MK249c) to select 0-16 with a small
> knob that has a range of 0-127 it would kinda suck. ignoring the low
bits
> (and using the high bits) would give better control in that situation.
> best of all would be adding a second CC to adjust the "edit bank" (or
> whatever you want to call it); one that works as you described (for
> software and PC1600's) and one that works as i described, for most
> hardware controllers.
>
> i haven't gone over the rest of the math, but that's my biggest concern
> and it's not that big, since i have a PC1600x.
>
>
> --
> ...atom
>
> ________________________
> http://atom.smasher.org/
> 762A 3B98 A3C3 96C9 C6B7 582A B88D 52E4 D9F5 7808
> -------------------------------------------------
>
> "Somebody has to take governments' place, and business
> seems to me to be a logical entity to do it."
> -- David Rockefeller
> Newsweek International, 1 Feb 1999.
>

Re: [korgpolyex] Re: Implementing MIDI controllers for all parameters

2008-06-04 by Atom Smasher

On Wed, 4 Jun 2008, korgpolyex800 wrote:

> So for example, all of the envelope values just need to be shifted right
> three times to get 127 to be 31. The rest, I'll have to use a lookup
> table that returns a proportional value according to the CC data value.
> How I actually do this fast enough to fit within the MIDI interrupt
> service routine is the tricky bit.
===========

or you could ~just~ change the resolution of the envelope parameters from
5-bit to 7-bit ;)


--
...atom

________________________
http://atom.smasher.org/
762A 3B98 A3C3 96C9 C6B7 582A B88D 52E4 D9F5 7808
-------------------------------------------------

"Our people have made the mistake of confusing the methods
with the objectives. As long as we agree on objectives,
we should never fall out with each other just because we
believe in different methods or tactics or strategy."
-- Malcolm X

Re: Implementing MIDI controllers for all parameters

2008-06-05 by korgpolyex800

You really are an old curmudgeon!

--- In korgpolyex@yahoogroups.com, Atom Smasher <atom@...> wrote:
>
> On Wed, 4 Jun 2008, korgpolyex800 wrote:
>
> > So for example, all of the envelope values just need to be shifted
right
> > three times to get 127 to be 31. The rest, I'll have to use a lookup
> > table that returns a proportional value according to the CC data
value.
> > How I actually do this fast enough to fit within the MIDI interrupt
> > service routine is the tricky bit.
> ===========
>
> or you could ~just~ change the resolution of the envelope parameters
from
> 5-bit to 7-bit ;)
>
>
> --
> ...atom
>
> ________________________
> http://atom.smasher.org/
> 762A 3B98 A3C3 96C9 C6B7 582A B88D 52E4 D9F5 7808
> -------------------------------------------------
>
> "Our people have made the mistake of confusing the methods
> with the objectives. As long as we agree on objectives,
> we should never fall out with each other just because we
> believe in different methods or tactics or strategy."
> -- Malcolm X
>

Re: Implementing MIDI controllers for all parameters

2008-06-05 by zoinky420

--- In korgpolyex@yahoogroups.com, "korgpolyex800"
<korgpolyex800@...> wrote:
>
> I wasn't planning on using NPRN's in the first version of the
> software. NPRN's are supported in later MIDI hardware controllers
and
> very few of the early hardware controllers support NPRN's or if they
> do support NPRN's, they don't it very nicely anyway.
>

hmm, my JL Cooper Fadermaster is the oldest one I can think of and it
does NRPN just as well as CC. It's sysex is that is difficult. Do
you know which old controllers have trouble with NRPN? (BTW I was the
one who originally claimed they didn't in this group, so if you are
going by that old post, I was wrong!)

> Each one of those unassigned MIDI CC's has only 127 bit resolution,
> but that's perfect for the Poly 800. So I think we are good to go
there.
>

No, CCs are definitely 7-bit. See here:

<http://www.midibox.org/dokuwiki/midi_specification>

"There are two ways to use 14-bit MIDI Messages; the trick is, to
combine two 7-bit Messages to one 14-bit:

-using RPNs

-using NRPNs

-sending two Controller Messages, eg:

CC 12, Effect Ctrl 1 (MSB = Most Significant Byte)
CC 44, Effect Ctrl 1 (LSB = Least Significant Byte)

Sending 14bit from one pot is only possible if you're hacking the
code. Because Pots are being read as 10-bit value, you have to
interpolate to 14 bit and implement a NRPN or dual-CC method.

Re: Implementing MIDI controllers for all parameters

2008-06-05 by zoinky420

--- In korgpolyex@yahoogroups.com, "zoinky420" <zoinky420@...> wrote:
>
>
> Sending 14bit from one pot is only possible if you're hacking the
> code. Because Pots are being read as 10-bit value, you have to
> interpolate to 14 bit and implement a NRPN or dual-CC method.
>

Sorry, I think that part refers to the the behavior of the Midibox's
knobs in particular, but the MIDI spec does specify Controller Changes
as 7-bit.

Re: Implementing MIDI controllers for all parameters

2008-06-05 by korgpolyex800

Yes, you're right.

127 is decimal for 07F in hexadecimal which is 1111111 in binary which
is seven bits. My mistake.

That blurb about 10 bits and 14 bits must be pertaining to a specific
piece of hardware because you could easily read an analog POT with a
14 bit A to D converter and get 14 bits that would be easily sent as
two CC's, one for MSB and one for LSB.

I am not that familiar with all of the different MIDI controllers out
there but I do know that some of 'em are a pain in the butt with the
way they implement NPRN control. They can do it, but it's painfully
inflexible.

Anyway, the main thing is, I'm not going to begin with NRPN's. I'll
use the unassigned controllers as previously mentioned.

Mike.

--- In korgpolyex@yahoogroups.com, "zoinky420" <zoinky420@...> wrote:
>
> --- In korgpolyex@yahoogroups.com, "korgpolyex800"
> <korgpolyex800@> wrote:
> >
> > I wasn't planning on using NPRN's in the first version of the
> > software. NPRN's are supported in later MIDI hardware controllers
> and
> > very few of the early hardware controllers support NPRN's or if they
> > do support NPRN's, they don't it very nicely anyway.
> >
>
> hmm, my JL Cooper Fadermaster is the oldest one I can think of and it
> does NRPN just as well as CC. It's sysex is that is difficult. Do
> you know which old controllers have trouble with NRPN? (BTW I was the
> one who originally claimed they didn't in this group, so if you are
> going by that old post, I was wrong!)
>
> > Each one of those unassigned MIDI CC's has only 127 bit resolution,
> > but that's perfect for the Poly 800. So I think we are good to go
> there.
> >
>
> No, CCs are definitely 7-bit. See here:
>
> <http://www.midibox.org/dokuwiki/midi_specification>
>
> "There are two ways to use 14-bit MIDI Messages; the trick is, to
> combine two 7-bit Messages to one 14-bit:
>
> -using RPNs
>
> -using NRPNs
>
> -sending two Controller Messages, eg:
>
> CC 12, Effect Ctrl 1 (MSB = Most Significant Byte)
> CC 44, Effect Ctrl 1 (LSB = Least Significant Byte)
>
> Sending 14bit from one pot is only possible if you're hacking the
> code. Because Pots are being read as 10-bit value, you have to
> interpolate to 14 bit and implement a NRPN or dual-CC method.
>

Re: Implementing MIDI controllers for all parameters

2008-06-06 by zoinky420

Yeah obviously I dont know much about this, I just wanted to bring it
to your attention in case it matters. People on various forums seem
to think it does, claiming that at 7-bit they, for example, get a 1db
jump from a single fader/knob increment, but if 7-bit equates to 127
steps I don't see how that would happen. But anyway if there is some
advantage in doubling up some CCs maybe you might want to look into
it further. I was hoping that some wise midi guru would jump into
this convo and straighten us out about all this but that doesn't seem
to be happening...

--- In korgpolyex@yahoogroups.com, "korgpolyex800"
<korgpolyex800@...> wrote:
>
> Yes, you're right.
>
> 127 is decimal for 07F in hexadecimal which is 1111111 in binary
which
> is seven bits. My mistake.
>
> That blurb about 10 bits and 14 bits must be pertaining to a
specific
> piece of hardware because you could easily read an analog POT with a
> 14 bit A to D converter and get 14 bits that would be easily sent as
> two CC's, one for MSB and one for LSB.
>
> I am not that familiar with all of the different MIDI controllers
out
> there but I do know that some of 'em are a pain in the butt with the
> way they implement NPRN control. They can do it, but it's painfully
> inflexible.
>
> Anyway, the main thing is, I'm not going to begin with NRPN's. I'll
> use the unassigned controllers as previously mentioned.
>
> Mike.
>
> --- In korgpolyex@yahoogroups.com, "zoinky420" <zoinky420@> wrote:
> >
> > --- In korgpolyex@yahoogroups.com, "korgpolyex800"
> > <korgpolyex800@> wrote:
> > >
> > > I wasn't planning on using NPRN's in the first version of the
> > > software. NPRN's are supported in later MIDI hardware
controllers
> > and
> > > very few of the early hardware controllers support NPRN's or if
they
> > > do support NPRN's, they don't it very nicely anyway.
> > >
> >
> > hmm, my JL Cooper Fadermaster is the oldest one I can think of
and it
> > does NRPN just as well as CC. It's sysex is that is difficult.
Do
> > you know which old controllers have trouble with NRPN? (BTW I was
the
> > one who originally claimed they didn't in this group, so if you
are
> > going by that old post, I was wrong!)
> >
> > > Each one of those unassigned MIDI CC's has only 127 bit
resolution,
> > > but that's perfect for the Poly 800. So I think we are good to
go
> > there.
> > >
> >
> > No, CCs are definitely 7-bit. See here:
> >
> > <http://www.midibox.org/dokuwiki/midi_specification>
> >
> > "There are two ways to use 14-bit MIDI Messages; the trick is, to
> > combine two 7-bit Messages to one 14-bit:
> >
> > -using RPNs
> >
> > -using NRPNs
> >
> > -sending two Controller Messages, eg:
> >
> > CC 12, Effect Ctrl 1 (MSB = Most Significant Byte)
> > CC 44, Effect Ctrl 1 (LSB = Least Significant Byte)
> >
> > Sending 14bit from one pot is only possible if you're hacking the
> > code. Because Pots are being read as 10-bit value, you have to
> > interpolate to 14 bit and implement a NRPN or dual-CC method.
> >
>

Re: Implementing MIDI controllers for all parameters

2008-06-08 by zoinky420

BTW it turns out that doubling CCs IS NRPN. So I guess you won't be
doubling any CCs!

--- In korgpolyex@yahoogroups.com, "zoinky420" <zoinky420@...> wrote:
>
> Yeah obviously I dont know much about this, I just wanted to bring
it
> to your attention in case it matters. People on various forums
seem
> to think it does, claiming that at 7-bit they, for example, get a
1db
> jump from a single fader/knob increment, but if 7-bit equates to
127
> steps I don't see how that would happen. But anyway if there is
some
> advantage in doubling up some CCs maybe you might want to look into
> it further. I was hoping that some wise midi guru would jump into
> this convo and straighten us out about all this but that doesn't
seem
> to be happening...
>
> --- In korgpolyex@yahoogroups.com, "korgpolyex800"
> <korgpolyex800@> wrote:
> >
> > Yes, you're right.
> >
> > 127 is decimal for 07F in hexadecimal which is 1111111 in binary
> which
> > is seven bits. My mistake.
> >
> > That blurb about 10 bits and 14 bits must be pertaining to a
> specific
> > piece of hardware because you could easily read an analog POT
with a
> > 14 bit A to D converter and get 14 bits that would be easily sent
as
> > two CC's, one for MSB and one for LSB.
> >
> > I am not that familiar with all of the different MIDI controllers
> out
> > there but I do know that some of 'em are a pain in the butt with
the
> > way they implement NPRN control. They can do it, but it's
painfully
> > inflexible.
> >
> > Anyway, the main thing is, I'm not going to begin with NRPN's.
I'll
> > use the unassigned controllers as previously mentioned.
> >
> > Mike.
> >
> > --- In korgpolyex@yahoogroups.com, "zoinky420" <zoinky420@> wrote:
> > >
> > > --- In korgpolyex@yahoogroups.com, "korgpolyex800"
> > > <korgpolyex800@> wrote:
> > > >
> > > > I wasn't planning on using NPRN's in the first version of the
> > > > software. NPRN's are supported in later MIDI hardware
> controllers
> > > and
> > > > very few of the early hardware controllers support NPRN's or
if
> they
> > > > do support NPRN's, they don't it very nicely anyway.
> > > >
> > >
> > > hmm, my JL Cooper Fadermaster is the oldest one I can think of
> and it
> > > does NRPN just as well as CC. It's sysex is that is
difficult.
> Do
> > > you know which old controllers have trouble with NRPN? (BTW I
was
> the
> > > one who originally claimed they didn't in this group, so if you
> are
> > > going by that old post, I was wrong!)
> > >
> > > > Each one of those unassigned MIDI CC's has only 127 bit
> resolution,
> > > > but that's perfect for the Poly 800. So I think we are good
to
> go
> > > there.
> > > >
> > >
> > > No, CCs are definitely 7-bit. See here:
> > >
> > > <http://www.midibox.org/dokuwiki/midi_specification>
> > >
> > > "There are two ways to use 14-bit MIDI Messages; the trick is,
to
> > > combine two 7-bit Messages to one 14-bit:
> > >
> > > -using RPNs
> > >
> > > -using NRPNs
> > >
> > > -sending two Controller Messages, eg:
> > >
> > > CC 12, Effect Ctrl 1 (MSB = Most Significant Byte)
> > > CC 44, Effect Ctrl 1 (LSB = Least Significant Byte)
> > >
> > > Sending 14bit from one pot is only possible if you're hacking
the
> > > code. Because Pots are being read as 10-bit value, you have to
> > > interpolate to 14 bit and implement a NRPN or dual-CC method.
> > >
> >
>

Re: Implementing MIDI controllers for all parameters

2008-06-08 by korgpolyex800

I have to politely disagree with you on this one zoinky420 (what is
your first name my friend? I don't feel comfortable talking to a
zoinky, which planet is that from? Can I use inky as a nickname?).

For RPN's you set the parameter you wish to change be sending MSB CC
101 and LSB on CC 100. Then you set the value for that selected
parameter by sending the data value on CC 6 (data value). As long as
you don't change the selected RPN by sending a new pair of CC's on 101
or 100 then you can send as many new data values as you want (on CC
6). And then there is a save command too.

The same method applies to NPRN's except that the CC to select the
NPRN parameter is done on CC's 99 and 98. CC 6 is also used for
setting parameter data values.

Although I will implement this later if people really want it,
initially I am going to use a different approach that uses the
unassigned MIDI CC's. I think my approach will make a more elegant and
flexible method.

My suggested method is kind of a half way between discreet controllers
and NPRN controllers. I welcome any suggestions for alternatives to my
suggested method.

Mike


--- In korgpolyex@yahoogroups.com, "zoinky420" <zoinky420@...> wrote:
>
>
> BTW it turns out that doubling CCs IS NRPN. So I guess you won't be
> doubling any CCs!
>
> --- In korgpolyex@yahoogroups.com, "zoinky420" <zoinky420@> wrote:
> >
> > Yeah obviously I dont know much about this, I just wanted to bring
> it
> > to your attention in case it matters. People on various forums
> seem
> > to think it does, claiming that at 7-bit they, for example, get a
> 1db
> > jump from a single fader/knob increment, but if 7-bit equates to
> 127
> > steps I don't see how that would happen. But anyway if there is
> some
> > advantage in doubling up some CCs maybe you might want to look into
> > it further. I was hoping that some wise midi guru would jump into
> > this convo and straighten us out about all this but that doesn't
> seem
> > to be happening...
> >
> > --- In korgpolyex@yahoogroups.com, "korgpolyex800"
> > <korgpolyex800@> wrote:
> > >
> > > Yes, you're right.
> > >
> > > 127 is decimal for 07F in hexadecimal which is 1111111 in binary
> > which
> > > is seven bits. My mistake.
> > >
> > > That blurb about 10 bits and 14 bits must be pertaining to a
> > specific
> > > piece of hardware because you could easily read an analog POT
> with a
> > > 14 bit A to D converter and get 14 bits that would be easily sent
> as
> > > two CC's, one for MSB and one for LSB.
> > >
> > > I am not that familiar with all of the different MIDI controllers
> > out
> > > there but I do know that some of 'em are a pain in the butt with
> the
> > > way they implement NPRN control. They can do it, but it's
> painfully
> > > inflexible.
> > >
> > > Anyway, the main thing is, I'm not going to begin with NRPN's.
> I'll
> > > use the unassigned controllers as previously mentioned.
> > >
> > > Mike.
> > >
> > > --- In korgpolyex@yahoogroups.com, "zoinky420" <zoinky420@> wrote:
> > > >
> > > > --- In korgpolyex@yahoogroups.com, "korgpolyex800"
> > > > <korgpolyex800@> wrote:
> > > > >
> > > > > I wasn't planning on using NPRN's in the first version of the
> > > > > software. NPRN's are supported in later MIDI hardware
> > controllers
> > > > and
> > > > > very few of the early hardware controllers support NPRN's or
> if
> > they
> > > > > do support NPRN's, they don't it very nicely anyway.
> > > > >
> > > >
> > > > hmm, my JL Cooper Fadermaster is the oldest one I can think of
> > and it
> > > > does NRPN just as well as CC. It's sysex is that is
> difficult.
> > Do
> > > > you know which old controllers have trouble with NRPN? (BTW I
> was
> > the
> > > > one who originally claimed they didn't in this group, so if you
> > are
> > > > going by that old post, I was wrong!)
> > > >
> > > > > Each one of those unassigned MIDI CC's has only 127 bit
> > resolution,
> > > > > but that's perfect for the Poly 800. So I think we are good
> to
> > go
> > > > there.
> > > > >
> > > >
> > > > No, CCs are definitely 7-bit. See here:
> > > >
> > > > <http://www.midibox.org/dokuwiki/midi_specification>
> > > >
> > > > "There are two ways to use 14-bit MIDI Messages; the trick is,
> to
> > > > combine two 7-bit Messages to one 14-bit:
> > > >
> > > > -using RPNs
> > > >
> > > > -using NRPNs
> > > >
> > > > -sending two Controller Messages, eg:
> > > >
> > > > CC 12, Effect Ctrl 1 (MSB = Most Significant Byte)
> > > > CC 44, Effect Ctrl 1 (LSB = Least Significant Byte)
> > > >
> > > > Sending 14bit from one pot is only possible if you're hacking
> the
> > > > code. Because Pots are being read as 10-bit value, you have to
> > > > interpolate to 14 bit and implement a NRPN or dual-CC method.
> > > >
> > >
> >
>