Bc2000 (for the BCF2000 & BCR2000) group photo

Yahoo Groups archive

Bc2000 (for the BCF2000 & BCR2000)

Index last updated: 2026-04-28 23:16 UTC

Message

RE: RE: RE: RE: RE: RE: NRPN confusion

2013-11-15 by <absent@...>

Actually, what's alarming to me is that I somehow entirely failed to notice that all of the packed paramteres are "switching" functions that don't even need to be knobbed- just switched.

Ha ha, I looked up " MIDI Packed Paramters" in the search engine I use (Duckduckgo.com), and the first hit I found was from someone trying to sort out a Novation.
: D

This is The Future. Isn't there some space age thing I can get to just put a bunch of switches on that have values assigned to them of the appropriate type?

If this future was happening in the 1950's, we'd be able to buy kits at something similar to Radio Shack. At least in my brain we would. Which might explain why I even care about any of this.
Don't these kids today have some sort of " Adreno Razzberies " that will do this? Wouldn't they need it for that "Stepping Dub" thing they do with the "Steam Punk " rock?

*bangs head on floor*





---In bc2000@yahoogroups.com, <absent@...> wrote:

Well, I feel less confused now.

So what the heck are they suposed to be doing with those, then?
Why are they even there?
Is that for internal control only? What is supposed to interface with those parameters?


So, now I have to research how packed parameters work in sequencing.
Man, I was really looking forward to real-time hardware control of basic things like, oh, say, maybe the oscillator controls.
*Now* the thing looks completely stupid to me.
I won't bore you with the physical interface details, but if you twiddle a lot, you're going to wear out some swtiches pretty fast.
It's an awesome thing, but I am really disappointed by this. There has to be *some* way to get hardware control for those features.
I'm going to throw a message in a bottle in Novation's general direction, just to see if they say anything interesting.

Thanks you so much. And I am *far* from done using the BCR2000.
I'll still use it with the Novation. I am just irritated at the Novation right now : D



---In bc2000@yahoogroups.com, <rpcfender@...> wrote:

I did type it all out. I pretend that it is a good substitute for the scales that I'm not playing enough.


Well I had a look at the Midi spec and I can't believe it.


It is an old synth but not that old and still using packed data parameters in Midi and worse than that they put it in controller messages (NRPN is an extension of CC messages).


Now the sad news for you, you can't change packed parameters, like the Osc waveforms without changing a whole lot of other parameters packed in there.

The BC does not allow you to add parameters together.


The only way you can get this machine to work properly is to write a program that will do the packing/unpacking for you.


I can understand the use of packing in the early days because of the cost memory, but now???

It can't be that there are too many parameters as they don't use a whole lot of available NRPNs


I had a look to see if you could change a parameter by sysex instead but there doesn't seem to be a command for parameter change. It just seems to use sysex for bulk dumps.


One last hope.
There is an editor on the web.
http://www.luigibianchi.com/AStatEdit/AStatEdit.htm
It only seems to have Midi In and out but perhaps you could ask him to add a controller port?
Then he could use controller values from the BC to pack the data.

