spooky october project: candy grapple

Things have been quiet here of late, but I’ve actually been quite busy! I’ve just finished the sound design for Candy Grapple, the latest game from my good friend Switchbreak. It’s based on one of his Ludum Dare games, Waterfall Rescue, but it’s been fleshed out in to a full game, with much more complete gameplay, many more levels, and a spooky Halloween theme. It’s out now for Android, and there’s an iOS version on the way, too.

Switchbreak asked me to make some suitably spooky-cheesy music for it, and I happily agreed; once I started working on that, I realised he’d also need sound effects, so I offered to create those, too. Read on for details!

Background music

The bulk of my time went in to the in-game background music. Halloween music was new territory for me, but my mind went straight to The Simpsons Halloween specials, and the harpsichord and theremin closing credits. I thought about other “spooky” instruments and came up with the organ, and while it’s not spooky as such, the tuba seemed suitably ridiculous for the kooky carnival sound I was after.

I didn’t want to over-use the theremin, so I stuck with organ for the melody for the most part, and saved the theremin for the bridge, where the harpsichord and tuba drop away in favour of some organ triplets and piano bass notes.

A standard drum kit didn’t seem like a good fit (with that bouncy tuba part, it was in danger of becoming a polka), so I stuck with more random, wacky bits of percussion, like castanets and a vibraslap. I did use some cymbal rolls and crashes in the bridge, though.

Now, for the instruments: I used Pianoteq for the harpsichord and piano, as you’d probably expect; the percussion sounds were from the Sonatina Symphonic Orchestra, played using the LinuxSampler plugin; and the theremin was a simple patch on the Blofeld.

Pianoteq doesn’t just simulate pianos — it also handles other melodic percussion, like harpsichords

The tuba and organ, surprisingly, come from the Fluid GM soundfont. I’m not usually a fan of instruments from GM sets, and I did try a few alternatives, but the Fluid sounds were very well-behaved and sat well in the mix, so I didn’t let myself get hung up on where they came from.

Faking the theremin was fairly straightforward — it’s just a single sine-wave oscillator, but with some portamento to slur the pitch changes and an LFO routed to the oscillator pitch to add vibrato, both of which make that sine wave sound suitably theremin-ish.
I used TAL NoiseMaker at first, but switched to the Blofeld so I could use the modwheel to alter the amount of vibrato (the Blofeld’s modulation matrix makes this sort of thing easy); in hindsight, it would’ve been just as easy to stick with NoiseMaker and alter the vibrato by automating the LFO depth.

The mix came together fairly quickly. There’s a bunch of reverb (I had trouble getting the IR plugin working, so I used TAP Reverberator instead), a little EQ on the tuba and organ to brighten them a bit, and some compression on the piano to add sustain, but that’s about it as far as effects go. The only tricky part was making sure the transition in to the bridge wasn’t too abrupt, but all that really required was some careful balancing of levels.

It was, of course, all recorded and mixed in Ardour 3 — it has an annoying MIDI monitoring bug right now, but I’m hoping that’ll be fixed soon.

Intro music

I wanted to add some music to the title screen, too, so I come up with a little organ fanfare-ish thing and recorded it in to Ardour. The organ is the setBfree plugin, a Hammond B3 emulation based on an old app called Beatrix.

Beatrix had taken on near-legendary status in Linux audio circles, partly due to its great sound, and partly due to being near-impossible to run. It lacked JACK support and had various other issues, and its strict licencing forbid forking it or distributing patched versions.

Somehow, though, the setBfree devs managed to negotiate a suitable licence, and have added JACK support, LV2 plugin support, and a basic GUI. The GUI is a separate app that talks to the synth engine (whether it’s the JACK app or the LV2 plugin) via MIDI; it lets you configure the organ stops manually, or load presets.

setBfree’s GUI is a stand-alone app that talks to the synth via MIDI

The thunder sound was my own recording — I have a habit of setting up my Zoom H1 and letting it record during thunderstorms, and that’s finally come in handy!

Sound effects

Sound effects are hard; I’ve had a little experience with this, working on another game for Switchbreak which is still in development, but it’s all still fairly new to me. I used synths for some — Pianoteq came in handy once again here, for its tubular and church bells — but the rest were recorded sounds, mostly of me using things to hit other things. For the flapping bat wings, for instance, I slapped rubber gloves together, and idea I saw on this list of sound effects techniques.

I’m pretty happy with the fact that there are two vocal samples in there, too — the ghost and the witch are both me. The witch’s cackle just took some pitch shifting and a bunch of reverb.

Trailer video

Video editing in progress, using Kdenlive

As the game neared completion we realised it’d need a trailer, so I volunteered to make one, using Kdenlive. I used ffmpeg to record video from the Flash version of the game, then brought that in to Kdenlive, where I composited it on top of the phone image and background. It was a fairly straightforward edit, but I had some fun with it — I hadn’t played with wipes before now, for instance, so I took the opportunity to ham it up and throw some in.

galaxy nexus: some first impressions

It was nearly two years ago that I got my first Android phone, a HTC Desire, so I figured it was time for an upgrade, so this week I picked up a shiny new Galaxy Nexus. While it’s not quite as fast as some newer phones, it’s a massive upgrade from the Desire, it’s affordable, and it should be more than fast enough to see me through the next two years.

Hardware impressions

The first thing you notice is its sheer size, and the second is that amazing screen. It’s large enough that it’s a little difficult to use one-handed, but I’m definitely getting used to it — the Desire already seems tiny in comparison. It’s surprisingly light, but not so much that it feels cheap, even though it’s mostly plastic. The textured back panel feels good, but doesn’t provide the same grip that the Desire’s rubberised back does.

