cmASIO feature in Thetis

USB headsets to digital audio workstation software...
User avatar
w-u-2-o
Posts: 5578
Joined: Fri Mar 10, 2017 1:47 pm

Re: cmASIO feature in Thetis 2.10.3.5 pre 3

Postby w-u-2-o » Sun Dec 24, 2023 8:27 pm

Dave30019 wrote:No side tone in CW using CWX & 'SEMI' after Thetis and cmASIO upgrade. I do have sidetone if CW is set to QSK and also pressing TUN but not in SEMI mode.
This is a normal limitation of the current software & firmware.

This issue goes all the way back to the beginning of the openHPSDR project. The developers at the time did not feel they could implement sidetone with low enough latency if the sidetone audio was originated in Thetis. Thus they had the firmware generate the sidetone and that sidetone is only available on the audio interfaces that reside on the SDR board, i.e. the ANAN speaker and headphone jacks.

There are several ways to solve this problem, but nobody had thought of them way back when and to date nobody has seemed interested in tackling this problem. If anyone would like to try to write some code on this I've got a few ideas that shouldn't be too terribly difficult to implement.

If you want to use either VAC or cmASIO with semi-break-in CW then you will have to provision an old fashioned sidetone (aka "practice") oscillator on your key/keyer/paddle.
User avatar
w-u-2-o
Posts: 5578
Joined: Fri Mar 10, 2017 1:47 pm

Re: cmASIO feature in Thetis 2.10.3.5 pre 3

Postby w-u-2-o » Sun Dec 24, 2023 8:28 pm

P.S running "blockmode" here with no problems.
Dave30019
Posts: 44
Joined: Thu Oct 31, 2019 10:54 am
Location: Dacula GA USA

Re: cmASIO feature in Thetis 2.10.3.5 pre 3

Postby Dave30019 » Sun Dec 24, 2023 8:53 pm

Thanks Scott,

For the explanation, guess I'll just use my 7300 for cw. I only chase dxpeditions for cw contacts anyway. Arthritis is too bad to use a key anymore.

Dave
k4em
W4WMT
Posts: 331
Joined: Sun Apr 09, 2017 10:12 pm

Re: Thetis v2.10.3.5 final release

Postby W4WMT » Sun Dec 24, 2023 10:06 pm

G3ZQH wrote:So, essentially I gave cmASIO a go then disabled it in case the registry setting was interfering with VAC to/from the radio.

Hi Dave,

Okay, I understand now. Thanks for explaining! In that case, you'd be better off to delete the ASIOdrivername string value, which will return your rig to its default configuration.

73,
Bryan
NC3Z
Posts: 466
Joined: Sun Oct 29, 2017 8:57 pm
Location: Merritt, NC

Re: cmASIO feature in Thetis 2.10.3.5 pre 3

Postby NC3Z » Mon Dec 25, 2023 12:55 am

w-u-2-o wrote:P.S running "blockmode" here with no problems.


Scott, what exactly will Blockmode do for us using CM ASIO?
Gary NC3Z
K1LSB
Posts: 643
Joined: Wed Feb 05, 2020 5:25 pm

Re: cmASIO feature in Thetis 2.10.3.5 pre 3

Postby K1LSB » Mon Dec 25, 2023 1:16 am

I have several questions...

1) What is Blockmode? I've seen the term LockMode elsewhere in this forum but not Blockmode.

2) Can LockMode function even though my Motu interface isn't on the same clock as the ANAN or my computer?

3) How does one verify that LockMode is actually functioning? I ask because I have the ASIOblocknum DWORD high bit set but I'm seeing no difference in core workload using CPUID Hardware Monitor Pro, even though I've read that Lockmode is very CPU intensive.

TIA,
Mark
User avatar
ramdor
Posts: 1468
Joined: Wed Jul 03, 2019 3:07 pm
Contact:

Re: cmASIO feature in Thetis 2.10.3.5 pre 3

Postby ramdor » Mon Dec 25, 2023 1:21 am

not sure about blockmode, but there is some info about lockmode in the csASIO manual, included in the install folder. I am sure Bryan can add some more detail after he has finished his turkey and mince pies :D :D

