Issue with Distortion at Very Low Volume When Using WiiM Ultra with External DAC

Problem is that the Ultra sounds worse using fixed resolution 24 bit 96 kHz with 16 bit material, using spdif out during normal use to a dac, i.e having the volume control above 20.

Or have they fixed that in the new firmware ?.
Yes, they have fixed that issue in version 5.2.705437. I tested that it is indeed fixed and showed my results in this post
 
As long as "Fixed Output Volume" is disabled, we can asume that the user wants to decrease the volume in the Wiim, so on the digital outputs the signal is not bitperfect anymore, by definition basically.
Bear in mind that the volume slider is not the only way to control volume. There is also volume limit and peq, both working with the fixed volume enabled.
 
@erazortt Thanks also for showing the magnitude of the WiiM volume steps. I haven't found them anywhere else. 0.6 dB then, which is fine (for anything but comparisons where 0.1 dB is necessary).
 
Measurement at a volume of "1" did show this though.
"This time the volume should be at -0.6*99=-59.4dB and indeed we see in green a value of -59.55dB"
Steps of the volume slider are variable in dB but yes, the average value is close to 0.6 dB.
 
Onlyoneme, can you do some measurements with 16 bit source material ( with output resolution to 24 bit in the Wiim menu ) , no fixed sampling frequency output , volume control used and spdif out ?

Digital volume control using spdif at 100, 80, 60, 40, 20, 10 and 1 ?
There you go. I put everything here. You will find there three tests of a 1kHz sine in a 44.1kHz 16bit file:
  • sine at 0dBFS with "Fixed Output Resolution" enabled at 44.1kHz and 24bits
  • sine at -48dBFS with "Fixed Output Resolution" enabled at 44.1kHz and 24bits
  • sine at 0dBFS with "Fixed Output Resolution" enabled at 96kHz and 24bits
Findings: As the volume is decreased the noise floor moves down with the singal in lock step until it hits the 24 bits floor. This happens somewhere around volume 10. The forced resampling to 96kHz preserves the numbers exactly and does not introduce distortions for 16 bits files, since the resampler has a quality of better than -100db as I have shown in that other thread.
 
Steps of the volume slider are variable in dB but yes, the average value is close to 0.6 dB.
Oh yes, right. Thats interesting. I just tested that:
  • volume 100-50, each step is around 0.32dB
  • volume 50-30, each step is around 0.64dB
  • below volume 30, each step is around 1.2dB
  • somthing funny happens below volume 5.. it does not move and stays at the same loudness...?!
  • at 0 it jumps to perfect silence, -inf dB
I must say that I do not understand the logic of that. Why would one not use qual steps instead...
 
Last edited:
Oh yes, right. Thats interesting. I just tested that:
  • volume 100-50, each step is around 0.32dB
  • volume 50-30, each step is around 0.64dB
  • below volume 30, each step is around 1.2dB
  • somthing funny happens below volume 5.. it does not move and stays at the same loudness...?!
  • at 0 it jumps to perfect silence, -inf dB
I must say that I do not understand the logic of that. Why would one not use qual steps instead...
Weird layout, though where I operate for critical listening those 0.32 dB steps are very nice.
 
There you go. I put everything here. You will find there three tests of a 1kHz sine in a 44.1kHz 16bit file:
  • sine at 0dBFS with "Fixed Output Resolution" enabled at 44.1kHz and 24bits
  • sine at -48dBFS with "Fixed Output Resolution" enabled at 44.1kHz and 24bits
  • sine at 0dBFS with "Fixed Output Resolution" enabled at 96kHz and 24bits
Findings: As the volume is decreased the noise floor moves down with the singal in lock step until it hits the 24 bits floor. This happens somewhere around volume 10. The forced resampling to 96kHz preserves the numbers exactly and does not introduce distortions for 16 bits files, since the resampler has a quality of better than -100db as I have shown in that other thread.
Now I have done some extended listening using the fixed output resolution 24 bit/96 KHz thru toslink spdif.

Ok, - its good that WiiM has fixed the 24 bit resampled output, and its also good if the distortion is lower when using the volume control - spdif to dac , especially if you only can use the lower volume numbers 5-20 on the Ultras display because of very high gain in the power amp.

I would still advice anyone using the ultras spdif output and volumecontrol to listen carefully * with and without the optional 24 bit 96 kHz fixed resolution .

In my case , with a hypex ncore power amp with modified -13 dB gain , the sound is still slightly better using the native resolution ( and not the fixed 24 bit option ) if I play music louder than 20 on the display.

