Room Mode + Speaker Anechoic Measurement Correction

Silly question, but is the low pass filter on the subwoofer side set to maximum?
(And which sub are you using?).

Sub crossover is set to max. See attached photo (apology for the quality)

IMG_2343.jpeg

Don’t know why the photo loads upside downs. Can’t help it. Sorry.

Current phase setting is 0 on sub and 180 WHA.

The sub is affordable (or simply: cheap) Mivoc Hype G2 sub.
 
Sub crossover is set to max. See attached photo (apology for the quality)

View attachment 26009

Don’t know why the photo loads upside downs. Can’t help it. Sorry.

Current phase setting is 0 on sub and 180 WHA.

The sub is affordable (or simply: cheap) Mivoc Hype G2 sub.

Thanks.

You may want to try running RoomFit with just the sub once.

1) Set the crossover to 250 Hz in the subwoofer settings of the WiiM app.

2) Disconnect the WiiM speaker cable.

3) Turn on 'Subwoofer Measurement' in the RoomFit settings.

3-2) Change the frequency range to 6700hz-8000hz.


...This will confirm the response of the sub only.
 
Great that you caught that! You are absolutely right - there is a few dB difference in target level between the two channels, which implies that WiiM RoomFit adjusts target level for each channel independently. :confused:

IMHO this is an incorrect way to do it since it can cause channel tonality imbalances when RoomFit isn't run full range.
I.e. if we limit RoomFit to say 400Hz, and individual channel RoomFit sets the target lower on one channel than the other, it means RoomFit correction will cut more bass from this channel making it brighter sounding than the other (where less bass is cut due to the higher target level).

@jiaxin.li (WiiM), @WiiM Support, @WiiM Team Could you perhaps comment, please?
The level shown in RoomFit is only a reference value — it is not an independent level adjustment applied to the left and right channels. Its purpose is to provide a visual reference for users, making it easier to compare changes before and after EQ correction.
 
3-2) Change the frequency range to 6700hz-8000hz.


...This will confirm the response of the sub only.

Thanks a lot for the interesting ideas. The instruction seems to be clear aport of these frequency range. Should I put it between 6700-8000 or up to 6700-8000. And what is the reason to set so high range?

I use simple d class smsl amp with Ultra so I guess I can simply turn it off during measurements instead of disconnecting speaker cables, right ?
 
I did what you recommended @dominikz, which is to move the speakers farther away from the side wall. I was able to do it and now the distance from the side wall is 104cm.

1st Test: Crossover at 80 Hz

View attachment 26002
View attachment 26003

2nd Test: Crossover at 90 Hz

View attachment 26004
View attachment 26005
90 Hz looks better to me, both, individual channels and final assessment.

But the difference isn't night and day. Based on these results I would probably simply pick what sounds better to your ears.
 
Thanks a lot for the interesting ideas. The instruction seems to be clear aport of these frequency range. Should I put it between 6700-8000 or up to 6700-8000. And what is the reason to set so high range?
The purpose is to make measurements only, with as little correction as possible. Any frequency can be used, as long as it is not in the frequency range of the subwoofer.


I use simple d class smsl amp with Ultra so I guess I can simply turn it off during measurements instead of disconnecting speaker cables, right ?
It will probably work fine.

Please remember to restore the RoomFit and crossover values when you have finished the measurement 🙂
 
Increased mains latency in sub sync menu to 9 ms

Here are results View attachment 25998View attachment 25999View attachment 26000
I'm sure we all had hoped for a more obvious difference. 😅

The 9 ms delay measurements actually do look better, just not right at 70 Hz. If you look further up, the 100 Hz area is smoother than with the 7 ms delay setting (but not a substantial improvement over the original 3 ms delay setting).

It's probably best to follow @Wiimer's suggestions and try to capture the sun's response alone first.

What is your sub level setting in the WiiM Home app? I wonder if a reduced level might actually work better.
 
The level shown in RoomFit is only a reference value — it is not an independent level adjustment applied to the left and right channels. Its purpose is to provide a visual reference for users, making it easier to compare changes before and after EQ correction.
I don't understand that explanation. You can see that the left and right channels in this case are corrected to a different target level and this affects the balance between high and low frequencies. For the left channel the high frequencies are well below the target curve.
I think if a wider frequency range was chosen for room correction the target levels would be closer together. I have seen a similar result myself where the results for a flat target looked very similar to results for a B&K target when I used a frequency range of 20-400Hz. Choosing 20-4000Hz fixed this issue.
 
Last edited:
I'm sure we all had hoped for a more obvious difference. 😅

The 9 ms delay measurements actually do look better, just not right at 70 Hz. If you look further up, the 100 Hz area is smoother than with the 7 ms delay setting (but not a substantial improvement over the original 3 ms delay setting).

It's probably best to follow @Wiimer's suggestions and try to capture the sun's response alone first.

What is your sub level setting in the WiiM Home app? I wonder if a reduced level might actually work better.

The sub level at Wiim App i set to 0, on sub (labeled as “level”) on 11 o’clock - see attached photo on provirus posts.

I will do more tests afternoon or during the weekend coz yesterday i did so many sweeps with this strange tests sounds that my wife was about to pack me and send to mental institution.
 
I did what you recommended @dominikz, which is to move the speakers farther away from the side wall. I was able to do it and now the distance from the side wall is 104cm.

1st Test: Crossover at 80 Hz

View attachment 26002
View attachment 26003

2nd Test: Crossover at 90 Hz

View attachment 26004
View attachment 26005
Nice, good work!

We can see how with the placement change the left channel 80-100Hz dip improved (got a bit shallower), and then changing to a 90Hz crossover removed it completely.
The region around 50Hz looks a little bit rougher than what you had originally, but IMHO that's a reasonable tradeoff since it's not severe and anyway there's usually much more going on in music around 100Hz than 50Hz.

I'd say the 90Hz crossover with the new placement is the most promising one so far, but I agree with @harkpabst that all three variants you measured are pretty good and that you should choose the one that sounds best to you.

So this may be as far as (minor) placement changes will take us.
You could perhaps try putting the sub in the right corner instead of the left one and see if that helps in any way. The left one has a protrusion where the door is, so I expect there would be some difference in response, but can't say if it would be better or worse without a measurement.

By the way, I assume you are using the same RoomFit settings since the beginning, right?
And I assume you use the UMIK-1 to measure, with its calibration file loaded in RoomFit, right?
Which calibration file are you using (0° or 90°) and where do you point the UMIK when you measure?

Once you're happy with the placement and crossover frequency, next step would be to try and optimize delays to see if we can get any more improvement around the crossover region.

Ideally we'd do this by directly measuring the timing difference between sub and speakers with e.g. REW.

However, what we can do instead is to try and do the optimization experimentally - by doing RoomFit calibrations with iterative main loudspeaker delay value changed from e.g. 5ms up to 11ms (that’s 3ms lower and 3ms higher than the 8ms value you use at the moment). Basically you re-run RoomFit with every new configured delay value, we look at the responses of each and select one that looks best/smoothest.
 
The level shown in RoomFit is only a reference value — it is not an independent level adjustment applied to the left and right channels. Its purpose is to provide a visual reference for users, making it easier to compare changes before and after EQ correction.
Thanks a lot for responding!

I can understand that the visualization is not meant to be super-precise, but if you take a closer look at the calculated filters it really looks like the two channels use different target levels.

Take this example, where everything below 90Hz is mono (i.e. crossed over to a single sub):

1756435903222-png.26004


Given that the same sub is used by both channels, we see that the measured response below 90Hz is practically identical in both channels.

As such, if the target level was the same as well, we'd expect the filters below 90Hz to have roughly similar gains.
However, you can clearly see that e.g. at 27Hz the total filter gain in the left channel is around -7 to -8dB, while it is -10 dB in the right one. This seems to correspond well to the apparent target level difference between the channels.

IMHO the absolute target level should always be identical for both channels, and it should be set based on full-range response (i.e. not just based on the correction range set in RoomFit).
 
Last edited:
I don't understand that explanation. You can see that the left and right channels in this case are corrected to a different target level and this affects the balance between high and low frequencies. For the left channel the high frequencies are well below the target curve.
I think if a wider frequency range was chosen for room correction the target levels would be closer together. I have seen a similar result myself where the results for a flat target looked very similar to results for a B&K target when I used a frequency range of 20-400Hx. Choosing 20-4000Hz fixed this issue.
When the calibration range is narrow and Non-Boost Mode is enabled, RoomFit aligns the target curve to the relative energy level within that frequency band. Because the left and right channels often have different energy in that range, the target curves can appear at different levels.
 
