sketchbook: aspect and sequent

I got two great new studio toys for Xmas: Loomer Aspect and Sequent. This sketch is a quick demo I made while getting a bit of a feel for them both. Loomer’s plugins are all available as native Linux VSTs (as well as Windows and OS X), so they work well within Ardour 3.

Aspect is an analog-style soft synth with hugely flexible modulation options — it’s very easy to route its modulation sources, including three envelopes and three LFOs, to a wide variety of parameters, which gives you a lot of creative power. My favourite feature so far is its unison control, which lets you use up to five voices for each note. The coolest part of this is that the unison depth is a modulation source, so you can, say, route the unison depth to the pan control to spread those voices out across the sound stage, or route it to oscillator pitch to create massive detuned sounds.

It’s not as flexible as my Waldorf Blofeld, but Aspect is far more flexible than TAL NoiseMaker while remaining quite approachable to program. My RPM album really taught me the benefit of having synth plugins to use; now I’ll be able to do a lot more in-the-box, saving time and effort.

Sequent is an entirely different beast, and it’s not the easiest thing to explain — the simplest description is that it’s a multi-effects module that lets you sequence the parameters for each effect. It can create rhythmic delays, pans, and distortions, but perhaps its most versatile effect is the looper, which lets you slice, reverse, and loop the incoming audio to produce all manner of glitchy, stuttery effects. You can sequence everything precisely, or use any degree of randomness that you like, and it’s even MIDI-controllable, which opens possibilities for live use.

Now, for the sketch. It’s based on an Aspect pad that uses a clock-synced LFO routed to the filter cutoff, giving it a rhythmic rise and fall (I tried this using MIDI clock sync on the Blofeld on an RPM track, but it didn’t quite work). On top of that, I’ve added some simple percussion, again using Aspect — the kick is one of the included presets, but the hat and snareish-thing are my own patches.

While the kick keeps time, the hat and snare are sent through Sequent to glitch them up. I used a Sequent preset for this, which operates mostly randomly — if I was using it for real I think I’d want to either remove the randomness, or record a bunch of random loops to audio and hand-pick the best ones.

As you’d expect, I recorded this in Ardour 3 — it’s shaping up very nicely right now, so I’m hoping we won’t have much longer to wait before the final 3.0 release.


mp3 | vorbis | 26 seconds

rpm 2012 post-mortem

Before the process of making my RPM 2012 album becomes a distant memory, I wanted to get down some notes on the album as a whole, and on each track. This post is about the album as a whole; I’ll follow up with separate posts about each track shortly.

The whole album was definitely a rush, and there are plenty of things that could be improved, but overall I’m really happy with how it ended up. Even if it hadn’t produced useful results, the project would’ve been worthwhile in itself — I learned to get things down more quickly, and learned more about what does and doesn’t really matter when working on tracks. Perhaps most importantly, though, I feel inspired to start working on more new material.

I’m also pleased that many of the tracks sound more musical than my earlier work; there’s more of an emphasis on melodies and chord progressions rather than just rhythm and sound. Some of the musical styles forced me to use more melodies (the chiptune tracks in particular), but I think the time constraint helped force me down a more musical path, by limiting the time I could spend on sound design and effects.

General production notes, workflow changes

Though it’s still in beta, I used Ardour 3 for all of the tracks; one used samples, but the other nine were entirely MIDI. I expected a few bugs and crashes, but I didn’t hit any major problems, and didn’t lose any work — the worst problems were with some notes not starting/stopping properly at region boundaries. Over the next week or two I’ll update my Ardour build and try to reproduce those issues so I can report them properly.

The time constraints caused a few modifications of my workflow in the name of simplicity and brevity:

  • I relied much more on synth plugins than usual — in fact, several tracks used only plugins. Being able to whip up a quick synth sound in TAL NoiseMaker, and then apply effects without having to route or bounce anything, was a huge time saver. I still used Hydrogen on some tracks, and my Blofeld of course, but much more sparingly than usual.
  • Mixing work was kept to an absolute minimum — for the most part I just set some reasonable levels and left it at that. I did apply level automation to some tracks, but I didn’t add any compression or EQ, apart from the odd plugin used for creative effect.
  • Keeping the mixing simple let me skip an entire part of my usual workflow: bouncing. In the past I’ve always recorded MIDI parts to audio before mixing, and taken effort to ensure that things like drumkits have separate tracks for their various parts, to give me maximum flexibility during mixing. With the minimal mixing on this project, I didn’t see the need to bounce anything.

To my surprise, the result doesn’t sound terribly under-mixed, at least to my ears. It’s easy to get carried away with minor tweaks while mixing, so it was refreshing to hear how effective a simpler approach can be. This will definitely influence my future work — I can imagine getting a few tracks in to this sort of state and then mixing them all at once, or simply skipping mixing entirely if I don’t think a track is good enough.

Track notes

I want to go in to a bit of detail on each track, so I’ll be adding a separate post about each track, outlining the tools I used and the process I followed to create them. I’ll try to get one of these posts out each day, but with the release of Mass Effect 3 tomorrow I may be a little distracted!

rpm 2012 update: day 12