Compared to the Desire, the performance is ridiculous. The Desire’s Achilles heel is its minimal internal storage, which leads many people (myself included) to install a custom ROM that moves internal application storage on to a special partition on the SD card; it’s a clever solution, but it can make the phone feel sluggish, because loading applications puts you at the mercy of your SD card’s performance. While I’m sure the substantially faster CPU and extra RAM help, I suspect it’s the faster internal storage that makes the Nexus feel so much faster in use.

ICS changes

I was running a hacked ICS ROM on my Desire, so the Nexus wasn’t a software upgrade for me; it was somewhat odd, in a way that I’m sure iPhone owners must be familiar with, to find my shiny new phone running the same OS as my existing phone. ICS really is a major upgrade — beyond the extra features, it just looks and feels much more distinct and consistent than any previous release.

The Nexus uses on-screen soft keys instead of hardware buttons, and the traditional menu button is not among them. In apps updated for ICS, the menu is available through a button within the application UI, while in older apps, a small menu button gets added to the soft keys; the newly-revamped Android style guide has all the details. I think it’s a good move — when I started using Android, I had to get in to the habit of hitting the menu button in every app just to see what it revealed, so making menus more discoverable is a plus.

Storage matters

One thing I really like about the Nexus is that it has unified internal storage — there’s still sandboxed application/data storage and shared virtual SD card storage, but they’re both on the one partition, so there’s no fixed division between them. The upshot is that the Nexus doesn’t support USB mass storage, since it can no longer provide direct block-level access to the internal storage. Instead, it implements the PTP and MTP protocols for file transfer.

Most photo apps (including Shotwell and iPhoto) support PTP, several music players (including Banshee and Rhythmbox) support MTP, and Nautilus supports them both, so if you just want to copy files, that’s easy to do, too. Windows also has built-in MTP support, but for general file transfer on OS X, you’ll need the Android File Transfer app. Another option is to use AirDroid, which lets you transfer files over Wi-Fi using your browser.

It’s clear that Google sees USB transfers as an archaic solution when you can store your photos and music in the cloud instead. I signed up for Google Music when I was last in the US, and I’ve since uploaded my music collection to it, so it was all accessible on the Nexus as soon as I signed in to my Google account. The photos from my Desire were all there, too, thanks to Google+’s instant upload feature.

Why not something newer?

The Galaxy Nexus has some obvious competitors now, such as HTC’s One X (and the smaller One S) and Samsung’s Galaxy S III; they’re both of a similar size and have newer, faster hardware. There were a few reasons for going with the Nexus — cost was a factor, as was the fixed battery on the One X (I’ve already bought a spare battery for use on our next holiday) — but my main motive was to get a stock Android device, without vendor customisations.

Both HTC and Samsung insist on some pretty heavy-handed meddling with the OS, undoing a lot of the great design work that went in to ICS. It also means they’ll be less likely to get updates in a timely manner — they may all run ICS today, but Android 4.1 looks set to be revealed as soon as next week, and there’s no telling how long it could take for HTC and Samsung to release their own upgrades.

sketchbook: nanoloop for android

It’s been a while since I’ve blogged much — the last few months have been quite a busy time for me, as I’ve been transitioning jobs. Things are returning to normal now, though, as I settle in to my new full-time role at a sysadmin/developer at Bandcamp, which is a totally awesome job with totally awesome people. That’s all beside the point, though, because I’m really here to talk about nanoloop, a great little sequencer that’s just been released for Android.
Continue reading

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

chordbot — a songwriter’s sketchbook for android and ios

I do want to make one last seq24 video, covering MIDI routing and the JACK transport, but I haven’t found the time yet. I haven’t been completely slack, though — I’ve been working on a track, and once I have a starting point on paper, and an idea of the finished product in my head, I find it hard to focus on anything else.

It’s in that mindset that I stumbled across Chordbot, and Android (and iOS) app that I installed on my phone weeks ago, but neglected to try at the time. I’m glad I waited, though, because right now it’s really proving its usefulness as a mobile sketchbook for songwriting.
Continue reading

sketchbook: rd3 groovebox for android

Audio apps for Android are still coming of age, fighting a bit of an uphill battle against the platform’s current latency limitations, but there are already a few neat options, ranging from fun toys to genuinely useful tools. Somewhere between those two extremes sits RD3 Groovebox, which combines a 303-style synth and sequencer with an 808/909-style drum machine.

The drum machine certainly isn’t as full-featured as Electrum, with a fixed 16-step layout and just a few sets of built-in sounds, and the 303 is similarly simple, with just the classic options you’d expect (three-octave range, no real velocity, etc.). It all works really well, though, and it’s great fun to play around with, especially once you get your fingers on the 303’s real-time controls. That unavoidable Android latency is there, but because everything’s sequenced, it never seems to get in the way.

You can write four patterns for both the 303 and drum machine, which is just enough to scrape out a basic song; here, then, is such a song! There’s nothing here you haven’t heard before — just some simple 303 lines and 909 drums — but it was still fun to make. RD3 has no export facility (you can save your songs, but only in its own format), so i had to use my laptop’s line-in to record it.

RD3 is 3.49€, which is perhaps a little steep for what’s there, but it’s definitely a lot of fun, and with a few additions, such as audio export, more patterns, and some effects, it could be a cracking little app. Check it out!

mp3 | vorbis | 2:46

fingerplay: a midi controller for android

I’ve been slack in updating ye olde blog, but I have an excuse — I got a new phone! It’s a HTC Desire, running Android of course, and I’ve been having great fun trying different apps and discovering what I can do with it. I started a lengthy post covering my thoughts on both the Desire and Android, but in lieu of finishing that, I present you instead with an introduction to FingerPlay MIDI, a very cool MIDI controller app for Android.

Continue reading