For my Automata midterm, I completed software and hardware versions of my music feedback system for chess. All the code is available on Github, for both the hardware and software versions.

After experimenting with various methods for mixing two songs, I arrived at the conclusion that the most dramatic effect, in terms of game feedback, would be achieved by mixing stems (individual instrument recordings) of each song. To do this, I used Garage Band to synthesize stems from midi files of Beethoven’s 9th Symphony (for white) and Rachmaninoff’s Piano Concerto No. 3 (for black), and triggered the inclusion or removal of stems at various score thresholds.

Here is the pattern I implemented:

photo

 

On Tom Igoe‘s suggestion, I added volume knobs and a reset button for the music loops to allow more user control over the experience. I used two potentiometers and a button connected to an Arduino Uno, which sent signals to my computer via serial communication.

20120130 0674 2 Pots 1 Button_sm

Here is the software version of in action (I apologize for the distracting background noise):

After playtesting the software version in class and on the floor, I built a hardware version.

I discovered a circuit that would help me avoid wiring up 64 chessboard squares independently. Rather than connecting each hall effect sensor as a switch to a single input, I connected them together in rows and columns. By sending a pulse down each column, and then reading each row, it is possible to record the status (0 or 1) of every square on the board.

I started with a relatively simple grid of 16 hall effect sensors:

20120130 0670 16 Hall Effect Sensors_sm

After I got that working, I started putting together the full board.

I laser cut 64 triangles out of a piece of wood, glued the wood to vinyl chessboard, glued hall effect sensors into each triangle, and soldered everything together. Each hall effect sensor has three pins: one connected to a row of sensors, one connected to a column of sensors, and one connected to ground.

20141104 9140 mtg bottom_sm

20141104 9157 4 hall effect housings_sm

I then placed neodymium magnets under the felt pads on the bottom of each chess piece:

20120130 0678 magnet_sm

20141104 9155 piece magnet_sm

Finally, I hooked up the chessboard to an Arduino Mega and tested it out (sorry again for the excessive background noise):

Here are some more photographs of the project in its current state:

20141104 9112 mtg_sm

20141104 9114 mtg w jane_sm

For my Automata final project, I plan to refine the musical experience and add a case to the chessboard. More details to come in future installments.