Metal Music on Linux
My setup for creating metal music as a Linux user
First of all, Happy Pride Month 🌈! I’d like to do something more to celebrate in the future (perhaps a cool queer metal song?), but for now I’d like to remind everyone to be kind to each other and oppose people who seek to divide us into small, conquerable groups (such as Donald Trump).
Onto the subject of today’s post: making metal music on Linux! This is something I’ve basically been doing since I started using Linux back in 2021, so I have a good amount of experience under my belt with it, even if I kind of had writer’s block for a good 2 years… oops. Eh, whatever, I can still say a couple of things.
Thanks to the effort of the Wine project and the creation of bridging tools, the workflow for music creation on Linux is not so different from Windows’ workflow, at least if you want it to be. I will note that this post will not go into advanced JACK usage, because I find it overcomplicates things for me and I would prefer to keep it simple. If you don’t even know what JACK is, great, I won’t be going too deep into it.
Which distro to pick?
Right off the bat, I will note that you probably don’t need a distro preconfigured for pro audio like Ubuntu Studio , though they are nice. Given how volatile Wine can be sometimes, I would recommend you just pick a distro that is stable and whose base doesn’t change much for a long time. Good picks include Ubuntu, Debian, Linux Mint, Rocky Linux, and maybe Fedora if you’re pushing it. My first distro (and the distro I use to this day) is Kubuntu , which should function virtually identically to standard Ubuntu in the music creation department.
If you don’t know which one to pick (I am sorry for overwhelming you with so many random names), just pick Linux Mint . I’ll be assuming you’re using an Ubuntu or Ubuntu based system like Mint for this post.
If you’re totally green and would like an explainer of what that means, Linux OSs are generally made up of open source software , which, among other things, allows modification and redistribution of the programs and their “source code”, which is like the recipe your computer follows to make them work. Because of this, it’s common for communities to create new OSs with a lot of the same software and app stores as existing ones. The distro called Ubuntu is very popular, but is actually based on another, older distro called Debian. Linux Mint is in turn based on Ubuntu. What this means in practice is that a lot of things will work the same between them, though in this case there is one thing that might not be in Debian we’ll be using. I hope this was helpful!
Pick a DAW
Sadly this part kinda sucks because a lot of DAWs (Digital Audio Workstations) are Windows-only and don’t exist on Linux. The only big-name ones that are available natively on Linux that come to mind are Bitwig Studio , REAPER , and Studio One . You can try your hand at running a Windows DAW like FL Studio or Ableton through Wine, but I’m not going to do that because I don’t use those DAWs.
There is also a very fully-featured and completely open source DAW available called Ardour , but I find it difficult to use so I don’t use it. Instead I use REAPER. There’s a free evaluation mode that doesn’t actually restrict any features, but I went and bought a license anyway because I really like it and find it works well.
Because I use REAPER, I’ll assume you will too in this post. If you don’t, SORRY.
Installation of REAPER is fairly simple. You can just head over to the download page and click the download button for Linux. Then double click the reaper[version]_linux_x86_64.tar.xz file to extract it (it’s like the Linux version of a zip file). After that, right click the new reaper folder that was made, press “open in terminal”, and run this command:
./install-reaper.sh
It basically works the same as a Windows .msi installer but with text. Just follow the prompts and you should be fine. Either install location is fine and say yes to desktop integration and symlink. Then you can close the terminal window.
The stupid part
This is the part of the post that will be the most convoluted, but stay with me! Though I use a Linux DAW, I rely on Windows VST plugins, because many plugins are simply not made for Linux. In order to make these work, we need to download and enable a program called “Yabridge”. It uses Wine to let Windows plugins work in Linux DAWs.
Aaaaand Ubuntu doesn’t have their own packages for it so we need to set up the binary manually, which isn’t too difficult, but it is a bit annoying because it has a few steps.
But first we need to install Wine in the first place. On Linux Mint you can just open the app store, search for Wine, and install it.
After that, go to the
yabridge releases page
and
download the latest yabridge-[version].tar.gz, and extract it like you
did REAPER. Then move the extracted folder to the ~/.local/share
folder.
This is in your “Home” folder, but is hidden; you have to reveal it by
pressing control-H.
After that, go back to your home folder and open the .bashrc
file with your
text editor. Scroll to the bottom and paste this line:
export PATH="$PATH:$HOME/.local/share/yabridge"
Then save and close the file. THERE NOW YABRIDGE IS INSTALLED. Sorry about that. And congrats, you just finished the hardest step!
Pluginz and using yabridge
Yabridge is a command-line program, which is… kinda dumb. Come to think of it a lot of this would have been easier on openSUSE because they have a repo packaging both yabridge and a GUI for it. But it’s too late now because I already spent a lot of time writing this. Maybe I should package yabridge for the Ubuntu repos.
Anyway, getting the plugins to work requires like, 2 commands. First you need to tell yabridge what folder your plugins are in. So go to the folder you want to put them in, right click it, and then copy its path (I forget the exact wording). Then run this command:
yabridgectl add [the path you just copied]
HINT: because terminals historically used control-V for something else, you actually need to run control-shift-V in order to paste in a terminal. I think right clicking also brings up a menu for pasting.
After that, you need to tell yabridge to make the plugins work with Wine. Just run this:
yabridgectl sync
Then you should be almost done. One more thing: in REAPER, make sure you add the path to your plugins to its options. It should be somewhere like options -> preferences -> VST/VST3.
Moment of truth
For your audio settings in REAPER, I like to select the ALSA system because it lets me simply select my input and output device. However in my experience it doesn’t let me choose HDMI outputs, which sucks if I’m using my monitor, but in that case we can do something else (later).
Now you can hopefully go over to REAPER and add a plugin in the FX window. If everything works, great. If not, it either means:
-
You accidentally did something wrong while following these instructions. Sorry! I might not have been clear enough in some parts.
-
The plugin doesn’t work with Wine. This is sadly a bit common, and if your plugin is really expensive and has iLok DRM, it probably won’t work. I hate iLok. In addition, I used to use the free Spitfire LABS plugin, but it recently had a huge overhaul that made it go from sort of working on Linux to completely borked. You kind of just have to hope for the best.
What if I want HDMI?
The method that has worked for me is using JACK, or more specifically, JACK emulation by PipeWire (the current Linux audio system that is used for most things), because REAPER doesn’t natively support PipeWire. To do this, run this command:
sudo apt install ubuntustudio-pipewire-config
Then reboot your computer and you should be able to use JACK in REAPER now. Select your inputs from the system’s audio settings, NOT REAPER’S.
This way of doing things does introduce a bit of latency, which you can mitigate a bit by going to the app store and installing the Ubuntu Studio Installer. From there, open the Ubuntu Studio Audio Configuration and select “Configure Current Audio Configuration” and type “512 48000”, then press OK. Yeah it’s kinda dumb.
What plugins do I use?
This is the part that actually has to do with metal! I use a fairly wide variety of plugins, but I’ll go over the basics:
For rhythm guitars, I use the
NaLex Ninja
as my main amp, and the Ignite NadIR
as
the cabinent sim, with the
ML Sound Lab “Best IR in the World” (lol)
.wav
file loaded in the NadIR. Apart from that I just double track it and keep each track
100% panned to the left and right respectively.
I have a similar signal chain for my lead guitars but I will usually use the build in ReaEQ plugin to clean up the frequency. Not much else.
For drums, I use the Perfect Drum Player alongside the Restrains Kit for it. I don’t love the sound of the snare drum so I change that to the Ludwig Carl Palmer one. That’s basically all. I used to use the MT-PowerDrumKit but I grew tired of the way they sound. They are a more all-in-one solution though, even if they also have an annoying screen you have to click past for free users.
For bass, I technically own a bass, but I rarely get to use it, so instead I use a sampled instrument, because in no other genre are bassists more neglected than metal. For this, I use the DecentSampler and the Pegasus Bass . Then I’ll add the Ignite SHB-1 sometimes, and maybe an EQ.
That about covers the basics and should hopefully get you a fine enough sounding starting point for a metal instrumental made by one person (who happens to play guitar and nothing else). And on Loonix, too!
What would I change?
There are a lot of things I really like about the Linux world, but as someone who has gotten used to the flaws of Linux music production, I do have to admit that things could be much better. In particular, the installation and usage of Yabridge is a PITA for a newcomer, so I’d probably work on making that easier.
GeekosDAW is one way to handle this, and I find it does so quite well, but it’s specifically for openSUSE. Ubuntu is a much more popular distro, so I’d like to find something that can make that work better. Maybe it would be as simple as packaging Yabridge and its GUI called Yabridget to the Ubuntu repos. Who knows, though?
I’ve also considered making what would be the musician equivalent of Steam so that people can easily manage their plugins and how they work with Wine without having to install anything to their root filesystem. Immutable distros are becoming more popular so I think something like that could make music production on something like say, SteamOS , WAY more viable than it is now.
That’s all from me for today, though. Have a wonderful June!