Take a look at this post - I’ve built a little script for ReaJS that will let you ramp smoothly between controller values. So to create automated fades, you’ll simply have to send a new controller value to this rack, and it will smoothly fade between its current value and the target value. Works for any controller (volume, expression, pan, you name it).
You won’t be able to set a preset time for the full fade, though, it will allow you to specify the fade speed in milliseconds per step - but with a bit of experimentation, I’ve always found the right speed…
I use this a lot for automated fade-outs, fade-ins or volume changes between song states (e.g. avoiding volume jumps when changing the volume of a string layer between sections).
Cheers,
Torsten