Tangible Orchestra – which was recently featured on the official Arduino blog – combines electronic and classical music in a three-dimensional space.
Designed by Rebecca Gischel and Sebastian Walter, the installation is equipped with 112 ultrasonic sensors controlled by a single Atmel-based Arduino Mega (ATmega1280 MCU).
“Human interaction within Tangible Orchestra is made possible by 16 ultrasonic sensors on the inside of each cylinder, granting a 360 degree field of view. The sensors are run by one integrated microprocessor per cylinder, evaluating and comparing the readings of all sensors making very accurate assessments,” Gischel and Walker explained.
“To avoid interference between ultra sonic waves of different cylinders, the microprocessors run consecutively rather than simultaneously. All microprocessors are controlled, assessed and coordinated by one Arduino Mega.”
On the software side, Processing is used to communicate with Arduino and the microprocessors in each cylinder.
“It is programmed to coordinate the microprocessors, so that their sensors cast their rays consecutively as with 112 ultrasonic sensors operating at the same time, there would be a substantial risk of interference and acoustic shadow misreading. It also assesses the data coming from Arduino and, after verification, generates the output,” the duo continued.
“If a person detected within the bubble of a cylinder, Processing receives the digital information as an input from Arduino and stops muting the respective instrument which then joins into the melody. Processing also reads the values of each instrumental track to calculate the digital signals for the LEDs and controls the LED stripes inside of the cylinder.”
According to Gischel and Walter, each instrument is played by a separate speaker located in the base of each cylinder – with multiple sound outputs enabled via several external sound cards paired with the minim library by Damien Di Fede.
“When an instrument plays, the beats of the audible track are analyzed and consequently values are calculated to create an equalizer-like light beam,” the two concluded.
”The outcome is transferred via Arduino to a transformer, which converts the 5V Arduino signal into an 230V output operating 192 LEDs per cylinder. Another transformer converts 5V Arduino signals into 12V output powering LED stripes inside of each cylinder as soon as they are activated.”
Interested in learning more? You can check out the the project’s official page here.