Richard Pell
Concept and Construction
Matt Messner
Coding and Cat Burglary
| The Interactive Player Piano Project is a vehicle
for making collaborative music between human and machine. By simply touching
the keys, the player begins a "conversation" with the piano. The piano
then begins to play its self by adapting to the playing of the player.
In time, a balance can be struck in which the two continuously influence
each other. Such a dialogue can result in "emergent" themes, which neither
participant can claim ownership to.
For more conceptual background refer to the essay: Interactive Art: "It's nice, but what's
it do?"
In it's current iteration the player-instrument relationship is broken up into two stages and can loosely be compared to a teacher-student relationship. The player plays the piano in any manner they choose for as long as they like, while holding down the pedal with their foot. This period is known as the 'training' period. During this time everything the player plays is fed to a computer via a series of switches, one for each key, hooked up to the parallel port of the computer. Once the foot pedal is released, the computer begins processing everything it has 'learned' from the player using a neural net algorithm. The computer then takes this information and attempts to create coherent music given the parameters of music that the player created. The output exits the parallel port and triggers a bed of 88 solenoids, one for each key, which turns the data back into moving hammers and strings. Tech Specs: Input: Each key acts as a switch. Mounted to the bottom of each key is a simple spring steel strip with a piece of copper soldered to it. When the key is pressed the copper piece will come in contact with another copper plate, grounding out the corresponding pin on a stack of 3 PPEX 64 bit parallel expansion boards and signaling that the key is pressed. Output: Each bit of output will send the corresponding pin of the PPEX boards to it's high state, or +5 VDC. Each of these then triggers an optical isolator that triggers a transistor, which switches the 24 VDC power to the actual solenoid causing it to close and pull down on the key. Software: In order to communicate with the parallel port I use drivers written inC with in-line Assembly. The drivers are implemented as a Java native type. The bulk of the actual code is written in Java.. |
|