melted crayon art: a music video for “texel”

The internet says that you can do awesome things with crayons, glue, a canvas, and a heat gun, and my wife did exactly that on the weekend, with very colourful results. I figured the dripping wax might look cool on film (or on an SD card, rather), so I grabbed the camera, and as it turned out, it looked awesome:

The music is my most recent track, Texel, which seemed like a good match for the video. It was all shot with a hand-held Canon 550D and a 50mm f/1.8 lens, hence the shakiness — it took some time to go through all of the video and find the usable bits, where the camera was both steady and in focus.

I used Kdenlive to edit it all together, and I’m glad to say that it was much more solid than it was during my last video editing project. In particular, it automatically cropped the extra lines out of the 550D’s 1920×1088 files, so I didn’t need to transcode anything. I didn’t apply much processing this time, which may have helped — there’s just a few simple transitions and some colour correction work.

Kdenlive’s ability to use proxy clips — small, low-resolution copies of your original high-res clips that are used during editing — helped keep the preview playback smooth while editing. The original clips are used while rendering the video, though, so the proxy clips don’t affect the final output quality.

on Unity2D and llvmpipe, and the differing approaches of fedora and ubuntu

Ubuntu’s Unity desktop invites comparisons to GNOME 3 for a bunch of reasons, but one important similarity is their reliance on hardware OpenGL support to power their visual animations and effects. In their first releases, both desktops used “fallback” modes to handle systems without OpenGL support, but in Ubuntu 11.10, Unity is available for those systems using a new project called Unity2D.

I think Unity2D is not just a terrible idea, but also another example of the new direction that Ubuntu is taking that makes me wonder if it’ll be my distribution of choice for much longer.

Not so unified

Unity2D removes the reliance on OpenGL by avoiding it entirely: it’s a rewrite of Unity from the ground up, based on the Qt toolkit and using the Metacity window manager instead of Compiz. While it looks and feels much like standard Unity, it’s an entirely separate codebase, and keeping the two in sync as features are added will require a substantial amount of extra work. Perhaps the Ubuntu developers have the resources needed to keep up, but it seems like a very shortsighted approach to me.

GNOME 3’s current fallback desktop is definitely a hack, too — it cobbles together a UI that looks a bit like GNOME Shell using the panel and related components that have been ported from GNOME 2. It has neither the flexibility of GNOME 2 nor the elegance of GNOME 3, so it’s not a particularly compelling experience, but the Fedora developers plan to make the full GNOME Shell experience available for nearly everyone in Fedora 17, using some very cool technology.

Software OpenGL with llvmpipe

OpenGL isn’t inherently limited to systems with hardware acceleration; Xorg actually provides a software implementation of OpenGL by default whenever hardware support is unavailable, but its performance is far low to handle desktop effects. However, a new software renderer, called llvmpipe, aims to change that. By using LLVM, a generic virtual machine that produces optimised x86 or AMD64 code on-the-fly, and utilising multiple CPU cores, llvmpipe performs far better than the standard Xorg renderer.

The gains are impressive: running Quake III Arena at 800×600 on my dual-core laptop, Xorg’s renderer managed 3.9 FPS, while llvmpipe managed a fairly playable 34.9 FPS. While that only makes llvmpipe about as fast as my old Matrox G400, that’s okay — it just has to be fast enough, and for GNOME Shell, and even the odd game, it definitely seems to be. llvmpipe has actually been used as the default software render in Fedora since Fedora 15, but it’s only in Fedora 17 that it supports all of the OpenGL features required to run a compositing window manager.

GNOME Shell on llvmpipe

GNOME Shell running without hardware acceleration on Fedora 17, using llvmpipe

I tested the Fedora 17 development packages (aka “Rawhide”) in a KVM virtual machine, and it worked fairly well; logging in revealed a complete GNOME Shell desktop, and while it was a little choppy, it was definitely usable. I’d definitely expect it to be faster on an actual PC, especially with a mutli-core CPU. The Fedora developers have plans to improve performance, too, by optimising llvmpipe and disabling some minor effects.

So, on the one hand, we have Fedora working on key infrastructure that will improve the Linux desktop experience for all users without hardware OpenGL acceleration, and on the other, we have Ubuntu developers throwing effort away on a developmental dead end. Ubuntu has copped flak before for not contributing to Linux development, but I don’t generally buy in to that argument — “contribution” isn’t something you can measure just by analysing commit logs or counting lines of code. Canonical can pay its developers to do whatever it wants them to do, but increasingly, it seems that the effort they’re expending is pushing Ubuntu in a direction I’m not sure I want to follow.

