How to Generate a square, sine, and triangle wave with DC input
If you want to do it using analog parts:


Square waves can be generated with a 555;
Triangle waves can be generated by integrating a square wave using an op-amp.
Texas Instruments has an extensive application note on sine wave generation techniques.


For doing it digitally, I'd consider direct digital synthesis using a microcontroller (as seen here). You can buy ICs that implement this e.g. the AD9835 (breakout board available e.g. from Sparkfun) + a microcontroller to drive it. Then you can add some fancy features (e.g. LCD display, computer control etc...) But that might be overkill for your needs.

A reasonably fast microcontroller with a DAC might be able to do it without a dedicated chip. Do note that if you use a DAC, you will need some analog filtering at the output. At audio frequencies shouldn't be very hard to do, plus you will probably need/want to amplify/buffer the signal.