Automated Loudspeaker Response Optimizer

dominikz

Member
Joined
Dec 31, 2024
Messages
14
While the WiiM products already implement automated Room Correction based on in-room measurements, research in sound reproduction shows that this kind of correction is only efficient below the room transition frequency (usually below 400Hz), while at higher frequencies equalization based on anechoic loudspeaker measurements is better suited to the task. (Reference: "Sound Reproduction: The Acoustics and Psychoacoustics of Loudspeakers and Rooms" by dr. Floyd Toole)

The proposal is to implement a new feature in the WiiM Home App that takes ready-made loudspeaker EQ profiles based on anechoic loudspeaker measurements, and uses these to optimize the loudspeaker anechoic response above the transition frequency. Such EQ profiles for a large selection of loudspeakers are already available on spinorama.org, but today need to be manually configured with PEQ.

This "Loudspeaker Response Optimizer" (LRO) function would work together with the existing Room Correction (RC) to provide total system response optimization.

The user should be able to select the frequency where RC stops and LRO starts. This frequency should in principle correspond to the upper frequency selected in the RC function (I'd suggest to set this to 500Hz by default) if RC is enabled; if RC is disabled, full-range LRO profile can be applied.

Optionally an 'overlap' region could be defined where RC gradually blends into LRO, e.g.:
- RC-only below 200Hz,
- blend region of both RC and LRO between 200Hz and 600Hz,
- LRO-only over 600Hz.

The end-user should be able to select the loudspeaker model matching the one they use directly in the WiiM Home App LRO function, and this action would automatically load the associated anechoic EQ profile above the RC upper frequency (or full-range if RC is disabled).

The loudspeaker model selection should be based on models with EQ profiles available on spinorama.org. Loudspeaker EQ profiles based on anechoic data are directly available on the spinorama.org GitHub page.

Note: WiiM Home App should compensate total positive gain introduced by any kind of EQ with the corresponding negative pre-gain - this is to avoid digital clipping for input signals close to 0dBFS.

I've already submitted this via a feature suggestion ticket to @WiiM Support, but I thought it might be interesting to share in the forum as well, to see the opinions of the user community.
 
Upvote 1
While the WiiM products already implement automated Room Correction based on in-room measurements, research in sound reproduction shows that this kind of correction is only efficient below the room transition frequency (usually below 400Hz), while at higher frequencies equalization based on anechoic loudspeaker measurements is better suited to the task. (Reference: "Sound Reproduction: The Acoustics and Psychoacoustics of Loudspeakers and Rooms" by dr. Floyd Toole)

The proposal is to implement a new feature in the WiiM Home App that takes ready-made loudspeaker EQ profiles based on anechoic loudspeaker measurements, and uses these to optimize the loudspeaker anechoic response above the transition frequency. Such EQ profiles for a large selection of loudspeakers are already available on spinorama.org, but today need to be manually configured with PEQ.

This "Loudspeaker Response Optimizer" (LRO) function would work together with the existing Room Correction (RC) to provide total system response optimization.

The user should be able to select the frequency where RC stops and LRO starts. This frequency should in principle correspond to the upper frequency selected in the RC function (I'd suggest to set this to 500Hz by default) if RC is enabled; if RC is disabled, full-range LRO profile can be applied.

Optionally an 'overlap' region could be defined where RC gradually blends into LRO, e.g.:
- RC-only below 200Hz,
- blend region of both RC and LRO between 200Hz and 600Hz,
- LRO-only over 600Hz.

The end-user should be able to select the loudspeaker model matching the one they use directly in the WiiM Home App LRO function, and this action would automatically load the associated anechoic EQ profile above the RC upper frequency (or full-range if RC is disabled).

The loudspeaker model selection should be based on models with EQ profiles available on spinorama.org. Loudspeaker EQ profiles based on anechoic data are directly available on the spinorama.org GitHub page.

Note: WiiM Home App should compensate total positive gain introduced by any kind of EQ with the corresponding negative pre-gain - this is to avoid digital clipping for input signals close to 0dBFS.

I've already submitted this via a feature suggestion ticket to @WiiM Support, but I thought it might be interesting to share in the forum as well, to see the opinions of the user community.
I don't think WiiM software can rely or use data from GitHub database.

Else it's a good idea. The profiles could be loaded from a file just as we expect the microphone profiles will be.
 
I don't think WiiM software can rely or use data from GitHub database.

Else it's a good idea. The profiles could be loaded from a file just as we expect the microphone profiles will be.
Thanks for the comment!

My idea was to make a UI that would be very simple to use for the end-user - something along the lines of how from the "Wavelet" headphone EQ app for Android you can directly access headphone EQ presets from AutoEQ.

But I do appreciate that adding an external resource dependency could be problematic from maintenance perspective!
 
I don't think WiiM software can rely or use data from GitHub database.

Else it's a good idea. The profiles could be loaded from a file just as we expect the microphone profiles will be.
Interesting and sensible Idea! 👍🏻 However, if your loudspeaker is not in the database it does not serve a lot. Mine e.g. or any(!) ProAc speakers are not there…
-How can there be new profiles added?
 
I generally support this idea. Personally I would be satisfied with much less comfort: Just give me another set of 8 PEQ filters to manually apply my speaker EQ (no matter if I created it myself or took it from spinorama.org or from somewhere else) and I'm done. Since we can already restrict the frequency range for RC, the limits of LRO would be implicitly determined by the value range I decide to enter.

Everything making this approach more accessible to the less technically inclined would be the icing of the cake.

Importing a file (instead of having to enter values manually) might be a step in this direction without introducing direct dependencies with external services (but still, give me calibration file import for my mic first ;)).

(y)
 
Back
Top