Page 5 of 8

Re: cmASIO feature in Thetis 2.10.3.5 pre 3

Posted: Sun Dec 24, 2023 8:27 pm
by w-u-2-o
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.

Re: cmASIO feature in Thetis 2.10.3.5 pre 3

Posted: Sun Dec 24, 2023 8:28 pm
by w-u-2-o
P.S running "blockmode" here with no problems.

Re: cmASIO feature in Thetis 2.10.3.5 pre 3

Posted: Sun Dec 24, 2023 8:53 pm
by Dave30019
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

Re: Thetis v2.10.3.5 final release

Posted: Sun Dec 24, 2023 10:06 pm
by W4WMT
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

Re: cmASIO feature in Thetis 2.10.3.5 pre 3

Posted: Mon Dec 25, 2023 12:55 am
by NC3Z
w-u-2-o wrote:P.S running "blockmode" here with no problems.


Scott, what exactly will Blockmode do for us using CM ASIO?

Re: cmASIO feature in Thetis 2.10.3.5 pre 3

Posted: Mon Dec 25, 2023 1:16 am
by K1LSB
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

Re: cmASIO feature in Thetis 2.10.3.5 pre 3

Posted: Mon Dec 25, 2023 1:21 am
by ramdor
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.

Re: cmASIO feature in Thetis 2.10.3.5 pre 3

Posted: Mon Dec 25, 2023 1:46 am
by w-u-2-o
My bad, I meant "lockmode", sorry! :oops:

Re: cmASIO feature in Thetis 2.10.3.5 pre 3

Posted: Mon Dec 25, 2023 2:00 am
by K1LSB
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

Re: cmASIO feature in Thetis 2.10.3.5 pre 3

Posted: Mon Dec 25, 2023 4:12 pm
by W2PH
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

Re: cmASIO feature in Thetis 2.10.3.5 pre 3

Posted: Mon Dec 25, 2023 5:08 pm
by W2PH
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 :-{

Re: cmASIO feature in Thetis 2.10.3.5 pre 3

Posted: Tue Dec 26, 2023 10:29 am
by W4WMT
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

Re: cmASIO feature in Thetis 2.10.3.5 pre 3

Posted: Tue Dec 26, 2023 11:53 am
by rbduck
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

Re: cmASIO feature in Thetis 2.10.3.5 pre 3

Posted: Wed Dec 27, 2023 1:24 am
by kg4wqp
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!

Re: cmASIO feature in Thetis 2.10.3.5 pre 3

Posted: Wed Dec 27, 2023 4:41 am
by K1LSB
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

Re: cmASIO feature in Thetis 2.10.3.5 pre 3

Posted: Wed Dec 27, 2023 10:52 am
by W4WMT
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

Re: cmASIO feature in Thetis 2.10.3.5 pre 3

Posted: Wed Dec 27, 2023 4:02 pm
by ramdor
I put together a quick vid walking through how to set it up. Most things are covered, but not all.


Re: cmASIO feature in Thetis

Posted: Wed Dec 27, 2023 6:57 pm
by w-u-2-o
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.

Re: cmASIO feature in Thetis

Posted: Wed Dec 27, 2023 6:57 pm
by w-u-2-o
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.

Re: cmASIO feature in Thetis

Posted: Wed Dec 27, 2023 6:58 pm
by w-u-2-o
@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?

Re: cmASIO feature in Thetis

Posted: Wed Dec 27, 2023 8:21 pm
by ramdor
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

Re: cmASIO feature in Thetis

Posted: Wed Dec 27, 2023 11:41 pm
by KC2QMA
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

Re: cmASIO feature in Thetis 2.10.3.5 pre 3

Posted: Thu Dec 28, 2023 4:31 am
by kg4wqp
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

Re: cmASIO feature in Thetis 2.10.3.5 pre 3

Posted: Thu Dec 28, 2023 9:19 am
by W4WMT
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

Re: cmASIO feature in Thetis

Posted: Thu Dec 28, 2023 5:01 pm
by GW4NNO
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

Re: cmASIO feature in Thetis

Posted: Thu Dec 28, 2023 7:28 pm
by W4WMT
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

Re: cmASIO feature in Thetis 2.10.3.5 pre 3

Posted: Thu Dec 28, 2023 9:02 pm
by w-u-2-o
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?

Re: cmASIO feature in Thetis 2.10.3.5 pre 3

Posted: Thu Dec 28, 2023 11:16 pm
by W4WMT
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

Re: cmASIO feature in Thetis

Posted: Fri Dec 29, 2023 8:36 am
by GW4NNO
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

Re: cmASIO feature in Thetis 2.10.3.5 pre 3

Posted: Fri Dec 29, 2023 4:25 pm
by kg4wqp
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!