Lucas Dachman

An interactive music floor

The Foot Step Sequencer

My interactive music floor uses the idea of a step sequencer to put the task of drum beat creation in the hands (or feet) of any listener – musician or not. The instrument uses the position of users on the floor to create live arrangements of drums or samples.

What is a Step Sequencer?

A music sequencer is a device or application software that can record, edit, or play back music, by handling note and performance information in several forms. Basically it allows you to record a sequence of sound data to be played back at a later time. So what is a step sequencer? A step sequencer can record and playback a sequence or pattern of notes organized in a grid. This grid organization ensures that notes are always played in time. The most common use of step sequencers is with drum machines and groove boxes. Step sequencers have been implemented throughout history in the form of analog music instruments, such as the classic Roland TR-808 as well as in Digital Audio Workstation (DAW) software such as Ableton Live.

Sensing Foot Steps

The project uses an Arduino connected to a grid of sensors layed out on the floor. The arduino uses a multiplexing algorithm to scan the sensors thousands of times per second. This input is converted to MIDI signals which are sent to the computer software via USB.

See the code on Github

Physical Sensors

The physical sensors are based on a simple contacts between strips of charged copper tape. The sensors are about 9x9 inches. Each sensor has three layers made of felt. The top and bottom layers are identical. They have three strips of copper tape forming a capital letter H. The middle layer has five square holes to allow the tape on the top and bottom layers to touch. When the two layers touch, current can flow through the sensor and this is detected by the microcontroller and computer software.

screenshot screenshot

Sequencing Software

The computer program is responsible for playing back audio samples and displaying graphical feedback. The GUI shows a grid of colored squares representing the positions of users on the floor and progression of the sequence. I created two implementations of the sequencing software for two separate shows. The first implementation was written in C++ with the JUCE Library. I was unsatisfied with the look of the software so I reimplemented the program in the form of a web application with React.js and the Tone.js Library.

See code for the Desktop App here

See code for the Web App here

screenshot