For the ultimate experience in low-latency performance of the transmit (mic) audio stream the user may also elect to not use a ring-buffer at all. This is called lockMode and is entered by setting any of the highorder bits in the ASIOblocknum value described in the previous paragraph. In this scenario, the ChannelMaster (TX) is connected directly to the double-buffer ASIO callback, without any intervening layers of buffering whatsoever. This mode is extremely compute intensive during short bursts, which will not show up in conventional CPU percentage measurement displays. In lockMode users will not fare well on machines not having idle cores immediately ready to do the processing in a timely fashion.
User avatar
w-u-2-o
Posts: 5578
Joined: Fri Mar 10, 2017 1:47 pm

Re: cmASIO feature in Thetis 2.10.3.5 pre 3

Postby w-u-2-o » Mon Dec 25, 2023 1:46 am

My bad, I meant "lockmode", sorry! :oops:
K1LSB
Posts: 643
Joined: Wed Feb 05, 2020 5:25 pm

Re: cmASIO feature in Thetis 2.10.3.5 pre 3

Postby K1LSB » Mon Dec 25, 2023 2:00 am

Thanks Richie, I had seen that info in the cmASIO install folder, indeed that verbiage is what gave rise to my questions. I'll wait for Bryan to expound.

Thanks again,
Mark
W2PH
Posts: 3
Joined: Fri Dec 10, 2021 1:17 pm

Re: cmASIO feature in Thetis 2.10.3.5 pre 3

Postby W2PH » Mon Dec 25, 2023 4:12 pm

I am running an ASIO mixer (Rodecaster DUO) and I would like to not use VAC 1 for my audio in and out of the 7000DLE. Rich's latest video suggests it can now be done (Running Released 2.10.3.5) and turning off VAC 1 . Reference is made to cmASIO manual. Can anyone provide a link where I can find it? Also has anyone implemented it with an ASIO device yet?
Ed W2PH
W2PH
Posts: 3
Joined: Fri Dec 10, 2021 1:17 pm

Re: cmASIO feature in Thetis 2.10.3.5 pre 3

Postby W2PH » Mon Dec 25, 2023 5:08 pm

Please ignore my previous post. I found the cmASIO manual and one of the very last lines is that cmASIO is NOT supported in protocol 1... too bad :-{
W4WMT
Posts: 331
Joined: Sun Apr 09, 2017 10:12 pm

Re: cmASIO feature in Thetis 2.10.3.5 pre 3

Postby W4WMT » Tue Dec 26, 2023 10:29 am

K1LSB wrote:2) Can LockMode function even though my Motu interface isn't on the same clock as the ANAN or my computer?
3) How does one verify that LockMode is actually functioning? I ask because I have the ASIOblocknum DWORD high bit set but I'm seeing no difference in core workload using CPUID Hardware Monitor Pro, even though I've read that Lockmode is very CPU intensive.

Hi Mark,

First off, as I'm sure you already know, the ASIOblocknum DWORD value is completely optional and is there just for nerd-value. Correct operation of cmASIO doesn't need it at all. I suppose there might be some lame computers that need a larger fifo, but then what's the point, you'd be better off just using the mic & headphone sockets on the radio. The lockMode is there only for users totally obsessed with transmit audio latency and are compelled to shave off the last millisecond or two.

2) If your Motu isn't clocked coherently with your ANAN there will eventually be enough slippage to cause a 4/3 millisecond audio glitch in your transmit audio. But maybe you'll get lucky and it won't be too noticeable.

3) If you have a debug output monitor (e.g. DebugView from sysinternals.microsoft.com) you can watch the debug output from cmASIO as Thetis starts up. Look for the line that says "lockMode = x" where 1 means it's functioning and 0 means it's not. I doubt you would ever see the difference in a cpu monitor because all the work is being done during the last few microseconds in each callback period.

73,
Bryan
User avatar
rbduck
Posts: 327
Joined: Tue Dec 03, 2019 1:49 pm

Re: cmASIO feature in Thetis 2.10.3.5 pre 3

Postby rbduck » Tue Dec 26, 2023 11:53 am

After all the different setting configurations I see cmASIO working perfectly. I had it set correctly all along. It seems on my PC if "Voicemeeter Virtual ASIO" is put into the ASIODrivername string, the cmASIO indicator on the GUI would be red. When Thetis v 2.10.3.5 u1 was installed that corrected itself. It may have corrected itself if I would have reset the database. It's all working and giving correct indicators now. Thank you Ernst and anyone else that give me assistance!


