Jacob Vosmaer's blog

Using REAPER with ALSA, ignoring Pipewire

2026-10-03 — linux

I rediscovered a trick for working with audio under Linux and I'm writing it down so I don't forget again.

Background

For a long time I have been making music in a computer-free studio. I record my audio into a field recorder. Then I take the SD card from the field recorder to my computer, outside the studio, and process/edit the audio there. Recently I was reminded that having a computer in the studio, while distracting, can also be very efficient, so I thought let's give that a try.

I have an old Linux laptop (Ubuntu 26.04) that is fast enough to run REAPER, the DAW that I use. So as an experiment I connected an audio interface to my studio mixer to see if I could use "Linux laptop + REAPER" as a fancy tape recorder.

Linux audio is confusing

To get started I played a sine wave using REAPER's built-in "Tone Generator" plugin. This did not work: the sound coming out of my speakers was frequently crackling.

Ubuntu 26.04 uses a "sound server" called Pipewire. REAPER supports sending audio to ALSA, JACK and PulseAudio. I find this all very confusing but I remember ALSA as the one thing that worked for me in the past.

Hiding the soundcard

I started googling "pipewire usb interface crackling" and trying out the half-understood configuration changes people suggested on forums and question/answer sites. None of them worked for me. Then after several hours I remembered that I have had this problem before, back when Ubuntu still used PulseAudio, and that I then found a way to hide my soundcard from PulseAudio using udev. Once PulseAudio was out of the way I could let my audio software use the soundcard directly via ALSA.

Instead of learning Pipewire, I thought maybe I can find out how to work around it.

Pipewire bypass

The key thing I had to learn was that (on Ubuntu) Pipewire is controlled via WirePlumber and that I can use that to let PipeWire ignore my soundcard. The information is all there on the Arch wiki page for WirePlumber (not Pipewire!) but I'll summarize it here anyway in case it goes away.

monitor.alsa.rules = [
  {
    matches = [
      { device.serial = "ZOOM_Corporation_ZOOM_F6_Audio_000000000000" }
      { device.serial = "MOTU_M2_XXXXXXX" }
    ]
    actions = { update-props = { device.disabled = true } }
  }
]

And then my M2 was liberated from Pipewire!! I configured REAPER to connect to the M2 via ALSA, which now works correctly. Finally.

Conclusion

Don't always solve problems the proper way

It can be satisfying to solve problems the proper way because the proper solution is often "neat" in some way. But it's also satisfying to cheat and and solve a different, easier problem!

Maybe Linux is not worth the hassle

Maybe I should look for a cheap Apple computer to put in the studio and use that instead? In the long run, perhaps yes. But I don't know if I even want a computer in the studio. I spent a lot of time on Linux wrangling but I did save money, not having to buy anything.

Maybe I should go back to using my field recorder

Maybe I will, but not now. I wanted to try something new!

More about: linux

Index — Contact