One of the most important aspects of any virtual instrument or audio app with live play functionality is its responsiveness, or how much latency there is from input to sound output. While Paradiddle uses audio settings that try to keep as minimal a latency as possible, due to differences in sound cards and audio hardware, sometimes this ‘one size fits all’ approach doesn’t work. If you feel like there’s a noticeable delay from when you hit the drums in Paradiddle to when you hear the instrument sound, here’s what to check first:
1) Stable Frame Rate: Are you hitting the maximum frame rate that your headset supports, such as 90 FPS? Try disabling some of the more expensive graphical options such as particle effects, lower the resolution and try again. If everything feels responsive on the lowest graphical settings, then your issue is mainly frame rate related. On most headsets you can enable an in-VR frame rate counter (for instance from the SteamVR settings) to get an idea of your frame rate. In Paradiddle, you can also enable the frame rate counter by pressing the ` (backquote) key to bring up the console, typing in “stat fps” and pressing enter. To hide the FPS display, simply run the same command again in the console.
2) ASIO4ALL: ASIO4ALL lets you tweak your audio latency settings to your own liking, allowing you to get very low latency even without dedicated audio hardware. It will almost always get you equal or better latency than the default WASAPI Windows driver that Paradiddle uses. Here’s how to set it up:
Note that one of the limitations of this approach is that only one app can take control of your audio output device at a time. So if you want to play music in the background while playing in Paradiddle, you’ll have to load your music files in the app itself, since audio from other apps won’t play on the same output device.
3) Dedicated Audio Interface: If ASIO4ALL doesn’t work either, you might want to invest in a dedicated audio interface such as the Behringer UMC202HD. These types of audio interfaces often have their own ASIO audio drivers with support for low latency playback – the documentation that comes with the hardware should explain what kind of driver it is. If the interface doesn’t have its own ASIO drivers, you can still use the ASIO4ALL method above. For instance, the Behringer UMC202HD has its own ASIO drivers that can be select in Audio settings in Paradiddle. To route your in-app audio through your interface, first select ASIO from the Output tab under Audio, and then find and select your output device from the Device tab.