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

Any recommendations how I could use these filters on MacOS w Apple Music?

One option would be to use MConvolutionEZ (free AU plugin) hosted within SoundSource (paid).

Within SoundSource you would add MConvolutionEZ to the Apple Music to host the stereo version of GSonic's filter results. I'm not aware of any free plugin hosts but there might be one out there for Mac.
 
Any recommendations how I could use these filters on MacOS w Apple Music?

A quick search show Pedalboard2 might do the trick for free but it hasn't been updated in 4 years. You might still need the virtual cable (Blackhole) to direct the audio stream.
 
Many thanks for your response!! I haven't tried Equalizer APO before today so I'm ignorant of its nuances.

I've following those instructions my result looks as you show except that the "Convolution with ..." row appears above the "Selected channels row, (if that's a problem). See picture below.

Seems to be working though I had to increase the gain in Equalizer APO.
You're very welcome! It took me a while to get properly acquainted with it too. With all its quirks it's still a god-sent piece of software and there really is nothing quite like it, even when one is willing to pay. I really recommend you try out the (free) Peace GUI for EQAPO as well - makes the layout clearer and the experience a bit smoother overall. It doesn't negate the necessity of the editor though :)

To the left, where the rows are numbered (1-6), you can grab them with the mouse and drag them up/down, changing their order. EQAPO is a text based tool and the configuration editor is just a visualization aid; the commands you enter there can all be displayed in text and from what I understand, the order matters, as the first action selects a channel for which the next action (the filter) will be applied. I'd arrange them like they are in my screenshot, then you're on the safe side - or at least perform a sanity check in REW.

And dito re: gain. I mentioned already that I'm using replay gain tags for my music, which sometimes steal as much as 10db of headroom in my musicbee player for some ungodly reason. Thus, in order to achieve my desired volume levels, the peak gain of my left channel is currently sitting at 8.8db, which is probably suboptimal, but causes me little concern - music playing is far from clipping in the overwhelming majority of cases. Nevertheless, it's astonishing to me: I have a DAC with a proper output and 100W on tap for each channel powering 95db sensitivity 8 Ohm speakers and I'm running out of gain - through no fault of GSonic's own, of course.
 
Last edited:
You're right, but this relates to a personal gripe of mine - an average consumer will be integrating his stereo in his living room, where a screen is already usually present. DSP solutions which disregard the "video" part of AV completely are imo doomed to be a niche product. Sadly, we don't all have the luxury of a dedicated living room - and I am not foregoing the auditory pleasure of watching a nice movie or playing video games on my system, which is particularly enticing in multichannel.

My use case basically requires the same system wide latency - or, well, no latency at all - because I have a PC as a source. It's easy to compensate for latency when watching movies, I guess - any competent playback software will allow you to dial in delays for audio... Not sure about everything else, though.



This actually sounds manageable! I'll report back when I tried it out.
I'm in the same situation ... stereo and movies in the living room. For surround/movies content I'm using Dirac build in my AV processor (because of low latences). However, for listening of streaming content I'm using FIR filters with Roon convolver. For Streamer/Roon AV input Dirac is automatically bypassed (only Subs crossover in AV, no room correction - so called Direct mode in Emotiva AV). From my experiences usage of pure FIR filters have edge over Dirac. At the moment I use REW to create filters. Curious about Gsonic, will try it. :)
 
