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.