Max8を起動して
File > New Patcher
でパッチャーを新規作成
Maxではプログラムをパッチャー(Patcher)と呼ぶ
パッチャーを構成する部品をオブジェクトと呼ぶ
オブジェクトには
ボタンやスライダーなどの UI部品
数値やメッセージ(コマンド)などの データ
データや信号(オーディオやムービー)を処理する オブジェクト名のオブジェクト
がある
Max8のメニューから様々なオブジェクトを取り出して配置してみる
button
toggle
led
のUIオブジェクトをツールボックスから取り出す。
パッチャーを鍵アイコンでロックしてボタンを操作
ロックを解除して編集モードに戻す
led をマウスで選択して
iのアイコンからinspectorを開いて
Background Color
を適当に変更
number
を取り出す。
先程と同様にロックしてマウスでnumberの操作を試す。
slider
dial
kslider
nslider
を取り出して操作を試す。
+アイコン > Audio
から
ezdac~
を取り出す。
ezdac~はオーディオ処理(音響合成・再生)の開始・停止ボタンになっている
+アイコン> Jitter
から
jit.pwindow
を取り出す。
jit.pwindowはイメージ処理のプレビューモニタになっている
♩アイコンからMaxに付属のサンプル音源を適当に取り出す。
この音源は
playlist
オブジェクトに音源ファイルがセットされた状態で配置される
再び♩アイコンからサンプル音源を取り出して、先程の音源にDnD(ドラッグ&ドロップ)する。
ぴったり重ねると音源を入れ替えてしまう。
追加するには上か下にずらしてスキマを探す。
フィルム アイコンからムービーファイルを取り出す。
音源と同様にplaylistにセットされた状態で配置される。
オブジェクトアイコンから
Max の
delay
オブジェクトを配置する。
キーボードから数値
1000
を入力する。
オブジェクト名 delay との間に 空白 が必要。
delayはボタンの信号(bang)を指定した時間遅延させるオブジェクト。
タイミングをずらす場合やタイマーとして利用する。
以下の手順で演奏用パッチコードを制作してみる
オブジェクトアイコンを取り出して
line
と入力してlineオブジェクトを配置する
lineは一定の時間をかけて数値を変化させるオブジェクト
オブジェクトの配置には、ショートカットの n キー やダブルクリックを使うほうが便利
メッセージアイコンからメッセージを2つ配置する。
それぞれキーボードから
1
と
0, 127 1000
0と127の間は「,」
127と1000の間は「スペース」
と入力する。
メッセージは オブジェクト に対するコマンドとして使う。
ksiderのメニューをマウスでオブジェクトの左端をポイントして開く。
メニューの
Help
を開く
Help画面でksliderからMIDI信号を生成してMaxに設定されたソフトMIDIを鳴らすパッチャーを操作してみる
ksliderのHelpパッチャーのロックを解除する
MIDI音声出力に必要なオブジェクトをまとめてコピペする
Helpパッチャーは保存せずに閉じてしまう。
取り出した部品を以下の様に移動して配置する。
足らない部品は取り出して追加するか、Ctrl+Dで複製するか、コピペ(Ctrl+C Ctrl+V)して増やす。
線をパッチコードと呼ぶ。
パッチコードには2種類ある。
縞模様の線
オーディオや映像信号の伝達経路を示している。
オーディオや映像のソースの再生が終わるか停止するまでの間、ずっと信号は流れ続ける。
通常の線
ボタンやスライダー、数値などのUIを操作して値が変わった際にメッセージ信号が発生する。
その伝達経路を示している。
メッセージはループしていない限り基本的に1回だけ伝達される。
さらに以下の様に繋いでいく。
赤 青 緑 紫 の順に繋ぎながら、各色を繋ぐごとに動作を確認する。
0, 127 1000 のメッセージで 初期値 0にリセット、127になるまで1000ms(1秒)かけて徐々に変化 という指示を lineオブジェクトに送る。
メッセージを送るにはメッセージをクリックする。
playlistに繋いだ数値メッセージで数値の位置のファイルを再生する。
playlistはDAWのマルチトラックではない。
1つのファイルだけを再生できる。
以下のテキストをコピペすると上記のパッチャーを完成状態で張り付けることができる。
----------begin_max5_patcher----------
1660.3oc2ZssaaiCD84Tf9OXnm8Zvq5Rea+NVTDPKy3vFYQuRzMIsX629xKR
xRNRxLtLNY2.DaKRJMy4vgyLbn94m+zMQqkOwqiV7kE+0hat4m5Vtw1lokaZ
a3lncrmxKX01AFs9fRIKiV1zW4gcxCpBtx1KrsYWapm2ycO8n0rxsQK9Za+h
M1Glb829iz3tG1dlJ+dQ41aq34J2Mhyfq.KWDmZ9DQZ+73SRq.hxWH+8rJ1N
thWcKujstvpE.ae+ym+j4a8WK8FyZYrlWMAlQSh4nkyha5b3lFirXEaANEXu
.csA9NdcMaKuSQU7mr5WD5Ua.LAIPliDPXrA2vLG7yVQmkDPWLN2WvdtPTq9
Um172GXEB0yNSdVsHuqGYkXqnjUTvK2pt2onV8KRIxenNZfx0iZnm9.T7c6k
VRCYt+oHtZwV8fM1Ri8Ky+aD4JgrjU8bOgaUZ0gRgw96KKHDvXzOtCV6ja3i
f1QlUfowtkgtIGh8J5fEk6E56JWVYtIslYMBa66NYQg7wsEx08nftdUBsMmp
hqu+Fp83S8NY0NVoZhm63qGxKD6umK1duU4QwGI5QWoz14Flh0XvzZw3dVcd
K62itO15ZYwAEWyWVEOhc+C7mWwD2cWKWZgfPa1nE6YFxChR2jD6vFgzzR+Q
zLAdHIE..nzjj9cVyKNRNMVlvdyMlwTHk66yRVvIKU7R0s0Jlh2B8AXr2800
VyhsletzCdoVamxmmWldHdxKXhlWx.fKkW.9wKSvBK9p6h1VuDGR7ergk+qI
bxN1J4DrGKYwt.nDZ6mA2QZvyNHNwirCfj+CjdvcZCoNS7+rRX7eeYYNf.yx
IDfINIEaoFJ1kFwpA9QKU0heXEFDuBbM4p5BwlI4pWa1CHX+nx5Uor1E3nYy
pvvOjzri1LIIWcaF9iZD7xDq1wdfWJU7EofEvidvBgQ0cERlxXY49w3LJN5r
LWBvlZJLI9BMsvAm0LLlFuKfmyi4L7UeVf3AK3x6AlPu5rvCytHZ58iHJsS+
luFexmddXSSsQNw33VuKSEC4+I9ZiOOmDSQeDc0d0opTOBK8Akqlbitlk3nD
iqXPfBZEiNuEEJwFUBclc8iBOdgABkzDOxG8sei8SEvnPTxCb8bndDzvUFKx
4plS3CPtgWvd9xrhmAw.exMGXyyJN4MyV9aB0p1B3LA5vc6quh8nxVwgn9t4
1ePcqgqNTMrL.ufLzx51cLUk3oYK9RORhj4SY9Rc0RwUmOLnOK0toT7E3OLb
kyX8ZVQwpcxuO4t1mbDcaZW2mfO0l1woT..l.nQeH2Pt0H6QMRjO9p8abhQy
3lI9TMXryyQiYBzTMqiOr5mKyGXQLzN4iUwuIPeBBReOq8cAeyq1W4vTqWuM
WVHqZK3DLMEgonLBTu0IRxRcSHXVLHIkfg3DDkZZRuLHKEfyPPZbZLdXQp5S
g3YcrjBo8sXPwiXwHKGnewC9ypePDkjA5TRaS.Zebbh9cMlXTxsaK3+lyM8I
xTOV5om7dOKwTvqqFd17yxPlEfPH98DyuUayEB7X9VuB88cetuQf2mvLThqn
XTWN5oWaruo+lP80TelhZQ7.yZ2a1pBBZSP+5ZqGzxh5QM7ZWZ6hNDJ75dF1
MWc5aUfUSr65ZHKTKOTk2Bm1LC5enea30JQI63I2zU429iZPfrTanSTBwFJk
XiZoC31KvkMP6w.u5Xbnl.YSOC5MBLwSNOBLG+e+QIqLF.ymoVfUASFDSRhP
7f+LLVR+jUHYllv8nPcZBmjMvNwl8RsqnFiAZBzsQeqikTcDk1qFgF.AfFLG
djGzP5Lz.nWFa.pEyvtKs1SKGyhC9NiIy6Uw0ASAwb0KLQSlaM+ooMqgYip6
ZLazlduwj4ke55foPX6cp1Nw7DvMpPHPpOBjjENAR7ZVCGLARStxBz9nfmSf
IMiJTBD3k.CDkB7Qfs9QCf.gdIPR3.nOhCFtUgdMA1l2VHvGwGSTbRXE34yS
HXxybDPd3GMbVLjLulBoASfHuVRXNv4.4kAA8VfABgd4GEcho7IYD2b.XIt2
UGHD1cU3zQfW5XfDnWtlPwgUfmeVHMbBzqTfPgyWAJ0aANscF1UD8XWQLM1Y
zlqdgN1rGd198emWU2HEm5Esi8MW1ooKcWKJcW6NapnJ92Es2hqvAQrp76EJ
dd6QqE8TbS4XruwwUkGDsYbaHHinsUEwbrR06Y4Mmsj7onO+I8.9WwQnojB
-----------end_max5_patcher-----------
オブジェクトを複製(マウスで範囲選択してコピペ、またはCtrl+D)して色々試す。
これにオーディオや映像の再生を組み合わせてもよいし、再生するファイルをさらに追加してもよい。
オブジェクトの説明:
sel 0 1
メッセージの内容に応じて対応した位置のアウトレット(オブジェクトの下辺の出力端子のこと)からbang(ボタンの信号)を出力する。
toggleオブジェクトはONとOFFで1と0のメッセージを出力する。
pak 0 0 0 0
メッセージを1つのリストにまとめる。メッセージをまとめたメッセージをリストと呼ぶ。0の個数分のメッセージをインレット(オブジェクトの上辺の入力端子)で受け取る。
zl.sum
数値をまとめたリストのメッセージを受け取り数値を合計して出力する。
/ 4
数値メッセージの値を4で割って出力する。
上のパッチャーのコードを以下に置いておく。
新規パッチャーに張り付けてもよいし、ここまで作成したパッチャーに追加してもよい。
----------begin_max5_patcher----------
1223.3oc6Z01ahiCD9yTo9eHJelqme+k6uxoSqBfW1rWHAkD1q2t59uew1DZ
nEGFXMrsz1JgEFhel4YlmwCN4G2e2jzYUOZZRS9ij+LYxjezMyD2b1YlzOwj
zUYONuHqw8ESmsosspLc51OqbyppMsElV2mh6m1OW6+t13W8zYYkKSS9q9OO
egawpl80eCyz6Vs0Ysy+Rd4xOUal25uRsB8.ZZhRRrCDV+qOsVclPd4Krf0Y
0YqLsl5OYJylU3rCj6y9u6uyN1MLErWWZ9mNacmc1ZdzYdoMlhDTBN.cPGmN
l9zX.pgi1sxyqJpp8WM5Ao.IULJlJIbldZ2LXASh3JEgxIZF9fSgGxZgoZIW
YGvbrcfJFdUetprsI+6N2vEKNTLfd1zbgYwImYkW1Nf8lsbOhBuy8wxN5vRK
Drd.6wsSo3nNempIXtPInOio1KffGKWEiXBWxJ1krpX8u9zhUUtm8I16Om8g
sgTzNizM0fvXme7L66Zj+2VsbY2Z7yEa1iHI.D8BNJDOdMb5KPoN9ndM0I73
Bz6vRcLwUsTmmpYd85Gk5NT.QNdoNjK+jiPeTpa7RcLE.QO0Ob6TpCOZWcJs
u5Fm+NrTGleMK0skpwL7upRcgn4eOgEQYFlEfU0ufVICKThDGbpiQqDlqGOg
vMvjmIqRNeVcypYl5.DHIHAtK+L.KRSA3zXou1uS1RdsHa+dwCMaVcVLRH1.
CNmZX5Sm77fSALmhKbZTo55mSEfYWm82cEDc+exJ1vcrPlN3kf8gfTGNFrec
Phu1nRPjr9VbN3T.iALsvmbetAA1YGDVYZZxVZdYT3mh62iRYiIxkb2FFZ+V
y5G3ipwIW.+rKJQj1VLikGqG82cwURqS5c6smyzkvgCotJxKMQtNtV.vg8QX
1wphSe8zUodzeShfKbIq+ZaproHeQv8kO4DWEf3XuCi784gt1d70THO5upfg
02ZBY7.pKrG+1SIiQidRpLk5VSJiQD.Qx2QZY0nZYh3lSKqQ.b32faJOpR1d
vV2ZaJS.DGeGIjEjwOoX7slPly.3vWbg7q86f.c76qu+tbg8zzG2+ffGrIUA
3fzozap6d.c768jD8JXKkE4YEmrK+4hpr.wYFfCdURzNQCRra3M79nT.UQuL
ai5WC2VCO+wexYJt8L1mFZp1TOu2e1cy7SFXNKLMs4kYs4cRgAeM6S5f8qEl
ygCo84AJAebHwQFxi6k1GhqnAIAFwhhGjXMLuTEOH6WqiAoHhPJfAIOxPd7L
V6CaPzhkbHPR0QFwiyq33AIEVxCNhQR68W83PxhHfTX9XLgDCCRZ7fDALRFu
R5ZXH5LLZjbRBbHIwwIOADwwQRBGvXk5.RQ97vcUssCtw6BL11vKR.1YD3qH
QDxFHWOafFvDnwHkGTwKc71DRCqoITD6SCgNozsnA4w6fAEwBzf5YRKiKffK
jDC.A0vjNhs9hfINhW+RTID.UwSMp.oF0wSLpQmRU2XA3w0EwSHZOmW.+RBY
bAD5lHQ.OAntj3GtC6sGhR150eyT2r8R7XktJ6q9StUM0+97R+68O7ro0luk
2eI9StIMqd9WxaMya2T6LwzGEaORrzUUcaSVtIuugAq2Zg1ctTkYqLMqy79k
67qt+ttuv+GGhleH
-----------end_max5_patcher-----------
----------begin_max5_patcher----------
1405.3oc6Y0raaaDD9rLfeGH3YEi8Wxk8PeQpCLnjXUXfDo.IUpSCJfkUKPN
lCEMvn.IsEEAHHGR.JPQSaA5CCasQdK59inLk7Rx0UTNxE1GD8NbIGNeyLey
r69j82qicu3iCRss9DqOypSmmvkzQJSHoSgfN1i8Ot+H+T4Ds6GOdbPTlc2E
2LK33L4M.4ydy4O8Oxmc1x6ENPdm3dO7dXmkRm3m0+AgQCOJInelR4TW2Cnc
svrC.csXdheE+u08KdlnoiCiFEjI+FfER+73nrzvuLPHDQ3O0kyNdZVwzARo
e096Itxuzcys0KN88WL6s4ydd9rWcXD2jym8ry+0mxksbtiBiB5GOMR9.nk1
dRPJ+M5mEFGcj9oTFzn0BZDr.nbf.wEHUBaNN6vvFD4lO6sn+46ewEm86W7s
u7vnCi.V26Ss32P7+7KhQ.8fHsYPjpCDIF.hDbYPDR1AB9FELPWhDxqNygv+
xoKiIXjheuzX5Mre7n3D0zAG.YLDlh7HPnqCwsKWDB54.bYDLD6hnTgHFE3w
.XODj5vbvbDpY7INZEE4rxeREAQThGXo1jh.zxePWUQkfV3k3Ph+3frfjiBh
76MR5QV5NTOP1imDn9RrCEgJ2++raIJ3K3tgqFamFLRDFq0k4ZfKiRPRmkij
7q5rXTSweqf5tk7jDOIBy8xk.YshpAzQUhq87iFZ20xdS.2JYNxm+574+R97
Sxm+CJxWs.csEYvpLcBUkoy14qxje5eke5OmO+E4y+yZL5ZKR35ICnnTE+FC
s6Wa8q+wOb1yxm+FtUmO+44mbx4u62962+Mm+5W9gu6mzh.0xvCgPbIH.Q.6
JPPUL7n5LGjijTGiP2wvucX3qxs.qMJSwhema4F2s.Zly+NuxGk1g.VPKjNe
FzsYeFBo34fzFZHhb8ZHxcklcDfbYeIxkpUTM3NowNhV+5lf28llkEGoETMn
4GFUUBr32lBZakHLoYuEBwR7iFDO1BqELHMCFPhZwdp0J0ZsbyVD0PjjDpHr
URr0KxjL6apj2AAi7erED..5vVlIcaQHx9NgnMd8LlhEaZXV0YVdlXvX5swb
qr3gC45PWFDxDqFtfWQSk0snUuUC6wUD1WKihqZSK++TTOD5YfEe6LrugtVz
CGTCfCDAp1cAXCA.3OtaiC13lV1DXdbPZp+v.MmUP0EW7L3bBfH0AEftJHKT
wJPGX8d001CHotd3asj0sCVJvC2JATGjAa93B.0Eo57tYj3lvhqJIUri+5rT
Jw.KEoVOAi0fkhuta+4xbl1eIt3ZyIXKXf8n2sF2sS+BU2jDlYPMgak8HUce
A3ZW7NEpNIWj2sv1BRGENHHQqQa.0RgMq1ocw1LeiXzW0fUpUxSt9g6K+5kD
nqBCowSS5W7FWXvVk99GDjlEFIOw0RSRbvVhYUMfar9JdUMnPuVSgDSzmH+t
7rZbg9Eij7lRFO2xSB6sF813vASh4opoEmVi5r.gx7FH.I4zWanhHYwTU7Is
.dHa2uYDgbMAjhdVkb9LYgk0EAaIKfYjAPqyBfWoOau0qNIJVtlY1VF.1nbf
0MyUL.jS4HPGsEx4dkRFI.UeHIE4J6x1UdwQE7s5HOIiGk4VLncBHEnApQFA
TqwHHUHrQEBaWE1LmGn8TnQjdv1iUWrmzFnPR6oPjIJr8phvLx9P2rUQfP9B
aJUFAq1n60FpxcKlaqUGwHRX1taUDGz0oJRKnPpYchzt5qQZNb6QBfMKIQr+
ZsEKPw6pIU50xprYXUuFWzwt+jIOJHIcwinTFeEJOTkbv5pFGFoFq1hB6jfG
EV7HpkPX6mvWhRFe8ISSjei1G6rXuQrGGyWgSzzP4r4RDlqP0xEAEwW1Q5De
kgIWrz96wmv+BkP7uEB
-----------end_max5_patcher-----------
toggle ボタンを並べて お絵描きボード を作成する。
応用 全消去ボタン を付ける
応用 選択反転 機能をつける
応用 電光掲示板(1ラインずつスライド)
ライツアウトゲームを作れそう
↑のアイディア紹介3にはコピペ用データは付けない。オブジェクトの複製と接続の練習目的であるので。
pipeオブジェクトで 数値 や リスト などのメッセージを遅延送信する
delayとの違いに注意
delay はbangの着信後、指定した時間が経過する前に次のbangが到着すると後から着信したbangだけが遅延送信される。先行したbangの着信は無視される。
つまり、buttonを連打すると最後に押したタイミングで1回だけbangが遅延送信される。
pipeはbangを遅延送信できない。代わりにメッセージを遅延送信する。各メッセージが到着したタイミングを基準に遅延する。
----------begin_max5_patcher----------
1639.3oc4Z00aSaEF95VI9OXkqypNe6yY2A6mw.gbS8JgkXGk3vJBMoljwDn
gFZvFHzFBgZ2t.zXHMooMUz3GiIUq+K14C6z7gsiSwI0A5EI0GehOmmm2ueO
9VWXyMprs+dtcpX8oVet0FabK4HanGSMxFwCrQklN6UqgSG8DqTyuYSWufJU
itYf6dA5arsi2tVG+K6O7euWXuWN79ONr2OL79OJr2Ag8dV3fmGNXPX+iBG7
lv9+cX+GbRuaO7n+5j868t297QOr56neT9ae8OABIiFtkSPsqU2a2q11sVfY
6RffsDHN0FRzehwvpVXAaKPUKDFrEXr+PHa4fns.VWI9I50sYcuFtAZLAGaT
+tAwCCzi90WXS02xup99yQSSC8dU3fWD1+eBGbG4+qHu67z2czuN7PIs8Gm7
jCG98GkL2fxhaP.ghFhXCHmWRYiV0a4ZIAZ1JGg8dRX+uKYZ.lIMvFmErgSv
BR0qRBKbx9Gb7ce3k8Fd667eO+dJ0fe50C2+PIKD1+2CGbP3f+TSMuLrmzj5
Eg89lQOiF08bq420S+fPinh1tcjqjSPceuql7TlfDAYQhTBbKLJxHS9oMGK4
T.QyoTflgYkHcoQjmQEJCkGfXd3FBh8tPv..VoDMFrWkJOMc6zwYW2Yg8Est
j0mkL7n4vEAAiM1HyAPnjAzHbZFK3lsbMO9JUrtRwC1.2NAWJYvlo+Pav3Xk
Ulv51cCB78RFSYZWhDnYi+Q3Z6RznOWL8S3oqWamltAtsupqmy1Mz.EjJ9UA
9WZx6KlD2Hny2u+Zl3V.V3rchP3ZlzNcJfamEE.SRgmJfenovmnCNdl92fXp
B+QjwbiNURz3s4Y5yVB.l8ohaJkq.EcMTbK2Da61NIJfjIEvXfTofyZJHnyF
ETo5xjFPYmFO.o8mahssNBb2uRhxTRYkNVX9wnDLNSCdlNpF0DoiRWBF7w2q
leC+1lgkgfX.aNACw1HJQTUNBAKPPJiyP1DJTOxXy.fjYKq1VKuplLo4e7S5
exidnpx4u81xJnTRLYs.wUToJAXG2FN2LoZpln9fhnfJx7yMAg35urE4s9IE
tmPTvsATNGgoHAAB4JlGjigfSsTK2pSXjjyrMa2djIy0gPnRcbiKewVz0f5T
XnjgMKyBNEjY81udAaPxvFuv0YWFgc5guffLiewDrYErPiGfORhlIV77bflh
1+nL1VTOr58JSXs3NY83vd+lNxV+GjdayEYVDEJpbXSerDjRSerRSwISWlHt
t.XFZMxIopDucbBbRDsYl5fM6TvRgkoZ7RUQVmzUxc3+cu4omz6GG0R6K6oO
9H0AGc3cO99+rQaOr+aC6eX3fmoyW60o0U2hHqMQ1UXyLVLDpwvAWZ568HJN
xoQJGkxrmcv3XO65uLFVKpKiRcFqYzDpLCUISlwbjZeX0GBNKOflhVrTVlQC
.FG5DpC1VMEkhnKrYD4MEYpAbNlGTFpP4vbhA9fp0s1h4C40SilTCjCAImxh
cdR.yDEGSKSQwSKwdSDlTRPyllCAu4rFYEdNKKqRYZ57ktd9AtVLhEJEbiW3
CMOpysxpEmCOfmiutY3gunguSfxml4eVBLhhMjKahLAYwYBi5OQb1HhoC6a9
05r.m9cYRuiT2XJP2wua6Zwz2nZ3sFairiLO85d5jGGaZpBYsfYQvKvJhyyJ
ZO0rZVemV908BhPJUFNlMc6SPHyAAIuGeVsvIBm52dGWc7Y3pCRZRDjRY3lT
.NMIAY81DchBipDGH3.xTYEjGVQnC4xrk4gLcyFT2JANATHbBq.DyL.Y1cMD
xRULqu2RSLyJGh4DYkyKwLuHDyRQIY5Vee9Il4kDwbRrx4iXVK+fyUJSJrnD
14KHAwLqhXAo4ZAESNqBUwKeaANKksPgHmsyEKPKLZmCW0KXt7gy4E1BJHqX
DJXq5E7LEBXB+k1lldD2QDi2SkKx3ih.OeumiLDPE.lP4RuDiKLGd4iDI7UE
IBWcJFqLLUDdHw4Jvj58Va73kEJslysf8RLNg5s1LmlGomeCAMY9MlWtSy4e
BsopVnnupXrunKxNtPRiDrHZJExJhV4X78gUi5egSqV2vscmnehYwpzz45Fm
.7plqq6YtlZtts6MpG+ShFxocsqUOvsVP2158Xk8heMbpzzWp660sdrEnBtp
kV2.HOmltcZ4X.ltQQWXS4D9eaV6gu.
-----------end_max5_patcher-----------