Crazy workaround/suggestion how to fix distorted/broken sound when Cantabile used with Voicemeeter Asio Patch Insert

In short: If you got glitchy/distorted sound and restarting Cantabile, toggling Cantabile Power button on/off doesnt help, launch some CPU benchmark (e.g. Cpuz’s Stress CPU benchmark) and then restart both Voicemeeter and Cantabile

I use Cantabile to host VST plugins for realtime mic audio processing with Voicemeeter. Sometimes after PC restart I get constant distorted/crackling sound in Cantabile. Usually only PC restart helps (spamming Power button on/off rarely helps and too random). One time I restarted PC literally 6-8 times to fix that.

But after experimenting with Voicemeeter Audio Callback I found weird bug that make audio “distorted” very similar way that I hear in Cantabile. In short: you can Register “callback”, Start, Stop and Unregister, in my case callback just passes through audio frames/samples without any changes. In my test console application I noticed If I Start callback just after Registering it there is around 10%-20% chance that sound become distorted, however if I put delay (Sleep) around 10-20 ms between Register and Start functions I reduce that chance to zero.

That made me wonder what if I “slow down” Cantabile. The easiest way I figured out is to use some CPU stress test/benchmark. So each time I encountered “broken” sound in Cantabile I launched Cpuz stress benchmark and tried different stuff in Voicemeeter and Cantabile. And I came to a conclusion: Powering on/off still not relaible, but closing Cantabile and Voicemeeter then restarting them always helps. I tried it more than 10 times, it even helped when I messed with buffer size and samplerate (Voicemeeter usually dont like it and tend to break audio). I dont know how ASIO stuff is coded, but it would be great if some kind of delay can be added by Cantabile developers too.

I use Ryzen 2600x CPU with Max Performance power plan, Windows 10 20H2.

1 Like

Very interesting! So you start up the CPU stress benchmark test, and then start up Cantabile and Voicemeeter while that is running, and then turn the benchmark program off and it leaves everything fine? I’ve GOT to try that!

I noticed another thing. For the first time, I needed to do some processing using the 96000 sample rate going out of the machine’s own headphone jack, so I carefully set all the items to 96000 (Voicemeeter, Realtek card, Cantabile), but was getting intermittent clicks that seemed to doom the setup. That is, UNTIL I went into Cantabile and checked the “Double Buffering” check box on the audio engine page in Options. It went away and never came back! So, there is another trick for ya.

Terry

I start up stress test, exit Cantabile, exit Voicemeeter, start Voicemeeter, start Cantabile (in my case Cantabile starts automatically 6 seconds after Voicemeeter), wait until Cantabile is fully loaded (plugins loading might take a while), then you can stop CPU stress test.

Maybe just restarting Voicemeeter is enough, maybe you dont need to wait for plugins to be loaded, never tried that :man_shrugging:

1 Like