Rule to reduce the travel of an Expression pedal

Hello,

I'm trying to figure out if it would be possible to use a rule to reduce the travel of an Expression pedal. I'm using the pedal to reduce volume or feedback level and basically moving the pedal from toe to heel, all of the control is in the middle of the expression pedals travel. If I move slowly from toe to heel, I don't see an reduction in my volume level until I get to the middle of the travel of the pedal. Then it goes all the way out before I even get to the heel.

Hope this makes sense!

Is it a MIDI expression pedal or analog (1/4 inch TRS jack). If MIDI can you post what it sends from heel to toe in a log file here so I can have a look? If analog, it is likely that the tip and ring of your pedal connections are reversed on your pedal. Manufacturers are not consistent in this regard.

 

Steve Caldwell
Bome Q and A Moderator and
Independent Bome Consultant/Specialist
bome@sniz.biz

See this post:

https://www.bome.com/support/kb/scaling-a-midi-expression-pedal

Hi Steve,

Thanks for getting back to me. I figured out a solution. The knob on my Push controller and the Expression pedal into my foot controller are mapped with bome translators to the same midi output CC. If I tried to map Ableton to the knob the expression pedal did not work correctly, but if I map the expression pedal first the knob follows no problem. Not sure why it would matter because they are both outputting the same CC through Bome but it worked….

Interesting. Maybe some other MIDI message was “sneaking through” on your control pedal. Do you have a default MIDI through route? Did you have swallow set on both translators?

Hi Steve,

So actually I didn’t figure it out completely. Currently both pedals are working correctly, but when I try to translate some knobs from the user mode of my push controller to the same output CC as the pedals they don’t respond correctly. I watched your tutorial for translating CC controllers and believe I have it set up correctly. I do have a default midi through and the translator is set to use the project/preset default ports. I opened up the log window and It seems that when I move the knob on the push, the translator is only outputting values of 1 or 127 but nothing in the middle, and it is actually reversed. So turning CCW only outputs 127 and turning CW only outputs 1. Any thoughts on what could cause that?

Thanks,

Rick

Hi Rick,

It sounds like your Push controller knob is a relative encoder and puts out -127 (7FH) when moving to the left and 1 when turning to the right.

You can convert it to an absolute value if you wish. Just review this tutorial.

 

Steve Caldwell
Bome Q and A Moderator and
Independent Bome Consultant/Specialist
bome@sniz.biz

 

Oh, and in general, make sure swallow is set, otherwise any MIDI thru paths you defined in the project will also pass through the original MIDI message (which could mess things up).

Thanks so much for the tutorial. I’ll try that out when I get back home this evening. And yes, I have almost everything set to swallow.

So I watched the video. Just trying to understand:) I followed everything until the output in your example. In my case would I set my output to a CC. Or do I need to create the raw midi message and then translate that to a CC with another translator?

You can use the same CC number and just output the new absolute value that you created in the conversion. If you post your project file, I can take a look to see what you are missing.

Steve Caldwell
Bome Q and A Moderator and
Independent Bome Consultant/Specialist
bome@sniz.biz

Sorry, I guess this is really over my head but I’m not sure how I would do what you are suggesting:( I’ll definitely send along the project file when I get home later this evening. Thanks again!

OK, I’ll take a look after you post it.

Steve

Hi Steve

Here is my project file. I just realized that I m still using version 1.8.1. and not the more current 1.8.3. I Just realized that if I try to launch my project in 1.8.3 a bunch of things stop working. Not sure why that would be but the project doesn’t seem to open the same in both versions. In any case if I open this project in 1.8.1 everything is working except lines 25 and 26 in preset 2. those are the two lines I have been trying to add for the push knobs. Any help would be greatly appreciated!

Thanks again

Rick


Attachments:
1567035818587_Ableton-Mobius-Actition-and-launch-pad.bmtp

Is Bome MIDI Translator Virtual Port 1 used going to and From Ableton Live? If so, we should probably assign these as aliases to make it more clear.
I’m going to remove the route from Bome MIDI Translator Virtual 1 In to Bome MIDI Translator Virtual 1 Out as this does not make sense.

Since you are not overriding the default ports in any presets or translators, the MIDI messages coming in from ANY of the default ports is going to try and trigger the same action (all going out to Ableton Live on BMT 1). I recommend you organize your presets by incoming port and under each preset, assign only the port your are interested in translating. I’m assuming that all outputs need to go to Ableton Live on BMT 1.

I suggest you review the following tutorial on how port routing works and make adjustment accordingly before we move on to getting your specific controller to work.

https://youtu.be/KunN2A1rKMY

Also confusing me is that 3.25 and 3.26 are different output CC’s and I though you said that you will use the same CC for both.

Does this make sense?

Steve Caldwell
Bome Q and A Moderator and
Independent Bome Consultant/Specialist
bome@sniz.biz

After fixing your other issues, translators 3.25 and 3.26 should work now.

 

 

Steve Caldwell
Bome Q and A Moderator and
Independent Bome Consultant/Specialist
bome@sniz.biz


Attachments:
1567043838569_Ableton-Mobius-Actition-and-launch-pad.bmtp

Wow!!! Thank you so much! I have no idea why it works but it totally works now. I did have to tweak the feedback controller cause somehow that was wrong but I must have sent it to you wrong. I am going to study those rules and read you descriptions. I’ll also watch that tutorial you suggested. Thanks again! I guess I really have no idea how to use this software and I must have just gotten lucky getting things to work so far!

Glad to help, Rick! Feel free to ask questions. That is why I’m here. My guess is that the video assumed values of 3FH for left and 41H for right as some controllers act that way. In your case 7F was left and 01 was right. Some people use different values for their relative controllers. Also, each knob if controlling a different outgoing CC needs to have its own variable. In this case, ga for one knob and gb for the other. This keeps the last known value for the calculation as you increment and decrement each controller.
Steve Caldwell
Bome Q and A Moderator and
Independent Bome Consultant/Specialist
bome@sniz.biz

Hi Steve,

Wanted to say thanks again! I watched the tutorial you recommended and they were helpful. I need to check out more of the tutorials. I’m not great with code but with your notes I think I understand most of what is happening with the Rules you added to my project. The two lines I don’t understand are:

if pp>64 then rr=rr*-1

is this essentially rr multipled by -1?

ga=ga+rr

This one is really weird to me. How can a variable equal that variable plus another variable?

Anyway, I really appreciate all the help. You are an incredible resource for this software!

Rick Brenner

Yes, by multiplying a positive number by -1 will just make it negative. Earlier we subtracted pp from 128 to get the value of rr, so if for example pp was 127 then rr would be 1. After this rule, rr will now be -1.
ga=ga+rr means take the value of ga and add the value of rr to make a new value for ga. Since in the above example ga was the last calculated absolute value of the encoder, and in my example rr was negative 1, it would be a subtraction operation. If the value of rr was positive it would be an addition operation. This is to calculate the new value of ga for the next iteration of the exercise.
What we are essentially doing is just adding or subtracting to calculate the absolute value of an encoder based on the relative movement of the incoming message.
For an incoming value of 65 to 127, we will subtract from the value -64 to -1 from the last known position (because we subtract the incoming value from 128 and then multiply times -1 to make it negative).
I hope this helps!
Steve Caldwell
Bome Q and A Moderator and
Independent Bome Consultant/Specialist
bome@sniz.biz