Linux Audio Software: Virtual Instruments

I’m putting a separate thread to discuss Virtual Instruments, even though these are also plugins, because I think it’s useful to highlight and discuss specific virtual instruments.

There’s dozens of virtual instruments available for Linux. Most of them you probably haven’t heard of, but that’s because you haven’t had them advertised to you: they won’t appear in your social media feed, they won’t appear in many reviews (which are usually sponsored) and they usually won’t appear on the first page when you do a Google search.

But that doesn’t mean they aren’t good. And many of them are also free.

5 Likes

Soundfonts

Probably the easiest, most accessible way to get virtual instruments on Linux (or any other OS) is to use Soundfonts.

Soundfonts are sample libraries that have been organised into a format to be used with a Soundfont player. The samples could be (for example) a sample for every key on a piano. There could even be multiple samples for each key, at different “velocities” (how hard you hit the key).

The Soundfont formats allow these samples to be organised with a set of rules around how they should be played, based on the MIDI note, velocity, and so on, and how to apply effects such as modulation, controlled by MIDI control change messages.

You can obtain Soundfont files for all sorts of instruments. Many are freely available. I have even created my own Soundfont from recordings of church bells: Keith Milner / St Nicks Bell Recordings · GitLab

You just then need a Soundfont player. This is a plugin that allows you to install Soundfonts and then acts as the virtual instrument you loaded.

There’s two main Soundfont formats: the older SF2 format, and a newer (and more capable) SFZ format.

On Linux, there’s good support for Soundfonts, as there’s a Soundfont library Fluidsynth, that’s included in most Linux distros. The Fluida plugin builds on this to create a plugin host. Ardour even bundles the ACE Fluidsynth plugin. The sfizz plugin handles the more modern SFZ files.

So if you want bass guitars, pianos, percussion, organs, etc. then, rather on relying on fancy commercial instrument plugins which, under the hood, are probably just sample libraries, have a look around for a soundfont (you can do this on Mac and Windows too).

Cheers,

Keith

4 Likes

A short note to mention GM2 MIDI. GM2 (General MIDI Level 2) is a standard that defines specific instrument sounds for each numbered program change. If you can find a GM2 MIDI plugin, then many of the instruments you might want may already be there at your fingertips.

Under the hood, many GM2 plugins are just a soundfont player, with a GM2 Soundfont file preloaded.

The list of instruments in the GM2 set can be found on Wikipedia.

Some DAWs, including Ardour, come bundled with a GM2 plugin.

From the Ardour online manual:

This is a convenience plugin for playing standard MIDI files. It uses the FluidSynth engine and the GeneralUser GS soundfont by S. Christian Collins. The plugin comes with a MIDI map for simple patch selection in the user interface.

This is also available from x42 General MIDI Synth

Cheers,

Keith

3 Likes

Thanks for this (and ther others) Keith. Lots to digest.

What is also great in drums specifically is the preset grooves that come with EZD and MTPowerDrumKit. I find that really useful not being a drummer.

Is there something equivalent in the Linux world, or maybe one can save grooves or copy midi files from the existing tools?

1 Like

Drums is quite a big topic. I’ll might try to cover it in multiple posts because there’s lots of options here.

But I’ll start by mentioning that, on Linux, there’s another alternative to using instrument plugins. This is because Linux has had (via Jack, and now Pipewire) virtual audio cable capability largely “built-in” for around 20 years, and that has informed the software landscape around audio applications.

Historically, a lot of audio applications, including instruments, have been built as standalone applications, rather than plugins. This works well on Linux because you can just wire applications together: the output of a Drum Sequencer can be piped to the input channel of a DAW.

And this was, and still is, a common setup for many people who use Linux, although the use of plugin instruments is now more common.

(Side note: I’m linking to websites for these applications here, but most of these applications are bundled with mainstream Linux distros, and can be easily installed from the package manager).

So, for example, a very popular standalone instrument is the Hydrogen Drum sequencer.

A lot of people use Hydrogen to develop drum tracks. I will note, however, whilst it comes with a bunch of nice demos, it doesn’t come preinstalled with preset grooves, although there is a third-party project Song & Pattern Repository that you can download and use.

To use this with a DAW, you could, using a tool like qjackctl, Catia, or qpwgraph, connect the output of Hydrogen to the input of the DAW. You can also connect the output of a MIDI track to Hydrogen’s MIDI input to get it to play back the sounds using it’s drum kits.

In this example, I have create two tracks in Ardour, a stereo audio track and a a MIDI track to show that you can record either the audio output from Hydrogen, or the MIDI (or, in this case, both). I have also connected the MIDI Drums output back into Hydrogen:

Now I’ve glossed over a lot of detail here and, yes, it can be a faff to set up. I think, these days, it’s more common to use plugin instruments.

But this is still a capability that’s there and used by a lot of people, and there’s a lot of software instruments that can be used this way.

