Dave's function generator project used an AD9835, probably a good place to start. I think the difference is that the '35 has an onboard DAC, but I didn't look into it too deeply.
For most things you probably won't need low (<1%) distortion numbers, especially out of the audio range. Square waves are the easiest thing to generate by far, so most analog generators will use some sort of wave shaping on a square wave for other waveforms. It gets tough to do a good all around job when you want multiple wave shapes, a wide frequency range (more than a few MHz), and fancy stuff like sweeps, ramps, and pulses. If you want to build one monolithic device to do it all it's a big project, and you may be left wishing you'd just ebay'ed an '80s HP generator.
Wein bridge oscillators can be temperamental when you make them tunable, but it's not too hard to build one with inaudible levels of distortion. The main difference between them is the method used to stabilize the feedback loop. If you decide to use a thermistor or lightbulb don't expect a lot of frequency agility and forget sweeping altogether! Search for 'amplitude bounce' and you'll see what I mean.
If all you need is audio I would consider using a computer soundcard. It's a full on 16bit DDS with the right software though you'll have problems with harmonics higher than the soundcard can render. This will make your square waves look horrible over about 1kHz.
When I go to tackle this problem I'll probably make or buy a few different devices that play to different strengths. It's going to be fun whichever way I finally go.
Hope that helps some.
![Smiley :)](https://www.eevblog.com/forum/Smileys/default/xsmiley.gif.pagespeed.ic.R8GFI-pF6f.png)
Edit: Forgot to include URL for Dave's project