The fixed 24 bit /96Khz spdif output is better sounding than before, but still slightly worse than native resolution in my opinion - the sound gets slightly thinner and less natural with the fixed resolution. Its a very small difference , and better than my Yamaha wxc50 that also resamples the signal when using volumecontrol.

* a sample rate converter thats better than -100 dB is good but not great.
 
Last edited:
In my case , with a hypex ncore power amp with modified -13 dB gain , the sound is still better using the native resolution ( and not the fixed 24 bit option ) if I play music louder than 20 on the display.
What is the resolution of your source, 44.1kHz/24bit? And how do you play it back? From inside the Wiim app directly?
 
Last edited:
Bear in mind that the volume slider is not the only way to control volume. There is also volume limit and peq, both working with the fixed volume enabled.
Yeah, right.

And now pre-gain in addition to that.
Actually I would be interested to find out how it is currently handeled. Because even with fixed resolution, when is the pre-gain applied, before or after the conversion to 24 bits? I think this calls for a test measurement later today.
 
What is the resolution of your source, 44.1kHz/24bit? And how do you play it back? From inside the Wiim app directly?
Its very different, a SSD with 16 to 24 bit material with 44.1 or 96 kHz sampling frequency or TIDAL . Yes , I mainly play it tru the WiiM app.
 
@erazortt I looked for the 16/44.1 > 24/96 resampling in your linked plots folder but no luck. I would love to see it.

My setup is Ultra-Toslink-MiniDSP Flex Eight (speakers' front end). Local files are played with Squeezelite on the Ultra, LMS running on a PC.
 
Ok, so here are the measurements for the pregain. Again the reason here is to get know whether the pregain is applied before a 16 bits source is handled by the fixed output resolution setting or after.

A -48dBFS 1kHz sine in a 44.1kHz/16bits file with enabled Fixed Output Resolution enabled at 96kHz/24bits with pregain 0:
1kHz_-48dBFS_44k16bTo96k24b_0_pregain.png

Now, same file, same settings but with pregain -10:
1kHz_-48dBFS_44k16bTo96k24b_-10_pregain.png

Compaing the level of the noise, we see that the noise decreases together with the signal, showing that at the stage when pregain is applied the stream was already converted to 24 bits. Thus the THD+N remains exactly the same and is not reduced by the pregain. So can conclude that the Wiim does what it should be doing, nice!
 
Ok, so here are the measurements for the pregain. Again the reason here is to get know whether the pregain is applied before a 16 bits source is handled by the fixed output resolution setting or after.

A -48dBFS 1kHz sine in a 44.1kHz/16bits file with enabled Fixed Output Resolution enabled at 96kHz/24bits with pregain 0:
View attachment 16780

Now, same file, same settings but with pregain -10:
View attachment 16781

Compaing the level of the noise, we see that the noise decreases together with the signal, showing that at the stage when pregain is applied the stream was already converted to 24 bits. Thus the THD+N remains exactly the same and is not reduced by the pregain. So can conclude that the Wiim does what it should be doing, nice!
This is why everything concerning sampling, resampling, etc. must be constantly checked with great care by wiim while they manipulate the firmware and audio aspects.
at the top of the checklist...
streaming solidity and audio "without bad surprises"...prime functions.
;-)
 
Last edited:
This is why everything concerning sampling, resampling, etc. must be constantly checked with great care by wiim while they manipulate the firmware and audio aspects.
at the top of the checklist...
streaming solidity and audio "without bad surprises"...prime functions.
;-)
I have listened carefully again using the WiiM ultra volume control tru spdif with the new firmware and the fixed resolution option 24 bit 96 kHz sounds clearly worse , thinner, less natural on 16 bit 44.1 kHz material .
Stay away from this if you dont have super high gain in your amplifier, and have to use volume below 10 in the WiiM ultra display.

The fixed 24 bit 96 kHz and native resolution meets at about volume 10, in sound quality. Above 10 , the sound is better not using fixed resolution 24/96. Below volume 10, I would use 24/96.

Edit: there may be sound differences depending on the dac and amplifier used, so listen carefully and use what sounds best.
 
Last edited:
I have listened carefully again using the WiiM volume control tru spdif and the fixed resolution option 24 bit 96 kHz sounds clearly worse , thinner, less natural on 16 bit 44.1 kHz material .
Stay away from this if you dont have super high gain in your amplifier.

The fixed 24 bit 96 kHz and native resolution meets at about volume 10, in sound quality. Above 10 , the sound is better not using fixed resolution 24/96. Below volume 10, I would use 24/96.

Edit: there may be sound differences depending on the dac and amplifier used, so listen carefully and use what sounds best.
If you make a frequency response measurement with REW can you see an obvious difference between the native resolution and upsampled?
 
Back
Top