A quick search show Pedalboard2 might do the trick for free but it hasn't been updated in 4 years.
Interesting, I did not know that one. But after downloading it does not work on my Apple silicon Macbook, "needs updating".
I use LAconvolver (https://vstwarehouse.com/d/laconvolver/) as plugin and HLHost for routing. This is not available as stand alone any more, now it is part of HL-DSP-Suite (https://accuratesound.ca/hlh-application/) which @ShadowBoxer recommended.
If you want to try the cheapskate way, you could try Element (https://kushview.net/element/) for routing. It is free, but I had stability problems with complex plugins.
 
Amazing work!
Any plan to output a set of biquads for computation power starved hardware?
 
If you want to try the cheapskate way, you could try Element (https://kushview.net/element/) for routing. It is free, but I had stability problems with complex plugins.

Yes, I wasn't aware of Pedalboard2 either, I should have just recommended Mitch's HLC Host app from the beginning which is very inexpensive and a virtual cable as @ShadowBoxer suggested. I used to use Element as well but found the same instabilities (on Mac), sad that it hasn't been resolved yet. I also have Sir3 which is a great multipurpose plugin for hosting filters but a bit on the pricey side if you're not utilizing it for other audio needs.
 
Hi, i am testing V1.0.16 on a M4 Mac with a 4K TV, display scaled to HD, but the GSonic window doesnt scale properly, only about half the text is visible, see screenshot:
Screenshot 07.04.2026 um 20.07.20 PM.png


It works fine if I rescale the display to 4K, but then everything is way to small on my TV
 
  • Like
Reactions: OCA
DITTO the above problem!!!

A tiny problem seems to be that Gsonic window doesn't size properly depending on the Window's System > Display > Scale setting.

In my case, on account of my 81 y/o vision, the Scale is 200% on my 3820x2160 monitor. The Gsonic window is tiny and the text so tiny that I almost must use a magnifying glass to see it.
 
Great job, Serkan! As usual, you’re up to your old tricks… every time I finish implementing a change or improvement to my system, you happen to release a new technique :p

I don’t want to derail the thread, but I’d like to know if there’s a workaround to use this release of GSonic (or its future premium version) with multichannel content: 5.1 music, movies, or even stereo via upmixers like Dolby Pro Logic or JRiver JRSS. Or is GSonic not designed for this kind of use, nor will it be in the future? I don’t think I’m the only one interested in applying it to multichannel.

In my case, I’ve designed individual FIR filters per channel (mono .WAV) that I load into a .CFG file within the JRiver convolver for a 5.1 system consisting of 5 full-range bookshelf speakers and two active subwoofers that function as a single Mono Sub Group. Each full-range speaker has its own FIR for amplitude and phase correction, and both subwoofers share a single FIR since they were measured and treated as a group.

I also have an extensive dataset of measurements taken with REW + UMIK-1 in different room configurations (motorized sofa, TV extendable up to 1 m, coffee table present/absent).

My specific questions:
  • Does GSonic only work by capturing new data through its own interface, or does it allow loading external measurements?
  • What would be the recommended workflow in my case, considering that the Sub Mono Group is already corrected with its shared FIR?
One possible approach that comes to mind: Correct only the L/R stereo channels with GSonic, keep the Sub Mono Group as is, and perform the crossover in JRiver.

In that case, I could apply the same approach to the surrounds, replacing my FIRs with those generated by GSonic in the .CFG. However, the center channel would be left out of that workflow. How could I integrate the Center channel into the mix with GSonic? Or the only way to go is to keep my own FIR for the Center?

Finally, a question about the measurement process:
  • GSonic uses three positions for spatial averaging. Why is the measurement in MLP the first one and not the last?
I mention this because, if one wanted to perform a final verification measurement and adjust the compensatory delays (by aligning the impulse response in MLP), it would make more sense for that position to be the last one, avoiding the need to reposition the microphone afterward.
 
Last edited:
Here is my before (Swissonic A306 with aligned Dual SVS SB-2000 and some EQ to remove strong ringing / phase misalignment between subs due to room modes + linear phase FIR filter on my left speaker to fixer driver variance at around 2.5kHz):
1775595786389.png


This is my resulting FR (single point measurement):
1775596394854.png


Left Speaker Phase:
1775598908841.png


Right Speaker Phase:
1775598994991.png

Left Speaker IR:
1775596498486.png

Right Speaker IR:
1775596536720.png


RT60 Left Channel (this is such a massive difference that I'm almost sure that it should be a measurement mistake, but I can't test it rn at higher levels cause it's already night; got similarly low decay using a low level measurement):
1775596706984.png


RT60 Right Channel:
1775596786606.png


Group Delay:
1775596946497.png


Left D50 Clarity:
1775598236907.png
Right D50 Clarity:
1775598203742.png


C80 Clarity:
1775598468967.png


The Imaging in the lower Bass is better and more front and center then I ever heard before!

My overall impression is that it's better then any other Auto-EQ I've tried so far, but there are some nitpicks:
- The peak at 300-400Hz wasn't corrected
- The Imaging is a bit to the right since the manual correction for diver difference was overwritten (I'll try adding it on top tomorrow to see if that fixes it); it would be nice if it was possible to set a slightly different target for each channel to correct this
- If I don't correct the Infrasonic response first is there a massive shelf, due to being limited to 20Hz (it also didn't correct the problem at 220Hz and 400Hz); I think a warning should be given if strong Infrasonics are detected
1775597754828.png


Thank you OCA for proving such great tool to this community!
 

Attachments

  • 1775598941021.png
    1775598941021.png
    539.4 KB · Views: 36
I'm in the same situation ... stereo and movies in the living room. For surround/movies content I'm using Dirac build in my AV processor (because of low latences). However, for listening of streaming content I'm using FIR filters with Roon convolver. For Streamer/Roon AV input Dirac is automatically bypassed (only Subs crossover in AV, no room correction - so called Direct mode in Emotiva AV). From my experiences usage of pure FIR filters have edge over Dirac. At the moment I use REW to create filters. Curious about Gsonic, will try it.
I emphatically advise you to do so. I thought the bass in my system sounded great already - the woofers in my speakers are the predecessors to the JBL 2216Nd, they are solid 15 inchers. GSonic was further transformative to the system. Simply brilliant stuff. Never liked an automatic room correction tool so much before (with the exception of ART which a friend runs, though I am not sure that I prefer). GSonic is low latency too, works without a hitch with movies/games.

I don’t want to derail the thread, but I’d like to know if there’s a workaround to use this release of GSonic (or its future premium version) with multichannel content: 5.1 music, movies, or even stereo via upmixers like Dolby Pro Logic or JRiver JRSS. Or is GSonic not designed for this kind of use, nor will it be in the future? I don’t think I’m the only one interested in applying it to multichannel.
So I heard through the grapevine (i.e. OCA told me) that a multichannel system could be optimized with GSonic by routing the left/right signal into the side/rear speaker pairs (easily done in EQAPO/Peace) and letting GSonic treat them as normal fronts, with the caveat that in this case, it might be advisable to use the 90 degree mic calibration file and have the mic point upwards. After that you just convolve individual channels again. I tried it today and it works perfectly as you'd expect, you naturally end up with equal length filters, though the procedure was admittedly not as straight forward with the rears crossed over to a subwoofer. I couldn't figure out how to make it work with two that aren't placed symmetrically, so I settled on using (my biggest) one - I really just need it to do the .1 channel stuff and help out rears anyway. I left the delays that were dialed in in the past (otherwise the crossover region would not look pretty) and took the sweeps with the subwoofer active. I guess this kinda necessitates having the knowledge of your system's delays/crossovers beforehand though, as these will remain active throughout. The filter for the region covered by the subwoofer (20-60hz in my case) is very similar in both resulting correction files, which means you can just apply either L or R convolution to the subwoofer, which should produce a very good looking and sounding result. I would measure both L and R correction for the sub in REW, since one of the two might yield a better result, as it did in my case.

Even with Peace, the editor is starting to look unsightly (SR is the sub - the smaller one that I don't care about anymore is occupying LFE):

Unbenannt.png


Still, I my questionably placed rears to look like this with the sub (ignore the 700hz bump, that was due to mis-applied eq on my side and is gone now):

rears.jpg


And this is what my left speaker alone looks like at the moment: :)

L.jpg


Sounds absolutely marvelous.

Now, the question is: can this also be done with the center and the left/right speaker, dismissing the created L/R correction and just using the center speaker convolution file? I might own a modestly sized center soon - I would assume/hope so but idk. I'll find out soon enough I guess
 
Last edited:
Have not read all posts but curious to know if the tool exports the filter in text file like REW?
 
  • Does GSonic only work by capturing new data through its own interface, or does it allow loading external measurements?
  • What would be the recommended workflow in my case, considering that the Sub Mono Group is already corrected with its shared FIR?
  • 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.
 
Last edited:
Have not read all posts but curious to know if the tool exports the filter in text file like REW?
Why would you need filters as .txt files?
 
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.
 
I think a warning should be given if strong Infrasonics are detected
I am looking into this.
Any plan to output a set of biquads for computation power starved hardware?
Algo gradually switches from min phase to zero phase in a calculated transient zone. It's possible to generate biquads for the low frequency band and add a miniDSP compatible excess phase filter in .bin format but it's not a quick fix and results will not be identical.
 
Back
Top Bottom