msb / lsb nrpn not working

Tips and techniques for Minimoog Analog Synthesizers
Post Reply
pinkles
Posts: 15
Joined: Thu Feb 17, 2011 4:38 pm

msb / lsb nrpn not working

Post by pinkles » Thu Jun 14, 2012 6:03 pm

I've been trying to sequence nrpn parameters from my sequencer with no luck. Regular ccs work fine, but no nprn. Following the sequencer's manual exactly. Just to double check, I disconnected the sequencer and sent a sequence from Ableton instead. Again, with Ableton no nprn stuff works but reg ccs work fine. Ive been through the voyager's menus looking for something that might be toggled off, but haven't had any luck.

Does anyone have any ideas? Can anyone suggest a foolproof way to test to be sure that nprn is working?
Last edited by pinkles on Mon Jun 18, 2012 2:08 pm, edited 1 time in total.

SteveD
Posts: 99
Joined: Wed Jul 23, 2003 9:48 am
Contact:

Re: msb / lsb nprn not working

Post by SteveD » Fri Jun 15, 2012 2:21 pm

The Voyager does not use nrpns - only 14-bit or 7-bit CCs.

A link to the online manual:
http://www.moogmusic.com/sites/default/ ... _combo.pdf

check p76 (p.74 of the .pdf) - there is a table of the CCs used.

Hope that helps
SD

User avatar
thealien666
Posts: 2791
Joined: Mon Nov 14, 2011 8:42 pm
Location: Quebec, Canada

Re: msb / lsb nprn not working

Post by thealien666 » Fri Jun 15, 2012 2:40 pm

SteveD wrote:The Voyager does not use nrpns - only 14-bit or 7-bit CCs.

A link to the online manual:
http://www.moogmusic.com/sites/default/ ... _combo.pdf

check p76 (p.74 of the .pdf) - there is a table of the CCs used.

Hope that helps
SD
Uh, by definition 14 bits Continuous Controller (CC) messages are Non Registered Parameter Number (NRPN) in the MIDI specification.

NRPN is the 14-bit Continuous Controller feature of the MIDI specification and simply take advantage of that existing option to offer 16,384 possible values instead of only 128 of the usual 7 bits-only CC, split on two bytes (of 7 bits only each) of data (MSB and LSB).

For example, in that list of CC messages in the Moog Voyager manual, MW Amount is an NRPN with 6 MSB and 38 LSB being its two "bytes" of data. Another one, taken at random, is OSC 2 Freq with 10 MSB and 42 LSB...
Moog Minimoog D (1975)
DSI OB6
DSI Prophet REV2
Oberheim Matrix-6
Ensoniq SQ-80
Korg DW8000
Behringer DeepMind 12
Alesis Ion

pinkles
Posts: 15
Joined: Thu Feb 17, 2011 4:38 pm

Re: msb / lsb nrpn not working

Post by pinkles » Mon Jun 18, 2012 2:11 pm

Just wanted to bump the thread and ask a more specific question -

Does anyone send msb lsb data to their voyager successfully? I've searched a variety of other fora, and the only instance I could find was one in which someone claimed they were giving up and just sending the same cc as whatever the msb was - a partial fix because they are sending data at half the possible resolution.

Again I've tried from both Ableton and an external hardware sequencer and get no results either way. Regular ccs work just fine, though.

User avatar
thealien666
Posts: 2791
Joined: Mon Nov 14, 2011 8:42 pm
Location: Quebec, Canada

Re: msb / lsb nrpn not working

Post by thealien666 » Mon Jun 18, 2012 3:43 pm

Maybe you've seen this already, but just in case you did not:

http://www.ableton.com/answers/what-s-t ... om-ableton
Moog Minimoog D (1975)
DSI OB6
DSI Prophet REV2
Oberheim Matrix-6
Ensoniq SQ-80
Korg DW8000
Behringer DeepMind 12
Alesis Ion

SteveD
Posts: 99
Joined: Wed Jul 23, 2003 9:48 am
Contact:

Re: msb / lsb nrpn not working

Post by SteveD » Wed Jun 20, 2012 12:38 pm

Hi

Not to start a knowledge contest, but this may affect what Pinkles is trying to do. Although NRPNs can generate a 14-bit resolution Value, they are not the same as using the MIDI CCs from 0-32/33-64 as MSB/LSB 14-bit CC messages.

NRPNs work like this:
Send a CC#99 as the MSB of the parameter you want to control,
send a CC#98 as the LSB of the parameter you want to control
Send a CC#6 as the MSB of the value of that parameter
send a CC#38 as the LSB of the value of that parameter (optional)
*or* instead of MIDI CC 6/38 for the value, you can send MIDI CC 96 or 97 as value increment or decrement - if you are changing the value only by 1 step @ a time.

So NRPNs take 3 or 4 MIDI messages to send a new 14-bit parameter value. They do offer over 16K available parameters though...

