Vibrations is a distributed robotic vibraphone by Moritz Simon Geist.
The installation consists of up to 36 tone plates connected to a central unit. Each tone plate is equipped with a mallet driven by a solenoid. A damper actuated by a stepper motor allows for sustained and non-sustained play modes. A piezo pickup senses the vibrations of the tone plate. Each plate is completed with electronics, digitizing the output signal of the piezo and controlling the mechanics.
For Communication the tone plates and the central units are connected in chains of up to 12 tone plates (heads) via regular ethernet cables. The four twisted pairs are used to exchange control data between the heads and the central unit, stream audio from the heads to the central unit as well as provide logic level power to the heads. The actuators on each tone plate are powered through a separate chaining system.
The central unit takes midi data for playing and configuring the instrument and provides analog audio outputs with mixed down signals from all connected heads.
We were responsible for hardware and firmware development. The central challenge of this project was the design of the high speed bus for streaming audio data between the heads and the central unit. We solved this with impedance controlled PCB design and by implementing a serial protocol synchronized by the central unit. The synchronization was also used to drive the resampling necessary due to the separated audio clock domains of heads and central unit.