rpm 2012 post-mortem, track 7: oberth

“In astronautics, the Oberth effect is where the use of a rocket engine when travelling at high speed generates much more useful energy than one at low speed.”

I’d been wanting to write something in 6/8 for a while, and RPM seemed like as good a time as any to give it a go. I started this track by creating a simple triplet beat in Ardour, using the Hydrogen 909 kit, and then playing with ideas for a looping bassline using TAL NoiseMaker. Once I had a bassline, I added a simple pad part. Initially, I used presets for the bass and pad sounds, but they didn’t quite fit the sound I was after, so I soon replaced them with my own patches.

Even though I used a Hydrogen kit, I didn’t use Hydrogen to load it at first — instead, I used a new LV2 synth called DrMr, which works with Hydrogen drum kits. It’s early days for DrMr, and it’s promising, but I ended up swapping back to Hydrogen when I discovered that DrMr doesn’t yet respond properly to velocity information.

With the bass and pad in place (with some cutoff automation to spice them up), and the drums fleshed out a bit, I added the arpeggio part, using a TAL NoiseMaker preset, and then the lead, using a proggy patch on the Blofeld. After my experiences on tracks like hohmann, I wasn’t shy about using the pitch bender here, but I think it helps breathe some life in to the lead part, and makes the whole thing sound a bit like a Jean Michel Jarre track.

This was one of the last tracks I worked on; I started it on day 22, and wrapped it up at the start of my final sprint, on day 27. I wasn’t quite happy with the drums (I don’t think that 909 kit works as well here as it did on periapsis), but everything else came together pretty well. It’s not particularly outstanding, but it’s a good, solid track.

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: the final update!

I’ve just posted my RPM 2012 entry off to RPM HQ, so the challenge is officially complete! The album is called “far side of the mün”, in honour of Kerbal Space Program, and you can stream it from Bandcamp right here! If you want to download a copy, just follow the “Download” link below.

While it wasn’t required at all for the challenge, I think the time I put in to the jewel case design paid off; I even took my final design down to the local office store and had it printed on some nice weighty gloss paper. Here’s how the final CD looked:

far side of the mün -- front cover

far side of the mün -- back cover

As you’d expect, it’s all electronic, but it spans the genres a bit, from sombre ambient pieces through to more upbeat electronic, chiptune, and industrial tracks. None of it is perfect, but given the time constraints I’m pretty happy with the overall result; I’ll post a more detailed post-mortem later on. For now, feel free to stream, download, and enjoy!

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.

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!

sketchbook: hand-arranged glitchy drums

I love that glitchy modern percussion sound that you hear in a lot of electronic music these days (BT comes to mind, but there are plenty of examples), but I’ve never had much luck creating those sorts of sounds myself. I did give one track, tiny droplets, a bit of a glitchy feel by distorting the crap out of some Hydrogen drums (a 909 kit, no less), but that wasn’t quite the sound I was looking for.

The solution had been staring me in the face, but it almost seemed too simple to work, or too cumbersome to be practical: instead of using some kind of drum instrument, just load drum samples in to Ardour directly, and copy and paste the individual drum hits in to place. It sounds like fiddly work, but it’s really not that bad — with Ardour set up to snap regions to its grid, and with the grid set appropriately, it was really quite easy to lay down a simple kick/snare beat, and it was just as easy to copy and paste that beat out over multiple bars.

From there, glitching it up takes a bit more effort, but with such fine control over things you have a lot of scope for creative effects. I tried two main techniques — trimming down individual hits and repeating them very quickly (which required more copying and pasting), and reversing individual hits (using the “Reverse” option from the region’s right-click menu) so that they played backwards, often combined with some fast repetition.

Individual drum hits, sliced and glitched up in Ardour

For the hats, I didn’t want to lay down the individual beats in Ardour, so I created a hat loop in Hydrogen and imported that. In most bars I just let it play as-is, but in some I add some variety by splitting the loop in to beat-length chunks and then manipulating those chunks. I shuffled the chunks around a bit, reversed some of them, repeated some of them, and also shrunk some of them to half their original length (using the Stretch/Shrink Regions tool) and repeated them.

