Max throughput for MIDI RX CC messages? | Intech Studio
💬 general Grid

Max throughput for MIDI RX CC messages?

Ech0
Ech0 · · 21 replies

I'm using an EN16 with a M8. Because the M8 only supports absolute CCs, in my projects I have the M8 send out CC messages to set the initial values for the knobs on the EN16. This mostly works, but I've discovered that if I send too many at once, some get lost and the EN16 doesn't get initialized properly. I can work around this by staggering the messages, but I'm wondering if it's documented anywhere what the max number of messages per second (or whatever metric) is? Do you have any advice in general for doing something like what I've described? I'd like to be able to more reliably set up an initialization procedure for the EN16 in my M8.

Replies (21)

Greg-Orca Greg-Orca ·

Hi,

One way to alleviate this issue is by filtering the MIDI messages on the M8 (FW 4.0.0). Try disabling the clock messages, which will free up processing time on the EN16. This can help reduce the likelihood of MIDI messages lagging during transmission.

We are also working on improving our Grid module firmware to better handle MIDI RX, which should help in situations like this.

Ech0 Ech0 ·

great! thanks for the info

Ech0 Ech0 ·

@user Any rough ETA on the firmware updates? I realize it's not always easy to estimate that kind of thing, but just curious because I have a gig coming up in september.

Greg-Orca Greg-Orca ·

It's will be released in winter alongside with the new modules with screen. Did the M8 clock disable helped?

Ech0 Ech0 ·

sounds good. I haven't tested without clock yet because I actually need clock out for other things. But just for the sake of experimentation I'll try it out when I get home and let you know. It'd be nice if there was a way to filter clock messages on the knot 😉

Ech0 Ech0 ·

Hey reviving this thread: I just updated my EN16 to the latest firmware and it seems like things are worse than before. my init message from the m8 contains only 3 CC messages and it's a total crapshoot whether even one of them will make it to the EN16. I'm not sure whether something changed in the M8, in the EN16, or if the Knot is doing something.

num = param1 - valoffset
if ch == 15 then
    element[num]:encoder_value(param2)
    led_value(num, 2, param2)

Here's my MIDI RX system code. I've tried turning off all other midi out stuff from the M8. Any ideas on how I can do this initializing procedure?

Greg-Orca Greg-Orca ·

hi, could you please save the config to your profile cloud and publish it? I’ll check it for you.

Ech0 Ech0 ·

sure thing hold on

Ech0 Ech0 ·

grid-editor://?config-link=LS7IJdwmJ6Hs071ds5rZ I think I saved it correctly. So the idea is that the first 7 encoders from the top can be assigned to any parameter. Tapping them once will save the current value, and tapping them again will recover them. The 8th knob (2nd down on the right) is meant to be assigned to the m8 dj filter. Pressing it in and turning it activates the filter, letting go of the knob resets it to default. The bottom two rows are meant to be assigned to the mixer channels. Tapping them will mute the channel they're assiggned to. Rotating will change the channel level. Receiving midi CC from the m8 on channel 16 should set the value on the knob (starting from 40). The EN16 also reflects the CC value back to the M8 so that the instruments that use that CC value are updated.

Ech0 Ech0 ·

(if you have improvements to offer let me know. this was my first attempt at coding the EN16)

Ech0 Ech0 ·

I use a MIDI out instrument on the M8 to set the CCs. i've found that I can get all the values to update on the EN16 if, on the M8, I use a table with table tic 1 that increments each of the desired CCs once. But then you can sometimes hear the value changing since there's a delay.

Greg-Orca Greg-Orca ·

Thanks, I’ll try to figure it out with an M8. I think I’ll have something by tomorrow.

Greg-Orca Greg-Orca ·

which firmware do you use on M8?

Ech0 Ech0 ·

latest. 4.0.1

Ech0 Ech0 ·

I appreciate your help!

Greg-Orca Greg-Orca ·

How did you recieve MIDI from M8? we tried midi settings/sync out/transport and checked in midi monitor and received nothing. We only received the clock, when it's turned on.

Greg-Orca Greg-Orca ·

I found two small issues in the code:

  1. 'animtype' is not defined: In the system element, create a global variable called animtype.
  2. In midiRX, there's an error because param1 is nil: To resolve this, wrap the group in if param1 ~= nil then to prevent the issue when calculating num = param1 - valoffset.
Greg-Orca Greg-Orca ·
Screenshot_2025-01-09_at_15.27.30.png
Greg-Orca Greg-Orca ·

Also, if the grid receives too many messages in midiRX, there could be a delay in some data. We still working on this issue, but I think it will be improved and released by March.

Ech0 Ech0 ·

I created a MIDI instrument that has my CC values set. It plays one note in a pattern at the top of my song that should set the CCs.

Ech0 Ech0 ·

I’ll make the changes you suggest to fix the errors. Thanks for finding those!

Discord

View on Discord

This post is from the Intech Studio Discord community.

Open thread →