I'm trying to understand what kind of differences pulse-code modulation (PCM) and pulse-density modulation (PDM) cause when two audio signals are mixed together.

Mixing PCM signals seems to be a lot more common, and would typically be used for mixing two wav files to produce a new wav file that contains the combination of both sounds. Two wav files a.wav and b.wav are mixed together by taking corresponding samples from the two files and calculating the sum of the two values, essentially stacking them on top of each other. The result is played back at half volume to prevent each mixing step from making the result louder ad infinitum.

Mixing PDM signals seems less common, however it is used for mixing two dsd files together to produce a new dsd file that contains the combination of both sounds. Two dsd files a.dsd and b.dsd with the same bitrate are mixed together by taking one bit from each stream at a time producing a new bit stream containing bits from both streams. The resulting bit stream is played back at twice the speed to prevent each mixing step from making the result slower ad infinitum.

Is there some fundamental difference to the result achieved by these two alternative ways of mixing the audio?

  • Maybe your question could be summarized as "what's the difference between summing PCM signals and summing PDM signals" ?
    – audionuma
    Commented May 24, 2022 at 6:21

1 Answer 1


Your summing idea of 2 one bit streams doubles the bitrate. But in math the result is perfect. The problem is that the circuits also must be able to handle it.

Summing 2 streams of N bit samples needs only N+1 bits per sample for a perfect result, the bandwidth grows slowly if N is already high. In practical mixers the word length is limited => the samples in the streams are multiplied by factors which (if needed) make the numbers so much smaller that the sum still fits to the available word length. This can make a weak but still well audible sound noisy if there's no masking other sounds at the same time.

The easy to imagine practical way to mix 2 one bit streams to a single same bitrate one bit stream is to sum the samples to a longer word and generate from it a new one bit stream. The method fades information just like attenuation & roundings in practical summing of N-bit samples to a new N bit sample.

In theory one could also remove bits from the original 1 bit streams - for ex by taking even bits from stream A and odd bits from stream B. This generates a new one bit stream with the same bitrate, but unfortunately I cannot calculate how good the result would be when compared to methods above.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.