• Welcome to ASR. There are many reviews of audio hardware and expert members to help answer your questions. Click here to have your audio equipment measured for free!

WiiM Mini Streamer

Thanks for the tips!

Noob question: what's the ssh command to get to where all this python code lives on the microSD card

sudo nano wiim.py ?
ssh in as the pi user: ssh [email protected]
cd wiim
ls -al
this should show a list of files, including wiim.py

Since it's "owned" by the pi user, no need for sudo, just
vi wiim.py
or
nano wiim.py

(hardcore 'nix guys use vi or vim, but it's definitely not for noobs, lol).

Couple of things:

to stop the wiim service while you edit the file:
sudo systemctl stop wiim.service

to start it back up:
sudo systemctl start wiim.service

While testing, just start it from the cmdline instead of starting the service, so you will see any errors
./wiim.py

If you overwrite the file again from github, make sure it's executable:
chmod +x wiim.py

To see any errors thrown while running as a service:
sudo journalctl -u wiim.service
 
Last edited:
My experience so far with Amazon Music within the WiiM app:

No inconsistencies with 24/96 and 24/196 tracks.
With 16/44.1 tracks, sometimes HD is displayed correctly and sometimes Ultra HD with 24/44.1 is displayed by mistake.

Depending on the search, it was sometimes also shown the information/title of the next track. Very strange.

Once, the WiiM Mini played a track (in a permanent loop) and was no longer found by the app.
The only way to control the mini again was to switch it off and on again. Afterwards it was found again by the app.
 
So far, everything I've played shows 24 bits. Sometimes 44.1 shows as HD, other times UHD. The bitrate does appear to be greater when it shows UHD.
It looks clear that it's displaying always 24 bits because of a bug. However, it correctly labels HD when it's really 16 bits, and UHD when it's really 24 bits. I have checked with several tracks.
 
Can anyone help. I’m on 420439. Within the Wiim App I go to Amazon Music Setting and enable HD/Ultra. Search for an album in Amazon Music within the Wiim App and play it and it still shows 16/44.1. Strangely one track showed briefly as 24/48 but then when I looked again back to 16/44.1. Its definitely listed as an ultra album when viewed in native AmZon Music App. Then another track shows 24/48 but my DAC still shows 44.1

Now fixed. OK here is the story. I had set Quality to best available in the Amazon Music App (the Native app not the one inside WiiM). But when I looked again it had reverted to Standard. Changed it to Best Available and now everything works. Getting Bryan Adams at 24/96 on Wiim App andthe DAC.

Spoke too soon. Everythings gone back to 16/44.1.
After toggling on AMHD HD/UHD in settings it looks like all your previous audio settings (fixed volume, output resolution, etc.) are reset back to default.
 
So glad that Amazon HD is now working for many of you, but how does it sound? Noticeably better?
Sound quality is great but app makes huge pauses between tracks, up to 5 seconds here. Pretty much unusable as it is for the kind of music I listen to.
 
Last edited:
I have been comparing playing Qobuz via Wiim on Toslink versus RPI4 via USB on the RME ADI-2 DAC for a week now using Audirvana playlists. What I found:

1. An unscientific preference for the RPi4 sound, not by much but a little more clarity to my ear. Both streamers set with EQ off.

2. When using Wiim as the selected streamer in Audirvana (MBP) or the Wiim app it was not unusual for the Audirvana playlist to stall after a few songs while I did not experience the issue with the RPi4.

3. The iPad interface with Wiim is nice as it doesn't require a computer. But it's less functional than Audirvana and less robust.

If I had to choose one unit only? It would be the RPi4. But that doesn't make the Wiim less worthy. The Wiim software is in flux which can lead to random issues as one feature improves and something else accidentally breaks with updates. It will be interesting to see if the occasional stalling playback issues with Audirvana are corrected.
just
we have only mesureament at out of the rme...with usb..
not with toslink...
we can observe in many cases here even significant differences at the output of the same dac according to whether it is usb toslink spdif aes in digital input
maybe this is the case here?
;-)
 

Attachments

  • RME ADI-2 DAC FS Version 2 USB Jitter Audio Measurements.png
    RME ADI-2 DAC FS Version 2 USB Jitter Audio Measurements.png
    15.8 KB · Views: 117
  • RME ADI-2 DAC FS Version 2 USB Multitone Distortion Audio Measurements.png
    RME ADI-2 DAC FS Version 2 USB Multitone Distortion Audio Measurements.png
    28.1 KB · Views: 97
just
we have only mesureament at out of the rme...with usb..
not with toslink...
we can observe in many cases here even significant differences at the output of the same dac according to whether it is usb toslink spdif aes in digital input
maybe this is the case here?
;-)
How many times has it been pointed out to you that the RME will measure exactly the same regardless of input!? There will be no difference in jitter between the optical, coax or USB inputs. Please stop repeating this.

