Skapa interaktiva elektroniska instrument med MaxMSP (5 / 7 steg)
Steg 5: Xbox Kinect och MaxMSP
XBox Kinect är hackable djup avkänning kamera och gest tracking enhet. Sedan Kinect var först hackade, det har varit ett populärt val för massor av interaktiva projekt, och så småningom Max gemenskapen utvecklat en massa sätt att dra information om Kinect till Max. Om du ska köpa en Kinect, vara medveten om den nyare modellen 1473 fungerar inte med något av alternativen nedan som Sept/2013, den äldre modellen 1414 fungerar, också se till att det kallas "Kinect för Xbox".
De mest populära program för att ansluta till Kinect är caled synaps, även om detta program kan endast spåra en användare i taget, det är relativt lätt att ställa upp och den kommunicerar med Max genom en patch som kallas Kinect-Via-synaps:
- Hämta synaps (du kan behöva installera drivrutiner här)
-Koppla in Kinect via USB-port (se också till att driva på Kinect)
-Kör synaps app (kommer det att krascha om du inte har kinect ansluten till din comp)
-Öppna Kinect-Via-Synapse.maxpat
-Efter start synaps, glöm inte att bo i position (stå upp och sätta dina armar) och vänta på skelett upptäckt
-Hämta och köra Kinect-Via-synaps maxpat för att dra in Kinect data i Max
När du har synaps gör skelett spårning, klicka på en joint i Kinect-Via-synaps Max plåstret att börja dra i info om dess läge. Du kan växla mellan x, y, och z-koordinater och du kan också välja det koordinatsystem som du vill referera till:
Kroppen är avståndet mellan en gemensam och bålen, detta är bra om du vill titta på en person rörelser utan en hänvisning till deras omgivning eller plats i ramen av skott och fånga specifika kropp gester
Skärmen är positionen för ett gemensamt i x, y och z koordinater över skärmen, mätt i pixlar
Världen är positionen för ett gemensamt i världen utrymme, mätt i mm
Dubbelklicka på objektet märkt "User 1" på den vänstra sidan av plåstret. Detta öppnar upp en subpatch som säger att du där alla kinect data skickas. Kom ihåg att skicka och ta emot objekt från förra klassen? Istället för att skriva ut den fullständiga ord "Skicka" och "ta emot" i objektdefinitioner kan du använda förkortningar "s" och "r". Till exempel, om du ville ta tag i vänster hand x-koordinat, skulle du behöva skapa en ta emot objekt "r lhnd1x" i din lapp. Här är ett exempel patch som beräknar avståndet mellan en personer händer att tillämpa ett lågpassfilter på looper att vi bygger upp sista klassen:
< code >
---begin_max5_patcher---
2585.3oc2b0zjhaqEcM8uBUTuEujpGh9zx9UUVj8ucY4To5x.BZmwXSYa5om
jJ8u8HKYCXveHXDFwLUAziLt8QGcum6UWI0 + 8SSlNO8cQ9Tv + C7YvjI + 8SSl
nZprgIU ++ IS2D99h3vb0Wa5p3zjcal9r9RxeLJIVTntF5Pio6JpaEW051vhE
uFkr9kLwhB8SD4QlAeFPo3xOXvx2wx2A + Q08DsT8LSm + meBCqelqRSJRB2HT
W52xhBimt+QjIauPj8hHIbdr5a.O5txi9KUanxmmtYMPK91VgFRk8uvhoOCl
NOLY8TveT909mmdp7smMjhRDeUh3ZPUHdW0cmFmlIx+P1Ag.3L+VYPRqLHpa
FDG3oXPhhH848wfHxvLnorTdz5D4ccUzi3uVFt3iV6 + 3V6 + vt6 DOekoCMPQ
Cr52as+ylZuAy7EgwB.EBmIGLAD4KDT9uYs1s7tzg0JGCBS06PjfdGWw1ab8
5FQuAZBDn + vZBAO5RB + L3SnYWfmvvlLXsCgVOnKdy2dFLZt453jcalKxriUC
kpbT3FXzvGGilnjuWSFKROXehw7C8AgetAhNXBeX9g7nK57I.ztZNn.k2GAO
i0STJ2PyocJICj8ZxRz6sRKvKNoLphIPXE6vX8YMwt2wt6jQhsHi32fP5M1j
mqRHhEhn2Df4a2XGNg6ELiyJSxqjN3d8RJtJqjKhkcHP.GfPrxTfkuvxWD4K
p7km7EuU9JnU9JnGaHhmRewWmLLF0aNwVTtQI. + 70 + 48O7eM0wLH7OB9njeT
6VjeQ7sKv+jNLog0jVPeA2HA1ybqhXN+CqNwC6j.PfbhukZXTXvvY.DPrKIc
U7wFQdd3ZwYDBzNDhOTO6UB9.ef76XVXn6sndWjA2RoGB8gyvLSoCrqRGd1h
Nz04zL1f3prAyVrADqy + wH5f5pzA0RJodp9uYjAzUIChkHC4DELV2fG3prA1
RwT7YFKav8cUx.YIxfdAjA+tOqIKlDOBizIYoK5x.E4j8XmE+u.7sUMppoMr
AEohi+gqx308+pR.OfYC5w1rotHM4ga1FK9+hj0EuZmp0rmFopB0fzyJry50
b2kgWjtYinjkOsfMeIZKnHUZG.gax60DaU154JtZF7RWVVeFQkaWUkgQ8a04
cE5z1LgVIUXqY+4eb2VuZBcEcxi4r1HaCWHlGlAxKByJ9k7hzs2JCkf.cAD7
flXmfFE6jhz0qiEWf5auYxR0VD5xURf0u25ZADXhFq8pER + 0zkbIouhGlBz0
sk06VYfwseYacypKVyJZC+9qtHi4pUWrKEjhcYIfzUq.wooaiJGGtMxGTheI
w4ohIGz6BsQuuAYJIBfkByP8gy16PQI8EjgRc0fLJBQmm1sx5fQ4GrN7o8Zc
PFEqiNi3dCCwx4bcHHFxfXrTzc0MwRdHbJSU.op9b+kIf5rkSS4iXoBmT4LX
hnAg6rYlVlPJHr.TDsQ.90NDTsgzQ.Ra.QTyyKn2rVH2WwCYv.PTN30v3Uf7
sBwxalRR0za3AFHjPf2WgjYVZcJ73dJKAdvvJIXmcZ + HPgHNNGrNKM8MQYA.
1FG9MvpzruFlsrziJIMaSXbSCn3nDwhzcIEmvb10ph4qc0f3iLqJ2.qsRwd +
HDexSl8eYW1iaP3I7O3kzmipRPAZPM8Q9t5NgJZ8G1olAbrWipH061kixbiC
0QGrxVP3tkQo + dwtUqrS8rY5JHP4JYBduY06gsN4nKnvwvSjUQKU7h7WYTr3
MQVdTZxQcwISC2t8nlmbzsTRl + YZ1QmUjxlhRzMg12Tl3sn56mru0vLIIUHY
ncY5N369dS0WTN.9T8sVyfZhSMYYOHSun.zCDnbjdcb5huHVdjvsjP1JRhR1
lIxkwWBKp.w9KuTrJbWbwKsSmMu9pvEhNu4VGklLccVzxzjRPz3NKat9w8YY
rCcDji6LpuQR31VtYY1jE6xmGlURpUUYCWewhzz3lWZ + 3nzSHLIZSXgnLMT0
cA2 + KMZy1rHcDy8soKh2q4KxRiia7qRek2Z4JKkC0KDeMZYwqMBrVdE4WOZa
8Pvz8bzxn0h7hlsUDtNuYKMNweGaCdrKdi1OwUW6ZT + 6qKO5tSBn6DAzEMWu
wNY0uuenriC + ip857dT8z5lURXUdAWYesgr1okIMYYaKzjEYDBTMmMRkcM5r
Bb00YSneMuNSRxRjlpm2Ia.6jMP8yFL8gyfZl4A9X.zQMyGACnakyBwmnLMB
7MiNP2auEoDb9qoEe.1uAi6L0wK2z.wzycfqOFrjg7SXnq2QoOypiWyeKwoM
S99j5CImeF3+frOehY5ciFUYcUsj298XcAuM7ocoxdLO+4CmIpa.MpEtOeqm
z04xz8sJarCUtDYMrQQ7v7N1rJmM8mKfx5YQUuXJ87Mvxs2FMJYU5GfMe62O
dQStDtOX.qUr9.OPz6YCLeHx26VZt9bo7Vt5y8MXxOzb8LGAQ3bQw9AEvMPK
lR0KNrd + GEvGRKlQeDzhaVnxSXTMWFqxpF7e2j + SFYreVMHuhrp7HGI + fPC5
BvfNQF28wlRGik5pv.JKLQNP5cjBlua0JCEvs.uVEHj00BGb17XXNAs1iXrt
P5FHGSt1Pg5o6ff5OPzg3LzMxu + PguZTevQPYMSrMtrTQVWRkfwGVKTs0XuY
2RdDTT6mICWdCRu0idfF0Gi4doQ7C9jDzZleWofMfOONPutPD8Ltf9Cl + 6MN
ErtSv8PEVKmEZGETT0EKud6Ded5trE0OypI.AZ1WWJxKhR1Wu4OeX9lm7EeM
Z4xl02UWRz7xT80kx1HqjKExxjfAdF.Ypuy.4xLDMilcGHiLDxtCKS8u.HID
rfLwcX4yHu1Qr2CGhawK8dAYro5EtCjQlpwE3VP1HKC2QWFQLjlcHKC7iGjg
IB.6pL9p28.SyCeSr7E4SPlo5KgEEYQy2UnS563M9v26h7O7lH3BV46VAQOO
7tdnqiSmGFWsUO1eusr.6OcfDuvMOyWkz6pzrMsuAhXstEY7FbKxvp9ixhdB
t9G+WEU8LY12YNYBMssLpSW7ZXR5pU4hhdOLRlTh15551bmFo.WyISn4tS8V
pXvy7RBZnE0Ud.M79O283bWiyFKMFOF.Gz3AGepA34DN7lhGhigGrigGjigG
nigGSfyngFdfawNbeGCObGCOLSwCZbviIpOm.5aJdLQ8gOdQu7Lwd9DPeSwC
ysR1P8nPCfmQFNCl7y34t6Yh0iSglwyTlYRnK53I8vLITAa7BsyLwUmMdVOl
. GpSgFznEFk5XxxTpigGrigGnao8PLZR6vwCOb2Z7xj4r6OZnA66VVOHWCOl
LbgbQ7LNQKPlnFhGOucjwYMOR7SYfa1Pt6iWtFJ73MDdHiKd3CgG73hmAkmQ
iKdnCgG33hGxPSCLXbwCdH73Ot3YnhHvGuY5fLI6PzHZOa.btV0G8xecxQDu
DHmbzvO4Xge9QBuqiCt747OO8uf5c8kB
---end_max5_patcher---
Och här är en annan patch som klockor du dans och hastighet upp eller saktar ner musik enligt hur snabbt din dans. (den mäter dans genom att titta på hur snabbt du höja alternerande händer upp i luften, jag var bråttom att få detta gjort så jag var tvungen att plocka något riktigt överdriven, men du kan definitivt justera detta för att passa vad du ville)
< code >
---begin_max5_patcher---
2945.3oc2cs0iihiE94T + JrhFMZ2Q0lFeEXk5UZeeeadbznVjDmDll.Q.o5t
lQS + aeMXfPR3hSZiiS + PBoLgvm + 3byGerq + 5kYyWl7Ud1bv + F7afYy9qWlMq
rohFlU82yluO3qqhBxJ + Zyi4eIY4eL + U4ox4eMur4T9Jd3abvxC6qOW7w8gw
Q77xqy4TiIGyqaEV05gf7U6Bi29IwOStDMtT5BW5q.jyBmWAtrh2K9L32qtl
v0k2XAX9WLV88bSRbdbvdd4o9uogAQsOSV3eVdFHZQMdjfI + 8Cb4sc9bvuWb
l+9kWJd60uOVIiGutWJA1Ik3zOkfwkr.C6KOLHk3b6Txczu2DkHf+Mz8Pi28
bJOPcFp6Q8Fu6cHHUzdNO8S73fkQ71rqpRCh9WP97WAyWFDuUqhFe.3rnSdC
cqZJU7F0kTb.iVPGf2znlhjatKNYBDanDUDaHO6hM+hnGpaAGXofCAMHyg+Q
Uvg34offC542dCSyxMDZoeHLYHhi3YExM85eNRzq.9t.HjBfNNhWHwKr3EQ7
hId41Io42Io42Oo4gjFlkVoQH3PrFDpOVqTR506 + 3cR3G2ujmpGE0ZpifGWQ
E5XFE0v3oQM8y72ug3mIiSZPIo4OTTAXe8ItUQLWePqdA0igLeHqbLFXeEBc
xGqWR5t3i87rrfs7qHDG8PHtdRS5P2S7Azqa9vC9nGzUejgqdHCg4e1BDUU5
. YqzASWzAxScgCrsxFTMY5PD0nqxxFDakMHZhMHdKTlLbrUx.qIxvwWcyFt9
1JafzCa34BU1pgqmsRFPMQF3afLbe3I0TiwvCQNT4nEUXz1tzm6f3 + .vSSC0
tg1b7GOBUWjcLV6IPrAwTQrA9bK1TOGJYA6ODw + e73s46zyjozPiR6OPYjb8
N2AObyvqR1umWvxWlulOGd.jmTjCTm8YCJhsIc6xRtZgysNOKdX+xX6ftkJc
vgk5XtFYlV5MdVAUnoA + IFEbqtMtzGUedmXTqUF4PvJ9xfTPVdPZ9GxxSNLU
BJ9tx7GPnpHm.MhbRdx1sQ7av56f4GwQJQHmRNrS86clhbeUrwpuTgLbJcw2
R3qnwo.YZakY7t2IIvU+Ys0NStXMqHE7GN4hTpslbw9rfjeLMFjrYCHJI4PX
wygow7AAQJHNZoOYe5fSixi0ISAQ.zjaFBisnQgRlR+9bxPH1pSlRBQFm1TI
cPw3SRGdCOIaXiHczqG2IzEqKCKcAImywQ7wRfOT0DcEHlHJczo97voIfXso
SqTGQSINoRYPEiFXWqMxzh.RAA4f7v8bvG6wfpNLc35JEfPkLk+fQsferFOb
VPAgYfcAQa.YG370SEovpFdCinfgDryi0PxBMMMELFpTRfQF2RBxZG1ODjyi
hx.aSSRdiWj.fCQAuC1jj9kfz0EZTwIo6ChNW.JJLluJ4Xb9ELmd8OQHkDrm
aKoJgwptYX1OBtmXhf+KDinHE7Ng9AOi9tNx3S7THi9POasLkC29M8jw.WAl
amCoAqQYhFGYnnKDKtJcxJG.AGWGl7q4G2rQOrCUNdYBs7f6fwzyzqlSaPwS
qHiJ1P7CEFweimlElD2pKLadvgCsZdVqKofB + ijxeH1qMMEFKaB1zTJ + sv5q
G2zZPpfZxE7xwTY25qdr4xSJdr8R8k1j9ZZo1kORVe3xjN3PNQbhmvaiRV8Y
95VlqEDwAdbX7gTdlvqRPdELZN8Z9lfiQ4epaZ77yuIXEu2KtymNyluMMbcR
bAHN6JKZt91Uz2jNNZ2YJ + FwAG53hEwPleLaYPZAsVkaMT8IySRhN + TMOIEZ
. Awg6Cx4EAeVdUNM + ng6OjFJ8S1zlL0c6xVklDEc1Ok7Lu0wYVKdXuh + kv04
6NycZwYDe8vC0OBl2vQqC2xyxOus7fsYm2xYqRk1RgsUsOq8gTw6XMZzwTtz
q9d+AHzaAy53JKOB4yZ3Uo54pvOaig9kv5KdgY01.qTntSRqrm2Ka3zKa.gl
MjJyTo0OZ868QEn1.nmrG25aTGBYo3iF4B4cdBDM7JGXK12SM5.N2.c1gzVD
lkx1kj + MPSk11aTT2tnQULkP2x3F7viomPg2uhxPhUsm8aMwomGG5EYJQLRE
vOA0OehnkAjVUzExUHS6nS6s5o0LepWpb.wye4zppZBnQog6qKBiqJwsmFox
ypUiawrFRIOdH2dJY + dWlHJPYCL8h2LkdcobL8xngwaR9FX + 6 + Z6oO3V3d + Q
jVQkSvBRtvbfH2wHe1TJt9Zg4srxiMMnxGNel8LfQ3LddyCEvDXKlPjSSJrb
jw9tiYKtYsJZ01hOOkcWvnRtLpLpZv+Xe1+TIg8qxF2cDUEC2x7CDNpJ.0wJ
h3dH1TnXrVlQBPwv0y.BsiDvxia1nnAbMvqUNBo8UWTWMNFpUPq7+bcvpucG
pzNpLRFXUzUz526M5JpgBRWlmbE7wfuW+6U8bG4AHYLAA3DYLqJseudQB.Mf
6hT9gnhbBoc + DX4B2StRrjpXCFxN9YvMwvLYv5IHlcF4DMhoiRinm7Q9HcD7
cEW4H57H + RFstRLb7FMn9INtx9iZ + TpTKFZcOYNrrKVb9tI9rjioqpumUipC
bdecMOKOLtIwx+1oAQewWbW350mmHWYtOyJF+hLm0JIkbqPVDYOfo.jIdVCj
KB6UMZ1dfLTQHaOrLw6FfL74BxX6gkuh75FwrmND2gV5iBxHUsWXOPFpLMCs
KLqDOSeRwrcXlChUDyVj3L54CxNFNJipvTqqtg4YAuwW + IwcPDd8mBxySCWd
LWFoZ6By36sDDFuDGtg4kuSPLvMuua51njkAQUkhRy01wz ++ xIR7FKomuHn2
MIo66trlncV3NrwKbmp8IF4nx8Zkpmpge0zYtXTXcMg1yWsKHNYylLd9fKPJ
URVdcF10Z8OEtA7SgvO9QGvO+yhOg.EeLeGOVWE0c0zoI2HKgzA2hOw1ZsyU
yRPI03nmJECAk60JRRwevxnCSsTpYaPNWWRJx8MAYURL7NNG9gWxoBK44B6o
ZQPnpmWrTwJRGHs98N64M5kcubB0uXO3j0gFM.HfGkw00pECgokyjCSlzI+A
217PjejdziHxrqK09kUvOizSOGOAO50YmwiodeA8.DiAURux0cqNe7UMUInA
WuIHnU6daRHnJQB03GGamefM1AclD6fH0MCB8sax5 + TT6wJPR2tJmbeMoZ9H
gCuiFCe3qSPctYFW00cQJrEoxd12KiSAo6hWCeWOaNNUTGldJBqdoNaMT6Tw
OE ++ yW3l20KfxIOkJqcL1vbhNC55UaPWpt2ybTPYB + rqLUaTdhrIyNyjLdvM
dJa0uU16wqtkEHGd7wyIWS1jAy4AQ6KOtqpqxGnVFSYGV3me + UQZzeEqs6pA
yLzjMnhxa140VgjdtLO7UjzU4e2 + rY4nuoE8r4U35DuecR2u5wkx3QA3fH1E
bbrJ3.8MFb7HJfmKjvlT7fsL7frL7.sL73XW3w02xvimkgGWKCOTUwCzdvSw
+4uLEdTw9yEfdRwiJ1ebMWvFLUzut.zSJdXJfGh4ddwn1UvgLUjmMGbn910i
KpJhyLyEsJUE2ETyEtJUE0qKHwIEOJ4tv0b3gnp6KCgGUBmmZtACRUw7C0bg
+ PTQemZN6gDKycAgXY3AYY3wwt7ecVwXqTwiOovAqT1VLm6TrJp6XyI9fcsK
wYL0x3GUT2wlazEXUF8kAUuTYr6FCMHO6xVHREeWXOikJA0viswOHywOpnbg
LWrgHU7siLmwPnupxy1DdnVFdLm7LzxrGBcUchAgVDdf1E+TJjYH9Qkbs.MW
tMfpDbHzb41.ph+Kn47W.UIbLhAsOWn5PGAOdDyhG1X3AaV73NFdPlEOiI + 3
AMKdHigGGyhG7XS0juYwCZL7XX88wR9iqA8WnR7yPCJOqR3g2IZjEQ1Eaw7E
.4hsV9K1V4udKkuusSdw84ue4 + uJaP5G
---end_max5_patcher---
Ett annat sätt att interagera med Max via Kinect kallas OSCeleton (fungerar för Windows, Mac och Linux). Det fungerar genom att låta Max och Kinect att kommunicera via OSC meddelanden (ungefär som en mer avancerad version av MIDI). OSCeleton kan du spåra flera användare samtidigt (synaps kan bara göra en i taget)
- Hämta OSCeleton (leta efter knappen cloud-formade Hämta "Hämta" Zip")
-Följ instruktionerna OSCeleton GitHub sidan - du kommer att behöva installera drivrutiner
-Köra Kinect-Via-OSCeleton patch, som Kinect-Via-synaps, det är en patch som tar emot data från alla de stora lederna i kroppen, det fungerar på ett mycket liknande sätt.
För att utöka detta ytterligare, är jit.freenect ett jitter objekt som gör att du kan ta tag i djup och kameran data från Kinect: