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

How can I make it so the output doesn't automatically connect to a sink? #172

Open
GanerCodes opened this issue Jun 25, 2023 · 1 comment

Comments

@GanerCodes
Copy link

Sorry if this is the wrong place for this but I have been hitting my keyboard for two hours now with little to no progress. I'm using pipewire and no matter what method I use to add this plugin I cannot disable the output_sink generated to not automatically connect itself to my default sink. I manually set what links into it later. Here's the command I'm (currently) using to activate it

pactl load-module module-ladspa-sink \ sink_name=VFiltered_mic label=noise_suppressor_mono plugin=/usr/lib64/ladspa/librnnoise_ladspa.so control=50,20,0,0,0

@pallaswept
Copy link
Contributor

pallaswept commented Aug 14, 2023

If your command configures the playback.props as a source, then it won't be automatically linked like that by the session manager, unless you select that source as your default input, in which case it'll route it to everything that wants a source and doesn't specify which one. (ie it will become your default microphone and when something wants a mic it'll get this)

In my case I'm using a config file, the relevant portion is

            playback.props = {
                node.name = "Boom Mic Out"
                media.class = Audio/Source
            }

Sorry, I can't tell you how to convert this into pulseaudio commands (I hate pulse and avoided everything about it so I'm completely dumb on that front, sorry!), but the point is that you want the output node to be setup as a source, and then the session manager (probably wireplumber) won't link it automatically like it's doing now.

You might find the target.object property (on both capture and playback nodes) to be of use to you, too. If you set it on the capture node (and the node is not setup as a sink), you can point at at the node name of the mic you're noise-cancelling, if you set it on the playback node you can direct the post-rnnoise output to a specific node)

Hope this helps.

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

2 participants