Thanks a lot for responding!

I can understand that the visualization is not meant to be super-precise, but if you take a closer look at the calculated filters it really looks like the two channels use different target levels.

Take this example, where everything below 90Hz is mono (i.e. crossed over to a single sub):

1756435903222-png.26004


Given that the same sub is used by both channels, we see that the measured response below 90Hz is practically identical in both channels.

As such, if the target level was the same as well, we'd expect the filters below 90Hz to have roughly similar gains.
However, you can clearly see that e.g. at 27Hz the total filter gain in the left channel is around -7 to -8dB, while it is -10 dB in the right one. This seems to correspond well to the apparent target level difference between the channels.

IMHO the absolute target level should always be identical for both channels, and it should be set based on full-range response (i.e. not just based on the correction range set in RoomFit).
Thank you for the detailed observation. We agree with your point that the absolute target level should be identical for both channels, and we will take this into consideration for future improvements.
 
When the calibration range is narrow and Non-Boost Mode is enabled, RoomFit aligns the target curve to the relative energy level within that frequency band. Because the left and right channels often have different energy in that range, the target curves can appear at different levels.
That doesn't really seem to be the correct methodology. The frequencies outside the chosen range should not be adversely affected by the RoomFit correction. Your method purposely introduces a different frequency response for each speaker.
 
That doesn't really seem to be the correct methodology. The frequencies outside the chosen range should not be adversely affected by the RoomFit correction. Your method purposely introduces a different frequency response for each speaker.
Good point. You’re right that correction outside the chosen band shouldn’t be impacted and both channels should stay consistent. Thanks for raising this — we’ll keep it in mind for improvements.
 
Once you're happy with the placement and crossover frequency, next step would be to try and optimize delays to see if we can get any more improvement around the crossover region.

Ideally we'd do this by directly measuring the timing difference between sub and speakers with e.g. REW.

However, what we can do instead is to try and do the optimization experimentally - by doing RoomFit calibrations with iterative main loudspeaker delay value changed from e.g. 5ms up to 11ms (that’s 3ms lower and 3ms higher than the 8ms value you use at the moment). Basically you re-run RoomFit with every new configured delay value, we look at the responses of each and select one that looks best/smoothest.
@lempogi One more comment at the risk of muddying the waters a bit - note that by using the above approach we can't be 100% sure we really chose the optimal delay value. Delay that produces subjectively the best-looking frequency response may or may not perfectly align the sub and speakers in the time domain. But doing a perfect alignment is not trivial, so this is IMHO a reasonable tradeoff for now.
Thank you for the detailed observation. We agree with your point that the absolute target level should be identical for both channels, and we will take this into consideration for future improvements.
Thanks a lot, that is really good to hear!
When the calibration range is narrow and Non-Boost Mode is enabled, RoomFit aligns the target curve to the relative energy level within that frequency band. Because the left and right channels often have different energy in that range, the target curves can appear at different levels.
IMHO this is not an ideal approach, let me explain why I think so.

The low frequency region below the room's transition frequency will usually exhibit the highest variation in response (due to room modes and SBIR), and it is also the only part of the full system response that benefits from room correction EQ. If sub/speaker placement is optimized to avoid response dips, it is likely that low frequencies will have significantly higher average level than the rest of the response above the room transition frequency. We see that in the response from my previous post as well.

So if RoomFit uses only this limited (narrow) part of the response to calculate the absolute target curve level, the target curve will likely be set too high relative to the rest of the response, causing a shift in overall tonal balance even after RoomFit correction.
On the other hand, using the full spectrum to set the target level would better preserve the overall tonal balance.

Of course there is one problem with this - a lot of people may be using uncalibrated built-in phone microphones, which usually exhibit very strong resonance peaks at high frequencies (e.g. 8kHz and higher), which could undesirably shift target level if they were taken into account.

To address these cases I can think of two potential solutions:
1) Allow user adjustment of initially set relative target level. IMHO this would be quite valuable to have for advanced users, but might confuse others.
2) Predefine a fixed frequency range that is used to set the absolute target level; regardless of the range configured for correction in RoomFit. E.g. setting target level based on the response between 80Hz to 4kHz might be a good generic choice that should IMO work well in most cases.
 
Back
Top