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:
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.
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:
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.
I then placed neodymium magnets under the felt pads on the bottom of each chess piece:
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:
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.