This square wave oscillator uses a 555 timer for its frequency and an LM358 op amp for pulse width modulation.
Adjust the potentiometers to change frequency and duty cycle accordingly. Change the 20nF cap connected to trig/thr of the 555 to modify the overall offset of the adjustable frequency range.
The range in my example is roughly 35 Hz to 2.3 kHz which should be fine for most musical or noise making applications.
I've designed this circuit based on the NE555 and LM358 data sheets. Feedback on my design would be appreciated.