How to creating a smooth fade out/fade in

Hi there, I would like to smooth out a value of a fader. Instead of the value going straight to zero on a Performance Trigger, I’d like BMT to send out a more natural human curve (as if manually moving the fader down). This is for a crossfader that will snap back from deck b to deck a after a transition. How can I add a rule that the fader will go from 127 to 0 in a certain time/ramp? Would be great if the timing can be adjusted to get the optimal timing for it to feel right. Thanks!

1 Like

Me too! Seems like this should be easy, but darned if I can figure it out.

I’ll be watching to see if anyone posts any ideas.

Hi,

Please find the below example.

Translator 0.0 takes the incoming CC value and assigns is global value of ga (target value). Then it triggers a continuous timer with a 50ms delay between actions. I use zz as a flag for debug log messages. I also set a timer running flag so that if it is running we don’t set it again.

// Is timer running?
if gc==1 then exit rules, skip Outgoing Action
// Set timer running
gc=1
// debug
zz=1
// repeat duration in ms
qq=30

Translator 0.1 is the timer and it compares current value (global variable gb) with the target value (global variable ga) and either increments or decrements the current value. Then it sends it out.
If the values are equal it triggers a Perform Action of ‘Kill’

if gb>ga then gb=gb-1
if gb<ga then gb=gb+1
if gb>127 then gb=127
if gb<0 then gb=0
if ga==gb then Perform "Kill"
if ga==gb then gc=0
pp=39
qq=0
tt=qq+1
if zz!=0 then Log "Sending CC %pp% on MIDI Channel %tt% with value=%gb%"

Translator 0.2 is the Perform action which both kills the timer and sets the timer running flag of gc back to zero so therefore reenabling the fader.

// clear timer running flag
gc=0

Enjoy!

Fader-Timer-Example-2024-01-02.bmtp (1.7 KB)

Steve Caldwell
Bome Customer Care


Also available for paid consulting services: bome@sniz.biz
1 Like

This is incredible support! I knew there had to be a way, but I would never in a hundred years have figured this out beyond the conceptual grasp that it would use timers and stuff.

I will now see if I can translate your genius through my pea brain and make this work. :slight_smile:

Now, I will be very bold and ask one more question; Do you think I could create multiples of this code structure you have supplied, and then use ‘Perform Action’ events to fire groups of them as deployed on multiple faders?

Rationale: I am trying to achieve crossfades of three analog audio channels inside Ableton Live 9…to facilitate smooth transitions between different guitar effects rigs running in Guitar Rig 5. A channel for Guitar Rig A, B and C…each with its own Ableton audio channel fader.

the MIDI CC commands are all working o.k. at this point. They are coming from a Roland FC-200 into MT running on a Mac OS. That’s all working (at least at my pea-brain level) and I have many common commands already implimented as letter and MIDI messages, depending on the situation.

If I could do the above, or some version of it, it would be an awesome and stylish addition to my guitar rig functionality and stability.

Thanks in advance for any thoughts you might have on the feasibility of using Perform Action in this way. I will get to work on getting this .bmtp working on my end! THANK YOU SO MUCH!

This can be done but is beyond the scope of free support. You would likely need different global variables for each fader since you will need to track multiple fader current and target values.

Steve Caldwell
Bome Customer Care


Also available for paid consulting services: bome@sniz.biz

Just an update for other users here who might have glanced at this thread.

The auto fader command Steve posted in this thread is now implimented in my system and it works great. A great big THANKS to Steve!

For anyone who wants/needs single stomp ‘click and forget’ smooth fader automations to execute within their system, what Steve provided is a solution you should take a look at.

In my rig, I’m using an old Roland FC-200 to send the CC command. This triggers Steve’s routine inside of Bome. That particular translator output is then assigned in the usual way via MIDI commands to a particular (or group of faders) inside Ableton Live.

RESULT: Stomp the FC-200 CC pedal and the fader(s) smoothly moves to zero, with an adjustable fade rate simply by changing one value inside Steve’s routine. Stomp again and it reverses.

SImple and elegant and only requires 3 lines inside Bome. Brilliant! Thank you Bome, thank you Steve!

1 Like