Home

Advertisement

Customize
13 April 2008 @ 09:23 am
Sorry I'm taking so long with the next step, it's just that I really can't afford to buy a camera at the moment and I'm not even sure when I'll be able to.
 I haven't forgotten this, I still really want to finish it and I will asap!
 
 
08 February 2008 @ 10:31 pm
Once you have all the software listed in the previous post, use this as a guide on setting it all up.

First, in finder open Applications>Utilities>Audio MIDI setup. Now go to the MIDI devices tab and double click the IAC Driver icon, make sure the checkbox that says "device is online" is checked, click apply and close the window.

In finder go to reacTIVision_3dmix>TUIO_simulator and run 'Tuiosimulator.jar'

Have a play with the fiducials if you like but make sure you return them to the grey area off the table before continuing.

Now open Max/Msp and load the 3dmix.pat from the reacTIVision_3dmix folder. Don't touch anything here yet, We'll come back to that soon.
As default, the patch window should look like this.

[IMG

Now open Ableton Live.
If you're unfamiliar with Ableton, click 'A tour through Live' in the "table of contents" window to the right to familiarise yourself with the software. Now click 'DJ-ing with Live' and take the tutorial. After the tutorial, click DJ-ing with Live again to reload the set and start fresh. Ignore the tutorial. I'll be using this basic set as an example in the following steps.
If you are familiar with Ableton, load whatever set you like and apply the following steps to it instead.

Now you have to configure the 3dMix patch in Max/MSP.
In this screen capture, I have labeled the different sections/variables you will be changing as A, B, C, D, E, F and G for reference purposes.


First, in section C, double click 'midiout b' to the right of 'curser' and select 'IAC Driver Bus 1'.
Now do the same for 'midiout b' next to 'fid note' and 'fid cc'.

Later, you might need a scaling curve for what you want to do with your table but in this instance, you won't so in section G, turn all 3 sliders to their left most position.

Now in the Ableton's menu bar click Live>Preferences and hit the MIDI/Sync tab. Under the input section turn 'Track', 'Sync' and 'Remote' on for 'IAC Driver (bus 1)', and make sure all other options are off.
Now get the loops playing by clicking the play button next to 'Loops' in the Master channel to the right of the channels dialog.
Now in the Samples Dialog at the bottom you are going to be using the Transpose controller knob. If you can't see it, hit shift+tab and it should show up. The reason I am using Transpose as an example is because it makes a very significant difference to the sound so it is easy to tell if the TUIO simulator is reacting with Ableton. If you can't see the transpose knob and cant get it to show, use something else like the attack knob in a gate audio effect.
To add a Gate to your effects rack follow these steps: in the browser window to the left, click the devices button (2nd button down in top left corner) scroll through the devices menu and click the arrow next to the audio devices folder. Now scroll down to find the 'Gate' device, and drag it into the sample box at the bottom of Ableton. In the Gate device that appears you will be using the 'Attack' knob for the following steps.

Now you are going to set a fiducial in the TUIO simulator to control the Transpose knob in Ableton (or the attack knob)
To do this, first you have to set the Max patch up to accommodate for this.
In the patch, section B, set 'angle (Z axis)' to 'rotary (increment - decrement)' then set 'Rotary mode' to 'absolute (0-127)'

Now you will be dealing with section E of the patch which controls which axis of each fiducial is packed as MIDI data and sent to Ableton.
The axis are as follows: say you have a feducial on the table, we'll call this point zero. +X would be any value to the right of zero, horizontally. -X would be any value to the left of zero, horizontally. +Y would be any point above zero, vertically. -Y would be any point below zero, vertically. Z axis represents rotation, so +Z is anything clockwise past zero and -Z is anything anti-clockwise past zero.

In this case you only want to track the Z axis because you are only using the fiducial as a knob. I will be using fiducial 0 but you can use whichever you like. So in section E on the 0 column click the all the boxes except the last 2. This will put an X in each box, and therefore won't send any of the X or Y values.

The sensitivity of the fiducial is also important, if it's too sensitive you will only turn it a few degrees and the knob in Ableton will turn to its maximum value. To alter the sensitivity of Z axis (rotation) of the fiducials, use the 'Rotary' slider bar in section A of the Max patch. I found 520 is a good sensitivity for my needs.

Now in Ableton, click the MIDI button in the top right corner. This enables MIDI mapping mode which allows you to set Ableton's controls to MIDI controllers. Having already set up the TUIO simulator as a MIDI controller using Max/MSP, You will now set fiducial 0 to the Transpose knob (or attack knob) by clicking the knob (after turning on midi mapping mode) then in Max, drop the blue square fiducial marked '0' onto the table surface in the TUIO simulator. If you can still see Ableton running in the background, you should see a little green light flash next to the MIDI mapping button in the top right corner.
If you don't see this light flash, the simulator is not interacting with Ableton and you'll have to backtrack and see what you've done wrong (most likely, you haven't set ableton or Max/MSP to the IAC driver).
The light flashing means that Ableton has recorded your action in the simulator and you will see 1/0 appear on the Transpose(or attack) knob. this indicates that the fiducial you dropped on the table (0) now controls Transpose(or attack). Now hit the MIDI mapping button again to turn off mapping mode and launch the new function.
Ensure your loops are playing and go to the TUIO simulator and turn fiducial 0(when it is on the table)
To turn a fiducial, right click it (or ctrl click) and drag upwards to turn clockwise(+Z) or downwards to turn anti clockwise(-Z) this should alter the transpose(or attack) knob in Ableton, and therefore drastically change the sound.

