Why do DirectSound drivers not work correctly?
Cantabile allows setting reasonably small buffer sizes (down to 128 samples) when using DirectSound drivers. This is to allow the smallest possible latency. The capabilities of various DirectSound drivers varies widely however. Cantabile relies on accurate timing information being provided by the DirectSound driver. When this timing information is not accurate enough, Cantabile will appear to “crackle”, “glitch” or otherwise not sound correct – even when CPU usage is very low. Cantabile performs several checks when the driver is first started to check the timing information provided by the driver is accurate enough for the specified buffer size. If not, Cantabile will automatically increase the buffer size and display a message to this effect. Some drivers however provide irregular timing information. In this case, the buffer size will need to be manually adjusted until a working comprimise is found.