• 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!

GSonic Reference – Free Stereo Room Correction Tool (Measurement + FIR Export)

The peak at 300-400Hz wasn't corrected
These were probably not speaker sourced and non-min phase peaks (strong, early room reflection combining with the direct sound at the microphone) which the algo would correctly leave alone. It would otherwise be damaging the direct sound of your speaker in the midrange just to satisfy a visual target curve.
 
Hey guys,

First of all, huge respect OCA for all your work!

I’ve been experimenting quite a lot with REW, but I’ve run into an issue that I can’t seem to resolve. I’ve always been using the Java driver, and when I try to switch to ASIO, REW doesn’t let me configure input/output properly (likely because I’m using a UMIK-2 + Eversolo DAC combination).

From what I understand, my timing inconsistencies (especially in IR/ETC) might be related to using the Java driver.
My setup:

Eversolo DMP-A8 (USB DAC to PC)
Audio Physic Classic 8
No subwoofer
UMIK-2 microphone

What I’m trying to achieve:
Run REW sweeps directly (not via WAV)
Get stable and repeatable timing measurements

Issues:
ASIO (Eversolo driver) works for output but not for input (UMIK-2)
ASIO4ALL can’t reliably combine both devices
WASAPI doesn’t show up in REW on my system

So I’m stuck using Java, which seems to cause timing inconsistencies

Questions:

Is using Java in this setup actually causing timing errors in REW?

What would be the best practice for combining a USB DAC (Eversolo) and UMIK-2 for accurate measurements?

Is acoustic timing reference sufficient to get reliable results in this case?

Additionally, I’m very interested in trying G-Sonic.

I’ve read (YouTube comments) that someone experienced distorted sound when using G-Sonic with the DMP-A8. Is this something you’re aware of, or could it be a configuration issue?

Any advice would be greatly appreciated!
Thanks in advance.
 

Attachments

  • image-1775643457585.jpg
    image-1775643457585.jpg
    275.8 KB · Views: 17
Hey guys,

First of all, huge respect OCA for all your work!

I’ve been experimenting quite a lot with REW, but I’ve run into an issue that I can’t seem to resolve. I’ve always been using the Java driver, and when I try to switch to ASIO, REW doesn’t let me configure input/output properly (likely because I’m using a UMIK-2 + Eversolo DAC combination).

From what I understand, my timing inconsistencies (especially in IR/ETC) might be related to using the Java driver.
My setup:

Eversolo DMP-A8 (USB DAC to PC)
Audio Physic Classic 8
No subwoofer
UMIK-2 microphone

What I’m trying to achieve:
Run REW sweeps directly (not via WAV)
Get stable and repeatable timing measurements

Issues:
ASIO (Eversolo driver) works for output but not for input (UMIK-2)
ASIO4ALL can’t reliably combine both devices
WASAPI doesn’t show up in REW on my system

So I’m stuck using Java, which seems to cause timing inconsistencies

Questions:

Is using Java in this setup actually causing timing errors in REW?

What would be the best practice for combining a USB DAC (Eversolo) and UMIK-2 for accurate measurements?

Is acoustic timing reference sufficient to get reliable results in this case?

Additionally, I’m very interested in trying G-Sonic.

I’ve read (YouTube comments) that someone experienced distorted sound when using G-Sonic with the DMP-A8. Is this something you’re aware of, or could it be a configuration issue?

Any advice would be greatly appreciated!
Thanks in advance.
There's nothing REW can do about it. ASIO by design is strictly limited to same input/output device by Windows and even though Umik-2 comes with its own ASIO driver, it's input only and output will need to be a different device which causes the failure. In the past I solved this with Asio4All but that's in fact just a Wasapi wrapper so you make no real use of ASIO latency, in fact getting slightly worse than you would with REW's Wasapi (Exclusive Java) drivers.

