Launchpadの開発者向けマニュアルを見て気付いたことのメモ。
Launchpadの開発者向けマニュアル
Launchpad はボタンを押すとMIDIノートデータが出力されるのと、MIDIノートデータをLaunchpadに送るとボタンが光ることは知ってたんですが、細かい部分がどういう仕様なのか検索で探してもなかなか分からなくて困ってたら、公式サイトにpdfフォーマットの開発者マニュアルがありました。
http://global.novationmusic.com/support/product-downloads?product=Launchpad
対応するノートナンバー
一番左上の四角いボタンの座標を x=0,y=0 として、そこから y * 16 + x で各ボタンに対応するMIDI ノートナンバーが決まるそうです。
また、一番上の行のモードボタンやカーソルキーはノートオン/ノートオフではなく、コントロールチェンジで出力される模様。
例えば、左から4つ、上から3つ目のボタンの場合、座標は x=3, y=2 になるので、16 * 2 + 3 = 35 で対応するノートナンバーは 35 になります。
色を変更する
入力されるノートデータのベロシティは 127 で固定ですが、出力するベロシティを変えることで光らせる色を変えることができ、緑と赤の2色を 0 – 3 で混ぜ合わせることにより色を表現します。
こちらは、(緑) * 16 + (赤) という計算式になり、例えば 緑1,赤3(=橙色) の場合、1 * 16 + 3 = 19 ということで、ベロシティを19で出力することで橙色に光らせる事ができます。
できたMax/MSP パッチ
----------begin_max5_patcher----------
1261.3oc6ZtriaaCEFdsCPdGDDPARZclvK5l6t1rnaJZARytff.YINi4TKJC
JpINMH66hruq6CWAxiQEIkuEaKSaSSamVLXrfjnH+4mN7vCOTe3wOpm+vxoj
Jeuu260d858glqzScM4U5M6B87KRmlMNsRUPeF4ckCu2ue68DjoB00GWllWP
pp7vyu2HZdNgIuKb1ktsjIXoED0i7CbZ534klUWTVKFSDUq7DzbUYaZymENu
rSREYinr6dKmjIz5GFGeSXeObTzMf9dwH4uHvM.u2rTCPYqU+REUQ+Ckhfxm
p85ZsHd+Dht9888di5Ve7wORdr4Peig1vZgnjsGc0.Xm80vHYeM.GNqWZVec
s9zvT1cGS+ZaFC0rIoY+tGP9m+d+tGuAffS5BHwARDzxi3AV+cOkI76uxgS.
z3d4jGnYDeqLXAG2oED3lXoEz.rjUg3cPLfSGs3H.EsaKpAWQzo5foCXSzoS
msH8HMHPCnvCc.m0g.qTPZ5YVhAA61BIDoO.2ABvNCAemkFdfMvgq18Qvtb3
hNHGtmfwHeqGLxR3A0s6UMehTGvH4r0WE7wRvo6nWvKa7b4AmrxhBBSrNcdI
I2NNVPCVTO76FpJ1h9yl7213nUNeMNQEcavFhtUpx6qqDzaoYoBZ4pwcehcG
uUj8SbBgYIuwf8DZvlEAbUBs+4O+qmL8oVxTKYeoFBKGPBw5Qmtep8shkO+2
e5Iu2VXIdOwRhx547QklpeHgu+cdzl57cF4KDFpL.BMy8LbQUwaDjfveKgkN
bL4vhLtcIVG8BSsItLHLv+mVyoUmAFgfApLW.h1FtZfEsntXEdb.Hro+MqZv
eUfUfAI+5+HX8ztvGXhIj9pKxdqsxGXrI7QOE4kGeJREb5zLAeeF7AWrV3rx
w0ELUIGL6Zo0hx4ZemSUfPIpYLBhzQTbrSVLgSpZhWRE95RMlJov.cKosUSB
VtkVCrioUpgmpiKJGu7cJwjXcSxiIEwazvDYv7zIPchqPGZ9ZbZN8ddSSFaI
5ricTHdoD5giuVRny2XO2Z.CrdZwSx0Bddt0vy.SVxPKdt7lTzhAhYv9P0lY
Xi2VtuZWKPjAtbttgUGaCAkYmc9zfUepcHoCn3xceOqKHrZKsavyKKUPJZ+B
F7eUYc1ne82dg2Oxo42QjRtu7mW8Buegjxmedvy794zZV1nIo4KEoy12mqVu
+nAmEiT0+m.iT4WrgZ.fUlf.Yv9Ep3WDv5lompgwEzbJkcaokhvv.BoGIGhr
d.FqiGcU2DtOasOAHk9j23KfVUYMOaVM19E43sjFyIUBJadhze8hLBsbo1vm
ETNsRNLQwpNxQpk0Ev45BZhtvaSVfSlr.Fwq.2KLi.lbgedH2JLjQB6L7pDa
jIVh6EVrQD6LHrDiHlzRD5TgYlIl6kkQNK9xW2tPXHisv5lXMS6OorI3q1oE
Q5Owmfv1rh.TI3Td1Rs0YouD.cOjCL1iriEVjwBysiWvq1haw8RnyAF1rfQB
bOvLx1GicuvvFSLG+pzHa+yfthuTAVxpQL1wb9mAgsauEnyivLaPoaEVfI.K
5rHqchK2Gra.7BMJbyl818CHMxrGBtL00.mKqAFkHgia3XahqRmL4ABupsp0
RxuH89Rt77n95yoL845T53yIOPm8H5DK6mxyFQEjLQMWmWuoQA9M2Q0fM+7u
.X5GE6A
-----------end_max5_patcher-----------
入力されたノートナンバーを16で割ったものとその余りでどの座標のボタンが押されたかを取得しています。
matrixctrl にそのまま入力して使えます。
右上のMIDI入力装置でLaunchpad を選択することを忘れずに。
サンプラーとかシーケンサーをつけたら色々と応用が効くんじゃないかと思います。
おまけ
最初の例ではボタンを押している間のみmatrixctrl に入力されますが、stripnote や inc というメッセージを使うと、簡単にmatrixctrl をトグル式にできます。
ではまた!