Can HQ Player drive a class D amplifier? [Yes !]

Granted, you can tread DSD as PCM for DSP, but there are some disadvantages to this approach as far as I can tell:

  • Applying DSP to 64fs or 128fs requires a lot more computing than doing it at 8fs or lower.
  • Unless [the large amount of] quantization noise is filtered out, DSP is applied to the signal as well as the noise, which may cause problems.
  • Once DSP is done, it’s not DSD anymore, so if you want DSD out, you have to re-quantize. Again, that may require getting rid of the quantization noise first, to avoid further reduction in signal level.

If the source is PCM (which is the most common scenario), going to DSD before DSP seems like an unnecessary complication.

There is no need to convert PCM to DSD before DSP… that’s not how HQPlayer is handling my DSP crossover + room correction + upsampling.

Yes. I was thinking of a the case when you send DSD to a speaker that does DSP internally. In that case, you’d be better off sending PCM.

As already mentioned, the speaker I linked in this thread (which we’ve been discussing) features HQPlayer built-in…

So it does DSP internally… and does not do what you mention… would make no sense…

For other PCM based DSP speakers - of course you should send it PCM. But we’re not discussing PCM based DSP speakers in this thread at all…

1 Like

Or I could say:
Once DSP is done, it is not PCM anymore. So if you want PCM out, you have re-quantize.

Why would I do that? I perform DSP at source rate and then feed it to my oversampling and delta-sigma modulation.

I can also say:
If source is DSD, going to PCM before DSP seems like an unnecessary complication.

Since there is enough precision, it is also possible to go to DSP and then back in bit-perfect manner. But it is not the usual use case. It is even possible if you start from let’s say RedBook, convert to DSD256 and then back to RedBook.

Speaker / amplifier in question is all that you currently have in your player software + all the DSP + D/A converter + amplifier (+ speaker). Wireless through WiFi.

Especially it saves the complication of going to low level analog signal before amplifier. So essentially the amplifier is a “power DAC streamer”.

If source material is DSD, it makes full sense to send it as DSD to such system where you have a separate DSP engine specifically designed to process DSD content.


I assume you are defining PCM strictly as having integer samples? There are various sources that define PCM as including IEEE floating point samples.

Yes, that is what DACs can use. So far I’ve not seen for example floating point R2R ladder implementations… :wink: IIRC, USB Audio Class doesn’t support floating point samples either.

Is also a complex signal presented in frequency domain with real and imaginary parts a PCM?

We could also just say that SDM is 1- or more bit PCM and get over with it. Then there’s nothing else than PCM ever. You are happy then?

To me it matters what the actual D-to-A conversion section can use.

1 Like

Even sticking to integer samples means you need to requantize. Since if you add two 24-bit values, you get 25-bit result. And if you multiply two 24-bit values, you get 48-bit result.


Very happy! I’m happy tou said it, because when I said it, people said 1 bit was PDM, not PCM, and that it was fundamentally different than PCM. I hope that settles “PCM bad DSD good” kind of debates.

That PCM badness has more to do with band limiting and insufficient sampling rates. And the problem of creating PCM converters (R2R) that don’t have imaging, settling time and linearity issues.

Low bit PCM at 10+ MHz sampling rates don’t have such issues.

Non-Nyquist (heavily oversampled) systems are great, no need for anti-alias filtering or rate down-conversions.

Current audio ADC options are either down-sampled PCM (bad). Or DSD128 / DSD256.

1 Like

It’s badness only if it’s audible. 44.1kHz is enough to cover audible range, and if there’s enough computing power to to do DSP at MHz frequencies, then there’s enough power to do brick wall filtering with negligible passband ripple and enough stopband attenuation with no objectionable pre-ringing. I’m sure HQPlayer’s filters are more than capable of doing that :wink:

It is pointless exercise to convert down to 44.1k or 192k and then back to 10+ MHz. While you could as well skip any rate down conversions. Just keep increasing rate at DSP steps to gain more headroom.

Not entirely pointless:

  • Reduce storage requirements
  • Reduce streaming bandwidth
  • Get rid of useless ultrasonic noise
  • Use FLAC (which supports up to 655.35 kHz)
  • Use DACs that don’t support direct SDM input

I don’t really see a downside. Just let renderers up-sample to whatever they need whenever they need.

Use WavPack which supports higher and also lossless DSD compression.

How about letting renderers down-sample if you need something lower?

Anyway, there’s plenty of DSD256 recordings available and more coming all the time.

Most of the music I like doesn’t. Even if it did, I would opt for Red Book for all the other reasons. I just don’t want to store 7 or 8 octaves of noise. At 16x more data, WavPack would have to achieve a compression ratio of over 93% just to get to Red Book WAV size, before any savings with FLAC. I’m ok with DSD for D/A purposes and maybe as a raw archival format, but that’s about it.

I forgot to mention, Rob Watts idea already exists on a small scale, with his Hugo TT2 DAC. He’s looking to scale this power up in next products.

That’s 18W out of the rear XLR outputs…

1 Like

Here’s some further articles on Wikipedia that have helped me understand more about this:

Pulse Density Modulation. This is an SDM or DSD signal.

Pulse Width Modulation. This is the output from a Class D input stage (Modulator) to the power transistors.

PWM is a special case of PDM where the switching frequency is fixed and all the pulses corresponding to one sample are contiguous in the digital signal. For a 50% voltage with a resolution of 8-bits, a PWM waveform will turn on for 128 clock cycles and then off for the remaining 128 cycles. With PDM and the same clock rate the signal would alternate between on and off every other cycle. The average is 50% for both waveforms, but the PDM signal switches more often. For 100% or 0% level, they are the same.

Understanding ‘more’ is a relative term here. I have gone from understanding almost nothing to slightly more than nothing.


In practice DSD is handled like PWM in D/A conversion. So adjacent bits of same value don’t cause output to change state.


In other words, D/A conversion uses zero-order hold. It’s not as bad as it sounds since at MHz frequencies the roll-off in the audible band is insignificant (-0.003 dB at 20kHz for DSD64) . Multi-bit SDM is handled the same way.