World Percussion Performance Toolkit

A new music interface using a 9-DoF IMU and a LEAP motion controller used with Max/MSP to trigger a variety of samples. The low-pass filter cutoff frequency is controlled by the hand position in the near-far axis, gain in the vertical axis, and the left-right axis pans the sound using binaural audio.

Illustration of the World Percussion Performance Toolkit project. A computer interface of the Max MSP software showing a low-pass filter cutoff, a binaural audio location viewer, and a person performing using the toolkit.

About the design

The LEAP motion controller detects the 3D position of the hand. The 3 axis each control a different parameter: the device x-axis, or left to right, controls the binaural panning. The device y-axis, or up-down, controls the gain or the volume at which the samples are played. Finally, the z-axis, or near to far, controls the cutoff frequency for the low-pass filter.

The LEAP motion sensing device overlaid with the x, y, and z axis. The x-axis is labeled "binaural panning", the y-axis "volume", and z-axis "low-pass filter cutoff frequency".

The IMU is contained in a package on the Arduino Nano 33 BLE board. When a high acceleration is detected, an event is triggered. This reads the current board orientation to determine which sample to trigger. The orientation makes use of the accelerometer, gyroscope, and magnetometer which is combined using the Madgwick sensor fusion algorithm to limit drift. From there, the board sends a serial message to Max so it can play the corresponding sample.

An Arduino Nano 33 BLE microcontroller on a breadboard, with a button attached to one of the inputs connected via a resistor.