Reactivision Max Msp Patch
- Nov 06, 2009 DIY Reactable - take 1 [Reactivision & Max/Msp] katzitam. Max MSP algorithmic patch 'Picture Control' - Duration: 1:01. Lukeareid 6,305 views.
- Reactivision MaxMSP/Processing simultaniously. I'm trying to use reactivision / max/msp / ableton live. I think that patch is working, but max still.
Max/msp is a visual programming software and it is useful when especially dealing with sound. This blog entry will explain the progress and evolution of the project patches from the beginning till the current working prototype patch. In Max/Msp the programs are called patches. To establish a connection between the Arduino and the max/msp I used a Patch called Maxuino. Maxuino is the firmata of max/msp. It uses uses the firmata firmware in the Arduino and open sound control of max/msp to make a serial connection with the Arduino device.
These fiducial can be identified by their individual ID numbers in ReacTIVision. I have designed my patch to. Designing Ambiences in Max/MSP.
The patch above is the original Maxuino patch. SELECT SERIAL PORT This patch is used to establish the serial connection between max/msp and the Arduino using firmata and open sound control.
INITIALIZE This patch is used to initialize all the Arduino ports. It helps max/msp know what type of Arduino board has been connected and how many input/output ports the board has. TEST IN BUILT LED It is used to test the on board Arduino LED pin 13. This tests whether there is a communication between max/msp and the Arduino board. If the LED in pin 13 starts blinking when the toggle is turned on then there is a communication between the two systems.
DO YOUR THING This is where I can send control messages to the Arduino via the digital ports. The Maxuino c object does all the signal and instruction processing. For the project, we only needed 1, 2, 4, 5 and maxuino c object.
Reactivision Max Msp
So the first design patch had the maxuino objects 1,2,4,5 and Maxuino c. The “p sensor -values” is a sub-patcher. This means it is a patch within a patch. If you double click it open in a separate patch window but still connected to the main patch window. Sub patches are used to make the patch windows less crowded. The p sensor-values object outputs the analogue values that are read from the analogue input ports from the Arduino.
I first wanted to test if the analogue input values can control music in Max/Msp. I first added an outlet object to the sensor value object so that I can output values to the main Patch. I was using a photo sensor circuit for analogue values. I then added objects that upload sound files to max/msp, a toggle switch, gain control, pitch control and conditional objects. I used the analogue values to control the on and off toggle switch. If the photos sensor is receiving enough light, the switch turns on and sound plays, if there is no light the switch turns of and the sound stops playing. Now that I confirmed that the analogue values are able to control sound objects I proceeded to figure out how to pan sound between the left and right speaker.
Max Msp Patch Download
I used the max/msp tutorial example patch for panning the sound. For a balanced sound, the input value has to be 64, if the value is less than 64 the sound pans to the left, if it is greater than 64, it pans to the right. The next step was to connect the accelerometer to the Arduino and read it’s values. I added more outlets to p- sensor objects to output x, y and z position values. Maxuino output values are between 0 and 1. I had to then calibrate these values to the 64 stable threshold value so that slight changes in value would affect the panning. I then connected the calibrated values to the panning objects.
The z axis controls the left right movement while the y axis controls the back and forth movement. You will notice from the above diagrams that the left speaker is more sensitive to panning that right speaker. This caused a problem because it was easier to notice that the sound is panning to the left than it was to notice the sound panning to the right. To solve this problem I added conditions for values between 60 and 70 to be balanced, values less than 62 to pan left and amplify the value by 50 so that the sound would fully turn left and values greater than 68 pan right and amplify the value by 50 to turn the sound fully right. I added more sounds to the patch. We thought of using tempo change to vary with the breathing. We initially thought of using pitch change but this caused the frequency of the sound to change and making the sound speed faster or slower but not cause the tempo to change.
I found a patch object that would help change tempo of the sound as I change the pitch value. I added a lot of sound samples to test and it was going to be difficult to switch between the different sound samples during testing and so I added a drop down menu list and selector so that I could easily select sounds from a drop down list. We finally got a working flex sensor prototype. We added to the Arduino analogue input to get it’s values into Max/msp The flex sensor monitors the user’s posture.
If the user’s back is a poor position, it plays a sound to remind the user to return to the upright position. When the user is the correct posture, the sound goes off. The flex sensor’s threshold position after calibration is 15. So if the position goes beyond 17, it is recorded as poor position and it plays a sound. A good position is a value between 0 and 16.
The next step is to add the stretch sensor and use it’s values to control a sound scape. Reference Docs.cycling74.com, (2015).
Buffer Reference. online Available at: Accessed 12 Oct. Cycling74.com, (2015).
C74 Forums: controling tempo without changing the pitch. online Available at: Accessed 12 Oct. Cycling74.com, (2015). Cycling ’74 Max 7. online Available at: Accessed 12 Oct.
This Instructable is part 3 in an Intro to MaxMSP series I've just finished teaching at in San Francisco. Part 1 is an, part 2 is, and this Instructable is all about interfacing MaxMSP with hardware. I recommend at least skimming over my last two instructables before diving into this one, many of the example patches I use in this instructable are derived from patches built in the last two classes. In this Ible, I'll be going over how to get MaxMSP connected to Reactivision, Kinect, Arduino, MaKey MaKey, and the Novation Launchpad.
The last step has some useful links and ideas for more ways to extend Max. Is a free, open source tool that communicates with MaxMSP and allows you to track objects with a camera by attaching to them. The software tracks x and y position and rotation and it's great for incorporating real world objects into your MaxMSP patch or making table top interfaces. It was originally written for the ReacTable, a table top multitouch instrument: Here are some ReacTIVsion projects: Here's how to do it: -Print out some of the fiducial markers (look in your ReacTIVision vision engine download, under symbolsdefault.pdf) - Run the ReacTIVision application and hold up the markers to your webcam - you should see the number of the fiducial track with it as you move it around the screen. You may need to adjust your lighting to help reacTIVision see the markers. By default ReacTIVision uses background subtraction to help it with tracking, in some cases this can be a hindrance. Use the 'E' key to toggle in and out of background subtraction mode and use the spacebar to recalculate the background until you find a setting that best tracks the fiducials.
Pressing the 'S' key will show to the original source image. Pressing 'T' will show the binary tresholded image, and pressing the 'N' key will turn the display off, which reduces the CPU usage. The thresholder gradient gate can be adjusted by hitting the 'G' key, lowering the value can improve the thresholder performance in low light conditions with insufficient finger contrast for example. You can gradually lower the value just before noise appears in the image. The camera options can be adjusted by pressing the 'O' key. You can read more on the and the README.txt (comes with the ReacTIVision vision engine) about the optimal lighting, camera, and background setup for the software.
TUIOClient.help/mxe/and mxo are the files that allow you to pull in data from the ReacTIVision vision engine into Max. You must include these files in the same folder as any patch that requires them You can also add them into a.
First open the file TuioDump.pat in Max (find it in the TUIOMaxMSP folder), open up the Max window to see the logged output (Command + M / Ctrl + M). Sometimes you will find useful objects created by the MaxMSP community that you'd like to use in your Max patches. There are two ways to do this, you can add the external files to the same folder as your patch or you can add them to Max's externals library. If you want to use the external object in many patches, it's best to do the add the object to your library with the following steps: - Navigate to the MaxMSP Program Files on your computer. Find a folder called 'Cycling '74' - Inside Cycling '74 you'll find folders with the following names: max-externals max-help msp-externals msp-help.and so on - Copy the.mxo file of your external object into the appropriate folder.
Copy the.maxhelp file of your external object (if it exists) into the appropriate help folder. Restart Max, open a new patch, and type in the name of the object. Igo8 8.3.1.59303 blaupunkt travelpilot. You should have access to the object as its help file, just like any other Max object. If this does not work for you, try one of the other strategies outlined in. The is a USB device that you can clip to anything conductive to transform that thing into an interface. Essentially what it does is trick your computer into thinking that it is an external keyboard, then the things you clip to it become keys.
You can read the keypress messages coming form the MaKey MaKey using the key and select objects in Max, just like with a regular keyboard. First get the MaKey MaKey setup with your computer, the MaKey MaKey website has great instructions for how to do that. Then wire up all the pins on the MaKey Makey with alligator clips (use jumper wire to connect to the pins labeled W, A, S, D, F, G), and run the following Max patch. It demonstrates how you can use a combination of 'key' and 'select' to pull keystrokes into Max and sort them. From there you've got some bang messages to work with, you can do anything you want from here. The is a hackable depth sensing camera and gesture tracking device. Since the Kinect was, it's been a popular choice for tons of interactive projects, and eventually the Max community developed a bunch of ways to pull Kinect information into Max.
If you are going to buy a Kinect, be aware the the newer model 1473 does not work with any of the options listed below as of the Sept/2013, the older model 1414 will work, also make sure it is called 'Kinect for Xbox'. I could write another Instructable about the subject of Arduino and Max (and maybe I will one day), but for now I'll try to summarize what I know in a few paragraphs. First of all, there is a growing list of ways to make Arduino and Max talk on the. My favorite option for beginners is to read information from each of the Arduino's Digital and Analog Pins with Arduino2Max (download it ).
This is by far the easiest to get started with and doesn't require extensive knowledge of Max or Arduino (though, feel free to check out the others if you need more flexibility). I just don't have time to get into the details of the rest of these, but here are some more hackable objects that are worth checking out. If you are interested in learning more, Google is your friend. One more thing - check out for audio routing between programs.
It's free and works great with Max. EEG - Emotiv and NeuroSky Headsets Leap Motion Nintendo Wii Face OSC Open CV And so many more. If you like MaxMSP you might also want to check out: - graphics and video processing in Max - control electronics - 2D and 3D graphics programming environment - the free version of MaxMSP - generative 3D modeling - similar visual flow-based layout as Max - an Arduino that you can sew into fabric.