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.
Max throughput for MIDI RX CC messages?
Replies (21)
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.
great! thanks for the info
@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.
It's will be released in winter alongside with the new modules with screen. Did the M8 clock disable helped?
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 😉
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?
hi, could you please save the config to your profile cloud and publish it? I’ll check it for you.
sure thing hold on
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.
(if you have improvements to offer let me know. this was my first attempt at coding the EN16)
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.
Thanks, I’ll try to figure it out with an M8. I think I’ll have something by tomorrow.
which firmware do you use on M8?
latest. 4.0.1
I appreciate your help!
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.
I found two small issues in the code:
- 'animtype' is not defined: In the system element, create a global variable called animtype.
- 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.
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.
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.
I’ll make the changes you suggest to fix the errors. Thanks for finding those!
View on Discord
This post is from the Intech Studio Discord community.
