Replies: 8 comments 27 replies
-
In its default configuration EasyEffects tries to use the default system input/output device. If you set our own devices as default there is a chance that in EasyEffects initialization phase PipeWire will report our own devices as the default devices and as EasyEffects can't play to / record from itself it won't know anymore which device it should use. This has happened to some users.
There is no need to set its virtual devices as default. For example when |
Beta Was this translation helpful? Give feedback.
-
Just chiming in here too as I found the recommendation in settings a little confusing too. It says "external applications", but the examples given seem to be OS audio settings specific, rather than general applications? It probably would be helpful if there was a "More info" link/button that expanded some text or directed me to a resource that expanded on what Easy Effects is doing here? What happens if the default device changes here, such as my wireless headphones example below. I could explicitly choose the headphones instead of the "Use Default Output" switch being enabled, but not sure what happens when that device is not present (due to powering them off), presumably Easy Effects falls back to another output device, or the default? If I explicitly choose one, and that device is also a default device elsewhere, is the hijacking behind the scenes still the same? Can apps use the default device, or would they need to explicitly choose that device as well if not choosing an implicit default device via the UI switch/toggle button? The Discord app lists that So the Easy Effects source / sink should be ignored, and our apps should choose a Default device or whatever Easy Effects settings has listed/chosen under the Input / Output "Name" values for Device Management? The Global bypass button when active presumably disables the device hijacking behind the scenes? I am not sure if the Input tabs monitor button (which I have to toggle on/off each time my bluetooth headphones are enabled to switch the monitor output to them) is affected by the settings Default Output at all. Is it related? Before the output was also the Perhaps the audio Output effects wasn't being applied to my headphones prior due to this, or my headphones had since become the default output device, and this was just an outdated UI value? I just know that when I power the headphones on after they've connected via bluetooth, I need to toggle the monitor button off then back on (in the Input effects view) otherwise I don't hear anything. So this may have just been UI not updating and made no real difference? |
Beta Was this translation helpful? Give feedback.
-
I might be daft or something. To me, at some point in this thread it sounds like only tools that are considered OS tools should set easyeffects as default sink/source. At another point it sounds like no tool ever should do this. In any case. I am simply running a script that is toggled by a hotkey to quickly change between my speaker (connected to onboard audio card) and wireless headset (it is it's own audio card). The script uses pulseaudio's CLI tool to do this. I have case $(getRunningSink) in
"$onboardAudioCardName")
...
pactl set-default-sink $externalAudioCardName
pactl set-default-sink easyeffects_sink
notifyUser $headphonesPortName
;;
"$externalAudioCardName")
...
pactl set-default-sink $onboardAudioCardName
pactl set-sink-port "$sinkPortNumber" $speakerPortName
pactl set-default-sink easyeffects_sink
notifyUser $speakerPortName
;;
...
esac If I do not run I never set default sinks anywhere else than via this script. The reason I ended up in this thread at all is because I am having an issue where, sometimes, the sound is sort of crackling when easyeffects is enabled. But I am quite sure this is related to when I am also running Android emulators in Android Studio at the same time. Those emulators seem to do stuff with sound and volume during their boot sequence. |
Beta Was this translation helpful? Give feedback.
-
Sorry if this is not the right place to ask this, but considering the other issues all link here for the advice on not setting EasyEffects sink / source as the default... I think there should be guidance on how we can avoid the system automatically setting the EasyEffects sink / source as the default. This can happen for example when we disconnect a device. Is there a way for EasyEffects to mark as "never use as default" / deprioritize its own nodes? |
Beta Was this translation helpful? Give feedback.
-
For anyone who is new to inter-application audio or is feeling lost, I can confidently recommend helvum as an easy visual way to interact with pipewire routing. Edit: There is also available a more advanced app, coppwr Anyway, here is my summary of the most common scenarios (please correct me if I'm wrong @wwmm ): First, under no circumstances ever should easyeffects be set as the default device in your system's settings / audio mixer / whatever. If you want easyeffects to "work like the default", set the device you want the final output to be as the default, then set easyeffects to process all outputs. Set your applications to output to the "system default" device, or whatever equivalent they offer. (Firefox, for example, will normally default to using the "system default". When easyeffects sees firefox try to set up it's output to the system default, it reroutes firefox to easyeffects virtual sink when process all outputs is enabled.) If you want easyeffects to ignore certain applications, do the same as above, and simply add the application(s) whose audio you don't want processed to the list of excluded apps. If you want only certain applications to be processed, or want to control all the routing yourself (for example, using helvum), turn off process all inputs/outputs in easyeffects, and explicitly set the applications that you want to be processed to use easyeffects virtual sink. Again, this will make more sense if you look at |
Beta Was this translation helpful? Give feedback.
-
I am afraid that even after reading your summary I am unsure about how to achieve the following - surely common - aim. I'd like Easy Effects to process sound that comes directly from my laptop; but, when I connect the laptop to a HiFi, or external speakers, or what have you, I'd like Easy Effects to leave the sound alone. |
Beta Was this translation helpful? Give feedback.
-
As you can tell, I am new to this software. Still, the software is supposed to be 'easy'. :) The leaving alone of which I spoke consists in matters proceeding, for the device (or 'stream') in question, as if Easy Effects had never existed. Thus, as you put it, 'the stream isn't moved to EasyEffects'. |
Beta Was this translation helpful? Give feedback.
-
:) I will ask for my money back! Still, thanks for the instructions. |
Beta Was this translation helpful? Give feedback.
-
I'm a bit confused with the following guidance under the pipewire tab
My expectation would be that the easy effects sync/source would be the default system wide so that all applications would use them forcing any effects to be applied. If we don't do this how else would applications get the effects applied to their sync and source audio?
Would you mind explaining the reasoning behind this hint? I am probably misunderstanding the correct usage of this.
Thanks
Beta Was this translation helpful? Give feedback.
All reactions