dechamps / FlexASIO

A flexible universal ASIO driver that uses the PortAudio sound I/O library. Supports WASAPI (shared and exclusive), KS, DirectSound and MME.
Other
1.4k stars 76 forks source link

Low Quality audio - cracks/glitches/pops #186

Open Felix-Hamcat opened 1 year ago

Felix-Hamcat commented 1 year ago

Tried FlexAsio for the first time, was very excited because I've been wishing for a good Asio Link Pro alternative for years and atm I'm quite disappointed, because no matter how high I set the buffer size, audio quality is always trash.

Everything's fine with Asio4all, Asio Link Pro and Realtek drivers on my machine. What's wrong ?

dechamps commented 1 year ago

Sorry to hear that. Can you provide a log?

Felix-Hamcat commented 1 year ago

Yes sorry I forgot to attach it ^^ FlexASIO.log

dechamps commented 1 year ago

Yeah there is some abnormal callback cadence in there, for example at 16:18:33.565 where the callback fires 13 ms too late. In FlexASIOTest too (e.g. 16:17:10.770 firing 12 ms too late).

Most likely this is a WASAPI backend related issue. Have you tried using the DirectSound backend instead?

Felix-Hamcat commented 1 year ago

Well using DS makes my ableton really slow, menus take minutes to launch and playback won't even start...

Felix-Hamcat commented 1 year ago

WDM-KS works fine on headphone jack output but with realtek speakers output the audio is completely distorted even at ridiculously high buffer size

dechamps commented 1 year ago

Well using DS makes my ableton really slow, menus take minutes to launch and playback won't even start

That's not normal. Can you provide a log for that case?

WDM-KS works fine on headphone jack output but with realtek speakers output the audio is completely distorted even at ridiculously high buffer size

Yeah unfortunately I'm not surprised, WDM-KS is a bit fiddly due to a known issue with buffering - you can try to work around it by picking different suggestedLatencySeconds. See PortAudio/portaudio#763.

Felix-Hamcat commented 1 year ago

Couldn't reproduce playback error and lags. But sadly I also couldn't reproduce acceptable sound, even WDM-KS went terrible this time, with up to 4096 samples and 1000 ms of SLS (tried different numbers nothing helped but it produced strange fun glitches.

Here are the logs for each default backend with headphone output, ranging from worst to "best" sound. its even worse when I use laptop speakers. Asio4all & ALP are still crystal clear at 64 samples

Felix-Hamcat commented 1 year ago

LOGS.zip

dechamps commented 1 year ago

Taking a look at the logs it looks like even MME has wide gaps in callback timing (e.g. a whopping ~27ms late at 00:15:26.266). I've never seen this and I'm honestly not sure what could cause all PortAudio backends to misbehave in that way. My best guess is that something on your system is interfering with thread scheduling but it seems that unlikely ASIO4ALL would be unaffected.

Unfortunately, since I can't reproduce this and your logs do not point to any clear cause, it's not possible for me to help with this problem unless you gather a lot more information, such as by producing a WPA trace as explained in my comment on a similar issue. (If you do, please use the DirectSound backend, keep all other options at their default values except for device, and provide the corresponding FlexASIO log as well.)