It’s hard to elaborate on exactly why I feel that way — I think it’s really down to little things, like insisting on forging its own path with Unity, the increasing number of built-in monetised services, and their sleazy dealings with Banshee (be sure to read the comments on that one!). Maybe the result is a great OS for a lot of users, but for me, Ubuntu is slowly drifting away from being the OS I want it to be.

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.

a week-and-a-half with GNOME 3

I’m as surprised as anyone to admit it, but I’ve spent the last using GNOME 3, and it hasn’t been too painful — in fact, I’ve had no trouble remaining productive in it. I’ve definitely missed some of GNOME 2’s features, but it’s definitely been a more pleasant and productive experience than my time with Ubuntu’s Unity desktop after the 11.04 release.

A lot of people have reacted poorly to GNOME 3, and I can understand their frustrations. I’m not sure why I haven’t had the same experience, but perhaps my time with Mac OS X has something to do with it — I’m already used to using the Expose-style overview in the GNOME Shell, and to having Alt-Tab work on an application-level. There’s a new key combo for switching between the windows of an individual application; it defaults to Alt and whatever key sits above the Tab key in your locale (Alt-` in my case). It still took a bit of adjustment, but I was soon zipping between windows and launching applications without any dramas.

GNOME Shell's overview provides quick access to your applications and windows

The GNOME Shell cheat sheet covers a lot of the less obvious functionality built in to the Shell. I do find some of the hidden functionality a bit silly — having to hold Alt to reveal the “Power Off” menu item, for instance — but it still doesn’t take long to come up to speed.

I will add one caveat to my comments: I’ve been using GNOME 3 on my laptop, where (as I remarked a couple of posts back) I spend most of my time using Firefox, Chrome, Thunderbird, terminal windows, and a text editor. I haven’t used it with JACK and my regular assortment of music tools yet, so I’m still not sure how it’ll handle that workflow, or if its greater use of video hardware is going to cause any latency issues.

A quick reality check, nine years in the making

One thing I can’t help but feel in the release of GNOME 3.0 is a sense of history repeating; after all, it’s not the first major release of GNOME to slash away at the desktop’s feature set and remodel the remains based on design principles put together by a core team of developers.

Red Hat Linux 8, with the then-new GNOME 2.0. I'd forgotten how much like a browser Nautilus looked

GNOME 2.0 had substantially less functionality and configurability than the 1.4 release that preceded it, and it imposed a set of Human Interface Guidelines that described how user interfaces should be designed. I think you’d have a hard time finding someone today who’d claim that those changes weren’t for the best in the long run, but at the time, the streamlining was considered too extreme, and the HIG was controversial.

I think we forget just how much was missing in GNOME 2.0, partly because it’s been so long, but mostly because all of the really important features have found their way back in. To remind myself, I took a look back in time: I installed Red Hat Linux 8 in a VM and fired up its default GNOME 2.0 desktop.

The configuration dialogs in GNOME 2.0 did actually cover some options that are currently missing in GNOME 3, such as font and theme settings, and its panels had greater flexibility than the GNOME Shell’s single top panel, thanks to the bundled selection of applets. However, there were surprisingly few applets that provided functionality that hasn’t been incorporated in to GNOME 3 in some way.

Even this minimal window settings dialog from Red Hat 8 wasn't an official part of GNOME 2.0. A complete window settings dialog was added in the next release, GNOME 2.2

Leafing through the release notes for the subsequent GNOME 2 releases showed how quickly some of its missing functionality came back, and just how much the desktop has been polished over the years. While GNOME 3 throws away the visible desktop components, there’s a lot of GNOME 2 still in there, from the power, disk, sound, and networking management infrastructure through to its many tools and utilities.

GNOME 3.0 is a little different from GNOME 2.0 in that it changes the basics of navigating your desktop, and the developers have so far resisted requests to relax those changes. I’m still sure that it’s going to improve rapidly, though, and I do think that its developers will take the various criticisms on board. I don’t expect any dramatic design reversals, but I do expect improvements and refinements that will make GNOME 3 a viable option for many of the users that find it frustrating today.

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!

switching back: the 2011 macbook air

UPDATE: I’ve just posted some updates on the state of Ubuntu on the 2011 Macbook Air.

With my old Dell laptop starting to suffer some physical wear and tear, I figured it was time for an upgrade. I couldn’t find a solid PC laptop that fit my needs, particularly in terms of portability and battery life, so I made a potentially controversial decision — I chose the brand-new 13″ Macbook Air. I won’t be using it for music-making, but after using it for work over the last week, I’m definitely happy with my choice.

I had sworn off Mac laptops for a few reasons: Apple’s power supplies and slot-loading DVD drives have always given me trouble, and my Macbook Pro ran very hot at times. Thankfully, the new power supply design seem less fragile, the Air has no DVD slot to worry about, and while it does howl a bit when working hard, that’s preferable to getting super-hot.

It’s also surprisingly quick — its 1.7Ghz i5 CPU outpaces even my 3Ghz Core 2 Duo desktop, and the SSD makes everything feel snappy. The Intel video isn’t brilliant, but it’s fast enough for most indie games, and even for a bit of Civilization IV or Left 4 Dead 2 on low-quality settings.

The Air’s fixed hardware is definitely a departure from my easily-serviceable old Dell, but it does help it to fit both a powerful system and a lot of battery in to a very light and slender frame. I wouldn’t want it to be my only computer, but it’s great as a portable extension of my desktop and home network. I’m sure I’ll have to give up the whole machine if it ever needs repairs, but with Time Machine backups configured (using my Ubuntu file server), I don’t really have to worry about losing data.

Mac OS X is, well… it’s Mac OS X. It has its advantages: it’s very well tuned to the hardware, making the most of the multi-touch trackpad, resuming from suspend in a second or so, and lasting a good seven hours on battery with a light load. It’s also great to have access to things like Steam. On the other hand, it’s still a bit annoying as a UNIX compared to Ubuntu, the Mac App Store is a shambles, and having to hack the OS just to stop it opening iTunes when I press my keyboard’s “play” key is completely asinine.

However, the reality is that I spend 99% of my working day using Firefox, Chrome, Thunderbird, a text editor, and a bunch of terminals, and Mac OS X meets those needs just fine. (For the record, I’ve been using TextWrangler and iTerm2.)

Ubuntu on the 2011 MBA

Ubuntu running, in a fashion, on the 13" 2011 Macbook Air

The Air can run Linux, too, though it’s not terribly usable yet. The trackpad works in mutli-touch mode after some hacking, but there’s no power management, and the Intel driver doesn’t work with the built-in display, so you’re stuck with unaccelerated 1024×768 video. The wireless works, too, which makes it unique among current Mac laptops, though only in 2.4Ghz mode.

I generally think it’s a bad idea to buy a Mac to run Linux, since the hardware is odd enough to cause these kinds of problems, but it’s always nice to know that I can run it if I need to. There’s a thread on the Ubuntu forums with all the details, and one post in particular that has a script to install patched keyboard and trackpad drivers.

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

farewell old router, hello new router

For about the last seven years our home network connection has been served a Linksys WRT54GS, the slightly-upgraded version of the iconic WRT54G that began the custom router firmware craze. Thanks to the excellent Tomato firmware I’ve been hesitant to upgrade it, despite having a house full of 802.11n laptops and gigabit Ethernet desktop, but it had been flaky of late, so it was time to jump ship.

Linksys WRT54GS

My dusty old WRT54GS, with one missing antenna, has been better days

My chosen replacement is the Netgear WNDR3700. With dual-band 802.11n and gigabit Ethernet it’s a major upgrade — I can easily get 60-70MB/s between my desktop PC and HTPC/file server (maxing out the disk), and about 12MB/s over the wireless from my laptop. There’s also a USB port, though I’m not sure if I’ll do anything with that, yet.

The stock firmware lacked some features that I’m used to having, such as DNS hosting for the local domain, so I soon switched to DD-WRT. Installing it was more of an ordeal than I expected, though; the version linked from, of all places, the DD-WRT wiki entry for the WNDR3700 caused the router to sit there rebooting in a loop. After much frustration some I found an older build that I had better luck with, and by working through the Atheros tuning guide I managed to get a little more speed from the wireless network.

DD-WRT is a far cry from the elegance and simplicity of Tomato, but it definitely has a wealth of features. It’ll take me some time to dig through it all, but for now, it’s doing everything I need.

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.