This is more of a theory/terminology question. I've gotten myself quite confused trying to compare the principles of PWM audio output with the Arduino to the principles behind "Direct Stream Digital" (DSD: http://en.wikipedia.org/wiki/Direct_Stream_Digital
). This has nothing to do with audio quality or the debate over whether DSD is better than pulse-code modulation (PCM); I'm just trying to get the terminology straight.
When PWM is used with modified timer settings for audio output (examples linked below), is it using the same principles as DSD (Direct Stream Digital) audio?
From what I gather, DSD is "stored as delta-sigma modulated digital audio", delta-sigma modulation uses pulse-density modulation(PDM), and PWM is a special case of PDM. So, is it accurate to say that these PWM audio techniques are like those used in DSD? Obviously, DSD is a trademark, not a technique, but my question is, are the same principles being employed? How are they different?
In every case I know of, the audio data is stored as 8-bit, PCM-style values in the Arduino. (In fact, the second example linked below calls it PCM for this reason.) However, the output itself is 1-bit with a much higher sample rate. So, in effect, PWM is used to convert each 8-bit value into 256 1-bit samples. Is this output like DSD? How is it different?
Further, less important questions: If PWM output is indeed like DSD, would it be possible to store audio data in DSD form in the Arduino? As an array of bits or something, rather than an array of bytes? Would DSD input to the Arduino be possible? If not, is the fast data rate the only reason it isn't?
Arduino PWM audio examples:http://interface.khm.de/index.php/lab/experiments/arduino-realtime-audio-processing/http://www.arduino.cc/playground/Code/PCMAudiohttp://arduino.cc/en/Tutorial/SecretsOfArduinoPWM
(discussion of the principles)
Thanks in advance for any info/clarification you can give.