rbduck wrote:Ok, what exactly do you want? Do you want use cmAsio WITH voicemeeter or cmAsio direct with your sound interface ; I eventually want to know both. Right now I would rather set it set up to work with Voicemeeter since I'm using VM tp access my microphone

Option A) Using Voicemeeter Virtual ASIO;
Registry: "ASIOdrivername" must be "Voicemeeter Virtual ASIO" (which is B1 in voicemeeer)
In Voicemeeter you set UMC as your main device
In UMC settings: 64 buffersize, 48khz samplerate

I first set it up for option A. Like this there was audio from Thetis without Voicemeeter. It only worked with VAC1 enabled and there was a RED cmASIO indicator indicating it did not load. With VAC1 disabled, there was no audio with RX1 AF or Master AF increased.

I will test using option B and report back tomorrow


Option B) Using UMC Asio for Thetis
Voicemeeter must be closed (or set to an other audio interface)
Registry: "ASIOdrivername" => "UMC ASIO Driver"

As usual I expect to find one item set incorrectly. or something missing. Thank you for your patience and assistance
73
Ruben
NB4R
Apache-Labs Anan 7000DLE MKII Black -- Thetis 2.10.3.6 dev_2 -- Windows 11
kg4wqp
Posts: 4
Joined: Tue Nov 01, 2022 2:41 pm

Re: cmASIO feature in Thetis 2.10.3.5 pre 3

Postby kg4wqp » Wed Dec 27, 2023 1:24 am

I have been trying for a couple hours to get the cmASIO to work. It says issue starting cmASIO, check name in registry. I have followed the steps so to speak in the registry. I am not unfamiliar to editing or adding registry entries but I can't get this feature to work without using VAC1. I am running the 7000dle MKII (protocol 2) with a RODECaster duo and the ASIO drivers are installed for it. Is there something I am missing or is it incompatible? Thanks for reading!
K1LSB
Posts: 643
Joined: Wed Feb 05, 2020 5:25 pm

Re: cmASIO feature in Thetis 2.10.3.5 pre 3

Postby K1LSB » Wed Dec 27, 2023 4:41 am

Bryan,

Thanks for the cmASIO use notes, DeBugView says LockMode is enabled here. My clocks aren't coherent but I haven't noticed any audio glitches so maybe I'm one of the lucky ones.

Mark
W4WMT
Posts: 331
Joined: Sun Apr 09, 2017 10:12 pm

Re: cmASIO feature in Thetis 2.10.3.5 pre 3

Postby W4WMT » Wed Dec 27, 2023 10:52 am

kg4wqp wrote:I am running the 7000dle MKII (protocol 2) with a RODECaster duo and the ASIO drivers are installed for it. Is there something I am missing or is it incompatible?

Hi OM,

I don't have any experience with the RODEcaster, so it looks like you are the first to try :-)
What was the text you used to populate the registry string value? Have you tried to tease-out the correct driver name by using the hostsample.exe utility (linked in the Quickstart instructions)? Also you can peek at the ASIO dropdown in VAC1 for driver names on your machine.

Failing the above, there are ways to debug the ASIO startup process in Thetis to see where things are going wrong.

Looking forward to seeing how you fare with the new RODE interface.

73,
Bryan
User avatar
ramdor
Posts: 1468
Joined: Wed Jul 03, 2019 3:07 pm
Contact:

Re: cmASIO feature in Thetis 2.10.3.5 pre 3

Postby ramdor » Wed Dec 27, 2023 4:02 pm

I put together a quick vid walking through how to set it up. Most things are covered, but not all.

User avatar
w-u-2-o
Posts: 5578
Joined: Fri Mar 10, 2017 1:47 pm

Re: cmASIO feature in Thetis

Postby w-u-2-o » Wed Dec 27, 2023 6:57 pm

Great video, Richie!

A couple of comments/thoughts...

