Headphone EQ 'App' for Ultra

jeromeof

Member
Joined
Oct 22, 2022
Messages
84
Location
Celbridge Ireland
Hi,
In preparation for the headphone output on the Ultra I create a simple WebApp to find and manage your headphone EQ and push these to your Wiim Device (I have only tested with a Wiim Mini and a Wiim Pro plus currently as I use them with headphones via an external headphone DAC Amp.


It is a rough POC at the moment but works for me and I thought I would share and get comments.

Basically put in the brand of headphone you are listening too and search for the EQ filters and then apply them to your WiiM device. It works well for me but I only have access to set the 10 band "EQ" HTTP API - I don't have access to or knowledge of the PEQ API (I guess its not public) so I couldn't set these as PEQ filters on EQ filters.

I have a POC of it on my website at the moment -

https://www.pragmaticaudio.com/wiim-headphone-eq/

The idea is to set the IP address of the WiiM device on your network then search for a headphone that you might have connected to the headphone jack and when found “Fetch the EQ and set the EQ bands on the WiiM Device”. If you click save IP it will remember the IP of your WiiM device.

Here it is with my WiiM Pro IP set and after I searched for Hifiman edition XS

PastedGraphic-3.png


Clicking the “Fetch and Save 10 Band EQ to WiiM Device” will set the EQ (assuming the WiiM device is already in Graphical EQ mode). I will either set a unique EQ name based on the headphone or just update the EQ called “Headphones” e.g.


PastedGraphic-2.png



This was just a Quick POC so has lots of limitations:
1. I don’t have access to the LinkPlay API that sets the PEQ filters,I am using the Graphic EQ “API” - and therefore I am only retrieving the 10 band graphical EQ from autoEQ
2. Due to “cors” restrictions (rightly implemented by my WiiM ), I cannot know if I have changed the 10 band eq values correctly - obviously if this code (or similar code) was running inside the Mobile App, it would not have this problem.

All comments welcome !!!
 
There ia AutoEQ which has an API that could be implemented easily. PlexAmp and other apps use it. Also has a handy webapp to find your cans and pull different types of EQ. It has a 10band PEQ. Wiim could easily add this.

 
Leads me to believe you could deliver an Ultra with Dirac installed for around $700.
 
There ia AutoEQ which has an API that could be implemented easily. PlexAmp and other apps use it. Also has a handy webapp to find your cans and pull different types of EQ. It has a 10band PEQ. Wiim could easily add this.

Yes I know the AutoEQ application very well - so I implemented an API which uses the same 'database' of EQ measurements within this simple application. I am planning on spending some time when I get my hands on an Ultra to switch to using the PEQ measurements rather than the 10-band EQ (which I am currently using).
 
Qudelix 5K already implemented AutoEQ functions based on headphone measurement database. You may also look into crossfeed function, which is another popular processing for headphone to sound like loud speakers.
 
how can you do that ? :unsure: (I love programming)
If you put the local network IP address of your WiiM device into my POC website link above, it should be able to push the EQ settings to the device as I implemented the 'published' 10-band EQ API for WiiM Devices on the webpage.
 
It applies to all WiiM devices but hasn’t really been updated since the Mini. See this too https://developer.arylic.com/httpapi/#http-api
Yes I asked the @WiiM Team to update the documentation for the PEQ API calls on the http API as I can adapt this code pretty quickly to use the full PEQ headphone filters rather than just use the 10-band EQ filters as it does now.

So hopefully in the next few weeks this will be extended.
 
Yes I asked the @WiiM Team to update the documentation for the PEQ API calls on the http API as I can adapt this code pretty quickly to use the full PEQ headphone filters rather than just use the 10-band EQ filters as it does now.

So hopefully in the next few weeks this will be extended.
Did I not just read on another thread that WiiM have said that particular api is closed and won’t be made publicly available?
 
Did I not just read on another thread that WiiM have said that particular api is closed and won’t be made publicly available?
I think they meant it is closed now but not necessarily that it won't be made open later.

I think given they are enhancing it with, for example, Left / Right channel support for PEQ filters currently it makes sense to get keep it closed for now.

I think this is what happened with the original EQ API it was closed until it stabilised and then they published the details.
 
Just for the sake of completeness:

The WiiM Support page, which is not the same as the WiiM Audio Help Center support page, of course, has a link to a slightly updated HTTP API version "1.2".


It's rather easy to overlook it, since you have to scroll down all the way to the Downloads section (no anchor link) and look for "HTTP API for WiiM PRODUCTS". The link itself unfortunately is a JavaScript link, which as of writing this points to this resource, which, of course, may change any time: https://www.wiimhome.com/pdf/HTTP API for WiiM Products.pdf

The download section is missing the manuals for the WiiM Pro Plus, the WiiM Amp and the WiiM Ultra, but I don't think there is a more up to date HTTP API documentation than the one on this site.
 
Hello jeromeof, thanks for your work here. I just tried it with a WiiM mini, and got an error:

Error: TypeError: NetworkError when attempting to fetch resource. app.js:68:17
<anonymous> https://www.pragmaticaudio.com/wiim-headphone-eq/app.js:68

Are you still developing this web page utility?

Do you know if WiiM has stated any plans to add the ability to import headphone EQ data from Autoeq.app and Squiglink (like the new JDS Element IV can do)?
 
Hello jeromeof, thanks for your work here. I just tried it with a WiiM mini, and got an error:

Error: TypeError: NetworkError when attempting to fetch resource. app.js:68:17
<anonymous> https://www.pragmaticaudio.com/wiim-headphone-eq/app.js:68

Are you still developing this web page utility?

Do you know if WiiM has stated any plans to add the ability to import headphone EQ data from Autoeq.app and Squiglink (like the new JDS Element IV can do)?
Hi,
I have stopped developing this page but I do have a new updated API and ultimately my plan is to integrate this code into EQ databases like squig.link - but trying it again this morning I noticed that I now have to "trust" the "self-signed" SSL CERT the WiiM devices on my network are using for this API. This cert is self-signed one so the API code that this page uses (which runs securely on your home network between your browser and your WiiM Device) is failing useless you first goto the ipAddress of the WiiM Device and "trust' that certificate. Once you do that this older API that I am using works again and this error should not occur.

For example - this is the ipAddress of a WiiM device on my network using https:

1739526288603.png

But if I click on Advanced - I get

1739526394532.png

I can then "proceed to" the ip address and it will register that I trust connections to this device on my home network.

At this point you have basically trusted that you can connect to the WiiM Device and the EQ works again without connection issues.

I might add some information to this page over the weekend, but possible WiiM will update the self-signed.

Jerome
 
Hi,
I have stopped developing this page but I do have a new updated API and ultimately my plan is to integrate this code into EQ databases like squig.link - but trying it again this morning I noticed that I now have to "trust" the "self-signed" SSL CERT the WiiM devices on my network are using for this API. This cert is self-signed one so the API code that this page uses (which runs securely on your home network between your browser and your WiiM Device) is failing useless you first goto the ipAddress of the WiiM Device and "trust' that certificate. Once you do that this older API that I am using works again and this error should not occur.

For example - this is the ipAddress of a WiiM device on my network using https:

View attachment 17272

But if I click on Advanced - I get

View attachment 17273

I can then "proceed to" the ip address and it will register that I trust connections to this device on my home network.

At this point you have basically trusted that you can connect to the WiiM Device and the EQ works again without connection issues.

I might add some information to this page over the weekend, but possible WiiM will update the self-signed.

Jerome
Hi jeromeof,

I need to say a big thank you for developing the POC. I did successfully imported some graphical EQs for my cans into the WIIM ultra. Many thanks for the efforts.
 
Back
Top