The old Korg DW6000 uses packed data in its sysex for parameter change.
My solution is here .....
http://www.bwalk.com.au/DW6K/DW6k.html
(note that if you are using a browser addon 'HPPS everywhere' then you will get a warning. I don't know why - Just use http instead)


Sorry

Royce




---In bc2000@yahoogroups.com, <absent@...> wrote:

Royce, did you have that all written out some where and just paste it?
I hope you didn't have to write all that on my account, but it's awesome!

Thank you so much for the explicit information.

I'm still early on (32 pages) in the BC Manager software manual, but I am reading it.
BTW, the MIDI utilities included in the thing are awesome!

Below, I explain exactly what I am trying to program.


I should have specified that the A-Station is a rack-mount sound module, and not a controller.
I have tried to enter the information below verbatim, but in case anyone is curious, here is a link to the actual manual.
http://us.novationmusic.com/support/product-downloads?product=A-
Station

-------------------------------
NOVATION A-Station



The manual for the Novation A-Station synthesizer provides a list of midi continuous-control numbers from 0-127.

Some of these are listed as follows:
------

71 : sound controller 2 (MIDI specified use)

A-Station use
Osc 1,2,3 octave/osc 1>2 Sync (see packed parameter 4)
----
When you see packed parameter 3, this is the information you get:

Packed Controller / NRPN parameter details -

bits 0-1 : 2 bit osc 1 waveform (sine, tri, saw,square)
bits 2-3 : osc 2
bits 4-5 : osc 3
bit 6 : osc 1 > 2 sync on

That is a 7 bit byte, correct?

There are eleven sets of packed parameters.
-----
I am now interpreting the manual differently.
This section is entitled "Packed Controller / NRPN Parameter Details

The page following the packed parameter details a "Midi NRPN list"
I'm now thinking that the packed parameters are not even NRPN's in the first place.
Although the packed parameters are my first concern, I will still need the NRPN's as well, but if I had interpreted that incorrectly, it certainly has not been simplifying the process.

"The A-Station uses a few NRPN's as detailed below.
Since less than 128 of them are used, only one NRPN bank msb is needed. Therefore only the NRPN lsb is transmitted/received and the NRPN msb is ignored and is not transmitted.
For future compatibility, assume that the NRPN msb is 0."

The NRPN's also contain some of the packed parameters (8,9,10).












---In bc2000@yahoogroups.com, <rpcfender@...> wrote:

Computers (this includes phones, washing machines and BC2000 etc) only talk in on/off or 0 and 1 called binary and each switch is called a bit.

We group these bits usually in blocks of 4 called a nibble.

Two of these nibbles are called a byte. So a byte has 8 bits or 8 on / off switches.

So counting in binary (that is only using 0 and 1) is

0 0

1 1

2 10 - this is the same process as when we reach 9 add 1 to it, we add a new column - start again = 10

3 11

4 100

5 101

6 110

7 111

8 1000

9 1001

10 1010

11 1011

12 1100

13 1101

14 1110

15 1111 and that is all we can count with 4 bits


So 0 to 15 is 16 values. It would be great if we could use a single character for each value.


So we make decimal...

10 = A

11 = B

12 = C

13 = D

14 = E

15 = F


When we need a bigger number we could just get another bit but lets grab an extra nibble and use a byte instead


0 = 00

1 = 01

...

14 = 0E

15 = 0F

16 = 10

17 = 11

...

124 =7C

125 =7D

126 =7E

127 =7F as Midi only uses 7 bits for data 127 is the biggest data number available as a single byte

128 =80

...

254 =FE

255 =FF biggest single byte value

256 =01 00 this is the usual display format for a 2 byte or 16 bit number right up to FF FF or 65535 in decimal.

Which do you find easier to read?


Now in Midi all the non-data stuff like 'I just pressed a note" and "change the patch to number" are all greater than 127 that is hex 80 (you see this also as 0x80 or $80 or 80h all the same thing) and bigger.


So as we need to know what channel it is, lets use the lower nibble for that.


So we can have commands or status bytes, as they are called, on any of 16 channels (0 to F)


B0 is continuous controller on channel 1 (we use the zero so the channel number is 1 more)

B3 is continuous controller on channel 4


80 is Note off channel 1


8n is Note off on some channel

9n is Note On

An is polyphonic pressure (Polyphonic Aftertouch)

Bn is CC continuous controller

Cn is PC patch change

Dn is Channel Pressure (Aftertouch)

En is PB Pitch bend


F0 to FF are system messages eg F0 is the start of system exclusive and F7 is end of system exclusive.


For a good reference to MIDI see

http://www.somascape.org/midi/tech/spec.html


As far as the packed data you will need to spell out exactly what you are trying to do.


All the best

Royce



---In bc2000@yahoogroups.com, <absent@...> wrote:

First off, I have been unable to figure out what B0 means.



---In bc2000@yahoogroups.com, <absent@...> wrote:

And I meant "met face to face".



---In bc2000@yahoogroups.com, <sghookings@...> wrote:

Well you just did encounter someone who not only understands NRPNs but gave a great explanation

The BCR expects the address and range of values. Then u have to say if you are sending just 7 or full 14 bits.

Good luck in interpreting NRPNs






-------- Original message --------
From: absent@...
Date: 13/11/2013 15:47 (GMT+00:00)
To: bc2000@yahoogroups.com
Subject: [bc2000] RE: RE: NRPN confusion


Where am confused is that the entry for parameter number is not hex.

The A-Station lists CC numbers as "packed parameters" with what I think are supposed to be 8-bit numbers to assign a specific -packed sub-parameter.

It's been very difficult to find information on this. I am getting the impression that this sort of thing is a small step removed from deep MIDI user-end voodoo.
I have yet to encounter anyone in real life that actually has heard of NRPNs :D . I've been getting a lot of blank stares and referrals to basic MIDI texts.





---In bc2000@yahoogroups.com, <rpcfender@...> wrote:

RPN (registered parameter numbers) and NRPN are ways to increase the number of Continuous Controllers Midi can use.
It works the same a Bank selection fo r Patches

NRPN
CC98 LSB
CC99 MSB

in hex on channel 1

B0 62 LSB
B0 63 MSB

As MSB (most significant byte) and LSB can be between 0 and 127 combined it becomes a 14 bit number from 0 to 16,383 controllers

So once you have said what controller you are talking about, you send its value

For 0 to 127 type controllers
B0 06 value
or
B0 26 value


or if your controller has 14 bit values (0 to 16,383)


B0 06 MSB

B0 26 LSB


(There is an increment and decrement as well.)

Once the controller has been selected it doesn't have to be selected again so you can send


B0 62 LSB
B0 63 MSB

B0 26 value 1

B0 26 value 2

B0 26 value 3

etc


Just the same as Banks and Patches.

All the best
Royce

Attachments

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.