Launchpad Pro Initial Impressions

So I haven’t updated my blog for many months. I had a move, and frankly there’ve been many, many nights where I’ve decided to work on the code rather than discuss it here.

But I’ve got it working pretty well and am going to put it up on Github soon, with a GPL. I am probably going to convert my Lua code to Launchpad Pro firmware C code this winter, so you won’t have to run Reason to use my layouts and schemes. Though it’s really worth it if you do.

So back in April I was looking around for something my baby could make music with. I got a VMeter — I’ll post about that soon, because I’ve written a Remote Codec for it — and then I wanted something a bit larger. Years ago I’d done a bunch of research and been close to building a Monome. But then here was a commercial version of one! It was cheaper than other controllers, most notably an Ableton Push. (But still not cheap!) So I ordered it.

I was very disappointed at first. There was no Reason support, and beyond that it wasn’t designed to be a general MIDI controller, but an accessory for Ableton Live. (It even comes with a lite version of Live.) But I don’t want to use Live. And then I found that the Launchpad Pro’s default Notes mode left a bit to be desired.

And while they’ve open-sourced the firmware on the Pro, there were only a couple of  projects that looked interesting there. I ended up making a thread on Reasontalk listing some interesting firmware and a couple of non-firmware interfaces that have been made for the Launchpad Pro, so you should take a look at that thread if you are coming here from a google search and don’t use Reason. There are actually 32 forks of the firmware, and some interesting ones there.  (I wish I’d seen that link last Spring!)

So having now coded a very workable, playable interface I find the Launchpad Pro to be pretty responsive and quite a joy to play and create melodies on. But out of the box, especially if you don’t use Ableton Live, it’s strengths really aren’t on display.

I actually got the Launchpad Pro before the VMeter, but I didn’t have any experience writing a Remote Codec. So I wrote one for the VMeter, then improved it, and improved it again and again throughout May and June. (I’ll have to write blog post about it soon.) I even started a ‘best practices’ guide for Remote Codec authors, though I’ve moved beyond most of my own advice there with my LPP script.

I’ll get into my design decisions for my LPP interface in the next post.

Some Thoughts On Scales

I’ve been thinking about how to organize my musical scales. I have a list of 36 (or so) of them, and the order they are cycled through could be very important. I’ll pop my list into a spread sheet and organize later. It would be good to have them organized by similarity, or group them by number of notes. (Hepatonic, Hexatonic, Pentatonic…)

There’s a lot of thought on this online. Well, maybe not a lot, but it did lead me to some interesting pages. The most useful is probably this one, by Ethan Hein, which describes the various modes on both the chromatic and circle of fifths. He’s got some other interesting discussion on his site. I’m probably looking some way of organizing like in this flowchart:


Launchpad Pro Colors and Palettes

So I’ve got two function buttons coded in. That makes for 4 states for the rest of the other buttons. (Both off, Shift, Click and Shift+Click.) I have put in an initial test of adding color palettes with a select via some S+C and the Scale buttons. (With the palettes mentioned in the github link in the last post, though the LPP uses 0-63 for RGB and that code has RGB for the web so I had to divide it all by four. (Spreadsheets are a programmer’s secret weapon.)


I got the colors drawing via sysex last night, and the updating is a lot faster. I’ll have to give the code a good overhaul tomorrow. Below is a 7 note scale with one of the new palettes.


Here’s a few more links — the code on github uses all of the twelve note scales from this link, which has a good description of them.  I like the old lithographs on this page, too. Here’s another view of a colored circle of fifths with some theory. Here’s an interesting graphic, based on “Neil Harbisson’s Sonochromatic Scale.”

(Don’t miss the ‘science’ diagrams on this page!)

Colors and scales.

The main project I’ve been working on for about a month now is to write a Remote Codec for using my Launchpad Pro with Propellerhead Reason.

I only have scattered time to work on it, and I’ve got an ambitious bunch of features to pack into it. I’ve been doing the research of the Remote format since last Spring. There’s so many little tricks and design patterns I’ve learned.

I had scales working, 36 of them, with 3 colors, but then I had the idea a few days ago to pick a color for every note. After a quick google search, I found a palette based on a circle of fifths.

You may note that the lower left pad is always red as I cycle through the scales. That’s because I start the scales on a C note and draw it from there. The root (lowest) note changes if there’s very few notes in the scale. (64 pads, midi has 128 notes, but if a scale has 5 or 6 notes, that fills them up pretty quickly.)

I’m using the scale colors from here, but there’s a wide variety of note/color palettes out there. (And a lot of woo-woo!) Holy crap, Issac Newton came up with one! There’s this project on github that collects a bunch of them. Also, there’s a similar circle of fifths here.

I’m going to build in the ability to change color palette into this codec.

Much more to come!