proxy-audio-device icon indicating copy to clipboard operation
proxy-audio-device copied to clipboard

Popping/Clicking on the *Original* Audio Device

Open vexir opened this issue 1 year ago • 15 comments

Hey @briankendall, the proxy audio device output sounds great, but the original audio output (in my case a Dell U2720Q's audio out) has distinct popping/cracking. Some of my applications were defaulting to it so I noticed.

vexir avatar Nov 20 '23 20:11 vexir

Hi @vexir

Try to change the "Buffer Size". For me is working with no distortions, popping or other "artifacts" with that setting to 1024. image

All the best, George

gxgl avatar Nov 22 '23 07:11 gxgl

I have had the same issue as you when I've first started the app. I think the buffer was at 128... I don't remember exactly, but after I've played a bit with the size, for me worked after I have set it up as in the previous picture.

gxgl avatar Nov 22 '23 07:11 gxgl

Changing the buffer size affects the original audio device? I thought it only would affect the proxy.

On Tue, Nov 21, 2023 at 11:35 PM GxGL @.***> wrote:

I have had the same issue as you when I've first started the app. I think the buffer was at 128... I don't remember exactly, but after I've played a bit with the size, for me worked after I have set it up as in the previous picture.

— Reply to this email directly, view it on GitHub https://github.com/briankendall/proxy-audio-device/issues/39#issuecomment-1822249369, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAT6ODRMYHIV4H44UAYFGN3YFWTMLAVCNFSM6AAAAAA7TOLKPKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQMRSGI2DSMZWHE . You are receiving this because you were mentioned.Message ID: @.***>

vexir avatar Nov 24 '23 02:11 vexir

I am not 100% sure on what was the cause on my side but it worked like that.

At start there was only the buffer set and the audio was set to mac.

My bad i was setting it up without checking the logs and resources at that time.

gxgl avatar Nov 24 '23 07:11 gxgl

Usually pops and cracks are fixed by increasing the buffer size. It doesn't change anything about the proxied device or how it sounds, just how much buffer is used to proxy its audio. Less buffer means less latency but more risk of pops.

briankendall avatar Nov 24 '23 14:11 briankendall

Sure, but I'm talking about the original audio device, not the proxy device. If buffer size doesn't affect the proxied device, what would be causing the popping on the proxied device?

E

On Fri, Nov 24, 2023 at 6:07 AM Brian Kendall @.***> wrote:

Usually pops and cracks are fixed by increasing the buffer size. It doesn't change anything about the proxied device or how it sounds, just how much buffer is used to proxy its audio. Less buffer means less latency but more risk of pops.

— Reply to this email directly, view it on GitHub https://github.com/briankendall/proxy-audio-device/issues/39#issuecomment-1825725847, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAT6ODS6D5HLPORO2HDB363YGCSY7AVCNFSM6AAAAAA7TOLKPKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQMRVG4ZDKOBUG4 . You are receiving this because you were mentioned.Message ID: @.***>

vexir avatar Nov 24 '23 19:11 vexir

That is to say, the popping and clicking is there if you're not using the proxy audio device?

In that case, whichever application is producing audio is almost certainly the culprit. There's too many possibilities there for me to speculate.

briankendall avatar Nov 24 '23 19:11 briankendall

I seem to be experiencing the same as @vexir. I can adjust the buffer to prevent the proxy device from popping/clicking, but no matter what I do if I switch to ANY other device (e.g. built-in MacBook speakers, display speakers, etc.) then they have significant popping/clicking. If you remove the proxy-audio-device driver then they are fine.

I understand this might not be easy to figure out a fix, so potentially just adding an enable/disable toggle button to the app would be nice. I'm currently moving the driver out of the HAL folder and restarting coreaudio when I want to not use the proxy device and prevent this issue.

danVnest avatar Nov 27 '23 00:11 danVnest

@danVnest What version of macOS and model of mac do you have?

briankendall avatar Nov 27 '23 02:11 briankendall

I have a 2019 MacBook Pro model running macOS Sonoma 14.1.1

danVnest avatar Nov 27 '23 04:11 danVnest

Could you try a test for me:

  1. Set the main output device to the proxy audio device
  2. Set the system volume to 0
  3. Switch to a different output device that experiences the clicks and pops
  4. Make sure its volume is turned up enough to hear it
  5. Let me know if you still hear any clicks and pops

briankendall avatar Nov 27 '23 13:11 briankendall

No problem, happy to test things.

I followed those steps and unfortunately still have clicks and pops on all other output devices, with no discernable change compared to having the system volume up for the proxy audio device beforehand. I repeated the test several times with each audio device.

I also tested the effect of buffer size on the popping on the other devices:

  • reducing the buffer size increases the popping
  • unlike for the proxy audio device, even using the maximum buffer size does not prevent all popping

Also note that there is no popping on other devices when "Proxy device is active:" is set to "When proxied device is active". I would leave it on this setting except it seems to increase the frequency of issue https://github.com/briankendall/proxy-audio-device/issues/14 for me.

danVnest avatar Nov 28 '23 02:11 danVnest

Some more questions:

Is there any regularity or rhythm to the popping?

Does changing the "proxy device is active" setting affect the popping at all?

briankendall avatar Nov 28 '23 03:11 briankendall

It seems random? But potentially occurs more on higher pitch sounds or sounds that suddenly change to/from load and soft.

Changing the "Proxy device is active:" doesn't seem to do anything except for "When proxied device is active":

Also note that there is no popping on other devices when "Proxy device is active:" is set to "When proxied device is active".

danVnest avatar Nov 29 '23 01:11 danVnest

Whoops, I missed that comment the first time around. But this gives me a clue as to what's going wrong. (Basically, garbage audio data is getting into the proxy device's audio buffer. I can't offhandedly say why that's happening.)

For the time being, I recommend keeping it set to "When proxied device is active" since that means the proxy device won't be outputting any audio unless the device you're proxying is outputting audio.

briankendall avatar Nov 29 '23 03:11 briankendall