NRPN resolution Speed

May 26, 2009 at 2:09am

NRPN resolution Speed

Hi,

I tried googling this but didn’t get a definitive answer.

What is the maximum resolution (speed) of MIDI CC messages, is it limited to the clock speed of 24 pulses per quarter note?

I can guess that NRPN values would have half the resolution of CC since they use two messages.

And I also guess multiple streams would interrupt each other.

Sorry for the broad questions not directly involving max/msp.
vic

#44083
May 26, 2009 at 2:40am

I don’t think message speed and PPQ are related. PPQ is a function of sequencer resolution and message speed is a function of baud rate. As I recall, MIDI has a 31,250bps baud rate. Thus, in theory you should be able to transmit roughly 3100 messages per second (assuming 8 bit messages plus stop and start bits). Obviously, at a faster tempo, that means you get fewer messages per quarter note than at a slower tempo, but I’ve never heard that the data transfer rate is affected by PPQ.

#158372
May 26, 2009 at 3:29am

OK cool thanks,

that’s much faster than I thought – I was asking because I’m going to make an NRPN 4 bar sequencer to sync with my hardware and automate parameters. Similar to the techno~ object except out of [table] .
Obviously I’d like the best resolution possible. I might just use an arbitrary multiple of the amount of quarter notes cause it seems 3100 a second is definitely enough – even for multiple simultaneous changes.

Thanks.

#158373
May 26, 2009 at 3:43am

Ahh of course,

the baud rate is more than fast enough but using [table] I’m limited to 1000 max messages per second.
I guess I’ll base my resolution/speed on that.
Vic

#158374
May 26, 2009 at 6:39am
pechnatunk wrote on Mon, 25 May 2009 22:43
Ahh of course,

the baud rate is more than fast enough but using [table] I’m limited to 1000 max messages per second.
I guess I’ll base my resolution/speed on that.
Vic

The baud rate may be 31250 but most MIDI messages are at least two bytes, and many are more, including NPRN. So you’ll have to take that into account too.

I made a synth controller using [sxformat] to change parameters, and wanted to use [pattrstorage] (a great object to learn about for any project) to interpolate between whole sets of parameters, and the baud rate wasn’t nearly fast enough to handle it… some lockups, data loss, and a few crashes. Admittedly, the sysex commands are more bytes than NPRN, but the bottleneck definitely was there, and there were some unexpected crashes when trying it, so I went a different route. However, with NPRN you may be fine. And if there’s a way to send a whole series of your data points at once (with only one start and stop byte) that would help a lot, I’m not sure if you can with NPRN but you may be able to.

#158375
May 27, 2009 at 2:56am

the speed limit of physical midi connections or midi
protocol is probably much less a problem of sending,
it is more about the recieveing side.

which is why you are on the right path when you
are going to quantize your maxmsp seqencers output
to a grid in order to keep midi traffic low, this
is always a good idea.

#158376
May 27, 2009 at 8:57pm

A complete message with three bytes like a noteon will roughly need 1 ms. If running status is used it might be a bit faster. To adress this problem you could actually keep your patch as it is and just put a speedlim before your output. Its exactly made for that…

Stefan

#158377

You must be logged in to reply to this topic.