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.

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.

new track: new version of “move along”

I’ve released the updated version of my new track, titled “move along” — it’s the same song (no extra parts were recorded), but I’ve re-balanced all of the elements based on feedback I received, bringing out more of the drums and vocals, and pushing the piano back so that it doesn’t dominate. I’ve replaced the old version with this one, so if you stream it from the original post you’ll get the new version, but I’ve also included it again here. You can also get it from my Bandcamp.


mp3 | ogg | flac | 3 minutes 47 seconds

“move along” update

Thanks to everyone that listened to my new track, and especially those of you that gave me your thoughts on it — they’ve all been greatly appreciated. I wasn’t sure how such a change of direction would come together, but overall the reaction has been very positive, which is just awesome.

One comment I received from fellow podcaster Mike Holstein before releasing the track was that the vocal was too soft against the piano, but I chose to ignore it — I’m still not really confident in my voice, so I didn’t really have the guts to bring it to the fore as I should have. A number of other people on the linux-audio-user list have since made the same comment though, and after listening back I have to say that I now agree with them 100%.

An aggressive EQ curve to tame resonances in the bass part, courtesy of the "lv2fil" LV2 plugin

I’ve decided to remix the track from scratch: I took a snapshot of the track in Ardour, and then zeroed all the levels, deleted all the plugins, and started a new mix from scratch. There were other parts of the mix I wasn’t happy with — the bass had some nasty resonances, and the drums were a bit inconsistent — but I’ve been about to smooth out some of those problems using EQ (the lv2fil four-band parametric EQ), compression (using the Invada Studio compressor, which works well at low attack values for taming transients), and level automation. The upshot of this is that I can push the piano further back in the mix and bring out more of the drums and vocals.

I’m still playing with the EQ and levels on the vocals and the piano, to make sure they sit together well with each other and with the other elements, but I think it’s already sounding more polished and better balanced. I’m looking forward to having this one finished (again!).

new track: move along

This track has been a long time coming, but it’s finally done! It’s my first original track with lyrics; it’s about leaving my job after so many years there, though I wouldn’t read too much in to the words. It’s certainly a departure from my usual electronic stuff — this has just piano, bass, drums, and vocals — so I’m keen to hear what people think of it.

You can download or stream it below, or at Bandcamp. Some production notes are under the cut.


mp3 | ogg | flac | 3 minutes 47 seconds

Continue reading