Other examples of standalone instruments include:
qsynth - a soundfont player
Cardinal - Modular synth based on VCV Rack
amSynth - Analogue modelling synth
setBFree - Hammond B3 Emulator
TAL Vocoder - Vintage-style vocoder
Pianoteq - Award-winning virtual piano using physical modelling

And many, many more (some listed here)

Most of these are also available as plugins too.

The nice thing is, these instruments can also be used without a DAW.

And there are lots of utilities such as MIDI arpeggiation and event monitoring.

There’s even Virtual Keyboard options too (vmpk, jack-keyboard, etc.), if you don’t have a physical keyboard.

Cheers,

Keith

2 Likes

Another option for drums, especially if you want pre-defined patterns, is to use the Ardour Cue mode:

Ardour also comes with access to a whole load of bundled loops that you can use to build beats using the Cue page (or by just dragging them into a MIDI track):

There’s no reason why, once dowloaded, you can’t use these clips in Reaper by dragging and dropping them into a MIDI track (Reaper doesn’t currently have an equivalent to Ardour’s Cue mode). Or you could create the beats in Ardour using Cue mode, export the result and load into Reaper.

There’s also loads of third-party loop/clip libraries you can add from places like Groove Monkee, Yurtrock, and Looperman.

Note that clips can either be MIDI or audio files. If they are MIDI, you will need to select a Virtual instrument to play them, which could be the built-in GM2 synth (which is the default anyway).

Cheers,

Keith

2 Likes

Thanks for all that, Keith. Really appreciate the time and effort.

I guess I’d figure it out.

This will likely end up a trade-off between inconvenience and risk of remaining on unsupported Win 10 in a dual boot just for Reaper indefinitely or switching to Reaper/Ardour and enjoying a learning curve.

I am such a basic hobbyist and in all my time have produced not much more than a hadnful of songs. For the basic recordings for AVOYP I’d started to simply use OBS, Reaper only for multi-track originals.

1 Like

The trouble with drums (and, to a degree other virtual instruments, but it seems it’s more acute with drums) is that there’s often several different requirements depending on working modes.

Are you someone who wants to sequence drums by placing them on the grid yourself, or someone who just wants a library of pre-built drum grooves to pick from and assemble into a song. Or are you someone who has an eDrum kit who wants to capture live performances as MIDI but with different drum sets?

I think you @DavidP are the middle one of these, but others will have different requirements.

But the core capabilities boil down to 3 things:

1. A drum virtual instrument
There’s a reasonable number of options here including GM2 and Soundfont based drumsets, AVL Drumkits plugin, Drumgizmo, Ugritone drums, Drum Locker, and others.

2. The ability to create MIDI sequences.
That’s built into practically every modern DAW.

3. A library of MIDI Drum clips
There’s lots of options here, many being free, some I have described above.

Note that the Ardour Cues/Clip launching capability (also on Ableton, Bitwig, and others) is a particular “non-linear” mode which is particularly suited to building tracks with repeating loops.

EZDrummer, MTPowerDrumKit2 and others like it are really just convenience wrappers around the above 3 capabilities.

Don’t get me wrong: they are great tools and really streamline the process. But you can if you want, do almost everything that these tools do with a Drum sample virtual instrument, a library of MIDI clips, and pretty much any DAW.

If you can’t give up the convenience of something (and that’s fair enough if it’s infrequently used) then either MTPowerDrumkit2 or Drum Locker might be best.

Drum Locker is a commercial app. It’s not as pretty as EZDrummer, but you can purchase packs of grooves and audition them, and then drag them into the Drum track in the DAW:

MTPowerDrumkit2 can be made to work under Linux (as, apparently, can Addictive Drums 2), but it is a faff and, unless you are careful, the installation can be fragile. According to the website there’s supposed to be a native Linux version in the works, but I get the impression that’s been abandoned because there’s been no news for years.

Personally, I’m not a big user of drum pattern libraries, and my current go-to Drum instrument is DrumGizmo.

Cheers,

Keith

3 Likes

Wow Majik, what an amazing tutorial. Thanks for putting so much effort into this for everyone. Very helpful for anyone running Linux.

This is something I need to look into more.

:victory_hand:t2::love_you_gesture:t2::sign_of_the_horns:t2:

3 Likes

I’m hoping some of the other Linux users in this community join in and give their experiences and recommendations for their favourite plugins.

Cheers,

Keith

2 Likes

Thanks again, Keith

For my original songs, I pick one of the general styles in either MTPower or EZD, cobble together a sequence for the various song parts, and then may tweak that a little in the MIDI editor in Reaper.

I have learned how to route the individual drums from the plugin’s mixer to separate tracks in Reaper and then may add other fx plus balance the sound levels for the overall sound.

I do like the variety of drum kits in EZD and do pick and choose which I prefer for the song.

And all that said, as I said, I am not prolific in producing originals. Just for my own pleasure and sharing with the Community in those occasional moments when I do feel inspired.

Rarely do I compose my own original drum groove for recording.