Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Solutions for wifi and crackling #3

Open
krei-se opened this issue May 15, 2024 · 0 comments
Open

Solutions for wifi and crackling #3

krei-se opened this issue May 15, 2024 · 0 comments

Comments

@krei-se
Copy link

krei-se commented May 15, 2024

Hey there.

The wifi-issue is due to how rtp works (multicast). To have multiple receivers without bombarding your network you can use the classic native-tcp protocol instead and advertise those via avahi.

Client native protocol for the local network:

context.exec = [
    { path = "pactl" args = "load-module module-native-protocol-tcp auth-anonymous=yes listen=10.x.0.1 auth-ip-acl=127.0.0.1;10.x.0.0/16" }
][

Client Avahi publishing:

context.exec = [
    { path = "pactl"        args = "load-module module-zeroconf-publish" }
]

The crackling is due to the latency in your network and will disappear after a while or on a restart, because pulseaudio handles the buffer dropouts. Instead of experimenting with different buffer sizes you would have to apply to each client you can simply set the latency in the master which will sync the audio from start on and keep it while having no crackling distortions:

context.modules = [
    { name = libpipewire-module-zeroconf-discover
        args = { pulse.latency=400 }
    }
]

You can try smaller values ofc, but for my mpd server this is unnoticeable and if you take a look into your logs you will see the latency being anywhere between 100 and 200 after pulse handles the cracks.

I game on a client so the latency locally on this receiver / workstation connected to speakers is lower for everyday use - this is just for the server playing mpd. Other clients are usually openwrt compatible devices. To handle latency between the client and the speakers i use identical USB-optical sound cards on each receiver.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant