Understanding G7KLJ 2.9.0.11 release
Re: Understanding G7KLJ 2.9.0.11 release
Hi Bryan,
I have the docs for WDSP.dll, but nothing for CM.
We need to convince him not to take locks on the audio thread!! This is the reason for the remaining issues I have with low-latency VAC, though it's much better than it was. If he needs convincing, I can point him to a couple C++ talks on the subject from the JUCE guys. Realtime audio coding is _hard_
No locks, no system calls!
TBH it is not too bad now -- I get more latency from the Equalizer than I get from the audio chain itself, so its probably about as good as it can get. If I use WDM-KS host, the latency from mic on one device to the speakers on another, is way less than 10mS, with tweaks to the PA Buffer and PortAudio latencies.
I did fix some hangs in CM on application exit; I found, after searching for ages, a semaphore that was not set (but only if it was the second Tuesday in the month and after 4.15pm but before 10pm )
Regards,
Steve
I have the docs for WDSP.dll, but nothing for CM.
We need to convince him not to take locks on the audio thread!! This is the reason for the remaining issues I have with low-latency VAC, though it's much better than it was. If he needs convincing, I can point him to a couple C++ talks on the subject from the JUCE guys. Realtime audio coding is _hard_
No locks, no system calls!
TBH it is not too bad now -- I get more latency from the Equalizer than I get from the audio chain itself, so its probably about as good as it can get. If I use WDM-KS host, the latency from mic on one device to the speakers on another, is way less than 10mS, with tweaks to the PA Buffer and PortAudio latencies.
I did fix some hangs in CM on application exit; I found, after searching for ages, a semaphore that was not set (but only if it was the second Tuesday in the month and after 4.15pm but before 10pm )
Regards,
Steve
GL es 73
Steve, G7KLJ
Steve, G7KLJ
Re: Understanding G7KLJ 2.9.0.11 release
I'm geting this error very often when I start Thetis.
Any idea?
My audio settings are exactly the same I was using without any issue with ver. 2.8.0.9
PS: When I get this error I must reboot my PC and power cycle my radio to sucessfully start my setup.
Any idea?
My audio settings are exactly the same I was using without any issue with ver. 2.8.0.9
PS: When I get this error I must reboot my PC and power cycle my radio to sucessfully start my setup.
New call sign EA3CL
Re: Understanding G7KLJ 2.9.0.11 release
I had that error after a windows update, the update had scrambled my audio (interface) from being recognized properly. In my case, I went into to windows audio setup and reset everything. This just happened two days ago after win update. Hope this helps.
73’s
Joe
WD5Y
73’s
Joe
WD5Y
Re: Understanding G7KLJ 2.9.0.11 release
Joe wrote:I had that error after a windows update, the update had scrambled my audio (interface) from being recognized properly. In my case, I went into to windows audio setup and reset everything. This just happened two days ago after win update. Hope this helps.
73’s
Joe
WD5Y
Thanks Joe.
Unfortunately I only had this issue after installing G7KLJ build, never with Richie's one.
New call sign EA3CL
Re: Understanding G7KLJ 2.9.0.11 release
I had the exact same error with vac not seeing my audio interface correctly, I believe G7KLJ’s software has the alert of vac error. When I started up the setup form would come up at first and the error would show. Hope you get it straight, I really like the new Thetis, works great here.
73’s
Joe
WD5Y
73’s
Joe
WD5Y
Re: Understanding G7KLJ 2.9.0.11 release
Guys,
How do you make the images that people post large?
my eyes are not good enough to see the audio trouble guy's picture!
I tried clicking on it, and nothing happens
How do you make the images that people post large?
my eyes are not good enough to see the audio trouble guy's picture!
I tried clicking on it, and nothing happens
GL es 73
Steve, G7KLJ
Steve, G7KLJ
Re: Understanding G7KLJ 2.9.0.11 release
ea3aqr wrote:I'm geting this error very often when I start Thetis.
Any idea?
My audio settings are exactly the same I was using without any issue with ver. 2.8.0.9
PS: When I get this error I must reboot my PC and power cycle my radio to sucessfully start my setup.
Asio_Error.jpg
Ha! I had to download your image to see it properly.
All I can suggest is that you try a different audio API. IN particular, WDM-KS has about the same latency as ASIO. I do have a friend, though, who uses ASIO with no trouble.
You might also like to try ASIO4All just to see if stuff works in there. This version of Thetis uses the latest portaudio, which is why you see the different behaviour. I am sure you will get it working,
Steve, G7KLJ.
EDIT: Here's what I use, and it has nary any latency at all from mic to MON. Hope its useful, or someone else can help you with the ASIO issue:
GL es 73
Steve, G7KLJ
Steve, G7KLJ
Re: Understanding G7KLJ 2.9.0.11 release
Hello, KLJ here.
Whilst I am in the forum, could I get you to add your vote here:
https://github.com/sjk7/Thetis-2.9.0/issues/7
Thanks,
Steve
Whilst I am in the forum, could I get you to add your vote here:
https://github.com/sjk7/Thetis-2.9.0/issues/7
Thanks,
Steve
GL es 73
Steve, G7KLJ
Steve, G7KLJ
Re: Understanding G7KLJ 2.9.0.11 release
ea3aqr wrote:I'm geting this error very often when I start Thetis.
Any idea?
My audio settings are exactly the same I was using without any issue with ver. 2.8.0.9
PS: When I get this error I must reboot my PC and power cycle my radio to sucessfully start my setup.
Asio_Error.jpg
Just noticed that your PA buffer sizes are 0 (zero). Please note that this currently does not work for me, using any API Host. I set mine to 1.
Hope this helps!
Steve, G7KLJ
GL es 73
Steve, G7KLJ
Steve, G7KLJ
Re: Understanding G7KLJ 2.9.0.11 release
nobba wrote:Guys,
How do you make the images that people post large?
my eyes are not good enough to see the audio trouble guy's picture!
I tried clicking on it, and nothing happens
Click and open in new windows for a larger screenshoot!
New call sign EA3CL
Re: Understanding G7KLJ 2.9.0.11 release
nobba wrote:ea3aqr wrote:I'm geting this error very often when I start Thetis.
Any idea?
My audio settings are exactly the same I was using without any issue with ver. 2.8.0.9
PS: When I get this error I must reboot my PC and power cycle my radio to sucessfully start my setup.
Asio_Error.jpg
Just noticed that your PA buffer sizes are 0 (zero). Please note that this currently does not work for me, using any API Host. I set mine to 1.
Hope this helps!
Steve, G7KLJ
ASIO4Me.jpg
I will try and let you know!
ASIO4ALL (bad drivers AFAIK) or WDM-KS are no option for me, my Creative ASIO drivers worked flawesly with my Anan radio for so many years with a very low latency settings!
Thanks
New call sign EA3CL
Re: Understanding G7KLJ 2.9.0.11 release
I agree, ASIO4ALL drivers are crap. However, you should try it to see if my software runs on your system with ASIO at all.
I notice you have creative drivers, like me. Have you tried updating them?
Steve, KLJ
I notice you have creative drivers, like me. Have you tried updating them?
Steve, KLJ
GL es 73
Steve, G7KLJ
Steve, G7KLJ
Re: Understanding G7KLJ 2.9.0.11 release
Jordi, make the following adjustments and see if that helps.
1) Increase your VAC1 Buffer Size to 256 (your current size of 64 may be too low).
2) Reduce your VAC1 Sample Rate to 48000 (your current rate of 96000 may be too high).
3) Increase your Ring Buffer latency (both In and Out) to 20 (your current setting of 3 may be too low).
If those adjustments work then you can gradually start bringing them back towards where you had them while watching for any glitches.
Mark
1) Increase your VAC1 Buffer Size to 256 (your current size of 64 may be too low).
2) Reduce your VAC1 Sample Rate to 48000 (your current rate of 96000 may be too high).
3) Increase your Ring Buffer latency (both In and Out) to 20 (your current setting of 3 may be too low).
If those adjustments work then you can gradually start bringing them back towards where you had them while watching for any glitches.
Mark
Re: Understanding G7KLJ 2.9.0.11 release
nobba wrote:I agree, ASIO4ALL drivers are crap. However, you should try it to see if my software runs on your system with ASIO at all.
I notice you have creative drivers, like me. Have you tried updating them?
Steve, KLJ
I'm running latest drivers, seems that port audio = 1 did the trick.
Will test further...
Last edited by ea3aqr on Tue Apr 18, 2023 10:47 pm, edited 1 time in total.
New call sign EA3CL
Re: Understanding G7KLJ 2.9.0.11 release
K1LSB wrote:Jordi, make the following adjustments and see if that helps.
1) Increase your VAC1 Buffer Size to 256 (your current size of 64 may be too low).
2) Reduce your VAC1 Sample Rate to 48000 (your current rate of 96000 may be too high).
3) Increase your Ring Buffer latency (both In and Out) to 20 (your current setting of 3 may be too low).
If those adjustments work then you can gradually start bringing them back towards where you had them while watching for any glitches.
Mark
Thanks, but negative... my settings worked fine for years without under/overflows using several versions of windows 10 or 11.
I always try to get the lowest stable latency settings I can achieve.
I was the guy who discovered the network throttling index tweak after searching for 2 month because one Windows 10 update broke my system stability that was running fine for years without any issue.
Seems that setting portaudio to 1 did the trick!
Thanks!
New call sign EA3CL
Re: Understanding G7KLJ 2.9.0.11 release
ea3aqr wrote:K1LSB wrote:Jordi, make the following adjustments and see if that helps.
Seems that setting portaudio to 1 did the trick!
Thanks!
Yes, now I have studied the portaudio docs about this. And they don't have much to say. Apparently, when you set driver buffer size to zero, it is supposed to select a low latency, but with no guarantee of success. Richie's revision has an extremely old portaudio implementation, so we can assume that over the years they have changed how they handle a latency request of zero.
In my original rehash of Thetis, I have something to display the _actual_ latency you get in the UI. It's quite nice, and satifying to see what you actually end up with. Latency is shown in ms for both in and out. I will add it at some point.
Glad you have it working!
Steve, KLJ
GL es 73
Steve, G7KLJ
Steve, G7KLJ
Re: Understanding G7KLJ 2.9.0.11 release
nobba wrote:ea3aqr wrote:K1LSB wrote:Jordi, make the following adjustments and see if that helps.
Seems that setting portaudio to 1 did the trick!
Thanks!
Yes, now I have studied the portaudio docs about this. And they don't have much to say. Apparently, when you set driver buffer size to zero, it is supposed to select a low latency, but with no guarantee of success. Richie's revision has an extremely old portaudio implementation, so we can assume that over the years they have changed how they handle a latency request of zero.
In my original rehash of Thetis, I have something to display the _actual_ latency you get in the UI. It's quite nice, and satifying to see what you actually end up with. Latency is shown in ms for both in and out. I will add it at some point.
Glad you have it working!
Steve, KLJ
So, does portaudio setting increases latency?
Will be nice to have an option to display actual UI latency
New call sign EA3CL
Re: Understanding G7KLJ 2.9.0.11 release
Hi,
Essentially the total latency is half the size of each ring buffer plus soundcard latency. But we can display something more accurate than that.
Essentially the total latency is half the size of each ring buffer plus soundcard latency. But we can display something more accurate than that.
GL es 73
Steve, G7KLJ
Steve, G7KLJ
Re: Understanding G7KLJ 2.9.0.11 release
Steve, after 2 days I can confirm that setting portaudio to 1 did the trick.
No more ASIO issues at all.
Thanks!
No more ASIO issues at all.
Thanks!
New call sign EA3CL
Re: Understanding G7KLJ 2.9.0.11 release
ea3aqr wrote:Steve, after 2 days I can confirm that setting portaudio to 1 did the trick.
No more ASIO issues at all.
Thanks!
Brilliant! Thanks for the update,
Steve
GL es 73
Steve, G7KLJ
Steve, G7KLJ
Re: Understanding G7KLJ 2.9.0.11 release
Usually I'm on the bleeding edge of things. Alas, life sometimes intrudes on hobbies But now I'm finally catching up to the rest of you and wanted to report my initial operating experience with 2.9.0.19.
Installation
I installed over the top of 2.9.0.8. That didn't work so well for me. On initial install it the installer required a reboot, which was a surprise. After doing that 2.9.0.19 wouldn't start. I uninstalled using Windows add/remove, manually deleted all Thetis folders (after backing them up) including the one in %appdata% folder, then installed a second time. On the second try no reboot was required and all was well. I popped the database.xml file from 2.9.0.8 in place and it came up fine.
Faster and faster
Wisdom calc's seemed much faster. Startup is faster but not exceptionally so (this is on an i7-7700K). After working with VAC, the focus of Steve's work, I was ecstatic. I was able to finally make my software audio system perform in the manner I expected.
I have a complex, high performance, software audio system. A Presonus Studio 192 Mobile interface with a GPSDO derived wordclock is connected via ASIO to Voicemeeter Potato. So is Thetis. Potato acts like an ASIO patch panel to Reaper DAW software. Previously I've been unable to use less than a VAC buffer size of 512 (and the Presonus set to match) with portaudio set to 0/0 and ringbuffers at 0/0. Now I have the Presonus and VAC set to a buffer size of 64, portaudio 0/0, and ringbuffers 2/2. The latency is about as low as it can be.
Well done Steve!!!
VAC bugs
Note: this part was done with VAC1, ASIO, 48KHz, Voicemeeter as the device, portaudio set to 0/0, VAC1 set to enable at startup. I did not test other config's....
No pain, no gain where progress is concerned
It is possible to set yourself up for a crash when the Power button is hit after initial app launch. Under the VAC1 conditions specified above, if the ringbuffer settings are less than some critical value Thetis will crash. In my case I found that with a VAC1 buffer of 512 any ringbuffer setting less than 6/6 caused a crash. With a buffer of 64 anything less than 1/1 caused a crash. While it's perfectly acceptable to have no sound or crappy sound it shouldn't crash.
What's interesting is that if you set those numbers higher and get it started OK then you can reduce them to whatever you want afterwards. The crash only happens on the very first instantiation of VAC1.
Bug report entered on Git.
PureSignal Single Cal bugs
Repeated use of the single cal button is causing Thetis to toggle between automatic and manual (single cal) modes. Single cal should not cause a mode change or otherwise change the state of PureSignal (except to go from either disabled or auto to manual the first time it is used). It should only cause PureSignal to make a measurement and update the correction.
It's easy to see how the intent was to make single cal operation more clear to the user via changes in UI behavior, but unfortunately it confused and muddled the way PS is intended to operate. Functionally it needs to go back to the way it was in 2.9.0.8 but with improved UI indications only. I've posted a lengthy and detailed bug report on Git
Installation
I installed over the top of 2.9.0.8. That didn't work so well for me. On initial install it the installer required a reboot, which was a surprise. After doing that 2.9.0.19 wouldn't start. I uninstalled using Windows add/remove, manually deleted all Thetis folders (after backing them up) including the one in %appdata% folder, then installed a second time. On the second try no reboot was required and all was well. I popped the database.xml file from 2.9.0.8 in place and it came up fine.
Faster and faster
Wisdom calc's seemed much faster. Startup is faster but not exceptionally so (this is on an i7-7700K). After working with VAC, the focus of Steve's work, I was ecstatic. I was able to finally make my software audio system perform in the manner I expected.
I have a complex, high performance, software audio system. A Presonus Studio 192 Mobile interface with a GPSDO derived wordclock is connected via ASIO to Voicemeeter Potato. So is Thetis. Potato acts like an ASIO patch panel to Reaper DAW software. Previously I've been unable to use less than a VAC buffer size of 512 (and the Presonus set to match) with portaudio set to 0/0 and ringbuffers at 0/0. Now I have the Presonus and VAC set to a buffer size of 64, portaudio 0/0, and ringbuffers 2/2. The latency is about as low as it can be.
Well done Steve!!!
VAC bugs
Note: this part was done with VAC1, ASIO, 48KHz, Voicemeeter as the device, portaudio set to 0/0, VAC1 set to enable at startup. I did not test other config's....
No pain, no gain where progress is concerned
It is possible to set yourself up for a crash when the Power button is hit after initial app launch. Under the VAC1 conditions specified above, if the ringbuffer settings are less than some critical value Thetis will crash. In my case I found that with a VAC1 buffer of 512 any ringbuffer setting less than 6/6 caused a crash. With a buffer of 64 anything less than 1/1 caused a crash. While it's perfectly acceptable to have no sound or crappy sound it shouldn't crash.
What's interesting is that if you set those numbers higher and get it started OK then you can reduce them to whatever you want afterwards. The crash only happens on the very first instantiation of VAC1.
Bug report entered on Git.
PureSignal Single Cal bugs
Repeated use of the single cal button is causing Thetis to toggle between automatic and manual (single cal) modes. Single cal should not cause a mode change or otherwise change the state of PureSignal (except to go from either disabled or auto to manual the first time it is used). It should only cause PureSignal to make a measurement and update the correction.
It's easy to see how the intent was to make single cal operation more clear to the user via changes in UI behavior, but unfortunately it confused and muddled the way PS is intended to operate. Functionally it needs to go back to the way it was in 2.9.0.8 but with improved UI indications only. I've posted a lengthy and detailed bug report on Git
- Tony EI7BMB
- Posts: 653
- Joined: Sun Apr 09, 2017 2:31 pm
- Location: Dublin
- Contact:
Re: Understanding G7KLJ 2.9.0.11 release
Thanks for the informative post Scott. I notice i get a small number of overflow/underflow on start up but once cleared off its seems very stable . I'm testing at 256 buffer but find that using manual buffer latency causes occasional overflows so unchecked MAN for now. Port Audio set at 1
Re: Understanding G7KLJ 2.9.0.11 release
nobba wrote:ea3aqr wrote:Steve, after 2 days I can confirm that setting portaudio to 1 did the trick.
No more ASIO issues at all.
Thanks!
Brilliant! Thanks for the update,
Steve
Steve,
It is not very often, but from time to time I still have the ASIO driver issue...
Could it be related to starting Thetis very quickly after it launchs?
New call sign EA3CL
Re: Understanding G7KLJ 2.9.0.11 release
Installed the latest version today ( .29) and so far, seems to be more stable for me with overflows and underflows that I had problems with earlier. Seems to load faster too.
Thanks Steve!
James
WD5GWY
Thanks Steve!
James
WD5GWY
Re: Understanding G7KLJ 2.9.0.11 release
Hi Steve, I love your new versions of Thetis. The only issue I have is finding your new releases. Is there a new link. I went to the old one and there was nothing there. Keep up the great work! Thank you
73
Ruben
NB4R
Apache-Labs Anan 7000DLE MKII Black -- Thetis 2.10.3.6 dev_2 -- Windows 11
Ruben
NB4R
Apache-Labs Anan 7000DLE MKII Black -- Thetis 2.10.3.6 dev_2 -- Windows 11
Re: Understanding G7KLJ 2.9.0.11 release
It was here https://github.com/sjk7/Thetis-2.9.0/releases but now seems to have been removed.
Gary NC3Z
- Tony EI7BMB
- Posts: 653
- Joined: Sun Apr 09, 2017 2:31 pm
- Location: Dublin
- Contact:
Re: Understanding G7KLJ 2.9.0.11 release
Yeah they have been removed for some reason
Re: Understanding G7KLJ 2.9.0.11 release
That is odd. It was there yesterday morning. I wonder what happened?
Maybe he is getting ready to post another release.
James
WD5GWY
Maybe he is getting ready to post another release.
James
WD5GWY
Re: Understanding G7KLJ 2.9.0.11 release
Maybe he is working on it. He is doing a great job!
73
Ruben
NB4R
Apache-Labs Anan 7000DLE MKII Black -- Thetis 2.10.3.6 dev_2 -- Windows 11
Ruben
NB4R
Apache-Labs Anan 7000DLE MKII Black -- Thetis 2.10.3.6 dev_2 -- Windows 11
Re: Understanding G7KLJ 2.9.0.11 release
Currently running .30 with modifications added to support Acom amps and tuners. No significant issues apparent so far.
Rick
K8EZB
Rick
K8EZB
Last edited by K8EZB on Sun May 14, 2023 3:46 pm, edited 2 times in total.