Sinusoidal linear motion using a DC motor

Retroplayer:
Is the motion sinusodial, or do you basically mean controlling the speed of the motor slow enough (PWM?)

The easiest method would be to find a geared motor that is already slow enough.

I am having a hard time picturing what you need.

The motor will start slow, gradually speed up, then gradually slow back down to a stop, and repeat starting slow again in the opposite direction.
The full motion will open and close a cabinet drawer in a sinusoidal motion, velocity wise.
Can the controller send a changing signal to the motor to control this motion?