Enable PipeWire on Ubuntu 22.04 [Debian Based Systems]
What makes us different from other similar websites? › Forums › Tech › Enable PipeWire on Ubuntu 22.04 [Debian Based Systems]
Tagged: alsa, alsa-plugins, Bluetooth, Install, libpipewire-0.3-0, libpipewire-0.3-dev, libpipewire-audio-client-librarian-dev, libpipewire-media-session-0.3-0, libpipewire-media-session-0.3-dev, libpipewire-media-session-Nob2-0.3-0, libpipewire-media-session-Nob2-dev, libspa-0, libspa-0.2-6, libspa-0.2-bluetooth-dev, libspa-0.2-bluetooth0, libspa-0.2-bluetooth6, libspa-0.2-core0, libspa-0.2-core6, libspa-0.2-dev, libspa-0.2-modules0, libspa-0.2-modules6, libspa-0.2-plugin-standard-bluetooth, libspa-0.2-plugin-standard-core, libspa-0.2-plugin-standard-format, libspa-0.2-plugin-standard-protocol, libspa-0.2-plugin-standard-utils, libspa-0.2-plugins-extra-bluetooth, libspa-0.2-plugins-extra-core, libspa-0.2-plugins-extra-format, libspa-0.2-plugins-extra-protocol, libspa-0.2-plugins-extra-utils, libspa-0.2-plugins-standard-bluetooth, libspa-0.2-plugins-standard-core, libspa-0.2-plugins-standard-format, libspa-0.2-plugins-standard-protocol, libspa-0.2-plugins-standard-utils, libspa-0.2-tools, libspa-0.2-utils, libspa-alsa-dev, libspa-common, libspa-dev, linux-firmware, pipewire, pipewire-audio, pulseaudio, pulseaudio-module-bluetooth, pulseaudio-utils, wireplumber, wireplumber-media-session, wireplumber-pulse
- This topic has 1 reply, 1 voice, and was last updated 5 months, 4 weeks ago by thumbtak.
- AuthorPosts
- June 3, 2024 at 10:55 am #7172thumbtakKeymaster
Some devices like Shure USB microphones do not work without this. You have to switch your default sound server to this, for the microphone to work out of the box.
Enable PipeWire on Ubuntu 22.04
This guide is only for original Ubuntu out-of-the-box packages. If you have added a custom PPA like pipewire-debian, you might get into conflicts.
Ubuntu 22.04 has PipeWire partially installed and enabled as it’s used by browsers (WebRTC) for recoding the screeen under Wayland. We can enable remaining parts and use PipeWire for audio and Bluetooth instead of PulseAudio.
Starting from WirePlumber version 0.4.8 automatic Bluetooth profile switching (e.g. switching from A2DP to HSP/HFP when an application needs microphone access) is supported. Jammy (22.04) repos provide exactly version 0.4.8. So, we’re good.
Based on Debian Wiki, but simplified for Ubuntu 22.04.
Install
Install WirePlumber as the session manager:
$ sudo apt install pipewire-media-session- wireplumber
Notice ‘-‘ at the end of ‘pipewire-media-session’. This is to remove it in the same command, because ‘wireplumber’ will be used instead.
Start WirePlumber for your user:
$ systemctl --user --now enable wireplumber.service
Configure
ALSA
Install the ALSA plug-in:
$ sudo apt install pipewire-audio-client-libraries
And copy the config file from PipeWire docs (provided by the plug-in) into the ALSA configuration directory:
$ sudo cp /usr/share/doc/pipewire/examples/alsa.conf.d/99-pipewire-default.conf /etc/alsa/conf.d/
Check if you have other (like Pulse) configs in the /etc/alsa/conf.d/ installed by something else. You might want to remove them.
PulseAudio
Everything was done automatically by pipewire-pulse package, which should have been installed by wireplumber package as recommended. If not, install it yourself.
Bluetooth
Install the codecs and remove Bluetooth from PulseAudio, so it would be handled directly by PipeWire:
$ sudo apt install libldacbt-{abr,enc}2 libspa-0.2-bluetooth pulseaudio-module-bluetooth-
The supported codecs are SBC and LDAC.
Unfortunately, aptX and AAC are not supported because of patents and other technical reasons. aptX is available starting from 22.10 via libfreeaptx0 installed by default there (22.10 uses PipeWire by default as well). If you really need these codecs in 22.04 you may use this PPA from @aglasgall which is based on universe, but rebuilds pipewire with additional packages for aptX and AAC from multiverse. Read the discussion here.
Done
Reboot and check if it works by running:
$ shutdown -r now
$ LANG=C pactl info | grep '^Server Name'
Quoted from:
https://gist.github.com/the-spyke/2de98b22ff4f978ebf0650c90e82027eJuly 3, 2024 at 2:35 pm #7185thumbtakKeymasterEasy Effects
This application was formerly known as PulseEffects, but it was renamed to Easy Effects after it started to use GTK4 and GStreamer usage was replaced by native PipeWire filters.
Effects available
- Auto gain
- Bass enhancer
- Bass loudness
- Compressor
- Convolver
- Crossfeed
- Crystalizer
- De-esser
- Delay
- Deep noise remover
- Echo canceller
- Equalizer
- Exciter
- Expander
- Filter (low-pass, high-pass, band-pass and band-reject modes)
- Gate
- Level meter
- Limiter
- Loudness
- Maximizer
- Multiband compressor
- Multiband gate
- Noise reduction
- Pitch shift
- Reverberation
- Speech processor
- Stereo tools
The user has full control over the effects order. Just use the up/down arrows next to the effect labels on the left side.
Some packages do not provide all plugin packages by default. In case some effects are not available, ensure you have the following installed on your system:
How to install:
$ sudo apt install flatpak -y
`$ sudo flatpak install easyeffects -y’
Note:
Make sure to set the source microphone to Easy Effects and within Easy Effects, make sure to select the microphone and settings you want to use.
Plugins needed for effects:
Linux Studio plugins. Version 1.1.24 or higher.
Calf Studio plugins. Version 0.90.1 or higher.
Libebur128. For Auto gain and Level meter.
ZamAudio plugins. For Maximizer.
Zita-convolver. For Convolver.
MDA. For Bass loudness.
SpeexDSP. For Speech processor.
SoundTouch. For Pitch shift.
RNNoise. For Noise reduction.
DeepFilterNet. For Deep noise remover.Other dependencies include:
libsamplerate
libsndfile
libbs2b
fftw
speexdsp
nlohmann json
tbbSource & More Info:
- AuthorPosts
- You must be logged in to reply to this topic.