music video: periapsis

Here’s a little something I put together: a video of a trip to the Mün in Kerbal Space Program, edited in to a music video for the first track from my RPM 2012 album, periapsis:

I had to cut about two-thirds of the video to fit it to the track, but you get to see all the major events in a flight to the Mün:

  • takeoff
  • booster stage separation
  • Kerbin orbit insertion
  • transmünar injection (that’s the burn that sends you to the Mün)
  • Mün orbit insertion
  • orbital adjustment for landing altitude
  • orbital braking burn
  • core stage separation
  • final descent and landing

The rocket design is the smallest and simplest I’ve come up with so far that can get to the Mün and back again; you don’t see it on the video, but I did get those Kerbal astronauts back home safely.

I captured the video using ffmpeg, with KSP running under Wine on my Linux desktop, and then used Kdenlive to edit it. Kdenlive worked well for the edit (no crashes!), though I suspect there was something funny happening with the audio/video sync — I’d place an edit right on a beat, and then find upon repeat listens that it sometimes didn’t quite match up, but it was such a close-run thing that it may have all been in my head.

rpm 2012 post-mortem: track order, making the CD

With all of my tracks completed, only one step remained before I could submit my work to RPM Headquarters: turning my collection of tracks in to an album and burning it to CD. A good album can be more than the sum of its tracks, so it was important for me to do what I could within the time limit to bring the tracks together as a cohesive whole and then present that within a proper CD case.

Track order

I started thinking about track ordering about half-way through the challenge, though I didn’t put much time in to it until I finished all of the tracks. Some of them fell in to place: I knew I wanted to finish with escape velocity and magnificent desolation, and periapsis seemed like a good opener, while I placed free return at track 3 (the “lead single” slot), and I saved track 6 for the upbeat direct ascent, to start the second half of the album with a bang.

For the other tracks, I used a bit of trial and error, slotting them in where I thought they’d fit. The end result is that the first half is generally a bit more relaxed and downbeat, while the second half is a bit more lively and upbeat.

Burning the CD

Despite the time constraints, I did spend some time on the final CD contents. I had planned to just burn each track to CD, using Brasero, but when I played the tracks back-to-back, they didn’t flow together well: the volume levels jumped around from track to track, and the pauses between tracks were too short. I figured the best way to tackle this was to import my finished tracks in to a new Ardour session and make use of Ardour’s CD mastering features.

Within Ardour, it was easy to adjust the timing and volume levels between tracks to make them all flow together; I then just had to add CD track markers at the start of each track. I used my ears to adjust those relative volumes, and I had no time (and no real desire, either) to use compression to bring up the baseline loudness, so some of the tracks look much quieter than others if you look at the CD’s waveform; the chiptune tracks, for instance, seemed much louder than their waveforms suggested, so I turned those down quite a bit.

A waveform display of the entire album

Adjusting the tracks' volumes to match by ear meant that some of the tracks looked much quieter than others on a waveform display

Another advantage to mastering a CD in Ardour is the ease with which you can run tracks together without a pause in between. I couldn’t resist the urge to try this, so I brought the start of eclipse up to just before the end of free return. It’s great to hear that seamless transition between the two tracks while listening to the CD (or to the FLACs, in a player like Aqualung).

The CD master in Ardour 3

The CD master project in Ardour 3, complete with track markers

Turning the Ardour session in to a CD was a matter of exporting it in just the right format — 44.1Khz, 16-bit, WAV, with TOC/CUE files enabled — and then feeding the WAV and TOC file to cdrdao, a specialised “disk-at-once” CD burning tool. The TOC and CUE files are both simple text files that describe the layout of a CD; TOC is specific to cdrdao, while CUE is more generic. Burning the CD with cdrdao took just one command:

cdrdao write Session.wav.toc

The final step was to upload the CD to Bandcamp. I wanted Bandcamp downloads to sound the same as the CD, so I used bchunk to split CD image in to separate tracks. based on the CUE file. The “-w” option instructs bchunk to write the tracks in WAV format:

bchunk -w Session.wav Session.wav.cue track

Cover design

It was important to me to have an attractive CD cover design, and that design started with the cover art itself. The “far side of the mün” concept came the downtime I’d spent playing Kerbal Space Program and listening to MOON8, a brilliant NES reinterpretation of Pink Floyd’s Dark Side of the Moon. A KSP screenshot seemed fitting as a cover, so I fired it up, flew in to Münar orbit, disabled the HUD, and started grabbing shots until I got one I was happy with.

Album cover template

The completed CD jewel case templates: front (with liner notes) and back

To turn that in to a CD jewel case cover, I used Inkscape, along with some excellent SVG templates. Inkscape’s a vector drawing package, so it’s well suited to this sort of design and layout work, and having a template made it easy to size everything correctly. I exported the completed templates to PDF files, and then had them printed on gloss paper and cut to size at an office supply shop.

