WiiM Amp DSD playback

matjolic

Member
Joined
Mar 20, 2024
Messages
9
I started fooling around with some DSD files from SACD releases I have and have a couple of questions about support for the format on WiiM amp. I have them backed up as DFF files but it seems that WiiM cannot read those. I used foobar to convert them to DSF (which I understand is "uncompressed" vs DFF?) and I am able to play them back through the app. Playback shows as 24bit-192kHz, I understand this would be the on-the-fly conversion the DAC is doing? Is it possible for the Sabre DAC to read DFF files? Filesize seems much more manageable on those.

I have an LMS v9 instance and I have tried playing the DSDs from there, and I can only seem to get it to work by disabling DoP, DSD over PCM, which I think makes it so LMS is handling the transcoding. With DoP enabled, I only hear a faint noise, no music and the app reports 1-bit 2.8224 MHz playback. Can WiiM amp support DSD over PCM? Maybe I am missing something here.
 
It should support DFF - see the firmware release notes

 
After a bit more research into the DSF and DFF format specifications, DFF supports 2 compression types, DSD "not compressed" and DST encoded, to encode audio data. The files I had stored were DST encoded DFF, and WiiM is unable to play them. Once I have them converted to DSF, I tried converting them back to DFF, filesize end up being the same, these files are DSD uncompressed, and WiiM can play them fine, regardless of DSF or DFF file format.
 
To convert DFF to DSD or to uncompress DFF you might want to look at the Deffy tool. It looks to be quite versatile and does not go through any PCM conversions. I have not tried it yet but it looks very interesting.
 
To convert DFF to DSD or to uncompress DFF you might want to look at the Deffy tool. It looks to be quite versatile and does not go through any PCM conversions. I have not tried it yet but it looks very interesting.
Thanks for the tip, that looks like a handy tool indeed!
 
I'm necroing my own thread to further the DSD discussion since I've been going down that rabbit hole lately.

The WiiM Amp boasts the ESS9018K2M chip which according to the datasheet has native DSD playback support. The current application supports playback of DSF files and I am happy to report that it supports playback of DSD256 beyond the DSD64 commonly available from SACD. In both cases, the app reports a 24-bit/192kHz playback, which leads me to believe this refers to a PCM encode. Is the DAC or something else indeed doing a SDM-PCM encode, or are the files actually being played in the chips DSD mode?

It'd be great to get a bit more feedback from the team as to how DSD is handled internally, according to their actual implementation, if it is indeed possible to harness the chip's Native DSD capabilities. I know this is pretty niche, and people into DSD are probably beyond WiiM amp in their setups, but I'm sure at least a couple of people out there are listening?
 
I'm necroing my own thread to further the DSD discussion since I've been going down that rabbit hole lately.

The WiiM Amp boasts the ESS9018K2M chip which according to the datasheet has native DSD playback support. The current application supports playback of DSF files and I am happy to report that it supports playback of DSD256 beyond the DSD64 commonly available from SACD. In both cases, the app reports a 24-bit/192kHz playback, which leads me to believe this refers to a PCM encode. Is the DAC or something else indeed doing a SDM-PCM encode, or are the files actually being played in the chips DSD mode?

It'd be great to get a bit more feedback from the team as to how DSD is handled internally, according to their actual implementation, if it is indeed possible to harness the chip's Native DSD capabilities. I know this is pretty niche, and people into DSD are probably beyond WiiM amp in their setups, but I'm sure at least a couple of people out there are listening?
It has been stated by WiiM that it's converted to PCM.

Search the WiiM FAQ for "Playing DSD Audio Files on WiiM Devices"

Note that the DSD format was useful when backing up old master tapes at a time when digital storage was expensive. It's the most compact way of storing the raw signal but it doesn't allow for any manipulation (volume or EQ).
 
Last edited:
Does anyone know if the PCM conversion is handled by the ARM chip or the DAC? What filter is it using to do so? One thing I noticed when playing around with Roon is that same files sounded better when Roon was handling the decoding, as if more power was available to the amplification circuit, all other things being equal.
 
Does anyone know if the PCM conversion is handled by the ARM chip or the DAC? What filter is it using to do so? One thing I noticed when playing around with Roon is that same files sounded better when Roon was handling the decoding, as if more power was available to the amplification circuit, all other things being equal.
That is of course done by the CPU. The DAC cannot output a PCM signal.
 
Some verbose information you might find useful.

The DSD to PCM conversion does not take much CPU power. There are public domain programs, including source code, that have been around for quite a while that do it. Conversion from PCM to DSD, however, is very compute intensive.

The ESS 9038 datasheet says the chip can input DSD but there are some who think it actually converts it to PCM before converting to analog. From what I can tell, ESS does not discuss the details of how either PCM or DSD conversion to analog is done, other than it uses a oversampling filter that converts to very high frequencies. This is common for delta-sigma DACs.

Wiim devices can pass DoP signals to their digital output since they are just seen as PCM signals. However, 2.8 MHz stored as DoP uses 192 KHz PCM, so at present the Wiim devices cannot pass more than 2.822 MHz DoP signals. Higher sample rates require higher PCM rates than Wiim devices can handle. To pass DoP signals the processing must be bit perfect, including no room correction or volume changes. Note - there have been some posts that indicate that some outputs do not pass DoP correctly. I would have to do some searching to find the specifics.

I think whether Wiim can support native DSD playback (versus conversion to PCM) depends on exactly how Wiim interfaces to the DAC chip. My guess (pure guess) is that there is a limitation in that implementation that restricts native DSD playback.

Most DSD devices and software packages do not support compressed DST formats. As you say, uncompressed DFF and DSF are the usual supported formats. The difference between DFF and DSF is simply a different header structure, for example for tags. DFF is like WAV in that it does not support metadata tags, where DSF, like flac, does support metadata tags. DSF, however, unlike flac, is not compressed. You have to be careful when converting DFF to DSF since many converters go though a PCM stage. Deffy (above) does the conversion without converting to PCM.

Enough for now.
 
Back
Top