Musical Tiles




Introduction: Musical Tiles

This Instructable will guide you through the steps necessary to recreate our Physical Computing project of a table which generates music based on the positioning of tiles placed on it.

Step 1: Download the Necessary Files

If you do not have Max MSP 7, you may download Max Runtime for free here which enables you to use, but not edit Max applications.

  • Download Reactivision and the Max MSP Tuio client here. (We are using Reactivision 1.5 for Mac OSX.)
  • Download this folder containing two Max patches: StepSequenPoly.maxpat and ez-synth2.maxpat.
  • Add both of the patches included in the archive below to the TUIO11_MaxMSP directory (Alternatively, if you are using Max MSP 7 and not Runtime, you can add the TUIO client to your User Path: Options - File Preferences - Add Path.)

Step 2: Purchase or Build Necessary Components

You will need a table with a glass surface and a camera to view the objects. We prototyped the project using a laundry basket and a clear piece of acrylic. We are using a coffee table purchased at Ikea and a Logitech Webcam.

  • Mount the camera facing upwards at the table surface.
  • Determine the field of view of the camera (using Photo Booth or a similar application) and mark that section of the table.

Step 3: Create Tiles

  • Consider how many tiles you would like to fit on the table at one time both horizontally and vertically.
  • Find the file containing fiducial markers within the reactivison directory and print the first sixteen markers, ensuring that you scale the markers such that they are small enough to fit on your tiles.
  • Using Corel Draw or a similar modelling software create a tessellated grid of hexagonal hairline outlines to be laser cut. Make sure that the outlines are the correct dimensions.
    • Inside of each hairline outline put a smaller solid hexagon to engrave a texture into the tile’s top.
  • Place your acrylic sheet in the laser cutter, and print the file.
  • Once the job is complete, remove the cut hexagons.
  • Use sandpaper to roughen the tiles on their unengraved side, then apply a coat of spray paint on top.
  • Once the paint has dried, the fiducial markers must be attached.
    • Set a tile on top of a sheet of markers with a marker centered beneath it, and use a sharp knife to cut around the tile’s outline.
    • Next, glue it onto the painted side of the tile with the marker facing away from the tile using spray adhesive.
    • Repeat this cutting and gluing for the remainder of the markers

Step 4: Run the Application

  • Run both the reacTIVision application and StepSequenPoly.maxpat.
  • Double click on the box titled “p VisionStuff.”
  • Hold one of the tiles to the camera and determine the maximum x and y values the camera reads.
    • xpos0 refers to the X position of the 0 fiducial marker
    • ypos0 refers to the Y position of the 0 fiducial marker
  • In the main patcher window, change the numbers above “s xRange” and “s yRange” to reflect these values
  • Click the speaker object at the bottom of the main patcher to enable sound
    • To adjust the volume change the slider above the speaker
  • If you would like, you may change the total beats in the measure between 4 and 16 and the tempo by altering the tempo slider.
  • If you are using Max MSP 7, feel free you alter any aspect of the code you wish. For example swapping the cycle~ object in ez-synth2.maxpat for another waveform like triangle waves (tri~) will change the timbre of the sounds.

Step 5: Make Music

The table functions as polyphonic step sequencer. Horizontal placement refers to beat location and vertical placement refers to pitch. Multiple tiles placed in vertical alignment will yield harmonies.

Coded Creations

Participated in the
Coded Creations

Be the First to Share


    • Space Contest

      Space Contest
    • Soup & Stew Speed Challenge

      Soup & Stew Speed Challenge
    • First Time Author Contest

      First Time Author Contest



    6 years ago on Introduction

    This is so cool! I've seen many of these sequencers on the computer as a program, but I've never seen one in real life! So cool!