If you allow me to blow my own trumpet, I made something similar:
This circuit generates a
sine triangle wave around a Vbias voltage. The frequency is fixed, but you can vary it by changing the values of the different components. The circuit itself has been ripped from "The Art of Electronics" so if you have a copy, you can find it explained there, in the OpAmps section (don't have it in front of me, sorry, can't reference the page). You feed the Vfade voltage to a transistor
And job's a good'n. You can find more info at my repo (shameless plug). There's an spreadsheet in the support folder to calculate the passive values. In my case, as I was driving a blue LED with a 3V battery, I wanted to keep the voltage from 3V (or whatever the battery was outputting) to just around 2V (so the LED is not on), otherwise the LEDs would be off for most of the time, so instead of a 1.5 Vpp
sine wave over a 1.5V bias voltage, I ended up generating a .5Vpp sine wave over a 2.5V vias voltage.
EDIT: I originally said that it generated a sine wave, but that's not true. U2 generates a square wave, which is fed to a integrator, so you get a triangle wave.
EDIT2: I used this circuit because it has the side-effect that if you rise the bias voltage, you get uneven positive and negative cycles (the triangle wave has different ramp up and down, so you get a nice breathe-like effect). I will modify the excel on my repo to better represent what's going on and what effect tweaking each component has.