name
back another one!

Interactive Visual Music Sequencer

INFO4320: Introduction to Rapid Prototyping and Programming

Fall 2017

A project built for a Cornell Info Science course. One of 20 student projects showcased during a demo day held at the Sciencenter on Saturday, Dec. 2, 2017.

This is an overview of the project; to see the full writeup, click here.

See us in the press!

Technical details

We used a Teensy 3.5 microcontroller and a corresponding Teensy Audio Shield. The Teensy had just enough pins to connect to our Adafruit Trellis PCBs and power the LEDs and button pad and the Audio Shield allowed us to more easily control audio outputs.

A couple useful things we used/learned during this project:

Initial design

Our primary goal for this project was to create a tool for non-musicians and musicians alike to make music. We found an online tool that built a sequencer based off a pentatonic scale, and decided to create a physical model.

Our initial brainstorming involved experimenting with the format of the sequencer -- we played around with the idea of mimicking radar with a circular, clock-like functionality as well as the original grid we found online. In the end, because of hardware constraints we opted for the simpler to implement grid.

We had silicon buttons and corresponding PCBs to implement the system, but still needed to think about casing and presentation. Our plan was to create a box to encase the hardware and have the button grid sit on top.

Our system used a grid system with time across the x-axis and pitch across the y-axis, where pitch increases on a pentatonic scale. Because we have a finite x-axis, at the end of the grid, we loop back to the beginning. We also had three button states depending on where we were on the x-axis and what had been pressed. To indicate position on the x-axis, we had a row of indicator lights across the top of the grid.

Final Product

Our final product ended up quite different than the initial design. Basic functionality was the same, but because of budget constraints we could only implement a 16x8 grid of buttons. Our chosen microcontroller (Teensy 3.5) did not have an adequate number of pins to implement indicator lights across the top while also using the Teensy Audio Shield. Additionally, the button PCBs did not allow for control of the brightness of our LEDs.

The physical box that we kept our hardware in was a wood frame with a removable acrylic sheet to encase the buttons.

Instead of indicator lights, we had the entire active column illuminate when on that particular time unit. We used small wood blocks to keep the PCBs in place.

We kept the bottom of the box open and attached the Teensy underneath the top panel where the PCBs sat. This kept the hardware open and accessible. Additionally, our audio output was an AUX cable, so we connected a speaker and during our demo, kept the speaker inside the box.

A photo of our group with our TA: