Wednesday, October 10, 2007

About TangibLaptop

The amazing reacTable table inspired the GarageGeeks and Uri Levanon to build a portable affordable version. Tangible mean that you can touch it.

The TangibLaptop intends to be:
  • Preserve the reacTable features: Collaborative, Intuitive, Interesting,Learnable and masterable, suitable for novices and advanced electronic musicians.

  • Portable: it runs on a single laptop.

  • Affordable: you don't need expensive camrea and a projector

  • Customizable: customized graphics and music projects
TangibLaptop images at Flickr

Tuesday, October 9, 2007

Monday, October 8, 2007

How does it work

The reactable works like that

more reacTable images at Flickr

Make your own Tangible Laptop

The concept of the TangibLaptop is almost the same as reacTable, but have a camera above the laptop, or a laying LCD screen, and place smaller tangible objects on it. sort of a portable version of the reacTable.

In general, there are 3 parts: reactiVision, TUIO graphic client, music client
reactiVision - Objects Detection
Mounting the camera above the laptop screen, placing the objects (with the fiducial markers attached onto physical objects) which are detected by the camera and sends this information to the TUIO Graphic client.
for this part, you need:
* webcam. you can convert it into an IR camera. but this is not a must.
* reacTIVision server.

TUIO Graphic client (see "reacTIVision client examples") listen on UDP port
3333 (or whatever we choose) and receive the "TUIO protocol" information which describes something about an object which is on the table (position, angle).
for this part, you need:
* TUIO client. TangibLaptop uses the DirectX TUIO client, but there are many TUIO clients at the reacTable website.
* reacTIVision emulator. very useful for simulating the Objects Detection, and testing the graphic and music parts without using the reacTivision and the camera.

The Tangiblaptop TUIO client has 2 clients: one for testing (gg_reactable_console.exe) and one for visualization (gg_reactable_viz.exe)
midi device id is 9

gg_reactable_console.exe command line is
gg_reactable_console.exe [port] [midi device number] [midi config file]
for example
gg_reactable_console.exe 3333 9 C:\tangiblaptop\svn\src\gg_reactable_viz\Debug\midi_config.xml

Music MIDI or OSC client - can be Cubase, Abelton Live, receives midi information and does something with that. change a controller value, play a sample, play a note according to position.
for this part, you need:
* MIDIOX. great toolbox for tracing MIDI. not must.
* MIDI Yoke. great virtual MIDI device. not must.
* Some MIDI software that accepts MIDI and creates the musical part.

Tuesday, September 11, 2007

Tangible Kabuki at GeekCon 2007

This was my GeekCon2007 project. Thanks to:
Project members: Dani Vardi, Tal Yaniv and Eyal "Person" Shachar
Performers: Dror Gill, Ayelet Yagil, Zvi Devir and Jeff Pulver
Photographers: Yaniv Golan and Alex Sirota

1. The TangibLaptop is a collaborative electronic music instrument with a laptop tangible multi-touch interface built by the GarageGeeks (Rafael Mizrahi, Ohad Pressman and Eyal "Person"). inspired by the reactable

2. The GeekCon un-convention get-together is a creative gathering happening with a goal to form a critical mass of technically oriented creative talented people that will think up, create and deploy ideas. Or it’s a short summer camp for geeks… Take your pick.

1+2=3. Taking it one step further, instead of using physical small hand size objects, YOU will be the players in a musical part by wearing masks. Together, we create a musical part where you can take part by wearing fiducial masks detected by the Tangible laptop.

More Tangible Kabuki images at Flikr tagged with "Tangible Kabuki"

More GeekCon 2007 images at Flikr tagged with geekcon2007

Sunday, July 1, 2007

First premiere at MuseNet2007

Thursday, June 21, 2007

webcam infra red night vision

TangibLaptop should work in light and dark environments and also has the screen which lights under the objects.
To make the life of the camera and image processing easier, we will move them to the InfraRed (IR) spectrum.
How? in 2 steps:
1. Remove the "infrared blocker" from your CCD webcam.
2. Create a IR Leds lamp next to the camera.

I have just turn my webcam into an infra-red cam for the TangibLaptop,
and almost got myself injured in one eye.
I scratched the "infrared blocker" (a reddish small glass) to remove it, and small pieces of
glass got into my eye.

I got 3 words for you:
wear protection goggles

Coming up next... DYI Infra-Red Leds lamp.

Saturday, June 16, 2007

Person created a Reaktor project

it sound ugly.... (because we used sine waves,)
but,,, behind the scenes, it is beautiful.
this is a major break through, images, waves connections, and now, Reaktor automation.
now, its time for some fine tuning to make it look and sound good.

Friday, June 15, 2007

Render waves as connections

Ohad 3D3R Pressman, just added the option to render connections as waves.
I have added few waves and GarageGeeks head images.

Tuesday, May 29, 2007

Controlling ReBirth TB303

Thursday, May 24, 2007

RFC spec update - version 0.1

* fiducial id: the uniqe painting on the objects represent a number from 0-89
this number is the "fiducial id".
Object id: We also reffer "fiducial id" as "Object id" for example:
"Object 0"-"object 89"

* Session id: every object placed on the table has a unique "Session
id" which is an incremental integer.
If the object is removed and added again, he will get a new session id.
This model supports having several objects from the same id but with
different session id.
Note: The TangibLaptop do not uses "Session id" and enforce to place
on the table only one object for each "object id".

* Control Type:
How does moving the object change its values.
hfader=xpos, vfader=ypos, knob=angle, note=presence

* Object shape (function categories):
ReacTable's objects can be categorized into six different functional groups:
audio generators, audio filters, controllers, control filters, mixers
and global objects
(which affect the behaviour of all objects within their area of influence).
Each family is associated with a different puck
shape and can have many different members, each with a distinct
(human-readable) symbol on its surface.

Generators N control in 1 audio out
Audio filters 1 audio in 1 audio out N cntrl in
Controllers 1 cntrl out
control filters 1 cntrl in 1 cntrl out
audio mixers 2 audio in 1 audio out N cntrl in
global N cntrl in

Note: The TangibLaptop (at this point) implement only one in and one
out for each object.

* Control function:
How does the object is visualized and connected to other.
The 6 function groups contain various objects.
global: master
audio generators: sampler, wave
audio filters: delay, flanger
controllers: oscillator, lfo, vcf
control filters: decimator, sample & hold
audio mixers: bus

* Master
A central point at the middle of the table.
MASTER object fiducial id is 127
Will be added to the list of objects without being placed on the table.

* Connection channel:
Channel 16 is used for connection commands.
The way objects connect is "Note On", and disconnect = "NOTE OFF"
A Connection created from A to MASTER: NOTE_ON, 15, A, MASTER
A Connection created from B to A: NOTE_ON, 15, B, A
A Connection removed from B to A: NOTE_OFF,15, B, A

* Proximity channel:
Channel 1 is used for connection Proximity (distance) commands.
The proximity is affecting the controlling object.
B is connected to A, and B is moving towards A: CONTROL_CHANGE,0, B,
distance value

* Rotation channel:
Channel 2 is used for connection Rotation (angle) commands.
B is connected to A, and B is rotating: CONTROL_CHANGE,1, B, angle value