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

Are there VST convolvers that allow for full matrix routing as required by MIMO approach? Since you are able to test/use the full version, i conclude there are. Just want to check if we need to wait for the full version AND vst plugin or only the software itself :)
 
Are there VST convolvers that allow for full matrix routing as required by MIMO approach? Since you are able to test/use the full version, i conclude there are. Just want to check if we need to wait for the full version AND vst plugin or only the software itself :)

@mitchco 's Hang Loose DSP Suite will let you do that.
 
Great questions, and honestly you’re hitting right at the core of what I’ve been working on.

Plugin (VST/AU): It’s definitely on the road map.
WAV / filter export: Yes
Speaker configurations: What you’re seeing is basic 7.1 LPCM over HDMI to an AVR. Internally, it's as flexible as the number of audio outputs your PC interface has. The limit is either 32 or 256 channels - need to check.
Up mixing: Not at this time.
Thanks.

I too have developed, for myself, a loopback system to perform system-wide matrix convolution and I know a bit the amount of work and technical problems to be solved (clock sync, race condition, real-time resources, ...).
Furthermore doing a cross-platform development greatly increases complexity.
Intel and ARM have completely different optimization criteria and instruction sets.

Have you opted for ASRC to keep in/out clocks in sync?
What partitioning scheme did you choose for convolution? (supposing it's partitioned...)
 
Last edited:
Sounds like you’ve tackled similar problems...
In my case I’m always targeting a single output device (ASIO or WASAPI) with multiple channels, so everything runs in the same clock domain and I haven’t needed to deal with ASRC or clock sync between endpoints. For measurements, clock drift is compensated with ATR similar to this app. On the convolution front, I initially went down the route of a uniformly partitioned, frequency domain engine (overlap save with a circular frequency delay line). But stepping back, I realized that for my use case it made more sense maybe to not embed a convolution engine at all. Instead, I’m now generating the appropriate filter/config setups for existing engines which also handle re-sampling. That keeps my side focused on filter design and system configuration rather than real time DSP (at least for now!).
 
Is your software (or the results) able to be used on an Apple TV? I'd like to help a friend with his home theatre, and that is his source for video/audio. And the dac/amp for his atmos-setup is done by a Denon x3700h
 
Is your software (or the results) able to be used on an Apple TV? I'd like to help a friend with his home theatre, and that is his source for video/audio. And the dac/amp for his atmos-setup is done by a Denon x3700h
Search for "A1 Evo AcoustiX" video, the download link is in the video description. It works great with X3700H and it's free.
 
Sounds like you’ve tackled similar problems...
In my case I’m always targeting a single output device (ASIO or WASAPI) with multiple channels, so everything runs in the same clock domain and I haven’t needed to deal with ASRC or clock sync between endpoints. For measurements, clock drift is compensated with ATR similar to this app. On the convolution front, I initially went down the route of a uniformly partitioned, frequency domain engine (overlap save with a circular frequency delay line). But stepping back, I realized that for my use case it made more sense maybe to not embed a convolution engine at all. Instead, I’m now generating the appropriate filter/config setups for existing engines which also handle re-sampling. That keeps my side focused on filter design and system configuration rather than real time DSP (at least for now!).
When you say you're always targeting a single output device I'm missing something.
Is your engine not intended to be interposed between an input (loopback) and output audio device (whatever mch DAC/interface, rather then HDMI)?
Similar doubt for the convolver. If you rely on existing convolution engine you mean plugin inside a DAW?
I understand that you are putting aside the engine to focus first on the most important part that is DRC (that would makes sense). Is it?
 
Last edited:
When you say you're always targeting a single output device I'm missing something.
Is your engine not intended to be interposed between an input (loopback) and output audio device (whatever mch DAC/interface, rather then HDMI)?
Similar doubt for the convolver. If you rely on existing convolution engine you mean plugin inside a DAW?
I understand that you are putting aside the engine to focus first on the most important part that is DRC (that would makes sense). Is it?
Why would I need the input device once the system is measured and filters are generated?
 
Hi all,

Sorry to bother you with what is probably a basic question, but I’ve spent quite a few hours trying to figure this out and I’m still unsure about the correct workflow.

I am using G-Sonic to generate FIR filters, and I want to verify the results in REW after applying them.

My playback chain is:
Laptop → JRiver (DSP Studio / convolution) → Eversolo → speakers
Because of this setup, I cannot use a direct loopback timing reference. From what I understand, I therefore need to use the external sweep method with acoustic timing reference.
However, I’m struggling with a few points:

Measurement workflow
Is this correct?

Generate sweep in REW and export as WAV

Play the sweep via JRiver (with FIR filters active)

Set REW to use the UMIK only (no output)
Use acoustic timing reference (e.g. left speaker)

Start measurement in REW and manually trigger playback in JRiver
Timing reference

Do I always need to keep one speaker (e.g. left) playing as a reference for all measurements (sub, right, etc.)?
Channel routing in JRiver
What is the recommended way to route the sweep to individual channels while keeping the timing reference active?
(Using mixing matrix / copy / mute?)

Verification best practice
When verifying FIR filters:
Should I measure L and R separately (not L+R)?

Any pitfalls to avoid when comparing before/after FIR measurements?

REW output behavior
If REW is set to a dummy output (so it doesn’t play the sweep), is it expected that pressing “Measure” just waits for the incoming signal?

I just want to make sure I am actually measuring the processed signal (with FIR applied) and not accidentally bypassing something in the chain.

Any guidance or confirmation of the correct workflow would be greatly appreciated.

Thanks in advance!
 
TIP FOR DISPLAYING YOUR GRAPHS:
Since the initial results from this tool look spectacular—and this is just the beginning—keep the following in mind when sharing results: use a 50 dB scale between the maximum and minimum values in graphs covering the 10 Hz–20 kHz range. This ensures a standardized and accurate representation, preventing the manipulation of results, the concealment of issues, or the generation of nonexistent visual artifacts.

* With a more compressed scale, the result will appear worse than it actually is.
* With scales greater than 50 dB, the curve will look artificially better.

On the other hand, @OCA , throughout the thread, the latency of the filters has been mentioned, and that they are 32k taps, but I haven’t seen any specification of which windowing (left/right) the application uses when exporting them. Could you clarify this?
 
Oh my gosh, wouldn't it be amazing if Mitch and OCA joined forces in an audiophile joint venture, haha? Together, they could break the Matrix
Haha, I’ve learned quite a bit from Mitch’s work over the years and his Hang Loose suite is seriously impressive.

I think we’re just exploring different angles of a similar space though
 
they are 32k taps, but I haven’t seen any specification of which windowing (left/right) the application uses when exporting them. Could you clarify this?
The tail is truncated to 32k taps with a 10ms half-Hann fade-out window.
 
@OCA
please some infos about (payable) GSonic Atmos. Thank you. Have to make a new measurement, release date within a week? Would be great.
 
@OCA
please some infos about (payable) GSonic Atmos. Thank you. Have to make a new measurement, release date within a week? Would be great.
Tomorrow with a YT video if I can finish editing on time ;)
 
I thought this thread was about the free version?

Maybe paid stuff could get its own thread, would be less confusing for those who just want to test...
 
Back
Top Bottom