How 2 Kinect

Setting up the Xbox Kinect to work with Max MSP involves a few steps. Firstly, I downloaded the dp.kinect plugin from: https://hidale.com/shop/dp-kinect/ and chose the correct version for my Kinect (version 1). Once downloaded, I opened the MaxPatch that came downloaded with it. This has the authorization part that needs to be enabled to run the plugin. Once I had authorized the programme, I was able to see a video feed from the Kinect. I then built the main patch that acts as a hub and sends data across the network to each patch. I made sure to turn off the original instance of dp.kinect as you are only able to run one at a time. This main patch acts as the heart of the operation; however, you can leave it in the background as it is only needed to process the incoming data from the Xbox Kinect.

From here, I could open any other patches – either in Max or Max4Live – and collect the data with Maxhole from the corresponding port. All the position data is roughly on a scale between -1. and 1. This meant that I could use the scale object to rescale the input to whatever suited my requirements, such as a scale of 0–128 for a dial.

Once I confirmed that my ideas worked, I decided to buy another Kinect (at the bargain price of £4), allowing me to use two Kinects simultaneously. This did not come without its own challenges, one of which being the bandwidth of a single USB controller not being enough to run two Kinects on the same connection as each Kinect uses about 2 gigabits per second of bandwidth. This was simple enough to resolve though as my computer has multiple USB ports, allowing me to use a different group for each one. To get both running at the same time, I needed to get the USB ID of both Kinects and assign one copy of dp.kinect with the first and another with the second. This enabled me to have multiple people performing simultaneously into the Kinect as well as output colour and infrared video at the same time, which is not possible with just one because of bandwidth limitations with the Kinect v1.