این Instructable قسمت 3 از مجموعه مقدماتی MaxMSP است که من به تازگی تدریس را در Women's Audio Mission در سانفرانسیسکو به پایان رساندم. قسمت 1 مقدمه ای بر MaxMSP و MIDI است ، بخش 2 حداکثر حداکثر و صدا متوسط است ، و این Instructable همه چیز در مورد رابط MaxMSP با سخت افزار است.
من توصیه میکنم قبل از فرو رفتن در این یکی، حداقل از دو دستور العمل گذشته خود استفاده کنید، بسیاری از وصلههای مثالی که در این دستورالعمل استفاده میکنم، از وصلههای ساخته شده در دو کلاس آخر مشتق شدهاند. در این Ible، نحوه اتصال MaxMSP به Reactivision، Kinect، Arduino، MaKey MaKey و Novation Launchpad را توضیح خواهم داد. مرحله آخر دارای پیوندها و ایده های مفیدی برای راه های بیشتر برای گسترش Max است.
مرحله 1: ReactiVision و MaxMSP
ReactiVision یک ابزار رایگان و متن باز است که با MaxMSP ارتباط برقرار می کند و به شما امکان می دهد اشیاء را با دوربین با چسباندن نشانگرهای کاغذی کوچک به آنها ردیابی کنید. این نرم افزار موقعیت و چرخش x و y را ردیابی می کند و برای ترکیب اشیاء دنیای واقعی در پچ MaxMSP یا ایجاد رابط های بالای جدول بسیار عالی است. در اصل برای ReacTable، یک ابزار چند لمسی روی میز نوشته شده بود:
نحوه انجام این کار به این صورت است:
– دانلود موتور ReactIVision vision
– دانلود کلاینت ReactIVision TUIO برای MaxMSP
– چاپ برخی از نشانگرهای واقعی (در دانلود موتور ReactIVision vision خود، زیر نمادها>>default.pdf)
– برنامه ReactIVision را اجرا کنید. و نشانگرها را روی وب کم خود نگه دارید - در حالی که آن را در اطراف صفحه حرکت می دهید، باید تعداد مسیر واقعی را با آن مشاهده کنید. ممکن است لازم باشد نور خود را تنظیم کنید تا به ReactiVision کمک کند تا نشانگرها را ببیند.
ReactiVision بهطور پیشفرض از تفریق پسزمینه برای کمک به ردیابی استفاده میکند، در برخی موارد این میتواند یک مانع باشد. از کلید "E" برای تغییر حالت تفریق پسزمینه استفاده کنید و از فاصله برای محاسبه مجدد پسزمینه استفاده کنید تا زمانی که تنظیماتی را پیدا کنید که به بهترین وجه ردیابیهای واقعی را انجام دهد. با فشار دادن کلید 'S' به تصویر منبع اصلی نشان داده می شود. با فشار دادن "T" تصویر باینری ترشلد نشان داده می شود و با فشار دادن کلید "N" صفحه نمایش خاموش می شود که مصرف CPU را کاهش می دهد. دروازه گرادیان آستانه را می توان با فشار دادن کلید "G" تنظیم کرد، به عنوان مثال، کاهش مقدار می تواند عملکرد آستانه را در شرایط کم نور با کنتراست انگشت ناکافی بهبود بخشد. می توانید به تدریج مقدار را درست قبل از اینکه نویز در تصویر ظاهر شود کاهش دهید. گزینه های دوربین را می توان با فشار دادن کلید 'O' تنظیم کرد. می توانید در ادامه مطلب بخوانید وبسایت reactIVision و README.txt (همراه با موتور بینایی ReactiVision) درباره نور، دوربین و تنظیم پسزمینه بهینه برای نرمافزار.
– TUIOClient.help/mxe/and mxo فایل هایی هستند که به شما امکان می دهند داده ها را از موتور ویژن ReactIVision به Max وارد کنید. شما باید این فایلها را در همان پوشهای قرار دهید که هر وصلهای که به آنها نیاز دارد، همچنین میتوانید آنها را به فهرستی که Max میداند برای جستجوی اشیاء خارجی اضافه کنید .
ابتدا فایل TuioDump.pat را در Max باز کنید (آن را در پوشه TUIO_MaxMSP بیابید)، پنجره Max را باز کنید تا خروجی ثبت شده را ببینید (Command + M / Ctrl + M).
----------begin_max5_patcher----------
489.3ocyTFraaCCCF9r8SgfNmMD45llzaC8TOsKcmFFFjsYRXgrjgjbm2J56
9josic2pSSCFJ1EZqeJSS9QJ8XbDOyz.NN6Z1WYQQOFGEQRsBQ8qi3kxlbkz
QaiqgeXxtmunykGZ7jbkE09A0JoOeOp28cKj66Bd5xOtbAayUs1jUsVQ3c12
5+BrfhRHxePLDksFsWKKAxymrnTM0iC+E4YSHVcp55RTq.OkmhQQSsePcYq3
SwwslEmXAmU68F8QJsq1Pk1Zpntbv9RkVB+XoZWd5+YEzEWdlTuieHNOuRDm
QkLSq6tZzbiBgSn+ktYzNW+6h+o8u+BJJzExyiCmjy.N4lxxIH3.cbXYkBXP
ijdRng42K8LZj2EdGXnN74Afwt6K29YVI3bxcPvkg7lazNiBFBsB0PtoVSwO
YdjKRRIZS1jTA8XJz2Z2kQS0GP3j1P5+YGilku.PPZOnp5o6VikjFGLIoRis
kzaM7WkYqESXl3jY1kuSLixFZN3Ot5kpnV8mCRmo1lOb.n+LFSbnlJ.mG0RO
FtlZbOgKaXi08drn.H2C4bA5jYJnX9F5aIaV9JYi3LylNTIqpd.rt9PRIRX5
5disc4pEzRT2sjvO2BOfC6+BRQZCCK9vjRssqu1rdEOt8+7T7uQCg2J3
-----------end_max5_patcher-----------
در اینجا نحوه ارسال پیام های TUIOClient به Max آمده است:
هنگامی که یک شی به نمایش در می آید، یک پیام addObject ارسال می شود:
addObject session_id symbol_id
session_id شماره جلسه جاری است، برای اکثر برنامه ها نیازی به نگرانی در مورد آن نیست. symbol_id شماره نمادی است که روی صفحه نمایش داده شد - اینها را می توان در defaults.pdf که چاپ کردید پیدا کرد.
همانطور که نشانگر در اطراف صفحه ردیابی می شود، یک پیام updateObject برای هر فریم ارسال می شود (کامپیوتر من با سرعت فریم 15 فریم در ثانیه کار می کند، ممکن است دستگاه شما بسته به میزان سختی آن متفاوت باشد): updateObject session_id symbol_id xpos ypos angle xspeed yspeed
rspeed maccel raccel
session_id و symbol_id همان پیام addObject هستند
xpos، ypos و زاویه موقعیت x، yposition و زاویه چرخش نشانگر
xspeed، yspeed و rspeed سرعت های x، y و چرخشی نشانگر هستند.
maccel شتاب نشانگر در سراسر صفحه نمایش است
raccel شتاب چرخشی نشانگر است
ممکن است متوجه شوید که فقط به یک یا همه این اطلاعات نیاز دارید، اما معمولا symbol_id، xpos، ypos و rotation مفیدترین آنها هستند.
و هنگامی که نشانگر حذف می شود removeObject ارسال می شود:
removeObject session_id symbol_id
session_id و symbol_id همان پیام addObject هستند.
از پچ زیر برای خواندن و تجزیه افزودن، بهروزرسانی و حذف پیامها برای شناسه نشانگر، xpos، ypos و چرخش استفاده کنید. مطمئن شوید که آن را در همان پوشه ای که اشیاء TUIO دانلود کرده اید ذخیره کنید.
----------begin_max5_patcher----------
905.3oc0XlsbaCBEF9Z6mBM5pzNNdDKZw8tN8An2z65zICxhjPhLRCBk3zL4
cuBzRTVjQdC6NwQKGvvOebNGv77zItwYqoEtNey42NSl77zISzlTFlz79D2U
j0KSIE5p4tLa0JJW5NqtLIcsTaWPWk8.8mw2QW1UXNQt7VF+lqDJi5NADFM2
alCLxScaAP+R0yN+o46bs3lXUUUkWagkn6fr36tD521zWmwkbxJptnuKXjz9
kTv9qtD.rqUxEzhJcSjrLde8DAq0CRcyq4RmZ3kqX7TpTO1AuZLqT1Z0SY7k
oSUWlsmPjjjXjfXud.LHZKAHdmAnkQgHqdtx4BuKgeMm8k1Zjx3zkYkbc0fC
yIebnlM99pa954WDZzfBbn8zvAf4g9JMDbN3psNOqvgvSbdR8vEwT4iTJ2wS
aCr0zFi.y86nMvKrYrNZd6cv4Mpl2vP74.uWQD2SENUcPLUrszEEhpGK6lyL
Xw4VT+0oYUMhq4nW3B8.16Co45O7BMO7xIhJ6Rp3JJmDmpqg2N4W4CqECxa7
tU0zR9TNstMTieRkOhiaLgeia+ubOvBOFfEGsXNzerjMvljE2rZFL7+Sx1jB
bTf0+n.1SLhhKkxL9FPDBDzKpFCZu9oHB5tY2EDnNEABrGtKaBAfc.AuM+9l
RkOJ2DjMi+PAG.fx3GEWKN8wJf7gUUK44jk2Wsqkp+lW+wr6GHp1Kz.6OvaU
dHR0bqKn7cOL.C8OFgms+3rwDdtvPzYaasWKSZ8nSHLZ7a6vylAmsJau34oJ
3zrOWSLYvhMR7C9OJqq2C2epptYyESaNHfwDrF4ddG1svazQcAmvMNcFF9T6
DLpnGe6sd1wGNhplk5zcdYN8O9Qmx7DhjNxSRC.0rCiPaBdGnMCfGBdJx08+
.3CeLxhDoOQgvNOmgQ.5DmD4ycD9UIK6GordG4xfyzHcR9.7FWh4HGjjxJ1p
bH5pnOmn2cJ85Qox9aQVQVoXYam0tMVGbWOkPKjLtdYv9UJrpRuxiaYIITd+
zlIrBUlzjgOumsROHS5Ivt5AZRO91UO.S5AYW83YROPqomQMcgspbLNaAr2r
EXL5wyt5wj2yBqIG+QnlHqpFSyUAV0S1DarXZvQnFrUUioYpcMkb8J7j77Gn
hhllTKjps+bWlP8ZvL8qLd8q5MW3JnOvZqORagHp12irZSOkh5ssrNJvcppe
dY5+.7jck4O
-----------end_max5_patcher-----------
سعی کنید داده ها را از updateObject به synth مدوله شده فرکانس از آخرین Instructable متصل کنید . ببینید آیا می توانید چرخش یک فیدوشیال را برای کنترل نرخ مدولاسیون فرکانس بدست آورید یا خیر. یا از موقعیت y برای تغییر گام نوسانگر اصلی استفاده کنید. نکته: شما باید از یک شی مقیاس استفاده کنید تا محدوده مقادیر خود را به چیزی مناسب برای ترکیب تغییر دهید. در صورت گیر افتادن: