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

Wondering @OCA what the premium version will include?
1776339731715.png
 
Any ETA? Need any beta testers?
I’ve had a prototype running for a while, but I’m still working through platform differences and improving overall usability. Getting close though.

I’ll reach out when I’m ready for beta testers.
 
Hi Oca, first of all, thank you so much for the outstanding acoustic software since A1 evo. It’s a godsend for anyone whose devices aren’t compatible with Dirac Art, like the X3700 and others. It’s great that this exists, and it’s especially nice when an innovation like this „aus Deutschland kommt“. Acoustix alone has worked wonders on my 11.2 system. Of course, I’ll also test the full Pay version of GSonic. Since I’m not a stereo listener, my wish for future versions is either:

a) you can tap all 11.2 channels from the Denon’s preouts and send them via an A/C converter to the Dante network, where GSonic, CamillaDSP, ezBeQ, etc., run on a P4 or Mac mini to work their magic, and then send the signal via Dante to the power amps, or

b) You send the 11.2 Dolby Atmos/DTX-decoded channels directly via a Dante-capable preamp to the PI/Mac mini running GSonic, and then to the Dante-capable power amplifiers.

So can we hope that there will eventually be a GSonic version for 11.2? The devices are on the market, and so is the demand.
 
  • Like
Reactions: OCA
Observations on linux
- Buttons do not work: Browse does not do anything, the same for the button loading calibration file

Testing the sound:

Loading settings...
Enumerating audio devices...
Enumerating RtAudio devices...
ALSA lib control.c:1575:(snd_ctl_open_noupdate) [error.control] Invalid CTL pulse
Found 8 RtAudio devices
No ASIO drivers found, defaulting to RtAudio backend
Init complete.
Generating measurement signal...

-- Generating measurement signal --
Measurement sweep generated:
Duration: 10.9 s (523193 samples)
Range: 1 - 24000 Hz
Fade: 1000 samples (20.8 ms)
Timing reference generated (100ms)
Signal assembled: 14.1s total, level: -12 dBFS
-- Ready --

Sweep ready: 14.1s signal, 523193 sample inverse filter
[initBackend] Out: 'DAC8STEREO (USB Audio)' id=135 (2 ch), In: 'Umik-1 Gain: 18dB (USB Audio)' id=136 (2 ch)

RtApiAlsa::probeDeviceOpen: pcm device (hw:U18dB,0) data format not supported by RtAudio.

[RtAudio] openStream failed: RtApiAlsa::probeDeviceOpen: pcm device (hw:U18dB,0) data format not supported by RtAudio.
Failed to init backend for test


The mic is a classic UMIK-1
The DAC is the DAC8 stereo from Okto Research
 
Observations on linux
- Buttons do not work: Browse does not do anything, the same for the button loading calibration file

Testing the sound:

Loading settings...
Enumerating audio devices...
Enumerating RtAudio devices...
ALSA lib control.c:1575:(snd_ctl_open_noupdate) [error.control] Invalid CTL pulse
Found 8 RtAudio devices
No ASIO drivers found, defaulting to RtAudio backend
Init complete.
Generating measurement signal...

-- Generating measurement signal --
Measurement sweep generated:
Duration: 10.9 s (523193 samples)
Range: 1 - 24000 Hz
Fade: 1000 samples (20.8 ms)
Timing reference generated (100ms)
Signal assembled: 14.1s total, level: -12 dBFS
-- Ready --

Sweep ready: 14.1s signal, 523193 sample inverse filter
[initBackend] Out: 'DAC8STEREO (USB Audio)' id=135 (2 ch), In: 'Umik-1 Gain: 18dB (USB Audio)' id=136 (2 ch)

RtApiAlsa::probeDeviceOpen: pcm device (hw:U18dB,0) data format not supported by RtAudio.

[RtAudio] openStream failed: RtApiAlsa::probeDeviceOpen: pcm device (hw:U18dB,0) data format not supported by RtAudio.
Failed to init backend for test


The mic is a classic UMIK-1
The DAC is the DAC8 stereo from Okto Research

There's also a .log file for sharing to solve audio device related issues.
 
Finally got around to trying this. Initial thoughts are this is better than what I could achive with Acourate or Audiolense, with filters in Roon. All 3 can correct bass issues etc., but for some reason GSonic sounds like better detail retrival and much better/precise soundstage/localisation etc.
Many thanks OCA!

Now really want to try your MIMO version when released. Is it only for multi-channel systems? Or will it work with 2.0 channel stereo setups?
 

There's also a .log file for sharing to solve audio device related issues.
Anyone on Linux with issues and willingness to share the log? I will need to understand the issue to work on a fix.
 
Anyone on Linux with issues and willingness to share the log? I will need to understand the issue to work on a fix.
dear @OCA , if we have the sources we can ourselves investigate, at least as far as the GUI and the device access are concerned
 
That's a big ask

I'd be happy to test & feed back if my hardware were ready to go.

TBH I'd gladly donate / barter a turnkey Linux box if I were a bit less broke...
 
perhaps the umik 1, being mono, needs to be open with appropriate parameters? there could be some more levels of configuration for the audio open modes..
dear @OCA , if we have the sources we can ourselves investigate, at least as far as the GUI and the device access are concerned
 
UMIK-1 cannot work iirc

XLR mic, in the same two-way multichannel ASIO-driven interface that is outputting the signals.

As with Acourate and other tools.

Even those that allow acoustic / loopback workarounds, the above gives tighter-tolerance timing results.

This arena is where UMIK-1 falls down, compared also with UMIK-2 in other contexts.

OCA please correct me if I am off base wrt this Reference software.

Will the paid Convolver rig be different in this regard?
 
UMIK-1 cannot work iirc

XLR mic, in the same two-way multichannel ASIO-driven interface that is outputting the signals.

As with Acourate and other tools.

Even those that allow acoustic / loopback workarounds, the above gives tighter-tolerance timing results.

This arena is where UMIK-1 falls down, compared also with UMIK-2 in other contexts.

OCA please correct me if I am off base wrt this Reference software.

Will the paid Convolver rig be different in this regard?
This seems easily fixable, solved the same issue in Windows earlier. I couldn't look at it yet - still waiting for a proper .log file without the smileys ;)
 
Last edited:
I'm rather new to DSP room correction, but as an eager learner I have been trough lots of video tutorials and forum discussions in the last months to catch up with current state and emerging trends - and I'm so impressed about the knowledge and the tools shared in this community!

Having tried both manual approaches in REW to create FIR filters and then now the automated approach in GSonic Reference, and the perceived simplicity of GSonic is amazing considering the complexity behind the scenes!

However, I now realized that I'm stuck and will not be able to use/enjoy the generated GSonic filters, as my DSP (Eversolo DMP-8) has a physical limitation of 2046 taps per channel... (Similar to the limitations of any miniDSP owner limited to 2048 taps in a 2-channel setup)

@OCA Would it be a resonable wish to have the available taps as a configuration parameter in the GSonic Reference tool?

I understand that the filters will in that case not be as good as the standard filters with 32768 taps, but I assume even with less taps such an automatically generated filter will be a great place to start from and then continue in REW & rePhase to manually design PEQ filters if further tuning is needed beyond what the FIR filters can achieve.

Any input on this situation for anyone with limited DSP capabilities is much appreciated!
 
I'm rather new to DSP room correction, but as an eager learner I have been trough lots of video tutorials and forum discussions in the last months to catch up with current state and emerging trends - and I'm so impressed about the knowledge and the tools shared in this community!

Having tried both manual approaches in REW to create FIR filters and then now the automated approach in GSonic Reference, and the perceived simplicity of GSonic is amazing considering the complexity behind the scenes!

However, I now realized that I'm stuck and will not be able to use/enjoy the generated GSonic filters, as my DSP (Eversolo DMP-8) has a physical limitation of 2046 taps per channel... (Similar to the limitations of any miniDSP owner limited to 2048 taps in a 2-channel setup)

@OCA Would it be a resonable wish to have the available taps as a configuration parameter in the GSonic Reference tool?

I understand that the filters will in that case not be as good as the standard filters with 32768 taps, but I assume even with less taps such an automatically generated filter will be a great place to start from and then continue in REW & rePhase to manually design PEQ filters if further tuning is needed beyond what the FIR filters can achieve.

Any input on this situation for anyone with limited DSP capabilities is much appreciated!
This tutorial video is all you need. At the end, there's a section for miniDSP and you can follow a similar procedure with Eversolo:

DSP Tutorial
 
UMIK-1 cannot work iirc

XLR mic, in the same two-way multichannel ASIO-driven interface that is outputting the signals.

OCA please correct me if I am off base wrt this Reference software.

Will the paid Convolver rig be different in this regard?
Based on this, any specific microphone recommended for gsonic?
 
fwiw seems to run ok on linux (debian testing / kde) here, it does show up some UI alert when you have aloop loaded though
1776601152331.png
 
  • Like
Reactions: OCA
I used a UMIK-1 on a Ubuntu 24.0X once, was discovered right away.
Had some crakles during playback here and there, machine was very low end to be noted.
Beside the very few crackles it worked well, no issues to generate filters.
Sadly no Ubuntu in front of me now atm to check further.
 
  • Like
Reactions: OCA
My setup is Audy mic connected to Soundcard, and output is from PC over HDMI to AVR (SR6013), via WDM.
With Gsonic, the output levels are REALLY low, so low that I need to set volume on PC to 100%, and then also on AVR unusually high, like -15db or so, much much higher than I need to set with AcoustiX. Gsonic is also reporting "levels too hot" or something nonsensical, even if I barely hear anything when sending test noise from Gsonic.
(When I do the built-in "test" in Windows sound card control panel (where it sends chimes to speakers) it is normal, loud volume.)

That being said, I would really also have the ability to measure C and Surrounds, or as an alternative the exact settings I would need to use in REW to sweep and then export the impulses so I can convert them in GSonic. (Which in theory might work when I rename measurements and then have Gsonic produce FIR from them?)
 
Anyone on Linux with issues and willingness to share the log? I will need to understand the issue to work on a fix.
I'm back with the full logs. sorry for overlooking the ones generated within the gsonic folder. Apparently, they are not that helpful anyway.

There are no log lines on button press events.

The console output is:
[giacomo@nevux gsonic]$ ./GSonic
Loading settings...
Enumerating audio devices...
Enumerating RtAudio devices...
ALSA lib control.c:1575: (snd_ctl_open_noupdate) [error.control] Invalid CTL pulse
Found 8 RtAudio devices
No ASIO drivers found, defaulting to RtAudio backend
Init complete.
Generating measurement signal...

-- Generating measurement signal --
Measurement sweep generated:
Duration: 10.9 s (523193 samples)
Range: 1 - 24000 Hz
Fade: 1000 samples (20.8 ms)
Timing reference generated (100ms)
Signal assembled: 14.1s total, level: -12 dBFS
-- Ready --

Sweep ready: 14.1s signal, 523193 sample inverse filter
[initBackend] Out: 'DAC8STEREO (USB Audio)' id=135 (2 ch), In: 'Umik-1 Gain: 18dB (USB Audio)' id=136 (2 ch)

RtApiAlsa:: probeDeviceOpen: pcm device (hw:U18dB,0) data format not supported by RtAudio.

[RtAudio] openStream failed: RtApiAlsa:: probeDeviceOpen: pcm device (hw:U18dB,0) data format not supported by RtAudio.
Failed to init backend for test
[initBackend] Out: 'DAC8STEREO (USB Audio)' id=135 (2 ch), In: 'Umik-1 Gain: 18dB (USB Audio)' id=136 (2 ch)

RtApiAlsa:: probeDeviceOpen: pcm device (hw:U18dB,0) data format not supported by RtAudio.

[RtAudio] openStream failed: RtApiAlsa:: probeDeviceOpen: pcm device (hw:U18dB,0) data format not supported by RtAudio.
Failed to init backend for test


