it’s here! native vst support in ardour 3

Ardour 3.0 is still in alpha, but it gained a substantial new feature last week: support for native Linux VST plugins. It’s a feature that’s been on wishlists for a while, but it’s become more important over the last year or so, as the number of VST synths for Linux has increased. The big drawcards are the commercial synths — Pianoteq, discoDSP Discovery, and the various Loomer plugins, for instance — but more open-source VSTs are appearing now too, such as the TAL synths, ported from Windows by KXStudio developer falkTX in his new DISTRHO project.

The new features use the unofficial Vestige VST headers, which means that Ardour avoids the need for users to download the official Steinberg VST SDK and build Ardour themselves. Having said that, the new VST support is a build-time option that’s disabled by default, but I’m hoping that it will be enabled by default, and available in the official binary builds of Ardour, before the final 3.0 release.

Ardour 3 SVN, running the Loomer Cumulus and TAL-Dub-3 native VSTs

As handy as this is, there has been some discussion about whether or not native VST support is a good thing. VST isn’t a particularly elegant plugin system, and given Steinberg’s licensing restrictions, it’s always going to be harder for the developers of hosts like Ardour to deal VST with than other plugin formats, such as LV2. I would hate to see this VST support discourage developers from working with LV2.

Realistically, though, it’s hard to expect commercial plugin developers to embrace LV2, on top of the effort already required to bring their plugins across to Linux. Indeed, now that Ardour has joined Qtractor and Renoise in supporting VST plugins, the size of their combined user bases might encourage more plugin developers to offer Linux support.

I hope we’ll see more ports of open-source Windows VST plugins too, but for anyone developing a new open-source synth plugin, or working on a plugin version of an existing standalone synth, LV2 makes much more sense. Regardless of how open-source they may be, VSTs that rely on Steinberg’s headers will never be allowed in to distributions. With David Robillard’s new LV2 stack, which is already in use in both Ardour and Qtractor, LV2 is a fast, reliable, and highly capable standard, and its use will only increase, regardless of what happens with native VST support.

a new lv2 synth: the newtonator

I’ve just updated my big list of LV2 soft-synths with a brand new entry: a bizarre synth called The Newtonator. It’s a unique synth, with algorithms based on the laws of gravitation. The sounds it makes are almost all bizarre, distorted creations, though the samples on the website suggest that it is capable of being tamed a bit to create more melodic sounds. In any case, it’s a lot of fun to play with, so if you’re in to sound design and unique sounds, it’s definitely worth checking out.

The Newtonator

The Newtonator: a new LV2 synth that makes bizarre, distorted sounds

an experiment with ccmixter

Creative Commons licences allow musicians, artists, and other creative people to create new and unique works based on the works of others. While you can often do interesting things based on finished pieces, having access to the individual components gives you a lot more flexibility, and it’s that access to components that ccMixter aims to provide.

ccMixter lets users do two core things: upload samples of their own creation, and upload remixes made using samples from other users. The samples that people upload range from individual sounds and solo recordings through to the stems (that is, the individual tracks) from full, mixed songs, so there’s a wealth of stuff to work with.

The most impressive thing feature of ccMixter is its attribution tracking on remixes. When you upload a remix, you tell ccMixter which samples you used, so it’s very easy to see what samples are used in a remix, or what remixes make use of your samples. It all gets complicated once you start using remixes within other remixes, but ccMixter displays the attributions as a tree, giving you a simple, and very cool, overview of a remix’s entire history.

I’ve always had a “do-it-yourself” attitude with my music, creating a lot of my own sounds and recording all of my own tracks, and I don’t see that changing just yet. As an experiment, though, I uploaded the stems for “move along”: complete and separate main and backing vocal, bass, and piano tracks, and a mixed stereo drum track.

I wasn’t sure if anyone would do much with it, but to my surprise, there are three remixes on the site using those samples — you can check them out from the link above. There’s a constant influx of new material, so you don’t have long to catch people’s attention, but it’s definitely exciting to know that people are listening to your work and using it in new ways. I’m sure I’ll be uploading more tracks in future to see what other users can do with them.

lv2 synth updates

I’ve just finished some updates on my big list of LV2 synths — here’s a brief list of the changes:

  • Calf Fluidsynth, despite being marked as “experimental”, does actually seem to work quite well for me — it’s definitely worth testing yourself if you’re interested in soundfonts
  • Composite Sampler has been updated (it’s now at version 0.006.2), with fixes for the bugs that prevented it from working in Ardour 3
  • lv2-mdaEPiano and ll-plugins Rudolf 556 both work after upgrading lv2-c++-tools to version 1.0.4; earlier versions have a bug that prevents synths built against it from loading in to Ardour