You can apply the same technique on any knob or setting in Ableton that is available in the MIDI map mode.
For example you might want to make a fiducial slide side to side and control a cross-fader. The only difference in this application is that you would set the fiducial to respond to X axis rather than Z axis.

Before closing the Max/MSP patch, it is very important that you save your settings otherwise all the values you have change will be returned to default next time you open the patch and there will be no way to get them back. To save your settings, simply shift click one of the boxes without a dot in it in section F of the patch. A dot will appear in the box you clicked and to load those settings in the future, simply click that box.

Next I will post: "Part 3 - Setting Up Your Camera With reacTIVision"
 
 
06 February 2008 @ 07:11 pm
If you are interested in following my steps and making a reacTable, I strongly recommend you educate yourself first and get a bit of background on what it is and how it works.

Worth Reading
reacTable website
SourceForge reacTIVision User Forum
Wikipedia reacTable article

I should also note that I made this guide using mac OS X Tiger. I don't know if all of the software I used is available for other operating systems.

-

Seeing as it was the cheapest, and probably most important part of making the ableTable, I decided to acquire all the software I needed first.
The programs needed to run the reacTable are listed here.

Free software Required
reacTIVision 1.3
TUIO Simulator  (use 1.4 which comes with the 3dmix Max/MSP patch below)
MIDI Monitor
3dMix patch for max/msp (comes with included TUIO simulator) http://debreczeni.info/

Other Software Required
Ableton Live (I use version 5)
Max Runtime

Software Purposes
reacTivision
: reacTIVision is a computer vision framework for the fast and robust tracking of fiducial markers via a camera.
TUIO Simulator: A java application that simulates reacTIVision, i.e it simulates a real table so that you can configure all of the software without the need of a camera and a physical table set up.
MIDI Monitor: An application that intercepts all data being broadcast over the MIDI controller channel and notes what information is being sent. This is useful to monitor exactly what is going on between Max/MSP and Ableton Live.
3dMix patch: A kind of application that runs inside Max/MSP because Max/MSP alone is useless, it needs to be instructed, that is what this patch does.
Ableton Live: Ableton Live is a versatile loop-based music sequencer software for mac or PC.
Max/MSP:
Max/MSP is a graphical development environment for music and multimedia.


General Explanation
The basic concept of the reacTable, excluding the video projection (which is only for visual effect), is simple. A camera mounted under the
table sees what is going on on the tables surface, and sends that information to reacTIVision, which then broadcasts that information to whichever programs listen to the corresponding port (3333 is the default port). In this case, that is Max/MSP which unpacks the data and repacks it, sending it as MIDI information to whichever programs listen to MIDI data, in this case, Ableton Live.

An example of a configuration for this process is as follows.

You have set master volume in Ableton Live to respond to the rotation of fiducial 01. (we will cover how to this later) You then put fiducial 01 on the table, the camera and therefore reacTIVision sees that you've put it on the table and maps its position, it broadcasts its position over port 3333. Max/MSP listens on port 3333 and receives the position of fiducial 01. Max/MSP then repacks the received position data, to MIDI information and broadcasts it over your computers built in MIDI controller channel. Ableton Live receives the MIDI data and therefore the position of fiducial 01, it's master volume controller. In short, you turn fiducial 01 and so does Ableton's master volume knob.

Jargon
TUIO - Stands for Tangible User Interface Object.
MIDI - Stands for Musical Instrument Digital Interface
Fiducial - In this case, a fiducial is a symbol that is recognised by and interacts with the reacTIVision software.

If you need any information on how to get any of the software involved, email me, choiciik@gmail.com

Next I will post "Part 2 - Setting Up The Software"
 
 
05 February 2008 @ 09:40 pm
Hi, My name is Daniel, I'm 18 and I'm from Australia.
I've made this journal as a step by step guide as to how I am making my own
reacTable.
I named mine ableTable mainly because of it's interaction with Ableton Live, but also because it is quite different to the original reacTable for many reasons.
I was inspired to research the reacTable after seeing Björk live for the first time at the Gold Coast Big Day Out 2008. When I saw it I was amazed, so I looked it up. I was also very impressed by the
JazzMutant Lemur and Korg Kaoss Pad Damian Taylor had on stage with Björk but they are a little out of my price range at this stage, so I looked further into the reacTable.
I found that Björk is the only 'mere-mortal' musician that has one at the moment and she is only borrowing it for her current tour. The creators aren't marketing the reacTable at this stage and it is still unclear if they ever will.
I read on to find that ReacTIVision (the software used for interaction from the table to a computer via a camera) has been published as open source software and can be downloaded for free! (I had to have in).

I hope to go through all the steps that I've made so far to get where I am now with my project and keep updating my progress until the completion of my ableTable.
If you're wondering what a reacTable is, clicking the above link should give you some idea of what it is and what it does. Here is a link to the website of the official reacTable project.

Next I will post "Part 1 - Acquiring The Software."
 
 
 
 

Advertisement

Customize