Audio Production on Linux

What You'll Learn

Linux is a serious platform for audio. Professional DAWs such as Ardour, Reaper, and Bitwig Studio run natively, and modern Linux audio (PipeWire) gives low latency without the fiddly setup of the past. This page covers three kinds of work:

How Linux Audio Works (in One Minute)

Your apps (DAW, browser, OBS, Discord)
          │
          ▼
     PipeWire  ← the modern sound server on Fedora, Ubuntu 22.10+, Mint 22+, Arch…
          │      speaks all three "languages" apps use:
          │      PulseAudio (desktop apps), JACK (pro audio), ALSA (low level)
          ▼
   ALSA drivers ──► your sound card / USB audio interface

Older guides tell you to install and start a separate JACK server. With PipeWire you don't need to: pro audio apps that want JACK are automatically connected through PipeWire, and your browser and system sounds keep working at the same time.

# Check you're running PipeWire (should mention "PipeWire")
pactl info | grep "Server Name"

Step 1: Set Up for Low Latency

Latency is the delay between playing a note and hearing it back. Under ~10 ms feels instant; above ~20 ms is hard to play along to.

1a. Real-time permissions

# Ubuntu/Debian: JACK support through PipeWire (often already installed)
sudo apt install pipewire-jack

# Real-time limits for the "audio" group: installing jackd2 asks
# "Enable realtime process priority?" — answer YES (it creates the settings file)
sudo apt install jackd2
sudo usermod -aG audio $USER         # then log out and back in

# Fedora: PipeWire's JACK support is normally installed already;
# real-time priority is granted automatically through RTKit
sudo dnf install pipewire-jack-audio-connection-kit

1b. Set a smaller buffer while recording

# Buffer ("quantum") of 128 samples at 48 kHz ≈ 2.7 ms per buffer
pw-metadata -n settings 0 clock.force-rate 48000
pw-metadata -n settings 0 clock.force-quantum 128

# Put it back to automatic when you're done
pw-metadata -n settings 0 clock.force-quantum 0

If you hear clicks or crackles, raise the quantum to 256. Tools like qpwgraph (org.rncbc.qpwgraph) show and change audio connections visually.

Want it all pre-configured? Ubuntu Studio and Fedora Jam are distros that ship with low-latency settings and a big bundle of audio software. On regular Ubuntu, sudo apt install ubuntustudio-installer adds the same setup.

Step 2: Audio Interfaces and Microphones

Set the interface as your input/output in Settings → Sound, or pick it inside the DAW. Choose the Pro Audio profile for an interface to see all its individual inputs and outputs.

Step 3: Choose Your DAW

AppCostLike…Best forInstall
AudacityFreeAudacity (same app)Voice-over, podcasts, quick editsorg.audacityteam.Audacity
ArdourFree source; pay-what-you-want binariesPro Tools / LogicRecording bands, mixing, editingardour.org, or distro package
REAPER$60 personal licence (generous trial)REAPER (native Linux build)Everything; tiny and very customisablereaper.fm
Bitwig StudioPaidAbleton LiveElectronic music, sound design, live performancecom.bitwig.BitwigStudio
LMMSFreeFL StudioBeat-making with pattern editorsio.lmms.LMMS
ZrythmFreeModern all-rounderMusic production (newer project)zrythm.org
HydrogenFreeA drum machineProgramming drum partsorg.hydrogenmusic.Hydrogen

Our picks: Audacity for voice-over; Ardour (free) or REAPER (paid, cheap) for recording and mixing; Bitwig if you make electronic music and come from Ableton.

Step 4: Plugins (Effects and Instruments)

NeedNative Linux plugins (free)
EQ, compressor, gate, limiter, reverb, delayLSP Plugins, Calf Studio Gear, x42 (meters, EQ), Dragonfly Reverb
Guitar amp and cabinet simulationGuitarix (also a standalone app), Neural Amp Modeler (NAM) LV2
SynthesizersSurge XT, Vital, Dexed (DX7), ZynAddSubFX, Odin 2
Sampled instrumentssfizz (SFZ player) + free SFZ libraries, DrumGizmo (drums)
Noise reduction for voiceRNNoise-based noise suppression (via EasyEffects or LSP), Audacity's Noise Reduction

Linux plugins come as LV2, CLAP, and VST3. Many commercial developers (u-he, Toneboosters, Airwindows, Vital) ship Linux versions — check before buying.

Windows-only VST plugins

yabridge runs Windows VST2/VST3/CLAP plugins inside Linux DAWs using Wine. Many work well; heavily copy-protected ones (iLok) often don't. Install the plugin's Windows installer with Wine, then run yabridgectl add "$HOME/.wine/drive_c/Program Files/Common Files/VST3" and yabridgectl sync.

Workflow 1: Voice-Over for YouTube and Podcasts (Audacity)

  1. Room first: record in a small room with soft furnishings; get close to the mic (a fist's width to a hand's width away).
  2. Set levels: in Audacity, click the recording meter to start monitoring. Speak normally — peaks should hit around −12 dB, never 0.
  3. Record 5 seconds of silence first (room tone), then your script. Leave a pause and re-read any line you fumble; cut the mistakes later.
  4. Clean up, in this order:
    • Noise Reduction: select the silence → Effect → Noise Removal and Repair → Noise Reduction → Get Noise Profile. Then select all → Noise Reduction again → around 6–12 dB → OK.
    • Filter Curve EQ or Bass and Treble: a low cut (high-pass) at ~80 Hz removes rumble.
    • Compressor: threshold −18 dB, ratio 3:1 evens out loud and quiet words.
    • Loudness Normalization: −14 LUFS for YouTube, −16 LUFS for podcasts.
  5. Export: File → Export → WAV (for the video editor) or MP3 (for podcasts).

Live clean-up while recording with OBS: EasyEffects (com.github.wwmm.easyeffects) applies noise suppression, EQ, and compression to your microphone system-wide, so every app — OBS, Discord, Zoom — hears the processed voice.

Workflow 2: Recording Guitar, Bass, and Vocals (Ardour)

  1. Plug the guitar into the interface's Hi-Z / Instrument input, the mic into a mic input (turn on 48 V phantom power for condenser mics).
  2. Open Ardour → New Session → Audio/MIDI system: JACK/PipeWire, sample rate 48 kHz, buffer 128 or 256.
  3. Track → Add Track: one mono audio track per input. Connect each track's input to the right interface input (click the input button at the top of the track).
  4. Guitar tone: on the guitar track, add a Guitarix or Neural Amp Modeler plugin. You record the clean signal but hear the amp — you can change the tone later.
  5. Click track: set the tempo in the ruler and enable the metronome (click icon in the transport bar).
  6. Arm the tracks (red button), press Shift+R to arm the transport, then Space to record.
  7. Mix: balance faders first, then EQ (cut before you boost), then compression, then reverb on a bus shared by all tracks.
  8. Export: Session → Export → Export to Audio File(s). WAV 24-bit for mastering; use the loudness analysis to target −14 LUFS for streaming.

Workflow 3: Producing Music With MIDI

  1. Plug in a USB MIDI keyboard — it's detected automatically.
  2. In your DAW add a MIDI track with an instrument plugin: Surge XT or Vital for synths, sfizz with a piano SFZ library for keys, Hydrogen or DrumGizmo for drums.
  3. Record or draw notes in the piano roll. Quantize to tighten timing.
  4. Build the arrangement: intro, verse, chorus. Duplicate regions and vary them.
  5. Mix with the same order as above, then master: gentle EQ, glue compression, a limiter, and a loudness check.

Troubleshooting

What's Next?