Check the original post for the full details.

everything you always wanted to know about linuxsampler

LinuxSampler is an odd beast — it can be tricky to install, and confusing to configure, but it’s undoubtedly the best tool for working with large sampled instruments under Linux. With its next release adding support for the increasingly popular SFZ format, and the fact that it’s one of the few LV2 synth plugins ready for use with Ardour 3, I think it’s about to get a lot more important.

Let’s not get too far ahead of ourselves, though. What exactly is LinuxSampler, what’s it useful for, and perhaps most importantly, how do we use it?

LinuxSampler GUI

LinuxSampler handles large sampled instruments with ease

LinuxSampler basics

LinuxSampler is a sample-based synth that lets you use very large sampled instruments. Rather than loading the entire instrument in to RAM, LinuxSampler loads just the start of each sample, and then reads the rest from disk as it’s needed. Because of this, it can load instruments much larger than your system would be able to handle with other software, such as Hydrogen or Fluidsynth/Qsynth.

Realistic piano sounds are perhaps the classic use for LinuxSampler — a good piano, like the Salamander Grand Piano, can reach 2GB or more in size — but it works just as well for electric pianos, guitars, violins, trumpets, drum kits (a personal favourite), or any other instrument that calls for large samples, or a lot of samples, to provide a realistic result.

LinuxSampler can be run standalone — it supports ALSA and JACK for both MIDI input and audio output, and can handle an arbitrary number of inputs and outputs mapped to different instruments. It can also run as a plugin; the LV2 plugin runs well under both Ardour 3 and Qtractor.

File formats

The inspiration for LinuxSampler was a Windows app called Gigasampler, which was the first sampler to incorporate on-demand streaming of sample data. It’s a standard feature in professional samplers today, and Gigasampler itself has been defunct for some time, but its legacy lives on in the “.gig” file format, which is also LinuxSampler’s primary file format.

You can still find some great commercial sample libraries in .gig format, but it’s definitely falling out of favour today. To address that, the development branch of LinuxSampler has added support for a new format called SFZ. It’s a young format, but it’s growing in popularity thanks to the availability of free SFZ plugins across all platforms. Also, because of its design (the SFZ file itself is a simple text file, separate from the actual sample data), you can download third-party SFZ mappings for some commercial instruments.

Even though .gig is fading away commercially, it’s still useful for bundling your own sounds. The LinuxSampler project includes a .gig editor called “gigedit”, which you can use to create your own instruments.

Hopefully you now have an idea of what LinuxSampler is and what it can do for you. Now all that remains is to learn how to install and configure it!

lv2 synths for ardour 3: a list

With Ardour 3 alphas coming thick and fast, and the beta looming on the horizon, I thought it was high time to examine the soft-synths that are available for use with it. While support for other synth plugin formats, like DSSI and native VST, may come in future releases, Ardour 3.0 looks set support only LV2 synths (though it of course supports LADSPA for effects, too). That obviously limits the selection somewhat, but there are still some nice synth plugins on offer.

Of course, Ardour 3 works just as well with external JACK synths, and with hardware synths, so you can still use old favourites like Hydrogen or Yoshimi, but using plugins certainly makes things easier when saving and loading projects.

NOTE: Some of these synths rely on a library called lv2-c++-tools. Versions of this library before 1.0.4 include a bug that prevents Ardour from loading any synth plugins built against it, so if some of the synths listed here fail to load for you, make sure you check your lv2-c++-tools version.

Calf plugins: Monosynth, Organ, and Fluidsynth

The Calf plugins are some of my favourites — the Flanger, Phaser, MultiChorus, and Vintage Delay are all great — and it comes with a couple of synths, too. Calf Monosynth is a classic analogue-style monophonic synth; it handles legato just like an old monosynth, which is something that a lot of soft-synths mess up, so it’s great for both electro basses and proggy leads. The git version adds LFOs and a modulation matrix.

Calf Monosynth

Calf Monosynth handles classic lead and bass sounds

Calf Organ is based on a drawbar organ; rather than emulating a specific organ it takes the basic idea and expands on it. You can adjust the harmonic and the waveform of each drawbar, and independently pan and detune them, too. It also has a pair of resonant filters, and three envelopes for modulation, which make it capable of all sorts of synth sounds beyond what you’d expect from an organ.

