{"id":4095,"date":"2023-10-29T16:24:28","date_gmt":"2023-10-29T20:24:28","guid":{"rendered":"https:\/\/dems.asc.ohio-state.edu\/?p=4095"},"modified":"2023-10-29T16:24:28","modified_gmt":"2023-10-29T20:24:28","slug":"cycle-1-connecting-maxmsp-with-isadora-osc","status":"publish","type":"post","link":"https:\/\/dems.asc.ohio-state.edu\/?p=4095","title":{"rendered":"Cycle 1: Connecting MaxMSP with Isadora (OSC)"},"content":{"rendered":"\n<p>Hello again.<\/p>\n\n\n\n<p>For cycle 1 I decided to make a proof-of-concept test to get MaxMSP and Isadora to work together via OSC. I plan on using MaxMSP for live audio input which then gets transmitted to Isadora to impact visual output. I plan on using MaxMSP on one computer and Isadora on another &#8211; meaning that I will have to use OSC over a router network so that these two computers can communicate with eachother.<\/p>\n\n\n\n<p>I first needed to know how easy\/difficult it would be to make these two software work together.<\/p>\n\n\n\n<p>To start I pulled a MaxMSP &#8220;Insta-theremin&#8221; patch from the internet. This patch creates an audio signal based on computer mouse location (x-axis pitch y-axis amplitude).<\/p>\n\n\n\n<p>It took a lot of googling to figure out which MaxMSP objects and connections are necessary to send OSC. I considered using plugins such as <a href=\"https:\/\/cycling74.com\/articles\/cnmat-odot-tools-for-osc-and-beyond\" data-type=\"link\" data-id=\"https:\/\/cycling74.com\/articles\/cnmat-odot-tools-for-osc-and-beyond\">ODOT<\/a>, but eventually got the &#8220;udpsend&#8221; object to work without complications. I did not know that the OSC name had to specifically be \/isadora\/# for non-TouchOSC software to work with Isadora, but once I understood that it was very easy to transmit MaxMSP input to Isadora.<\/p>\n\n\n\n<p>Here is a video of the patch at work (may be loud!):<\/p>\n\n\n\n<figure class=\"wp-block-video\"><video height=\"1080\" style=\"aspect-ratio: 1920 \/ 1080;\" width=\"1920\" controls src=\"https:\/\/dems.asc.ohio-state.edu\/wp-content\/uploads\/2023\/10\/2023-10-29-14-36-09.mp4\"><\/video><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/dems.asc.ohio-state.edu\/wp-content\/uploads\/2023\/10\/image-2-1024x576.png\" alt=\"\" class=\"wp-image-4098\" srcset=\"https:\/\/dems.asc.ohio-state.edu\/wp-content\/uploads\/2023\/10\/image-2-1024x576.png 1024w, https:\/\/dems.asc.ohio-state.edu\/wp-content\/uploads\/2023\/10\/image-2-300x169.png 300w, https:\/\/dems.asc.ohio-state.edu\/wp-content\/uploads\/2023\/10\/image-2-768x432.png 768w, https:\/\/dems.asc.ohio-state.edu\/wp-content\/uploads\/2023\/10\/image-2-1536x864.png 1536w, https:\/\/dems.asc.ohio-state.edu\/wp-content\/uploads\/2023\/10\/image-2.png 1920w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>On the Isadora side, I used OSC listeners connected to &#8220;color maker RGBA&#8221; actors and the rotation input of a shape actor &#8211; I wanted to have multiple inputs so that I could instantly see whether or not the MaxMSP input is truly working. I also had a camera input mixed in with the shape, just to add a bit of complexity to the patch. I had 2 OSC input channels for the two axes of the theremin. X-axis (pitch) controls color and rotation, while y-axis (amplitude) enables and disables the &#8220;effect mixer&#8221; actor bypass (turning on and off the camera input). This made it very easy for me to tell whether Isadora was following my mouse location input.<\/p>\n\n\n\n<p>Though the stream of numbers coming in to Isadora looks delayed at times, I could tell based on the stage output that there was essentially no latency over the localhost system. For my next cycle I will have to 1. test whether MaxMSP and Isadora can communicate with eachother across computers on a routing network and 2. start working on a more interactive audio input on MaxMSP, either using granular synthesis with microphone input or a sequencer which can be altered and changed by human input.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hello again. For cycle 1 I decided to make a proof-of-concept test to get MaxMSP and Isadora to work together via OSC. I plan on using MaxMSP for live audio input which then gets transmitted to Isadora to impact visual output. I plan on using MaxMSP on one computer and Isadora on another &#8211; meaning [&hellip;]<\/p>\n","protected":false},"author":85,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[72,1],"tags":[],"class_list":["post-4095","post","type-post","status-publish","format-standard","hentry","category-arvcuken-noquisi","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/dems.asc.ohio-state.edu\/index.php?rest_route=\/wp\/v2\/posts\/4095","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dems.asc.ohio-state.edu\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dems.asc.ohio-state.edu\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dems.asc.ohio-state.edu\/index.php?rest_route=\/wp\/v2\/users\/85"}],"replies":[{"embeddable":true,"href":"https:\/\/dems.asc.ohio-state.edu\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=4095"}],"version-history":[{"count":4,"href":"https:\/\/dems.asc.ohio-state.edu\/index.php?rest_route=\/wp\/v2\/posts\/4095\/revisions"}],"predecessor-version":[{"id":4102,"href":"https:\/\/dems.asc.ohio-state.edu\/index.php?rest_route=\/wp\/v2\/posts\/4095\/revisions\/4102"}],"wp:attachment":[{"href":"https:\/\/dems.asc.ohio-state.edu\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=4095"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dems.asc.ohio-state.edu\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=4095"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dems.asc.ohio-state.edu\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=4095"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}