Unfortunately, there wasn’t much I could do for the CD itself — that was just a standard blank CD-R, with “far side of the mün” scrawled on it in black Sharpie!

rpm 2012 post-mortem, track 10: magnificent desolation

109:43:16 Aldrin: Beautiful view!
109:43:18 Armstrong: Isn’t that something! Magnificent sight out here.
109:43:24 Aldrin: Magnificent desolation.

This track was the perfect bookend for this project: I started it way back on day 3, but it was the very last track I finished, on day 28. It was also a real problem child — the descending bassline motif was there from the start, but despite several attempts I just couldn’t work out how to develop it in to a complete track. It also didn’t seem to fit in with anything else on the album, so even though I really liked the initial idea, I wasn’t sure it’d make it on to the album.

Inspiration struck when I decided that it could work as the closing track of the album, a little mood piece to leave things on that bittersweet note that I seem to love so much. With that decision made, everything else fell in to place: it didn’t have to be long, and I could use vinyl-like effects to make it sound overly vintage, which somehow has the effect of making a lonely piece of music sound even more lonely.

Once I’d decided on that direction, there was only one name I could ever give to this track. Buzz Aldrin’s first words on the Moon aren’t as famous as Neil Armstrong’s, of course, but I’ve always found them far more poignant — they so succinctly express how strange it must’ve felt to look out across a landscape that’s simultaneously full of beautiful and devoid of life.

The piano recording was a live improvisation based upon that descending bassline, which I cleaned up a little in Ardour after the fact; the piano was of course Pianoteq, running in to a convolution reverb (using the IR LV2 plugin). For the vinyl sound, I tried the VyNil plugin, and it did make things sound suitably vintage, but the vinyl surface noise was essentially white noise with random pops, and I wanted more a cyclic popping sound, like you’d get when a needle hits the same scratches on each revolution.

Instead, I used an EQ to kill the highs and the lows, which instantly makes something sound old-timey, and then added a vinyl noise sample from Freesound, which I looped for the length of the track. Adding just a little vibrato (using TAP Vibrato) to simulate the sound of a slightly warped record helped to complete the vintage feel.

"old-timey" EQ curve

Cutting away high and low frequencies, as shown in this plugin frequency response graph, goes a long way to making something sound "old"

Fading between the “vinyl” piano and the unprocessed piano was more tricky than I initially expected. The idea was simple enough: I disconnected the piano track from the master bus and routed it in to two new buses — one with the EQ and vibrato plugins, and one without — and then faded each bus in and out as required. I used automation to disable the vibrato (moving its “depth” to 0%) to prevent chorusing effects while both the “old” and “new” buses were playing mid-fade, but even so, the fades didn’t sound right.

As it turns out, the TAP Vibrato plugin adds latency as part of its processing, so the “old” piano bus was tens of milliseconds behind the “new” piano bus, causing an echoing effect instead of a smooth transition from one sound to the other. The solution was easy, once it occurred to me: I moved the vibrato to the piano track itself, so its latency affected both buses equally, and then used automation to set its depth to 0% during the “new” parts of the song.

It’s worth mentioning that Ardour does compensate automatically for plugin latency on audio tracks. If I’d recorded the piano to audio, and then copied and pasted it across two audio tracks instead of using buses, then these issues wouldn’t occur, assuming that the plugin advertises its latency correctly.

I wish I could’ve done a better job of the actual piano arrangement in this — it needs to be properly composed and written down, and then handed to someone with more skill on the keyboard than me — but I’m really happy with its overall feel, and the impression that it leaves me with every time I hear it at the end of the album. A good final track can really help an album make a mark on people, and I think this track manages that.

rpm 2012 post-mortem, track 9: escape velocity

“In physics, escape velocity is the speed at which the kinetic energy plus the gravitational potential energy of an object is zero. It is the speed needed to “break free” from a gravitational field without further propulsion.”

I had no intention of putting an industrial track on this album — or of ever writing one, to be honest — but serendipity is a funny thing sometimes. While working on oberth I took some time out to play with some patches on the Blofeld, and I found a nice arpeggiated lead patch that went mad when I started playing with the filter cutoff and resonance. It became a thumping kick drum, with higher notes giving a more subdued sound, and lower notes sounding brighter, so playing arpeggios resulted in some crazy, but interesting, kick drum patterns.

With some drums recorded, I wasn’t sure what to do next, but a distorted bass (TAL NoiseMaker with TAP TubeWarmth) seemed like a good idea. I then added an arpeggio part (TAL NoiseMaker with TAP TubeWarmth again), which was initially continuous, and then tried to add some progression by adding some cutoff automation and a breakdown toward the end. However, I wasn’t pleased with the results (that’s putting it mildly, in fact!), and I came very close to scrapping it and hoping that I’d have time to come up with something better to replace it.

Eventually, it occurred to me that adopting a two-bars-on, two-bars-off pattern for the arpeggio would help a lot. That pattern fit in well with the existing bass line, and it opened up some space that I could fill with random crazyness from the Blofeld. I created a patch featuring heavy distortion (almost to the point of atonality), and then just played a few notes that fit in with the bass and arpeggio, flipping the modwheel (mapped to the filter cutoff) back and forth to go from low, rumbling gurgles through to crazy screams.

I did like the breakdown in my initial cut, but I thought it needed something extra, so I tried a trick that I used on texel — I added a Decimator plugin and used automation to bring the “bits” value right down in some places, which causes some really wild, crunchy distortion. The final touch was to add some extra drums, and I went for the easiest, most cliched option — a 909 kit — but with an Invada Tube Distortion to give it some edge.

After the overhaul, I still wasn’t completely happy with this track, but it was definitely in much better shape, and good enough to go on the album. It was fun creating such distorted sounds, but I’m not sure if I’ll be in a hurry to follow up with more industrial tracks.

rpm 2012 post-mortem, track 8: lagrange

“The Lagrange points are the five positions in an orbital configuration where a small object affected only by gravity can theoretically be stationary relative to two larger objects (such as a satellite with respect to the Earth and Moon).”

Though it’s a close-run competition with hohmann, I think this was the fastest of all the tracks to record — I sat down on day 11 and within a couple of hours, it was finished. This was really just an excuse to play with Argotlunar, a real-time granular processor that runs as a native VST plugin. While Loomer Cumulus works on pre-recorded samples, Argotlunar works in real-time on whatever audio you run through it, so it’s great for adding glitchy, cloudy, distorted granular effects to instruments.

In this case, I created a suitable pad sound using TAL NoiseMaker, recorded some improvised chords in to Ardour, and then tweaked Argotlunar’s settings to see what effects I could produce. Most of the time I spent working on this track was in automating Argotlunar’s settings, shifting through different ranges of settings to create different effects. I also added a Calf Vintage Delay, mainly toward the end, to give things a little more space.

Argotlunar automation

Four separate Argotlunar parameters were automated to produce different effects; the fifth automation lane here is for the Calf Vintage Delay

There’s not a lot more to say about this; it’s a simple track, but it does its job. Argotlunar was great fun to play with, and it creates some interesting sounds, but I don’t think there’s quite enough variation on it to really justify its length — it could easily be a minute shorter without losing anything. It does at least work well as a change of pace before heading in to escape velocity.

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, track 6: direct ascent

Direct ascent was a proposed method for a mission to the Moon. In the United States, direct ascent proposed using the enormous Nova rocket to launch a spacecraft directly to the Moon, where it would land tail-first and then launch off the Moon back to Earth.”

After a few downtempo tracks, I felt like the album needed perking up around the half-way mark, so I chose this upbeat chiptune as track 6. This was the second track I started on, back on day 2, though I ended up scrapping much of that sketch and using the chord progression from its intro instead. I also kept the bass rhythm and the drum part, though I later embellished both of these a bit.

I started expanding it on day 15 by writing the intro melody, and then used a variation on that as the starting point for the main melody. I also reused the intro bass line as a second melody line in the start of the second loop through verse. There are four lead sounds that move between different roles; one lead sound for each verse, a separate lead part that’s used for the chorus, and an arpeggio part that also acts as a lead in the section just before the first verse.

As with hohmann, the percussion sounds are from the Dirty Dose sample set and LinuxSampler, while the synth sounds are made by TAL NoiseMaker, with the exception of the arpeggio part, which is Calf Monosynth. I did bend the rules a bit, though — the bass is more of a typical electro bass, with a nice punchy envelope on the filter cutoff, and one of the leads uses two oscillators and a delay plugin (Calf Vintage Delay) to add some more variety.

This is one of my favourite tracks on the album. Breaking the rules didn’t diminish the chiptuney feel at all, and with a few different sounds to play with, I was able to jump between them to keep things interesting. About the only thing I wasn’t entirely happy with was the start of the chorus — the chorus lead part has always seemed a little startling. With more time, a better mix may have fixed that, but some musical rearrangement to give the chorus a better lead-in would probably work better.

rpm 2012 post-mortem, track 5: specific impulse

Specific impulse (usually abbreviated Isp) is a way to describe the efficiency of rocket and jet engines. It represents the derivative of the impulse with respect to amount of propellant used, i.e., the thrust divided by the amount of propellant used per unit time.”

This is definitely the most song-ish track on the album; it could easily work with lyrics, if I’d had time to write them. I started this on day 14, when I was starting to get in to a bit of a rut, but I sat down at the keyboard and started playing around with a Rhodes sound, and eventually got a nice chord progression going. I revisited it a few times after that, but I didn’t end up fleshing it out until days 27 and 28.