Calf Organ

Calf Organ is half-organ, half-synth

Calf Fluidsynth does what you’d expect it to do — it lets you load SF2 soundfont files, using the Fluidsynth engine. It’s only available in the git version of Calf, and it’s marked as experimental, so you have to enable it explicitly when configuring the build. Despite all that it does seem to work, though I haven’t had a good chance to really put it through its paces yet.

Calf Fluidsynth

The experimental Calf Fluidsynth plugin loads SF2 soundfont files

foo-yc20 organ

If you do want a classic organ, foo-yc20 may fit the bill — it emulates a Yamaha YC-20 combo organ, down to the tacky red background in the UI. It does a great job of emulating those cheesy 70s organ sounds, and it works really nicely through a chorus or rotary speaker plugin.

foo-yc20

foo-yc20 emulates a deliciously-cheesy combo organ

MDA EPiano

The MDA plugin set, which contains a variety of synth and effects plugins, has long been popular on Windows, and since going open-source a couple of Linux LV2 ports have appeared. Dave Robillard has ported the effects plugins, but he hasn’t yet started on the synths. The lv2-mdaEPiano project has ported one of the synths, though — the electric piano. It’s a very nice little synth, with a great sound and low resource usage.

lv2-mdaEPiano has its own GUI, but it’s a bit plain — I actually prefer Ardour’s standard plugin GUI controls. Thankfully, you can bring up a standard Ardour GUI for it (or any other plugin, for that matter) by right-clicking on it in the plugin list and selecting “Edit”. lv2-mdaEPiano uses lv2-c++-tools, so make sure you’ve upgraded that to 1.0.4 or later before installing it.

lv2-mdaEPiano

lv2-mdaEPiano is a port of the MDA EPiano VST plugin

So-synth plugins: SO-404, SO-666, and SO-KL5

These three plugins started as stand-alone JACK synths, but they were ported to LV2 by Jeremy Salwen:

  • SO-404: a single-oscillator monosynth; it’s similar to a 303, and while it’s not a strict emulation it certainly capable of the same kinds of sounds.
  • SO-KL5: a “piano” synth — it uses Karplus-Strong string synthesis, and while it doesn’t sound a lot like an actual piano, it sounds really nice in its own way, but a bit of an electric piano-ish vibe to it.
  • SO-666: a feedback drone synth, capable of some crazy, dissonant drones; the original website has the best description of how to use it
so-synths-lv2

The So-synth LV2 synths, with standard Ardour GUIs

LinuxSampler

I wasn’t sure about using LinuxSampler as a plugin initially, but it actually seems to work quite well! When you add the LV2 plugin within Ardour, you don’t get a GUI — it just launches an instance of LinuxSampler in the background and defines a MIDI input and audio output. Then, you can fire up LinuxSampler’s Fantasia GUI to load the instrument you wish to use. It’s a little clunky, but the settings are all saved as part of the session and restored when you reload it, just as you’d expect with a plugin.

linuxsampler-lv2

LinuxSampler's LV2 plugin uses an external GUI to load sounds

The Newtonator

I’m not sure how to describe this one, though words like “bizarre”, and perhaps “insane” certainly come to mind. The Newtonator uses some unique forms of synthesis, which are extensively, and entertainingly, in its manual. Its sound starts off as a simple sine wave, but after a few quick adjustments of some of its modulation parameters you find yourself knee-deep in some rich, distorted sonic mayhem.

The Newtonator

The Newtonator creates sounds that are harsh, distorted, crazy, and very cool

Qin

Like SO-KL5, Qin is a little string-based synth; it simulates plucked strings using a pair of oscillators and a pair of filters. Being monophonic limits its usefulness, but it can make some nice sounds.

qin

Qin is a monophonic plucked string synth

ll-plugins: Rudolf-556 and Sineshaper

The ll-plugins plugin set contains two quite unique synths: Sineshaper, a monophonic synth based (unsurprisingly) on sine waveshapers, and Rudolf 556, an analogue drum machine emulation that creates bass, snare, and hat sounds. Even with the updated version of lv2-c++-tools, Sineshaper doesn’t work in Ardour for me, but Rudolf 556 does.

Rudolf 556

Rudolf 556 creates drum sounds similar to those on analogue drum machines

Composite Sampler

Composite Sampler is the plugin component of the Composite project, which aims to create a realtime sampler and sequencer based upon Hydrogen. The sequencer itself isn’t usable yet, but this plugin, which plays Hydrogen drum kits, works just fine (as of version 0.006.1). With no GUI to speak of it’s a bit fiddly to use, but the release announcement includes basic instructions.