Just a quick update on my progress: I’m up to four completed tracks, though I currently only have a couple of ideas ready to expand upon. After finishing the track that I had in-progress on day 5, I started on an old-school ambient techno track, which I wrapped up yesterday, and today I recorded another ambient experimental track, using Argotlunar and TAL-NoiseMaker.

The ambient techno track was good fun. It started with loops in seq24, but with seq24 having poor support for JACK transport, I moved the work in to Ardour. As it turned out, that was pretty easy — seq24 saves its sessions in standard MIDI format, and when I imported the seq24 file in to Ardour, it imported each loop as a separate region on a new track, so I just had to do a bunch of copying and pasting to get the basic structure in place.

17 days and 6 tracks to go! I’ve been posting tracks to Soundcloud as I go; you can check them out here. I’ve been uploading them to Bandcamp too, of course, but hidden — if all goes well I’ll have a finished RPM album there, ready to reveal, on March 1st.

new track: texel

After a few last-minute tweaks, I’m finally ready to release my new track. The plan is for this to be the first track of an EP that will be available for download from Bandcamp, but I’m sure that won’t happen for several months, so I wanted to post the track here early to give everyone a chance to hear it. It’s a downbeat, ambient techno-kinda thing I call “Texel”:


mp3 | ogg | flac | 3 minutes 16 seconds

I talked a little about the production in an earlier post, but I have included some further details after the jump.
Continue reading

new music update

A few months ago I posted that I was working on new music using Ardour 3, and I’m glad to say that my new track is now all but finished. Working with Ardour 3 was a bit nervewracking at times, as you’d expect when testing alpha software — there were several times, in fact, when I couldn’t even open the project’s session due to one bug or another. It all held together somehow, though, and after many bug reports and fixes, I definitely feel like it’s helped

The new track is a bit of a downbeat, ambient-ish thing, with some lo-fi sounds mixed in with some glitchy elements. I definitely put Ardour’s MIDI features to the test: there are MIDI tracks running out to my Blofeld and to Hydrogen, along with LV2 synths (Calf Monosynth and Linuxsampler), along with automation of CC parameters on the Blofeld and automation of plugin paramaters on Calf Monosynth. I’ve done quite a bit of effects automation as well, particularly with the bitcrushing Decimator plugin.

There’s even a VST plugin in there now; I had been beta-testing Loomer Cumulus, using it as a standalone synth, but with Ardour’s new VST support I now have it running within Ardour directly. Cumulus is somewhere between a synth and an effect: it lets you load a sample, and then trigger its playback using granular synthesis with varying paramaters, altering the starting point, pitch, and playback rate, among other things. You can define up to eight sets of those parameters, and then trigger those via MIDI keys. It can turn all sorts of sounds in to eerie textures, but it can just as easily take a drum loop and turn it in to a wonderfully glitchy mess, which is exactly what I used it for.

I’m pretty sure the track is done, but I don’t want to release it just yet. I plan to sit on it for a few days at least, while I read more of my copy of Mixing Secrets for the Small Studio, but I like the idea of putting together at least an EP with a couple of other tracks and releasing them all at once. That might not be practical if it takes me four months to finish each track, though, so I may post the individual tracks here when they’re ready, and then do an official Bandcamp release once they’re all done.

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.

2011 macbook air linux update

As I mentioned previously, I’ve been playing with Ubuntu on my 2011 Macbook Air, and I’m happy to report that it’s now much more usable than when I first installed it. There’s a kernel module hack that fixes the display issues, allowing the Intel driver to run at the panel’s full 1440×900.

Having the Intel driver running instead of the fbdev driver means that OpenGL and visual effects (and Unity, if you’re in to that sort of thing) work, as does brightness adjustment, and I suspect it’s the reason that suspend and resume now work, too. Patching the kernel manually would be a pain, but the (updated) setup script from the Ubuntu forums now takes care of this for you, along with the keyboard and trackpad driver patches.

Ubuntu 11.04 on the Macbook Air, with all the important stuff working

I also had a chance to test the Ubuntu 11.10 beta. I haven’t tested it with the video fix above (though it is supposed to work), but I did notice that the my 5Ghz 802.11n network worked with it, so it seems like the 5Ghz issues I’m having with 11.04 have been fixed.

All of the important stuff is working, then, at least for my needs. There are some minor keyboard niggles — I haven’t been able to adjust the keyboard backlight brightness, and the volume keys are incorrectly mapped — but the biggest issue is with the trackpad. It works, including two-finger scrolling and two- and three-finger taps and clicks, but it doesn’t feel quite right, particularly when scrolling.

It seems like a minor thing, but the trackpad is central to the user experience, and when basics like button presses and scrolling rely to a degree on gesture recognition, it matters a lot that they’re detected reliably and respond appropriately. The multitouch driver is under active development, though, so I have no doubt it’ll improve.

I really enjoying benchmarking this thing, just to see how much power has been crammed in to it. Compiling Ardour 3 from SVN seemed like a good test of overall system performance: it managed it in 14 minutes and 50 seconds, just under two minutes faster than my 3Ghz Core 2 Duo desktop. It’s definitely no slouch!

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.