The first problem is that the Axis has a staggered honeycomb of a hexagonal keys where the Launchpad is a square 8x8 grid. I thought the notes might translate better if the Launchpad was held at 45 degress, but eventually decided to keep it simple.
Here is the key layout I ended up with...

The code is based on some earlier Launchpad MIDI projects. It is Visual C++ / Windows API code which simply receives input from the pad, sends MIDI to light up the buttons and outputs a MIDI stream to Reason (which actually makes the sounds). I used the wonderful Midi Yoke utility from Midi-OX which lets you transmit MIDI from one Windows application and use that stream as input to another (without that I would need to implement a Windows Midi Input device)
I am gathering all my recent Launchpad experiments into a single app which I will post for download together with source code some time soon. Watch this space.
edit: get it here http://sites.google.com/site/skriyl/Home/launchpad-playpad-download


The main interest of the harmonic table layout is that it is isomorphic: every chord always has the same shape, no matter what not it starts on.
ReplyDeleteConsidering that, your layout isn't very useful. It would be better to assign minor thirds vertically and major thirds horizontally, for example.
Well, it was just a bit of fun rather than a useful application :)
ReplyDeleteHowever, I did just copy the Axis keyboard layout (albeit without their honeycomb staggered layout) so it is true that chord shapes do stay the same across my layout too. Unless I made some dumb mistake mapping the notes... which is very possible
Because you "rectified" the honeycomb to a square grid, you have an "irregular vector" that goes up and down, alternatively. Your "straight up" (0,1) vector is a perfect fifth, but your "straight right" vector (1,0) is an upward major third half the time and a downward minor third the other half.
ReplyDeleteFor example, the C-major triad (CEG) in the bottom-left corner goes right+up then left, whereas in the middle, it goes right then left+up.
Now if you want (0,1) to be your fifth, you could for example assign the major third to (1,0). Then you minor third becomes (-1,1) and your semitone becomes (2,-1) and so on. Or you could go:
fifth=(0,1), major third (1,1), minor third=(-1,0), semitone=(2,1).
It's all a question of choosing two vectors for you basis and sticking to it.
My personal favorite is still major third=(0,1) and minor third=(1,0). Fifth and semitones are on the diagonals. That's probably the "45 degrees" layout you tried, now that I think of it.
Darn. I meant:
ReplyDeletemajor third=(0,1)
minor third=(-1,0)
By turning the square grid 45 degrees clockwise, that gives you the original honeycomb. Otherwise, it's a mirror image.
man, midijoke does not exist anymore, hope to be available again soon, i realy want to try it...
ReplyDelete