fwiw, there's been a few threads on this; see for example
here
or poke around on muffwiggler.com, which has a DIY sub-forum with plenty of threads covering this kind of thing.
the gist being, i suppose, is that if you want decent performance (accuracy _is_ important for pitch?), you'd
not want to use a audio codec or filtered PWM; the onboard DAC might work alright, but then it's just one channel. so typically you'd use an external DAC (preferably, SPI). invariably, basically any midi-to-CV module of note features one.
for example: take a look here:
http://mutable-instruments.net/stati.../Yarns-v03.pdf
this is using a 16 bit DAC (DAC8564), which aren't cheap and they're SMD; but then basically any DAC is SMD. NB: Yarns also has the correct type of output buffer ("in the loop" compensated), which doesn't result in pitch error (downstream modules typically have a 100k input impedance, so you don't want to put a/the series resistor at the output, as is often seen).
you can do similar things with teensy, of course: for
example; if you're not enthusiastic about SMD, the go-to through-hole DAC seems to be MCP4922; you can use several, depending on how many CV channels you need.