Posts tagged ‘Max/MSP’
For people who perform live digital electronica, Jazzmutant’s Lemur device is something of a holy grail. The Lemur is a fully programmable multi-touch MIDI controller, which essentially let’s you create whatever configuration of hands-on knobs and sliders you’d like to use to control your favourite audio software. The rub is that the Lemur costs around $2,000.
The price of the Lemur seems to have dropped considerably in recent months, which must have something to do with the threat posed to it by the Apple iPad. The first rumblings of this threat were heard when MIDI controller apps started to appear for the iPhone. The most popular of these apps seems to be Hexler’s TouchOSC system (which actually uses a standard called OSC, rather than the more common MIDI but it amounts to the same thing).
The iPhone doesn’t seem to pose much of a threat to the Lemur, simply because its control surface is so small. But with the release of the iPad, which is significantly closer to the size of the Lemur and which retails for as little as $550… well, you can see why Jazzmutant might want to drop the price of its device.
The iPhone version of TouchOSC apparently works very well on the iPad and Hexler is currently developing a new version (TouchOSC+) that will take advantage of the iPad’s increased size and resolution. For some of us, this makes the iPad pretty hard to resist. There are just a couple of problems.
First of all, a lower-end iPad has such a small storage capacity that it would be basically useless for anything else you might want to do with it. An MP3 player with only 16GB of ROM? Fuck that! If you were to buy an iPad that you could actually get your money’s worth out of, you’d be looking at spending more like a thousand bucks, after tax and warranty.
Second, the iPad can’t send MIDI or OSC directly to your computer – it has to go via a wireless router. This would essentially mean taking another piece of gear to shows, suffering some occasional time lag between the two devices and dealing with the hell of configuring wireless networks. The whole thing would probably be pretty unreliable too. Basically, wireless sucks and the fact that you can’t just send the messages via a USB cable is fucking ridiculous.
Actually, depending on who you ask, it may be possible to create a “computer-to-computer network” between a Mac and an iPad – eliminating the need for the router (and possibly the time lag). However, this is said to be even less reliable/stable than going through a router. It really would be nice if you could just plug the thing in. Also, there doesn’t seem to be any equivalent of the computer-to-computer network for PC users.
So, what to do? Probably, it’s a waiting game – waiting for the + version of TouchOSC, waiting for the price of iPads to drop and waiting for Apple to get over its idiotic obsession with making everything wireless. Having said that, Apple is unlikely to get over any of its idiocies any time soon and the thought of being able to build totally customized controllers for under $1,000 is still pretty tempting.
Often, when a person starts programming in Max/MSP, the first thing he or she wants to do is build an instrument for “time-stretching” samples – increasing the duration of the sample, without altering its pitch. Many new Max users are perplexed to find that there is no native object in MSP that allows one to independently modify the pitch and duration of samples.
Probably the quickest way to remedy this is to grab Nathan Wolek’s Granular Toolkit – a set of external objects designed to enable various types of granular synthesis. The Toolkit includes an object called gran.groove.file~, which is essentially MSP’s standard sample looper, groove~, with independent pitch/duration augmentation built in.
This object has found its way onto quite a few connect_icut tracks but it’s never sounded quite right – a little tinny and washed out. Luckily, the Toolkit includes another object, called gran.cloud.live~, which can be used in conjunction with groove~ for a rather punchier-sounding form of granular pitch/duration augmentation. The Max/MSP patch pictured above uses this technique. It was originally built as a simple stand-alone instrument and has since been integrated into the the main connect_icut Max/MSP set-up.
Here’s what it looks like inside…
The way it works is incredibly straightforward. The signal from a groove~ object is fed through the gran.cloud.live~ object and the controls are set up so that when the duration of the groove~ is changed, the gran.cloud.live~ does a little compensation and the pitch remains constant. Essentially, gran.cloud.live~ does this by busting the live signal up into a bunch of micro-loops (or “grains”), the pitch/duration of which can be adjusted independently.
The MP3 below is a demo of how the instrument sounds. It uses a sample familiar from connect_icut’s “Sea Bells on Sunday” and runs it through a bunch of presets with different durations, pitch-shifts and sizes of grain. You may notice that the particularly nice (or annoying, depending on how you look at it) thing about using the gran.cloud.live~ object is that it has a just-glitchy-enough sound and adds some nutty stereo panning.