So I'm animating a 10 minute long clockwork sort of animation that has spinning gears all driven the rotation of a single object. There is a default speed and a faster speed I want them to rotate at. When on screen things are happening or moving the gears speed up and when idle they slow down to default speed. So far the methods I have tried to achieve this have been very cumbersome as there are many speed ups and slow downs, keying this with the graph editor seems inconsistent, NLA actions create skips is the rotation in odd ways and increasing the speed of a driver via multiplying the speed connected to the FPS seems to make the gears run backward during deceleration...
So on to the question, what would be the best way to accelerate and decelerate the rotation smoothly and be able to key this quickly. I would like to be able to set the speed up point and slowdown point and be able to quickly copy paste and resize the length of the faster parts and slower parts to quickly line them up. Or have a Controller that adjusts speed up and down smoothly. Willing to use Animation nodes if necessary although don't have a strong understanding of them. How would I do this? would love to hear what methods people would recommend to speed up this workflow.