Linux for Podcasters and Streamers
Set up a professional Linux podcast and streaming rig: PipeWire low-latency audio, RNNoise suppression, OBS Studio, Reaper DAW, and Audacity multi-track recording.
Before you start
- ▸A working Linux desktop with a microphone or USB audio interface connected
- ▸sudo/root access to install packages
- ▸At least 4 GB RAM and a dual-core CPU for real-time audio processing
- ▸PipeWire 0.3.48 or later (ships with Ubuntu 22.04+, Fedora 34+, Arch rolling)
Linux has quietly become a serious platform for content creators. PipeWire replaced the fragile PulseAudio/JACK split with a unified audio graph, OBS Studio ships native packages for every major distro, and tools like RNNoise bring professional noise suppression without a monthly subscription. This guide walks through a complete podcasting and streaming setup: low-latency audio routing, noise suppression, recording in Reaper and Audacity, and a streaming-ready OBS configuration.
Install PipeWire and Confirm It Is Running
Modern Ubuntu (22.04+), Fedora (34+), and Arch have PipeWire as the default. Verify before installing anything.
pactl info | grep 'Server Name'
You should see PulseAudio (on PipeWire). If you see plain PulseAudio, install the full PipeWire stack.
Debian / Ubuntu
sudo apt install pipewire pipewire-pulse pipewire-alsa pipewire-jack \
wireplumber libspa-0.2-bluetooth
systemctl --user --now enable pipewire pipewire-pulse wireplumber
Fedora / RHEL 9+ / Rocky 9+
sudo dnf install pipewire pipewire-pulseaudio pipewire-jack-audio-connection-kit \
wireplumber
systemctl --user --now enable pipewire pipewire-pulse wireplumber
Arch
sudo pacman -S pipewire pipewire-pulse pipewire-alsa pipewire-jack wireplumber
systemctl --user --now enable pipewire pipewire-pulse wireplumber
Tune PipeWire for Low Latency
The default quantum (buffer size) is fine for desktop audio but too high for live monitoring while recording. Drop it to 128 frames at 48 kHz for roughly 2.7 ms latency — low enough that you won't notice the delay in headphones.
mkdir -p ~/.config/pipewire/pipewire.conf.d
cat > ~/.config/pipewire/pipewire.conf.d/low-latency.conf <<'EOF'
context.properties = {
default.clock.rate = 48000
default.clock.quantum = 128
default.clock.min-quantum = 64
default.clock.max-quantum = 8192
}
EOF
systemctl --user restart pipewire pipewire-pulse
Confirm the quantum changed:
pw-metadata -n settings 0
Look for clock.quantum showing 128. If your CPU struggles (crackling, xruns), raise quantum to 256 and restart again.
Add RNNoise Noise Suppression
RNNoise uses a recurrent neural network trained on speech to strip background noise in real time — fan hum, keyboard clicks, room echo. The cleanest way to use it under PipeWire is through the noise-suppression-for-voice plugin loaded as a filter chain.
Install the plugin
Debian / Ubuntu (24.04+)
sudo apt install noise-suppression-for-voice
Fedora
sudo dnf install rnnoise
Arch / Manual (universal fallback)
sudo pacman -S noise-suppression-for-voice
Create a PipeWire filter-chain sink
cat > ~/.config/pipewire/pipewire.conf.d/rnnoise.conf <<'EOF'
context.modules = [
{ name = libpipewire-module-filter-chain
args = {
node.description = "Microphone Noise Suppressor"
media.name = "Microphone Noise Suppressor"
filter.graph = {
nodes = [
{ type = ladspa
name = rnnoise
plugin = /usr/lib/ladspa/librnnoise_ladspa.so
label = noise_suppressor_mono
control = { "VAD Threshold (%)" = 50.0 }
}
]
}
capture.props = {
node.name = "capture.rnnoise_source"
node.passive = true
audio.rate = 48000
}
playback.props = {
node.name = "rnnoise_source"
media.class = Audio/Source
node.description = "RNNoise Mic"
}
}
}
]
EOF
systemctl --user restart pipewire
After restarting, a new source called RNNoise Mic appears in your applications' input device lists. Select it in OBS, Reaper, Audacity, or any VOIP app instead of your physical microphone.
Install and Configure OBS Studio
Use the official packages — distro repos often lag behind and miss important PipeWire fixes.
Ubuntu / Debian (via Flatpak — recommended)
flatpak install flathub com.obsproject.Studio
Fedora / RHEL
sudo dnf install obs-studio
Arch
sudo pacman -S obs-studio
Launch OBS and go to Settings → Audio. Set the sample rate to 48000 Hz to match PipeWire. Under Mic/Auxiliary Audio, choose RNNoise Mic as your microphone source — not the raw hardware device.
For streaming, Settings → Output → Streaming: choose FFMPEG VAAPI (AMD/Intel) or NVENC H.264 (NVIDIA) as the encoder. Software x264 works fine but burns CPU. Keep bitrate at 6000 Kbps for 1080p/60 Twitch or YouTube streams. Enable Rescale Output here only if your canvas and stream resolutions differ.
Add a PipeWire Audio Capture source in a scene to route desktop audio independently from your mic, giving you per-track control in the recording.
Multi-Track Recording with Audacity
Audacity 3.x works well for interview-style podcasting where you want isolated tracks per speaker.
# Ubuntu/Debian
sudo apt install audacity
# Fedora
sudo dnf install audacity
# Arch
sudo pacman -S audacity
In Audacity, go to Edit → Preferences → Devices. Set Host to ALSA (PipeWire exposes an ALSA layer automatically). Set Recording Device to your RNNoise virtual source. For multiple inputs — two USB mics or an interface — create separate tracks: click Add New → Stereo Track, then right-click the track and set its recording device independently via Tracks → Add New before starting each pass.
Enable Transport → Transport Options → Sound Activated Recording to auto-pause in silence between segments, keeping your project clean. Export each track as a separate 32-bit float WAV (File → Export → Export Multiple) for lossless editing later.
Professional Recording with Reaper
Reaper's native Linux build is production-quality and has the best JACK/PipeWire integration of any DAW on the platform. It is commercial software with a generous 60-day trial and a $60 discounted license for individuals.
# Download the current Linux build from reaper.fm — example for x86_64
wget https://www.reaper.fm/files/7.x/reaper711_linux_x86_64.tar.xz
tar xf reaper711_linux_x86_64.tar.xz
cd reaper_linux_x86_64
./install-reaper.sh --install /opt/reaper
In Reaper, go to Options → Preferences → Audio → Device. Set Audio system to JACK. PipeWire's JACK layer intercepts this — you get native PipeWire routing without running a separate JACK daemon. Set block size to 128 and sample rate to 48000.
Reaper's real advantage for podcasting is its FX chain. On each track, add: ReaEQ (high-pass at 80 Hz to cut rumble), ReaComp (gentle 3:1 ratio, -18 dB threshold), and ReaLimit to prevent clipping. These are included with Reaper at no extra cost and are genuinely broadcast-quality processors. Render the final podcast mix via File → Render to MP3 at 128 Kbps mono or 192 Kbps stereo.
Verify the Full Signal Chain
Use qpwgraph (a graphical PipeWire patchbay) to visualize and confirm every connection.
# Ubuntu/Debian
sudo apt install qpwgraph
# Fedora
sudo dnf install qpwgraph
# Arch
sudo pacman -S qpwgraph
qpwgraph &
You should see: Physical Mic → RNNoise filter → (OBS input) and (Reaper/Audacity input). If OBS or Reaper shows the wrong source, disconnect and reconnect nodes visually in qpwgraph, or use the app's own device selector.
Troubleshooting
- Crackling or xruns: Raise the PipeWire quantum to 256 or 512. Check
pw-topfor nodes consuming excessive time. - RNNoise source not appearing: Confirm the LADSPA plugin path is correct with
ls /usr/lib/ladspa/librnnoise_ladspa.so. The path varies by distro; on Arch it may be under/usr/lib/ladspa/but sometimes the package installs to/usr/lib/x86_64-linux-gnu/ladspa/on Debian. - OBS Flatpak can't see PipeWire sources: Run
flatpak override --user --filesystem=xdg-run/pipewire-0 com.obsproject.Studioto grant socket access. - Reaper JACK shows no inputs: Ensure
pipewire-jackis installed andPIPEWIRE_LATENCYis not set to a conflicting value in your environment. Unset it withunset PIPEWIRE_LATENCYand relaunch Reaper. - High CPU from RNNoise: The neural network is lightweight but if you're on a very old CPU, reduce concurrent filter-chain nodes or use a simpler gate (Gate plugin via
lsp-plugins) instead.
Frequently asked questions
- Do I need to run a separate JACK daemon alongside PipeWire?
- No. Installing pipewire-jack provides a JACK compatibility layer. Any JACK-aware application like Reaper connects through PipeWire's JACK socket transparently, with no jackd process needed.
- Can I use a USB audio interface instead of a built-in mic?
- Yes. PipeWire enumerates USB class-compliant interfaces automatically. They appear as input devices in qpwgraph and in application device selectors; no extra drivers or ALSA configuration is required for most interfaces.
- Is RNNoise good enough to replace a hardware noise gate?
- For most podcasting environments it is more than adequate and operates on speech frequencies specifically. For live music or very high noise floors, combine it with a software gate plugin from lsp-plugins for cleaner cutoff.
- Why is OBS recommended as a Flatpak on Ubuntu rather than the apt package?
- The Ubuntu apt repository often carries an older OBS version that predates important PipeWire screen capture fixes. The Flatpak from Flathub tracks upstream releases closely and ships with the correct portal support for Wayland capture.
- What bitrate and format should I export the final podcast in?
- For distribution, MP3 at 128 Kbps mono is standard for speech-only podcasts and keeps file sizes small. If you have music segments or want higher quality, use 192 Kbps stereo. Always keep your Reaper or Audacity project files and the WAV masters.
Related guides
Linux Clipboards Explained (+ Clipboard Managers)
Learn the difference between Linux's PRIMARY and CLIPBOARD selections, use xclip, xsel, and wl-clipboard from the terminal, and manage history with GPaste or Klipper.
Configure LibreOffice for Daily Use
Configure LibreOffice for daily use: set default save formats for MS Office interop, tune autosave, install fonts, and add productivity extensions.
Configure the Touchpad and Multitouch Gestures
Configure Linux touchpad behavior and multitouch gestures using libinput, libinput-gestures, and native GNOME and KDE Plasma settings on both Wayland and X11.
Wayland vs X11: How to Choose and Configure Each
Know when to run Wayland or X11, how to check your current session, switch at login with GDM/SDDM/LightDM, and handle NVIDIA and XWayland edge cases.