HQPlayer - DSD256 (minimum) NAA input streaming DACs thread

You quoted the first post from April but did not read later posts after I received and tested the unit in my hands :grinning:

Could you possibly suggest what to set for this in HQPlayer to test if the InnoMaker DAC HAT is DoP compatible?

Another question would be, what would one have to do (theoretically) to get a DSD compatible DAC HAT, such as the DAC HAT discussed here to run for native DSD playback over NAA?

There’s the “SDM Pack” setting which can be set to “None” (native DSD) and “DoP” (packed with markers).

I tried it with this setting, which also recognizes the DAC as a DoP capable device:

2023/10/05 21:39:04 DSP thread pools disabled
  2023/10/05 21:39:04 DSP pipelines enabled
  2023/10/05 21:39:04 Pipelined engine enabled
  2023/10/05 21:39:04 DirectSDM enabled
  2023/10/05 21:39:05 Audio engine: alsa
  2023/10/05 21:39:05 ALSA output set channels: 2 (2)
  2023/10/05 21:39:05 ALSA output DAC bits: 24
  2023/10/05 21:39:05 ALSA output SDM packing: 1
  2023/10/05 21:39:05 asoundlib version: 1.2.8
  2023/10/05 21:39:05 ALSA output device: hw:CARD=Katana,DEV=0
  2023/10/05 21:39:05 ALSA output control element: Master Playback Switch
  2023/10/05 21:39:05 ALSA output control element: Master Playback Volume
  2023/10/05 21:39:05 ALSA output control element: DSP Program Route
  2023/10/05 21:39:05 ALSA output control element: Deemphasis Route
  2023/10/05 21:39:05 ALSA output control element: DoP Playback Switch
  2023/10/05 21:39:05 ALSA output mixer element: Master
  2023/10/05 21:39:05 ALSA output using volume element: Master (-127.5 - 0 dB)
  2023/10/05 21:39:05 ALSA output mixer element: DSP Program
  2023/10/05 21:39:05 ALSA output mixer element: Deemphasis
  2023/10/05 21:39:05 ALSA output mixer element: DoP
  2023/10/05 21:39:05 ALSA output access mode: RW_INTERLEAVED
  2023/10/05 21:39:05 ALSA output PCM format: S32_LE
  2023/10/05 21:39:05 ALSA output PCM bits: 32
  2023/10/05 21:39:05 ALSA output PCM physical width: 32
  2023/10/05 21:39:05 ALSA output PCM rates: 44100 - 384000
  2023/10/05 21:39:05 ALSA output rate available: 44100
  2023/10/05 21:39:05 ALSA output rate available: 48000
  2023/10/05 21:39:05 ALSA output rate available: 64000
  2023/10/05 21:39:05 ALSA output rate available: 88200
  2023/10/05 21:39:05 ALSA output rate available: 96000
  2023/10/05 21:39:05 ALSA output rate available: 128000
  2023/10/05 21:39:05 ALSA output rate available: 176400
  2023/10/05 21:39:05 ALSA output rate available: 192000
  2023/10/05 21:39:05 ALSA output rate available: 256000
  2023/10/05 21:39:05 ALSA output rate available: 352800
  2023/10/05 21:39:05 ALSA output rate available: 384000
  2023/10/05 21:39:05 ALSA output DSD using DoP
  2023/10/05 21:39:05 ALSA output rate available: 2822400
  2023/10/05 21:39:05 ALSA output rate available: 5644800
+ 2023/10/05 21:39:05 ALSA output backend initialized
  2023/10/05 21:39:05 Null output set channels: 2 (2)
  2023/10/05 21:39:05 Normal buffers

Unfortunately the playback is stopped with the message ‘No suitable output rate for 96000, stop’.

& 2023/10/05 21:40:08 Play
  2023/10/05 21:40:09 Offload: resampler=disabled convolution=disabled
+ 2023/10/05 21:40:09 Playback engine running
  2023/10/05 21:40:09 IntegratorM: IIR
  2023/10/05 21:40:09 No suitable output rate for 96000, stop
  2023/10/05 21:40:09 Stop request (tail)
& 2023/10/05 21:40:09 Stop...
  2023/10/05 21:40:09 Teams: 1
  2023/10/05 21:40:09 Places: 1
  2023/10/05 21:40:09 Parallel threads: 4
  2023/10/05 21:40:09 Nested parallelism: 4
  2023/10/05 21:40:09 Parallel pipelines: 4
- 2023/10/05 21:40:09 Playback engine stopped
& 2023/10/05 21:40:09 ...stopped
  2023/10/05 21:40:09 Set volume: -3.0103 +

Now, unfortunately, I can’t tell if it’s because of the above reasons or it’s some other problem. If it helps I can also provide the entire log.

Next I wanted to try the ‘i-sabre-q2m’ overlay.

I used up a lot of Jussi’s time investigating the same thing - also discussed with Innomaker engineer and Volumio

No concrete explanation why NAA could not work.

I think Jussi publicly mentioned partial interest in an open source Pi HAT design.

Probably one of the AKM DSD direct chips?

Depends if he has any spare time to ever start this.

Can also ask Innomaker. They are smart guys - measuring DSD256 with Volumio was decent result

And that was not with DoP

I also emailed a couple other popular HAT makers and based on discussions did not buy . I expect same results

But you might find one that works

If you want to skip the guessing , buy a T+A SDV3100HV :grinning:

1 Like

Not shown, but you have either “Auto rate family” enabled, without “48k DSD” enabled. Or your selected filter (not shown) is one that cannot convert between rate families.

So this failure is not due the DAC, but because of the settings conflicting.

Thank you very much @dabassgoesboomboom for providing this very useful information.

Really sad to hear that everyone was involved to get the DAC HAT running for DSD playback under NAA and it still didn’t work out.

We have no choice but to be patient and hope that Jussi will find time to tackle the project you mentioned.

Maybe Ian Canada could be brought on board. He has really interesting DAC HAT projects running, with dual mono structure and compatible up to DSD1024. As far as I heard, he would also be interested in an AKM project. If his attention does not fall on the new ESS ES9039 chips, which is also supposed to be a bit better than the ES9038.

@dabassgoesboomboom You have not by chance already experiences or a discussion (as mentioned) with any of the DAC HAT from Ian Canada also in relation to NAA playback?

ES9018K2M, ES9028Q2M, 9038Q2M DSD/I2S DAC HATs for Raspberry Pi | Page 49 | diyAudio

Native DSD of Pi would require a new driver that supports such. AFAIK, none of the current upstream drivers do that. It could be done in a similar way we already do native DSD over USB Audio Class. But it would need an FPGA or CPLD on the hat to deal with rearranging the signals for the DAC chip. All totally doable.

Latest ESS chips have built-in DoP decoder, that’s why those can take DoP from any source. But on Pi, that limits the achievable DSD rates.

To be clear, Innomaker and Volumio had no interest in HQPlayer (only because they never used it) and did not test anything - I did all the testing.

The discussions were trying to understand why NAA wasn’t working - trying to understand what Volumio and MPD in general were doing, that allowed DSD256 to work (native - not DoP) well.

I also discussed with DietPi engineer too because that allows me to compared MPD and NAA on the same distro.

Already discussed with him too… his flagship beast

The reason I tried to mention some days ago that I already tested this, is to highlight it will be a dead end :smile:

But you are free to buy the Ian Canada and give it a try. I never had it in my hands, I guess it is possible something could be different. But from my discussions, I can’t expect any different results.

The reason I emailed everyone was so that I didn’t end up with a big pile of Pi HATs doing PCM.

Having said that, as I mentioned days ago, feed the Innomaker PCM353kHz and it measures very well.

That was it. Disabled “Auto rate family” and DoP Playback up to DSD128 is working now. Thanks Jussi

1 Like

If these are on a different distro, I suspect there’s a kernel patch to enable this on some hats.

Worth also checking what controls “alsamixer” offers for the hat on those distros where it works.

1 Like

May I ask why you explicitly recommend PCM353kHz and what your settings are? I get only crackled output unfortunately. It does not matter whether NAA or ALSA output.

Hmm if DSD128 via DoP works for you, then PCM353kHz works by default

DoP means DSD over PCM and DoP 128 is DSD128 over PCM353kHz

Reboot your NAA and try again

And show screenshots of your settings , ill see if i can spot an issue

I did mention the reason i recommend it above a couple times - i measured the output

Ok, then I just misunderstood you and you were talking about DoP the whole time when you meant PCM358. Because you are right, when I set DoP playback it works and is output as 352800/32/2 [pcm].
I had tried it directly via PCM output mode and there I had crackled output with PCM353.

No they are not the same. Two different things giving different measured DAC outputs

Have you tried what I suggested ?

Sorry, but I don’t get it. Can you please post some settings?

Is there anything I can assist here?

I did a quick comparison and alsamixer looks the same for the DAC on the latest volumio 3 distro and the latest NAA OS, besides volumio uses the 1.1.8 version and NAA OS uses the 1.2.8 version of alsamixer.

OK, if the available controls look the same, then it is not something there.

A bit of mystery, and unfortunate if some hat manufacturers don’t upstream their device tree (overlay) files. Not unusual thing to happen, but unfortunate when it happens.

1 Like

Yep that’s the same conclusion we came to some months ago. Seems nothing changed since then

AKM4499EX with NAA input ! Same as Gustard?

Cheap !

AUDALYTIC AH90 AK4191+AK4499 Desktop DAC & Headphone Amplifier

2 Likes