Page 1 of 1

Help with NRPN scale changes

Posted: Mon Dec 29, 2014 7:00 am
by coolcat
Hi guys,

I'm curious if anyone knows how to setup this feature:
"Custom MIDI NRPN support for handling real-time scale changes via MIDI (for use with the app KeyIn)" ?

I couldn't find anything in the users guide or in the forum :(

Re: Help with NRPN scale changes

Posted: Tue Dec 30, 2014 4:05 pm
by Jesse
As for the scale change NRPN, it is a convention I came up with but haven't spread the word about yet, currently only the experimental app KeyIn supports it.

Here is a description of the spec for completeness, although I doubt you can use this as is, it probably needs some coding to take advantage of it in practice.

Using NRPN # 72 (MSB) ,53 (LSB) to change the playable notes:

Code: Select all

CC 99 72
CC 98 53
CC 6  hi_7bits
CC 38 low_7bits
Where the value of the bits are a mask where the 0th bit is a C and the 11th bit is B, the remaining bits will always be 0 value.

For example a C major scale (all white keys) would look this in binary (the least significant 0th bit is on the right, a C):

Code: Select all

              HI byte          Low byte
notes:        xxBxAxG    xFExDxC
binary:       0010101    0110101
decimal:     21         53
hex:           0x15       0x35
I was planning on letting other developers know about this convention sometime, and I may extend it to another NRPN that does intervals in a scale along with key, as an alternative.

Right now TJ only listens for it, but for completeness I need to add send as well.