There are tools that can help with this kind of beat-slicing if you don’t want to do it by hand, including Smasher, which works offline but has a lot of different effects on offer, and Tranches, which can slice beats under live MIDI control, but I’ve had trouble fitting these in to my workflow. There’s also Sequent, a commercial plug-in and stand-alone tool, but it’s not super-cheap (though for what it does, I think the price is entirely reasonable). I’m really happy with the results I achieved entirely within Ardour, though, and now that I know how to get these sounds, I think I’ll be making them a lot more often.


mp3 | vorbis | 0:57

sketchbook: bouncy game music

Here’s another quick piece done quickly for a purpose: my friend Switchbreak spent the weekend developing a short Flash game for the So Many Rooms game jam, where each developer had 36 hours to produce a game that challenges the player to get from a starting door to an ending door, using whatever obstacles or gameplay mechanics they like. Switchbreak’s game is full of bouncing balls, so when he asked me to produce a quick tune for him, I made sure that it was appropriately bouncy.

This was whipped up on Sunday night mostly in Qtractor, with Hydrogen for the drums, and my Blofeld for all the other sounds. I’d normally record everything in to Ardour and mix it there, but I stayed in Qtractor for this one, and it did a fine job; I had no trouble replicating my usual trick of running the drums on to separate tracks so that I can apply individual effects to each, for instance. The result is a bit trite, but it’s fun, it loops pretty smoothly, and I think it suits the game well.


mp3 | vorbis | flac | 1:18

approximating realism: drumming with linuxsampler

It may be the silly season, but I’ve still had plenty of time to work on a new track. It’s coming along well I think, but it’s been quite a challenge, mainly beacuse it’s a very “back to basics” track, with a minimal, piano-based arrangement. You’d think that would make things easy, but it’s quite the opposite! With just a few instruments in the mix, the quality of the performances and mixing, and the authenticty of the sounds, will be paramount. With Pianoteq taking care of the piano, the drums have been my main focus so far.

My first instinct was to load up Hydrogen, sequenced from Qtractor, with one of the few big Hydrogen kits around. The Big Mono kit from Analogue Drums sat nicely with the feel of the track, but they’re recorded in mono (as the name suggests), and they have a lot of room sound, too. They also push Hydrogen hard — with 210MB of samples loaded, it needs 400-500MB of RAM to run. If I wanted to go with even better sounds, Hydrogen wasn’t going to work.

The answer, then, was LinuxSampler, which laughs heartily at gigabyte-sized sound sets. I took the plunge and spent a whole $25 on another Analogue Drums kit, called RockStock — it has more drums than Big Mono, and they’re all recorded in stereo, with separate close mic and room mic recordings of each. Thanks to some third-party SFZ mappings, it works beautifully in LinuxSampler, and despite having 870MB of samples, it uses just 200-300MB.

One question in using LinuxSampler that I haven’t quite answered yet is how I’m going to mix it, since there’s no way to get separate per-drum JACK outputs from it. You can load the same sound set in to LinuxSampler multiple times, though, with little additional overhead, so there’s nothing stopping me from loading RockStock five or six times for each of the different drums I want to use. Those separate instances can then be routed to separate JACK outputs. I just need to make sure that I split my MIDI drum tracks up in the same way.

I have some basic drum parts written, using just two groups of drums (kick/snare/toms, and hats/cymbals) routed to two instances of RockStock in LinuxSampler, and it’s sounding pretty good — not quite there, but hopefully not too far off. With more attention to detail in the programming (it feels like I’m slowly learning the drums, just without the drums!), and some appropriate treatment in the mixdown (EQ, compression, etc.), I think I’ll be able to produce some solid, convincing drum parts.

sketchbook: ghetto convolution reverb

Convolution reverb is a hell of a trick — it lets you record the reverb of a real-world environment (or a hardware reverb unit) and apply that reverb to a signal, with amazingly realistic results. Normally, those reverbs are recorded very carefully using high quality equipment, but I wanted to see what I could manage with something more modest: my phone.
Continue reading