I implemented the circuit I mentioned below but it didn't work very well at all. The sound was low and didn't sound pure at all. I'm not sure what the issue is.
Is a sound wave meant to oscillate between -V and V or between ground and V? Currently it's the former, but I'm not sure if it should be the latter. Also, would having the output as a square wave be better than the non-symmetrical sine-ish wave I've got at the moment?