Introduction: Interactive Particles
This is step by step guide to setting up the included Interactive Particles system. This is a fairly advanced system that can be confusing at times and some knowledge in coding, Max MSP, Arduino, and audio/visual setups is recommended.
Step 1: What You Need
The first step is getting everything ready. The included zip file included everything that you will need computer wise, this includes the Max Patch (which you will need Max 8 for), Syphon, and VPT8.
- You will need Max 8: https://cycling74.com/downloads
- You will need a mixer with at least two channels, a projector and stand, quarter inch male to quarter inch male audio cables, two contact microphones, and speakers.
- You will also need the materials for an Arduino. In this tutorial we use Arduino Teensy 3.5 https://www.pjrc.com/store/teensy35.html
- Lastly you will need a Mac running at least High Sierra (OSX 10.13.6)
Step 2: Arduino
Here we have included a simple schematic of our own Arduino build that you can use as a template to base your own off of. With Arduino being so adaptable and diverse the more knowledge you have with using Arduino the more you can do with it. This setup up is for a simple pressure sensor used to change between the three tones and an off phase. You will plug a USB cable from this and into your system.
Step 3: Hardware Setup
Here you will be attaching everything to your Mac.
- Setup the projector and the stand of your choice and connect it via the ports available to you. In our case it was VGA with a VGA to Thunderbolt 2 adapter.
- Next you will plug in the contact microphones to the switch, one in each channel as shown in the 3rd and 4th image. This will then connect to your Mac via USB.
- Lastly setting up speakers. You can use as many speakers as you wish, in our finished product we used 5 satellite speakers connected to a central sub woofer that then connected to the laptop but how many is entirely up to you.
Step 4: The Max Patch: Overview
Here is the overview of the patch as you open it. The cluster in the upper left is what controls the manipulation, the cluster below that controls the audio tones as well as the Arduino, and lastly the cluster on the right controls both the particle system itself as well as the server for both Syphon.
Step 5: The Max Patch: Setting Up
- The first part of setting up is making sure you have the correct inputs. You will go to the upper part of the screen with the patch open and click on "Options" then you will click on "Audio Status." This will open up a window, as seen in the first image, concerning the audio status of the system. You will want to click on the input device and make sure you have selected the proper input for the switch you are using for the contact microphones as well as the output depending on if you decide to use a speaker system or not, though using one will increase the immersion and interaction aspect of the system.
- After you have the correct audio set up you can turn the patch on by clicking the power symbol on the lower right hand part of the screen. This will activate audio and have the patch ready for input and output.
- The third step is scrolling down to the audio cluster where you will see three large boxes that say "Source: Sound File", you will want to change this. If you click on the text it will bring up a drop down window and you want to click on "Oscillator." This will change the audio to a steady tone, and under the Source you will see label "Freq:", click on that and you will change the frequency of the tone to what is specified in the comment right above each box or you can make the tone whatever you wish.
- The next step is making sure the Arduino is reading properly. From the schematic in the Arduino step there is a button on the Arduino and you need to press that after plugging the Arduino into the system. Once that is done, you press the check mark in the arduino code seen at the top left of the window and then the plus symbol. It may show an error but usually repressing plus symbol will fix the issue. You should then press the "update serial ports" which can be found if you press the "p arduino" patch within the main patch. Then you will click where it says "bluetooth-income-port" there should be a second option and that is dependent on the port you have plugged the USB into and it usually refers to USB in some way, but press that option and then press start. This should start the data feed.
Step 6: Syphon and Simple Client
Here you will set up the Syphon server and client which is used to transmit the particle system to VPT8.
- In the Max patch you will click on the box next to the statement "output_matrix" as well as the toggle right above it. This will both activate the particle system, make sure it is working by clicking on the window that is labeled tut02 and if particles appear the system is working.
- Next you will click on the message "servername "Syphon Server"" and this will populate the server name.
- You can then open the program from the zip folder called "Simple Client" and once it has opened it should auto-detect the server name but if it has not click on the name in the upper left corner and click on the name like it is shown in the image.
Step 7: VPT8
VPT8 is what we used to projection map. It can be finicky and temperamental but once working is fairly consistent in its results. We will have a step by step guide for how we got ours setup but we will include the VPT8 online documentation which gives more info on other ways to use the software.
- You can open the software from within the folder included within this Instructable. This can take some time to open so be patient with it, but once open the first thing is go up to the top bar where it says "VPT8" and click on "File" and go down to "Open" and it will bring up the folder search and you will want to navigate to the "defaultproject-vpt8" folder and then open the "projectpath.maxpat" file.
- The next thing you will want to do is is click the lower left button in the window to turn the system from "off" to "on".
- In the upper area of the window you can see a plus and minus sign. This adds and removes layers. For now just add 1 layer by clicking the "+" once. When you opened the projectpath file it may already open a layer and if it did just proceed to step 4.
- On the right side of the window you will see a bunch of off buttons. Hover over that side and scroll down till you see several listed as "syph" these are the ones you are looking for. Click the "off" button to turn it on. If it does not auto populate click the little circle next to the "on" button and then click the drop down button and look for "Syphon Server Max", this is the server we set up in the previous step.
- Once you have it reading from the Syphon Client, next go down below where it says "layer_1" and then click where it says "none" this will bring up a large list. Click the option that says "1syphon" this will take the layer with the data being streamed through from step 4.
- Next click the black box where you had turned on the module in step 4. This will start streaming the data to the preview box and the VPT8 box on the left side of the screen. You will also see 4 little circles with pluses in them. This is used for manipulating the layer and can make the layer as big or as small as you need it to be.
- Lastly since you will be plugged into a projector, on the Mac make sure you are using the projector as a separate display and move the window that says "VPT8" over to it and you can click the 'fullscreen" button at the bottom of the window to turn it full screen for the projector.
Step 8: The Particles
The particles should be working now. The contact microphone you have plugged into channel 1 will manipulate the repulsion of the particles and the transposition of the tone that is being played, while the one connected to channel 2 will manipulate the velocity and attraction of the particles and the glide of the tone being played. If you have gone down the route of using an Arduino the patch is set up in a way that a pressure sensor can easily switch between the tones and we have left code in the patch to allow for a simple potentiometer to switch the tones as well should that be an option.