accelerate midi messages

    Aug 09 2009 | 1:22 am
    I've been making a patch that automates nrpn data in sync with my korg er-1. The fundamentals are working fine but either I don't have the CPU or it is the speed of max messages that is limiting it. This patch is set up to send messages to parameters of one sound on the korg but I would like to send to other sounds - which means i'd like to be able to automate 15-20 parameters have them play back simultaneously. With this patch performance starts to lack when using only about 5.
    I'm using Emmanuel Jourdan's [ej.function] and storing breakpoints in multiple [functions] which I know is not ideal but when I tried storing data in table or multislider it seemed to put the automation out of sync with the korg.
    Can someone help to make it faster? Is automating 15+ nrpn's excessive? I'd like to have the ability to in case I "need" to.

    • Aug 09 2009 | 2:28 am
      the computer is not the problem, any atari computer with 8 MHz could send out those data, the problem is the midi hardware. and the fact that midi isnt a serial protocol.
      what should help is [speedlim] and choosing priorities wisely, eventually use [defer] for lesser important parameters when your data is coming from a seqeuncer patch.
    • Aug 09 2009 | 4:00 am
      I'm not sure it is the korg - I figure if it couldn't handle the data coming in I would hear glitches. The symptom I'm getting is once there are a few functions outputing on different controller numbers max itself starts to slow down - when I click to make a new point it may take a few seconds to appear. Which to me says it's a cpu thing - but i'm not sure. Unless you mean having some sort of bottle-neck of data at the output of max makes it slow down.
    • Dec 27 2009 | 10:30 pm
      Hi pechnatunk i wonder if you could share with me your patch i'm trying to control my Electribe ES1 's parameters but can't find the way to format the bytes properly if you can please post the txt vesion of the patch? thank you very very much!
    • Dec 30 2009 | 10:51 pm
      Yep, sharing this would be great!
    • Jan 04 2010 | 12:02 pm
      I ran into major bottleneck problems sending sysex data to my old keyboard. I made a patch that allows pattr control over all the parameters of the keyboard (it only has a very clumsy button control to access everything, so I made knobs and tabs to have instant access to whatever I wanted). Most things worked great until I did some interpolation with the pattr, which of course changed all the params at once. Not even close to fast enough via the sysex, and everything would lock up. So I used [mtr] and [speedlim] instead, and included [change] to filter out any values that weren't changing. Worked far better.
      I think if it's direct [ctlout] messages you'd get better results, but this old thing needed the sysex to work.
    • Apr 01 2010 | 9:50 am
      Oops, I've had email notifications turned off. Accidentally stumbled across this. I'll upload something when I get a chance - probably after easter. I've made up three - ER1 mkII, EA1 mkII and ES1, but they're for Max4Live - if you're only using Max 5 you'll have to do the interfacing yourself. I was very surprised how much I could delete when I got M4L.
    • Apr 05 2010 | 2:27 pm
      As I said I got rid of the UI elements of this patch and I'm using it in M4L.
      Here's an example of one parameter of each device - ER1 ES1 EA1 and some silly notes explaining it as I understand it.
      Hope it helps.