The primary reason for this is not latency per se (although that is a definite benefit!), but for people who are in a fully virtualized environment (radio as a black box with only an Ethernet connection to the hardware--ANAN or otherwise) to be able to have access to the same audio stream that is available on the speaker and headphone jacks (CODEC output). Prior to this you had to externally mix VAC1 and VAC2 in an application like Voicemeeter. Of course this can still be used with Voicemeeter as shown.

Another way to obtain the names of all ASIO drivers is to use the registry editor (regedit) to look at Computer\HKEY_LOCAL_MACHINE\SOFTWARE\ASIO where you will find a complete list of all installed ASIO drivers.
User avatar
w-u-2-o
Posts: 5578
Joined: Fri Mar 10, 2017 1:47 pm

Re: cmASIO feature in Thetis

Postby w-u-2-o » Wed Dec 27, 2023 6:57 pm

I changed the name of this topic to be more generic, and also made it a sticky for now since it is getting a lot of traction.
User avatar
w-u-2-o
Posts: 5578
Joined: Fri Mar 10, 2017 1:47 pm

Re: cmASIO feature in Thetis

Postby w-u-2-o » Wed Dec 27, 2023 6:58 pm

@W4WMT

Bryan--would you consider adding a feature to allow cmASIO to obtain the buffer setting from the driver rather than mandating a fixed buffer of 64?
User avatar
ramdor
Posts: 1468
Joined: Wed Jul 03, 2019 3:07 pm
Contact:

Re: cmASIO feature in Thetis

Postby ramdor » Wed Dec 27, 2023 8:21 pm

w-u-2-o wrote:The primary reason for this is not latency per se (although that is a definite benefit!), but for people who are in a fully virtualized environment (radio as a black box with only an Ethernet connection to the hardware--ANAN or otherwise) to be able to have access to the same audio stream that is available on the speaker and headphone jacks (CODEC output). Prior to this you had to externally mix VAC1 and VAC2 in an application like Voicemeeter. Of course this can still be used with Voicemeeter as shown.


yes this completely slipped my mind to mention because I have never plugged anything into my radio other than power, rf coax, ptt key cable for the amp and ethernet. Anything else would be alien to me :D
KC2QMA
Posts: 104
Joined: Mon Jul 13, 2020 11:13 pm

Re: cmASIO feature in Thetis

Postby KC2QMA » Wed Dec 27, 2023 11:41 pm

Having direct control of the ASIO driver built into Thetis now sets the stage for VST plugin's in the future! :)

Thanks to the development team for all the hard work and dedication !
Happy New Year!
John
KC2QMA
kg4wqp
Posts: 4
Joined: Tue Nov 01, 2022 2:41 pm

Re: cmASIO feature in Thetis 2.10.3.5 pre 3

Postby kg4wqp » Thu Dec 28, 2023 4:31 am

W4WMT wrote:
kg4wqp wrote:I am running the 7000dle MKII (protocol 2) with a RODECaster duo and the ASIO drivers are installed for it. Is there something I am missing or is it incompatible?

Hi OM,

I don't have any experience with the RODEcaster, so it looks like you are the first to try :-)
What was the text you used to populate the registry string value? Have you tried to tease-out the correct driver name by using the hostsample.exe utility (linked in the Quickstart instructions)? Also you can peek at the ASIO dropdown in VAC1 for driver names on your machine.

Failing the above, there are ways to debug the ASIO startup process in Thetis to see where things are going wrong.

Looking forward to seeing how you fare with the new RODE interface.

73,
Bryan


I have used the hotsample.exe. The driver looked like Richie shows in the video. It says "RODECaster" and when I add the string to registry, then reboot thetis; it says issue starting cmASIO check driver name in registry. Also adding the string value thetis does not show ASIO as an option but remove it and reboot thetis it is there again. Maybe not compatible?! I use 100% VAC for mic input and output sound. It works great but hey figured I would give this a try. Thanks for the reply and I will be willing to try anything! 73's KG4WQP
W4WMT
Posts: 331
Joined: Sun Apr 09, 2017 10:12 pm

Re: cmASIO feature in Thetis 2.10.3.5 pre 3

Postby W4WMT » Thu Dec 28, 2023 9:19 am

kg4wqp wrote:I have used the hotsample.exe. It says "RODECaster" and when I add the string to registry, then reboot thetis; it says issue starting cmASIO check driver name in registry.

Hi OM,