> arecord -l
**** List of CAPTURE Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: ALC257 Analog [ALC257 Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: DAC8STEREO [DAC8STEREO], device 0: USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 2: U18dB [Umik-1 Gain: 18dB], device 0: USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0

>
lsusb -vv

Bus 003 Device 005: ID 2752:0007 miniDSP Umik-1 Gain: 18dB
Couldn't open device, some information will be missing
Negotiated speed: Full Speed (12Mbps)
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0 [unknown]
bDeviceSubClass 0 [unknown]
bDeviceProtocol 0
bMaxPacketSize0 8
idVendor 0x2752 miniDSP
idProduct 0x0007 Umik-1 Gain: 18dB
bcdDevice 1.00
iManufacturer 1 miniDSP
iProduct 2 Umik-1 Gain: 18dB
iSerial 3 00002
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 0x0080
bNumInterfaces 2
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x80
(Bus Powered)
MaxPower 100mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 1 Audio
bInterfaceSubClass 1 Control Device
bInterfaceProtocol 0
iInterface 0
AudioControl Interface Descriptor:
bLength 9
bDescriptorType 36
bDescriptorSubtype 1 (HEADER)
bcdADC 1.00
wTotalLength 0x0028
bInCollection 1
baInterfaceNr(0) 1
AudioControl Interface Descriptor:
bLength 12
bDescriptorType 36
bDescriptorSubtype 2 (INPUT_TERMINAL)
bTerminalID 1
wTerminalType 0x0201 Microphone
bAssocTerminal 2
bNrChannels 2
wChannelConfig 0x0003
Left Front (L)
Right Front (R)
iChannelNames 0
iTerminal 0
AudioControl Interface Descriptor:
bLength 9
bDescriptorType 36
bDescriptorSubtype 3 (OUTPUT_TERMINAL)
bTerminalID 2
wTerminalType 0x0101 USB Streaming
bAssocTerminal 1
bSourceID 3
iTerminal 0
AudioControl Interface Descriptor:
bLength 10
bDescriptorType 36
bDescriptorSubtype 6 (FEATURE_UNIT)
bUnitID 3
bSourceID 1
bControlSize 1
bmaControls(0) 0x01
Mute Control
bmaControls(1) 0x02
Volume Control
bmaControls(2) 0x02
Volume Control
iFeature 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 0
iInterface 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 1
bNumEndpoints 1
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 0
iInterface 0
AudioStreaming Interface Descriptor:
bLength 7
bDescriptorType 36
bDescriptorSubtype 1 (AS_GENERAL)
bTerminalLink 2
bDelay 1 frames
wFormatTag 0x0001 PCM
AudioStreaming Interface Descriptor:
bLength 29
bDescriptorType 36
bDescriptorSubtype 2 (FORMAT_TYPE)
bFormatType 1 (FORMAT_TYPE_I)
bNrChannels 2
bSubframeSize 3
bBitResolution 24
bSamFreqType 1 Discrete
tSamFreq[ 0] 48000
junk at descriptor end: 11 2b 00 80 3e 00 22 56 00 00 7d 00 44 ac 00 80 bb 00
Endpoint Descriptor:
bLength 9
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 13
Transfer Type Isochronous
Synch Type Synchronous
Usage Type Data
wMaxPacketSize 0x0120 1x 288 bytes
bInterval 1
bRefresh 0
bSynchAddress 0
AudioStreaming Endpoint Descriptor:
bLength 7
bDescriptorType 37
bDescriptorSubtype 1 (EP_GENERAL)
bmAttributes 0x01
Sampling Frequency
bLockDelayUnits 0 Undefined
wLockDelay 0x0000



I am willing to contribute for further testing.
Linux is in a constant and rapid evolution. What works today may be broken in a few months.

I suggest you test on a USB stick distro always kept up to date, if not natively, if yuo want to support Linux

As an alternative, I'm glad to assist for any help.
 
  • Like
Reactions: OCA
Back
Top Bottom