I have not tested neither but there are two true ASIO interface mixing apps AFAIK:

 
Is acoustic timing reference sufficient to get reliable results in this case?
Use optical cable if possible between source and endpoint, that carries clocking sync info along with the signal. Acoustic chirp is efficient and removes most of the clock drift but not optimal (i.e. assumes clock drift is fixed along the full frequency band although it's in fact not).
 
Use optical cable if possible between source and endpoint, that carries clocking sync info along with the signal. Acoustic chirp is efficient and removes most of the clock drift but not optimal (i.e. assumes clock drift is fixed along the full frequency band although it's in fact not).
thanks OCA cant wait to run Gsonic and i will report back.
 
  • Like
Reactions: OCA
Dear OCA,

I really appreciate the work you’ve been doing on your YouTube channel, and I’m very keen to try your solution as soon as possible.

I’m currently deciding between the DAC8 Stereo and the OKTO DAC8 PRO. There’s a bit of a psychological hurdle in accepting the on-paper performance gap of the 8-channel version compared to the stereo one. At the same time, the 8-channel unit would make future subwoofer integration much easier, whereas the stereo version measures better.

Please correct me if I’m mistaken, but if I were to choose the stereo version:
  1. I could still correct the room response by measuring speakers and subs together (using the two pairs of XLR outputs) with GSonic.
  2. I would run the main speakers full-range, without applying a crossover to the subs.
  3. I could address the large bass dips caused by speaker placement by flattening the amplitude response.
  4. Phase alignment in the sub-bass region—where it overlaps with the main speakers (which extend very low, around 20 Hz with the B&W Nautilus 801)—would likely remain problematic and potentially impossible to correct.

Point 4 seems inevitable due to the geometry: the subs would be placed about 1.8 m behind the speakers to compensate for the 35–50 Hz dip present in the mains-only configuration. However, would the resulting phase misalignment be severe enough to justify choosing the lower-measuring 8-channel DAC?

On the other hand, I’ve often heard that crossing over (high-passing) the main speakers can be counterproductive, as it may constrain their full-range expression, reduce bass authority, and subtly affect the coherence and realism of the soundstage.

With regards
 
Why would you need filters as .txt files?
Sorry not filters but mic calibration

crossed wires I guess irrelevant to your project?

 
@OCA

Did the measurements Gsonic.

uploaded the filters left and right to the eversolo DMP-8.

Something looks off and i get no sound.

please see attachements.

first attachement you can see my own fir file looks normal. When i uploaded Gsonic created filters it look really weird?

last 2 attachements you can see the difference visually clear
 

Attachments

  • 20260408_171302.jpg
    20260408_171302.jpg
    446.6 KB · Views: 40
  • 20260408_171318.jpg
    20260408_171318.jpg
    404.2 KB · Views: 38
  • 20260408_171323.jpg
    20260408_171323.jpg
    327.4 KB · Views: 34
  • 20260408_171328.jpg
    20260408_171328.jpg
    370.5 KB · Views: 38
  • 20260408_171340.jpg
    20260408_171340.jpg
    448.4 KB · Views: 41
  • Screenshot_20260408_173718_Eversolo Control.jpg
    Screenshot_20260408_173718_Eversolo Control.jpg
    56.2 KB · Views: 33
  • Screenshot_20260408_173736_Eversolo Control.jpg
    Screenshot_20260408_173736_Eversolo Control.jpg
    44.2 KB · Views: 37
Last edited:
Thanks for all the valuable feedback and suggestions. GSonic Reference v1.0.17 has been released:

Fixed
HiDPI scaling - fixed UI text/layout scaling on Windows 200%+ display scales and macOS with 4K/external displays.
New
Output Level slider
- adjustable sweep attenuation from 0 to -30 dB in the Measure tab. Defaults to -12 dB (matching REW convention) to protect power amplifiers. Saved across sessions.
Damn. Now I need to re-measure my fronts and rears at some point to fix gain stages.

I’m currently deciding between the DAC8 Stereo and the OKTO DAC8 PRO. There’s a bit of a psychological hurdle in accepting the on-paper performance gap of the 8-channel version compared to the stereo one. At the same time, the 8-channel unit would make future subwoofer integration much easier, whereas the stereo version measures better.
Please get the multichannel OKTO and set up a multichannel system :) Besides, it can never hurt to have more channels and the "differences" you are pondering are 100% completely and utterly inaudible in any conceivable use case, as they are both very capable units
 
Last edited:
  • Like
Reactions: OCA
  • REW, Smaart, Arta, Open Sound Meter, Sys Tune, ... all have quite different approaches to exporting relative timing information of measurement impulse responses and allowing measurement importing would require a lot of work with lots of bug potential hence the decision for the tool to take its own measurements. The measurement algorithm enforces synchronization between the fundamental sweep and its harmonics and is superior to conventional log-sweep measurements: Synchronized Swept-Sine
  • Time/polarity align sub with speakers at the selected crossover (no EQ) and measure sub + speaker as one.
Thank you very much for your response. However, I still don't understand why the Mono Sub Group needs to be active when capturing the L/R response. How exactly does this help the GSonic algorithm? When the crossover with subs is applied, the final response is the result of:

• the contribution of the Mono Sub Group below the LPF (where the FIR I’ve already created is active),
• and the contribution of the L/R channels above the HPF.

In that context, GSonic would only be generating the FIR to correct the contribution of the L/R channels above the crossover’s HPF.

Is it simply so that GSonic “understands” what is happening below the HPF and thus achieves proper gain matching at the crossover transition? Is that the reason, or is there some other technical reason behind it? I’m having trouble understanding it because it’s a bit abstract.

On the other hand, my filters have been exported as 32K with a 100ms left / 500ms right Tukey 0.25 window; what type of windowing does GSonic apply?
 
@OCA

Did the measurements Gsonic.

uploaded the filters left and right to the eversolo DMP-8.

Something looks off and i get no sound.

please see attachements.

first attachement you can see my own fir file looks normal. When i uploaded Gsonic created filters it look really weird?

last 2 attachements you can see the difference visually clear
Web sources say DMP-8 has a FIR tap limit of 2046. GSonic filters are 32768 taps. If that info is accurate, Eversolo solutions should be similar to MiniDSP: PEQ below Schroeder's and crossover phase correction using the FIR taps.
 
Dear OCA,

I really appreciate the work you’ve been doing on your YouTube channel, and I’m very keen to try your solution as soon as possible.

I’m currently deciding between the DAC8 Stereo and the OKTO DAC8 PRO. There’s a bit of a psychological hurdle in accepting the on-paper performance gap of the 8-channel version compared to the stereo one. At the same time, the 8-channel unit would make future subwoofer integration much easier, whereas the stereo version measures better.

Please correct me if I’m mistaken, but if I were to choose the stereo version:
  1. I could still correct the room response by measuring speakers and subs together (using the two pairs of XLR outputs) with GSonic.
  2. I would run the main speakers full-range, without applying a crossover to the subs.
  3. I could address the large bass dips caused by speaker placement by flattening the amplitude response.
  4. Phase alignment in the sub-bass region—where it overlaps with the main speakers (which extend very low, around 20 Hz with the B&W Nautilus 801)—would likely remain problematic and potentially impossible to correct.

Point 4 seems inevitable due to the geometry: the subs would be placed about 1.8 m behind the speakers to compensate for the 35–50 Hz dip present in the mains-only configuration. However, would the resulting phase misalignment be severe enough to justify choosing the lower-measuring 8-channel DAC?

On the other hand, I’ve often heard that crossing over (high-passing) the main speakers can be counterproductive, as it may constrain their full-range expression, reduce bass authority, and subtly affect the coherence and realism of the soundstage.

With regards
I am not familiar with these devices but if you have the budget, going for more channels will always be advantageous for the future. The upcoming MIMO version for example still have benefits with 2.0 but it really shines when there are multiple support channels.
 
the contribution of the Mono Sub Group below the LPF (where the FIR I’ve already created is active),
You only need min phase lpf and hpf at the crossover and if you are using miniDSP for crossover for example, that's already what you are getting (plus a sub/speaker delay offset). Don't apply additional EQ to subs or the speakers. Let GSonic handle all that.

Edit: Think of it as measuring a 3-way speaker with an additional woofer instead of a 2-way speaker, doesn't matter for GSonic.
 
Last edited:
Web sources say DMP-8 has a FIR tap limit of 2046. GSonic filters are 32768 taps. If that info is accurate, Eversolo solutions should be similar to MiniDSP: PEQ below Schroeder's and crossover phase correction using the FIR taps.
i'm sorry OCA but i have no idea what i should do to use Gsonic? How do i set it to below Schroeders? Can you please help me a bit further?
 
i'm sorry OCA but i have no idea what i should do to use Gsonic? How do i set it to below Schroeders? Can you please help me a bit further?
If you share the measurement files (.wav) produced by GSonic, I can try to make custom filters for your Eversolo.
 
Sorry not filters but mic calibration

crossed wires I guess irrelevant to your project?

If I understand correctly, yes you can and you should upload your mic cal file if there's one. They should be in .txt format.
 
Back
Top Bottom