Can you please send me (by PM or email) the complete output from the hostsample.exe utility? Since the RODECaster is a new one for me, that would be a good place to start.

73,
Bryan
GW4NNO
Posts: 72
Joined: Fri Jul 03, 2020 11:10 am

Re: cmASIO feature in Thetis

Postby GW4NNO » Thu Dec 28, 2023 5:01 pm

I'd like to give cmASIO a try but one thing still puzzles me after reading this long thread! . I have a multi channel audio interface, it is the RME Fireface UFX mark ii. This interface has 30 inputs and 30 outputs! After setting up the registry key with my interface's driver name, how or where do I select the inputs and outputs on my interface that I want to use to be the Anan speakers for output and the mic for input? In other words is my list of inputs and outputs exposed anywhere so that I can select the ones I want to use via Thetis?

Terry GW4NNO
W4WMT
Posts: 331
Joined: Sun Apr 09, 2017 10:12 pm

Re: cmASIO feature in Thetis

Postby W4WMT » Thu Dec 28, 2023 7:28 pm

GW4NNO wrote: how or where do I select the inputs and outputs on my interface that I want to use to be the Anan speakers for output and the mic for input?

Hi Terry,
Thetis uses Input_1 & Input_2 for transmit (mic) audio and Output_1 & Output_2 for receive (headphone/speaker) audio. It's hard-coded, nothing to select.
73,
Bryan
User avatar
w-u-2-o
Posts: 5578
Joined: Fri Mar 10, 2017 1:47 pm

Re: cmASIO feature in Thetis 2.10.3.5 pre 3

Postby w-u-2-o » Thu Dec 28, 2023 9:02 pm

W4WMT wrote:
kg4wqp wrote:I have used the hotsample.exe. It says "RODECaster" and when I add the string to registry, then reboot thetis; it says issue starting cmASIO check driver name in registry.

Hi OM,

Can you please send me (by PM or email) the complete output from the hostsample.exe utility? Since the RODECaster is a new one for me, that would be a good place to start.

73,
Bryan

Perhaps the problem is that the RODECaster is not defaulting to buffer 64, Int32LSB. It would be nice if cmASIO followed the driver settings in this regard.

What would happen if the driver was not set to 48KHz sample rate?
W4WMT
Posts: 331
Joined: Sun Apr 09, 2017 10:12 pm

Re: cmASIO feature in Thetis 2.10.3.5 pre 3

Postby W4WMT » Thu Dec 28, 2023 11:16 pm

w-u-2-o wrote:What would happen if the driver was not set to 48KHz sample rate?

In that case, a request to change to 48,000 is sent to the ASIO API.
If that is successful, steps then proceed to bring the driver into its "prepared" state.
If not, a debug message is sent reporting the specific trouble, the cmASIO icon turns red, and the radio reverts to its default state i.e. audio streams being processed at the radio hardware.
73,
Bryan
GW4NNO
Posts: 72
Joined: Fri Jul 03, 2020 11:10 am

Re: cmASIO feature in Thetis

Postby GW4NNO » Fri Dec 29, 2023 8:36 am

Thanks very much for that info Bryan. Not good from my point of view though. Think I'll stick as I am with cables hard wired from my interface to the line in and speakers out on the Anan.

Terry. GW4NNO
kg4wqp
Posts: 4
Joined: Tue Nov 01, 2022 2:41 pm

Re: cmASIO feature in Thetis 2.10.3.5 pre 3

Postby kg4wqp » Fri Dec 29, 2023 4:25 pm

w-u-2-o wrote:
W4WMT wrote:
kg4wqp wrote:I have used the hotsample.exe. It says "RODECaster" and when I add the string to registry, then reboot thetis; it says issue starting cmASIO check driver name in registry.

Hi OM,

Can you please send me (by PM or email) the complete output from the hostsample.exe utility? Since the RODECaster is a new one for me, that would be a good place to start.

73,
Bryan

Perhaps the problem is that the RODECaster is not defaulting to buffer 64, Int32LSB. It would be nice if cmASIO followed the driver settings in this regard.

What would happen if the driver was not set to 48KHz sample rate?



This may be true. I am going to try an work on this through the new years and figure out. Thank you for the input!

Return to “Digital ("Virtual") Audio”