All: I edited the title of this topic to make it more descriptive. I will soon move it to either the audio or digi mode sub-forums, but just look for it on "Active Topics", it'll be there!
This is looking more and more like a virtual audio problem of some sort. In other words, it has nothing to do with software or firmware per se, other than things need to be set up properly.
While I've seen such behavior in the past, I have not seen it in a very long time.
This morning I tried introducing a number of intentional errors in my setup in order to duplicate the problems some of you are seeing.First, some notes about my setup:
1. The audio path is as complex as it gets: Voicemeeter Potato is used as a "patch panel", connecting Thetis, Reaper Digital Audio Workstation, and (for my experiments) WSJT-X.
2. Some key points to consider:
- Voicemeeter is set to use my ASIO hardware interface (Presonus Studio 192) as the A1 hardware output at 48KHz. It doesn't have to be ASIO, but if your A1 hardware output isn't set to a device that is running 48KHz you could have problems.
- All Voicemeeter virtual devices that show up in the legacy (old fashioned) Windows Sound Control panel should be set to 48KHz, stereo if available, 16 or 24 bit.
- Thetic VAC buffer size should be matched to the A1 hardware output buffer size as reported by Voicemeeter. Example:
- Capture.JPG (11.35 KiB) Viewed 9627 times
Remember that DUP OFF shows mathematically what is going into the transmit digital-to-analog converter (DAC), DUP ON shows you the actual RF coming out of the radio as received by RX1 during transmit. Finding them looking the same or similar is a good indication that Thetis/Apache is transmitting a true representation of the audio that coming out of the internal, Thetis-side of the Thetis VAC interface. I.e.
the problem is with Thetis VAC being properly configured to handle the audio data stream presented to it by Voicemeeter (or whatever you are using for virtual audio connection software, but my discussion will remain Voicemeeter-centric).
I tried a number of things to reproduce the horrifyingly bad transmit spectra that others have posted as examples. Mismatched sample rates in the Windows Sound Control Panel didn't do it: Voicemeeter is just too good at resampling things as required. Mismatched levels (too high, too low) didn't cause bad spectra. Thetis VAC "force" option on/off made no difference.
But making the Thetis VAC buffer size too small instantly caused a very bad transmit spectra.My Presonus interface is manually set to a buffer size of 512, as anything smaller than that causes audio stability problems on my system. Voicemeeter happily follows that automatically and shows that on it's UI, as already depicted above. In the examples below, you can see the dramatic difference in output spectra when the Thetis VAC buffer size is set to 256 vs. 512. Setting it to something larger than 512 was OK, but less than 512 was an instant train wreck.
Note: the small spurs you see in the correct buffer size case are of no consequence. I normally put the floor of my TX display at -75, and anything less than will not be noticeable over the air even if you are S9+40, but I wanted to look a bit further down into the spectra just to see if anything interesting popped up.
The challenge here is that the Thetis VAC interface is 90% manual setup. Get it wrong and things will be ugly. Get it right and things will be fine. We don't see this on app's like Audacity or Spectrum Lab because they automatically follow the settings promulgated through the Windows audio interfaces, just like Voicemeeter will automatically select the correct buffer sizes for the app's and hardware it is connected to.
When running digi modes definitely use MON when initially setting up. You can plainly hear bad transmitted audio that way.
One other thing to consider: if your audio settings seem inconsistent, changing performance from one app launch or system reboot to another,
you may be running on the ragged edge. I found this to be true here. I had been running an audio interface buffer size of 256 and it mostly worked, but every once in a while audio would get ragged. Changing this to 512 made it very reliable.
The test signal for the following examples was generated using the WSJT-X Tune button. WSJT-X was connected to Voicemeeter, as was Thetis and my DAW software. This was a full power shot through a KPA1500 amplifier into a dummy load and that is the actual RF signal coming back in from the amplifier output coupler in DUP mode.
Example with proper buffer size:
- CorrectBufferSize.JPG (773.39 KiB) Viewed 9627 times
Example with buffer size too small:
- TooSmallBufferSize.JPG (859.13 KiB) Viewed 9627 times