Others

There are some others that I either haven’t tried or couldn’t get working, or which simply aren’t finished yet. If anyone else can elaborate on these, let me know in the comments so that I can improve this article in the future:

  • Minicomputer-LV2: this is a work-in-progress LV2 port of Minicomputer. i don’t think it’s in a usable state yet, but it’ll be awesome when it gets there.
  • Calf has another “experimental” synth, called Wavetable, which I assume will be modulatable wavetable synth, like those from Waldorf. It doesn’t actually work yet, though, so we’ll just have to wait and see how it develops.
  • lv2_guitar: another string synth; thanks to Jeremy’s comments below I was able to build it, but it won’t load in to Ardour.
  • Zyn: this project aims to port the various synth engines from the almighty ZynAddSubFX to LV2. I haven’t had any luck getting Ardour 3 to load it, though, and I’m not sure if it’s actively maintained.

Have you had better luck with some of these? Have you found any that I haven’t listed? If so, let me know in the comments!

ardour 3 midi progress

I have a new track in the works, and as an exercise, I’m sequencing it all within Ardour 3. The alphas of Ardour 3 have been great on audio-only projects, but for MIDI work they’ve been highly unstable until quite recently. Each alpha just gets better, though, and while it still crashes, and has some odd behaviour, alpha 8 has behaved well enough that I’ve been able to make some solid progress.

I think it’ll still be a while before I’ll be recommending Ardour 3 for MIDI-intensive work (it may not reach that point until after the 3.0 release, even), but it’s developing well, and I figure that actually using it and reporting any problems I find is the best way I can help make it the brilliant all-round DAW I think we’re all hope it will become.

An Ardour project with only MIDI tracks? Madness!

I’m using a combination of synths — my Blofeld and Hydrogen, using a2jmidid to bridge Ardour’s JACK MIDI to ALSA MIDI, and some LV2 synth plugins within Ardour — and they’ve all worked well so far. The reliance on LV2 for synth plugins is an issue I’ve mentioned before, and there are still only a handful of LV2 synths, but I’ve had good fun with Calf Monosynth (the git version adds LFOs and a new UI), and with Jeremy Salwen’s ports of the “SO” synths. The SO-KL5 “piano” synth sounds really nice in a way that’s not entirely dissimilar to an electric piano.

Calf Monosynth, with some smooth filter cutoff automation

Calf Monosynth, with some smooth filter cutoff automation

Automation, especially on MIDI CC messages, is quite sketchy at the moment (it should be addressed in alpha 9), but I did get it working for plugin parameters; in this case, the filter cutoff of a Calf Monosynth instance. This worked really well, giving me some lovely, smooth filter sweeps. If alpha 9 lets me automate parameters on my Blofeld just as easily, I’ll be a very happy man.

Qtractor is adding automation in its next release, too, so one way or another, it looks like we’ll definitely have some solid synth automation features under Linux this year.

music video: frozen summer

I recently upgraded my DSLR camera to a Canon 550D, which shoots beautiful 1080p video, and after shooting some test footage of my drinking bird, I decided to have some fun with it. “frozen summer” seemed like a good fit — it’s also a bit whimsical, and (mercifully) it’s quite short, too.

UPDATE: I’ve also uploaded a copy of the video in WebM format for download.
Continue reading

album release: sketchbook: vol 1

It was about two years ago that I released my first new track in ages, and since then I’ve surprised myself a bit by sticking with it, producing new tracks every few months. There’s enough there for an album now, so I’ve decided to bundle my tracks together and set them up as an album on Bandcamp:

http://pneuman.bandcamp.com/album/sketchbook-vol-1

It’s a free download, and you can grab it in whatever format you like, all tagged up and ready to go! Even though it’s a bit of an odd mix of tracks, it feels great to have an album’s worth of tracks to my name. With any luck, my next album’s worth will be a little more thematically consistent.

new track: new version of “move along”

I’ve released the updated version of my new track, titled “move along” — it’s the same song (no extra parts were recorded), but I’ve re-balanced all of the elements based on feedback I received, bringing out more of the drums and vocals, and pushing the piano back so that it doesn’t dominate. I’ve replaced the old version with this one, so if you stream it from the original post you’ll get the new version, but I’ve also included it again here. You can also get it from my Bandcamp.


mp3 | ogg | flac | 3 minutes 47 seconds