The SteadyClock technology of RME's latest products guarantees an excellent performance in all clock modes. Its highly efficient jitter suppression refreshes and cleans up any clock signal, and provides the clock signal as reference clock at the word clock output.


...and from an RME engineer on ASR:

There is no difference between Coax and Optical (or USB). I showcased the jitter measurements in my SteadyClock video on YouTube, using the optical input, and other than ASR also with lots of added jitter on it.

 
ok..
rme is fantastic..
How many times has it been pointed out to you that the RME will measure exactly the same regardless of input!? There will be no difference in jitter between the optical, coax or USB inputs. Please stop repeating this.




...and from an RME engineer on ASR:




rme is fantastic an destroit problems of jitter
;-)
So the problem is there for others.
we are going forward
"cqfd" in french
demonstration by rme
;-)
 
Last edited:
So I'm getting UHD via the WiiM app but still 44.1 casting the Amazon app...Is that what you all are also seeing?
 
1. It's possible. I send a STOP, which shouldn't be an issue, but might be. Comment out the two lines shown below (the if... and result... lines) with # to disable this:
Python:
if playing == False:
#### Make sure we're really stopped
#if state in ["PAUSED","PAUSED_PLAYBACK"]:
#### Wiim Mini won't turn off optical output LED with Pause, so send hard Stop
#### to turn it off so that RME DAC will switch to USB input
#result = await stop_action.async_call(InstanceID=0,Channel="Master")

displaydatetime(True)
else:

This solved this issue. Thanks !

Now trying to tackle the font size

I don't need bit depth and bitrate for the screen. Just sample rate to see from 10 ft back
 
This solved this issue. Thanks !

Now trying to tackle the font size

I don't need bit depth and bitrate for the screen. Just sample rate to see from 10 ft back
Cool. I put that code in many firmware versions ago, so maybe WiiM has solved that particular problem with the optical laser, will check.

You can change this:
Python:
  if rate >0 and depth >0:
    buf = "%.d bits / %.1f kHz  %s" % (depth,rate,bitrate)
    draw.text((20,450), buf, tcolor, font=fonts[1])

to something like this:
Python:
  if rate >0 and depth >0:
    draw.text((20,400), bitrate, tcolor, font=fonts[4])

...after you add an additional font in the size you want to the fonts list. Note that the y position (450) will need to be moved up a bit (400?) to accommodate the larger font size. If you look at the Python Pillow docs, you can set the font color to something bolder, if you wish. Again, the text above wraps, so might overwrite...
 
ok..
rme is fantastic..


rme is fantastic an destroit problems of jitter
;-)
So the problem is there for others.
we are going forward
"cqfd" in french
demonstration by rme
;-)
No, there isn't a problem there for others. Per @amirm's review, there is one jitter component, which is inaudible at -120dB. You're beating a dead horse. Please stop.
 
Does anyone else have an issue with the app displaying the next song in a playlist instead of the one that's currently playing?
 
Only firmware 352 that was whitelisted before,
So only those with "whitelisting" can use the Amazon App to stream 24/192, do I understand that correctly? Sorry, did that whitelisting come via a request through the app? I get no response to any of my inquiries via the app.
 
So only those with "whitelisting" can use the Amazon App to stream 24/192, do I understand that correctly? Sorry, did that whitelisting come via a request through the app? I get no response to any of my inquiries via the app.
That was an older beta. The latest has UHD Amazon from within WiiM app. They are working on casting bugs. Will come later
 
Cool. I put that code in many firmware versions ago, so maybe WiiM has solved that particular problem with the optical laser, will check.

You can change this:
Python:
  if rate >0 and depth >0:
    buf = "%.d bits / %.1f kHz  %s" % (depth,rate,bitrate)
    draw.text((20,450), buf, tcolor, font=fonts[1])

to something like this:
Python:
  if rate >0 and depth >0:
    draw.text((20,400), bitrate, tcolor, font=fonts[4])

...after you add an additional font in the size you want to the fonts list. Note that the y position (450) will need to be moved up a bit (400?) to accommodate the larger font size. If you look at the Python Pillow docs, you can set the font color to something bolder, if you wish. Again, the text above wraps, so might overwrite...

Not pretty but for 10ft and more away it'll do for this coding noob lol

225BC899-401F-4808-8F61-6E8AC035EE46.jpeg

Your original code is perfect, as is, for my desktop setup though. When I'm close at desk I do want to see all the info you have.

For farfield I also increased brightness of cover art but for nearfield your settings are obviously ideal

So now I'll have to get another 7" lol

Thanks heaps for this and your guidance. Was quite fun to try and get the code to work (haven't done any coding since C 15 years ago )

Now I need to save the changes i made to code because I WILL forget how I did all this LOL
 
Last edited:
Shot in the dark question, anyone using the WiiM Mini with a Denon x3700H receiver? I send a 24/192 signal via optical in but in the app it looks like it senses that the x3700h can't play Hi-Res, so plays 44.1.
 
Back
Top Bottom