Sigh, I knew this would occur.
You are correct in everything you have said. You have perfectly described a typical DAC.
Yet as I hinted at, I simplified my points from posts I wrote a long, long while back in this thread.
Yes, a CPU doesn't convert digital to analogue in full, but that was not my overall point.
Though I wasn't clear in my most recent post, only for the sake of succinct'ness, what I was trying to get at is this.
DAC's have multiple functions, two of which are important:
- Receive a digital signal in full and decode it. This is where crucial timing errors, filters, pre/post ringing, noise shaping, and other functions occur,
- Convert the decoded signal into an analogue signal.
So, you are again correct in how DAC's work, both Delta-Sigma and R2R.
But a CPU can be used to do at least the former of the two main purposes of a DAC function; decode a digital signal which then later will be passed along to a DAC, which will convert this into an analogue waveform (voltage), and send this to an amplifier.
It was that that I was referring to, the decoding a digital signal prior to making an analogue signal. The decoding itself.
A DAC can do this of course, but some DAC's have poorer decoding sections (noise shaping, filters, timing, etc). This is where apps such as Neutron and PowerAmp come into play; they use software based algorithms in conjunction with a CPU to decode digital signals, apply various filters etc, then pass that to a DAC for analogue conversion (voltage) only.
In this case, the DAC is only used for its second function, convert decoded digital signal into analogue.
Source? The app developers behind Neutron and UAPP, and past studies in Software Engineering.
Just to add, I really did try to condense a very huge, interesting and complicated topic in the best way I could for everyone, so I apologise for the simplified descriptions overall.
I hope this makes sense.