Originally I’d planned to make this more of an electronic track, so once I had the chords down (using LinuxSampler and the jRhodes3 soundfont) I added the bass, using a slowly-pulsating patch (more of a slow “whum… whum…” than a clichéd dubstep “wubwubwub”) made in TAL NoiseMaker. Then, the Salamander Drumkit was released, and I was so impressed when I played with it that it inspired me to go with a more acoustic feel.

I had some segments of melody sketched out alongside the chords, but it took some time to flesh it out across the track and then add the solo in the final section. Though I mixed things up a bit by using sustained chords in some sections and more rhythmic chords in others, it was still hard to add enough progression with just the Rhodes, bass, and drums, so I added an organ part, using AZR-3, to fill out the second half of the track.

There’s the start of a good track here, I think, but I wasn’t super-happy with what I was able to do with it within the 29 days. The main problem is with the melody line — I don’t think its arrangement fits well with the rest of the track, and the playing in the solo was a bit rough. The electronic bass doesn’t sit terribly well with the rest of the track, either.

I was surprisingly happy with the drums, though, given their simplicity — all those round-robin samples in the Salamander mean that you still get some natural variation, even when you’re just repeating the same note over and over. If I can come up with some lyrics, or just some better ideas for the instrumental arrangement, it might be worth revisiting this track.

rpm 2012 post-mortem, track 4: eclipse

    “An eclipse is an astronomical event that occurs when an astronomical object is temporarily obscured, either by passing into the shadow of another body or by having another body pass between it and the viewer.”

This started as a quick experiment at the end of day 3 — taking a recording of Pianoteq’s tubular bells instrument and running it through Loomer Cumulus, a granular synth that lets you vary the pitch and playback speed of a sample, among other things. Playing it slowly through Cumulus revealed some really nice textures, so on day 4 I recorded the output in to Ardour and started arranging it in to a track. By the end of day 4, it was done.

Loomer Cumulus, a granular synth

To flesh things out, I added a piano sound (Pianoteq again), which I recorded, stretched, chopped up, and then ran through some distortions and a compressor, and then a pulsating bass part from the Blofeld. I doubled up the tubular bells part, too, stretching and pitch-shifting it and adding a rotary speaker plugin, which makes it sound almost string-like. TAP TubeWarmth adds a touch of distortion; I automated the drive level to add varying amounts of distortion to different sections.

This track is more of an audio collage than a sequenced track, so unlike the other tracks on the album, there aren’t any MIDI parts. The synth parts were all played live and recorded straight in as audio. I’m really happy with how it turned out — it has some interesting sounds and textures, and a bit of progression. It’s definitely one of my favourite tracks on the album.

rpm 2012 post-mortem, track 3: free return

“A free return trajectory is one of a very small sub-class of trajectories in which the trajectory of a satellite traveling away from a primary body (for example, the Earth) is modified by the presence of a secondary body (for example, the Moon) causing the satellite to return to the primary body.”

This is perhaps my favourite track on the album, partly because it’s the closest to the direction I want to head in, with chilled-out but downbeat vibe. It was also the first track I worked on, on day 1. It started as a live SooperLooper jam, using a Rhodes sound to play some chords and melodies over some Blofeld drums.

On day 5 I picked up that jam and imported it in to Ardour, though I ended up replacing those recorded loops with MIDI versions almost immediately. I kept the chord progression from the initial jam, but replaced the Rhodes with a pad sound from the Blofeld that uses an LFO synced to the MIDI clock to pulsate up and down in time with the music (in theory, at least). The Rhodes is still there, though, but just for the lead part, using the MDA ePiano plugin.

By day 6 the arrangement was mostly in place, and I added the bass and the synth lead parts, both using TAL NoiseMaker, and several extra drum parts, using the Blofeld. I also used my Behringer VM1 delay pedal on the Rhodes sound, to give it some lo-fi feel. The “snare” in the chorus is from TAL NoiseMaker, too; I was never entirely happy with that sound, but it was the best I could do at the time. I posted it to Soundcloud on day 6, but I ended up tweaking it a bit more after that on day 7.

Even though I really liked this track, I could make a list of all of the things that are wrong with it. In fact, let’s do that:

  • The lead sound is a bit too clean and proggy, and its levels are a bit up-and-down
  • The rise and fall of the pad sound doesn’t always fall in line with the beat
  • The kick drum all-but-disappears sometimes, due to a cancellation problem in the patch that I’m yet to sort out
  • While I initially liked the sound of MDA ePiano, I found myself liking it a lot less by the end of the recording process — some of its limitations had started to shine through
  • That “snare” sound in the chorus needs a rethink, or at least a lot of work

With some work, though, I think this could be a really good track — the basics are definitely there, and none of the above is unfix-able by any means.