14-bit MIDI CCs work like this:
In the MIDI spec, the first 32 CC #s can be the MSB of a 14-bit message, and the CC#s 33-64 are assigned as their corresponding LSB
In the case the parameter is defined by the MSB CC. So it only takes 2 MIDI messages to send a 14-bit resolution CC...

So why did we at Moog use 14-bit CCs for the Voyager? Because when we designed the Voyager, DIN MIDI interfaces were the norm and USB MIDI wasn't yet commonplace. DIN MIDI is a serial interface and has very limited bandwidth - but we wanted to offer better than 7-bit resolution for tweaking values, so we opted for using 14-bit CCs instead of NRPNs because less bandwidth is used.
This means it's futzier (I don't know of a way) to draw in 14-bit automation. For every increment in MSB there are 128 increments in LSB..
However you should be able to record 14-bit values generated from the Voyager - if you record a few knob gestures you may even be able to copy/paste and even time stretch or compress the MIDI data to your needs. Some programs like logic or Max for live will allow you to design automation controls capable of sending or recording 14-bit CCs.

Keep in mind that 14-bit resolution makes slow changes seem much smoother, but there's not a whole lot you can do to make fast automations seem smooth with DIN MIDI - the bandwidth is fixed (31.25Kbaud - that's really slow by today's standards!). In a serial interface the messages are sent in a queue and then processed on the receiving end in a queue. If there are too many messages that line up in the queue at the tempo involved, in order to maintain a semblance of the tempo, the MIDI stream will be decimated and values will be thrown out, resulting in stairstepping. So the trick in automating external gear w/ DIN MIDI is understanding there are real limitations in bandwidth - if you need smoother automation, try limiting the rate of change of automation, and limit the number of parameters and messages you are sending across the MIDI cable to the Voyager...

Computers now are so amazing so it seems quaint sometimes to use something as limited as DIN MIDI - but I've heard (and continue to hear) some amazing things done with it. It's really all about understanding your tools in the end...

Hope this helps - best of luck making music!
Steve Dunnington

User avatar
thealien666
Posts: 2791
Joined: Mon Nov 14, 2011 8:42 pm
Location: Quebec, Canada

Re: msb / lsb nrpn not working

Post by thealien666 » Wed Jun 20, 2012 2:04 pm

I stand corrected. Didn't know about 14 bits CC, and was under the impression that NRPN was the only way of using higher resolution CC MIDI messages... :oops:
Sorry if I might have mislead anyone...

Learn something new everyday, heh ?


Thank you Steve.
Moog Minimoog D (1975)
DSI OB6
DSI Prophet REV2
Oberheim Matrix-6
Ensoniq SQ-80
Korg DW8000
Behringer DeepMind 12
Alesis Ion

pinkles
Posts: 15
Joined: Thu Feb 17, 2011 4:38 pm

Re: msb / lsb nrpn not working

Post by pinkles » Sun Nov 08, 2015 7:34 pm

Heh. I googled "Moog NRPN external sequencer" and found this thread. Then I read the thread. Then I realized that I was the one who started it. My studio setup changed quite a bit over the past few years, but I recently changed it back to its state circa 2012, and encountered this old problem.

So at one point I seemed to have this NRPN stuff resolved - but Ive gone from using M4L as a sequencer, to using an elektron monomachine to sequence. I have a Voyager, Sub 37, and mf104m that I am looking to control via midi from the monomachine.

Someone somewhere mentioned the midi solutions Event Processor plus. Can anyone confirm that this will allow me to sequence the NPRN parameters by remapping them to CCs? I realize that the resolution will have to be up sampled and so there wont be a degree of resolution greater than what traditional midi ccs can provide, but some control is better than none.

User avatar
bichuelo
Posts: 862
Joined: Fri Jan 22, 2010 5:25 pm
Location: Bogotá, Colombia
Contact:

Re: msb / lsb nrpn not working

Post by bichuelo » Mon Nov 23, 2015 5:36 pm

In my experience, you should automate the high resolution parameters if there is no other way to do it.
i.e. when there is no way to do it by sending a program change, changing the envelope parameters, LFO rate or modulation amount where the destination is the parameter where you want the automation, usually filter cutoff.

As Steve said, MIDI's bandwidth is very limited, so if you send many of these along with a MIDI clock, you might easily get some jitter...
http://audiotecna.info
T-III, Voyager, VX-351, Slim Phatty, Model D, Sub Phatty, Subsequent 37, Minitaur, all moogerfoogers and minifoogers, EW+, Theremini, Model 15, Filtatron, Animoog, Model D App, iOS 11 Mother-32, DFAM, Werkstatt, Win7, High Sierra

azimpradhan
Posts: 6
Joined: Tue Mar 26, 2019 3:28 pm

Re: msb / lsb nrpn not working

Post by azimpradhan » Fri May 03, 2019 10:05 pm

If you are in Ableton and want to automate high resolution automation, I would recommend checking out this max for live device, which allows you to send 14 bit midi cc (msb/lsb pair) to the voyager or any external synth:
http://www.maxforlive.com/library/devic ... -cc-sender

Post Reply