Jump to content
IGNORED

Relative MIDI Control Scaling in Ableton Live


Recommended Posts

Guest cult fiction

I am very new to Live and I have what should be an easy question(I think).

 

I picked up a Behringer CMD LC-1, and overall I like it but the knob sensitivity is incredibly low. It takes 3+ full turns to take any midi mapped parameter from 0 -> 127. I like my knobs more sensitive than this.

 

The CMD LC-1 is super bare bones when it comes to Ableton support. It comes with some python scripts that bind session navigation and clip launching. Unfortunately they do nothing with the knobs.

 

Googling around, it seems like this is a common enough problem that somebody created a Max For Live plug-in to let you map midi inputs to a curve:

 

http://www.djtechtools.com/2012/02/16/mapulator-advanced-midi-mapping-for-ableton/

 

 

Unfortunately I don't have Max For Live. Furthermore if I had Max For Live, I would solve this problem in about 5 minutes by just scaling the midi input myself.

 

Does anybody have any quick solutions for scaling the midi? The knobs are relative midi CC and when I map them I have them set to Relative (BinOffset) interpretation, which is the only one that actually works right.

 

tldr

 

How can I scale up incoming relative midi CC data in ableton without max for live?

 

Link to comment
https://forum.watmm.com/topic/81304-relative-midi-control-scaling-in-ableton-live/
Share on other sites

  On 11/19/2013 at 8:48 AM, skibby said:

but it says it's a script, and that says to me there may be a chance to hack it.

Aye, there's a file in there called CMDEncoderElement.py which has a line that reads:

 

self._mapping_sensitivity = 7
Which I guess you just bung in a higher value. However there's also CMDEncoderElement.pyc which is not human readable - so I'm guessing the 'c' in the file extension is 'compiled', so you probably need python to run its magic over it.

I haven't eaten a Wagon Wheel since 07/11/07... ilovecubus.co.uk - 25ml of mp3 taken twice daily.

Guest cult fiction
  On 11/19/2013 at 11:47 AM, mcbpete said:

 

  On 11/19/2013 at 8:48 AM, skibby said:

but it says it's a script, and that says to me there may be a chance to hack it.

Aye, there's a file in there called CMDEncoderElement.py which has a line that reads:

 

self._mapping_sensitivity = 7
Which I guess you just bung in a higher value. However there's also CMDEncoderElement.pyc which is not human readable - so I'm guessing the 'c' in the file extension is 'compiled', so you probably need python to run its magic over it.

 

 

Man I wish! I spent a few hours hacking the scripts over the weekend to make the 4 mute buttons swap A/B sends on the first 4 tracks so I can route effects, so I'm pretty familiar with them. Unfortunately CMDEncoderElement has no effect on the knobs out of the box. In LC1.py it looks like CMDEncoderElement is initially bound to control an external device of your choosing.

 

 

When I was working on changing the 4 mute buttons' behavior, I sprinkled their ButtonElement subclass with log messages and noticed that it stopped sending or receiving values as soon as I midi mapped the behavior. I wonder if the same thing is happening with the CMDEncoderElement knobs.

 

I'll take a further crack at the scripts tonight.

 

 

I have Reaktor but it has always been really unstable in Logic so I haven't used it much. If I can't get the python scripts to work I'll go that route.

 

Thanks guys!

You must've done this but I guess there's no harm in checking - Have you selected these options in Ableton:

 

ableton1.jpg

 

ableton2.jpg

I haven't eaten a Wagon Wheel since 07/11/07... ilovecubus.co.uk - 25ml of mp3 taken twice daily.

Guest cult fiction

I was able to make some progress.

 

 

I tried directly assigning one of the CMDEncoderElements to track 0's pan control:

 

self.mixer.channel_strip(0).set_pan_control(CMDEncoderElement(MIDI_CC_TYPE, CHANNEL, 16, Live.MidiMap.MapMode.relative_binary_offset, 20))

 

and while it did control the pan, I couldn't get the sensitivity to actually change regardless of what I set the numbers to.

 

So then I tried adding a value listener to the encoder and manually setting the pan value myself. That worked, and I was able to get the sensitivity feeling great.

 

That approach will work fine for just about any Ableton exposed value(tempo, pan, etc.) but it won't work for changing audio effect parameters - for that I think I need midi mapping. Unfortunately, as soon as I midi map the knob, my custom encoders get unmapped and no longer work.

 

Tonight I'm going try adding a 'redirect' encoder that just sends the scaled values to another midi channel, and midi map the other channel instead. Hopefully Ableton won't unmap my encoder then.

 

I e-mailed Behringer support, because all this work seems pretty ludicrous.

 

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   1 Member

×
×