HapTuner
An accessible wristband tuner with haptic feedback.
The world of music is a great unifier, and is uniquely accessible to almost everyone. Particularly for individuals with visual impairments, music is a way to connect with fewer barriers to access than most aspects of our visually driven world. That being said, there are many tools within the world of music that rely upon visual output, and up until now, the tuner was one of those. To tune an instrument either requires significant skill to tune by ear, or the ability to read the screen of a tuner. Using this problem space as inspiration, we decided to jump into the world of haptics as a way to make this tool accessible. Enter the HapTuner, a chromatic tuner that can be worn on the wrist, and uses two vibrating disk motors to indicate if a note is sharp, flat or in tune. This tuner has special significance because of its accessibility, but is more generally a beneficial tool for all musicians. Being able to tune an instrument while reading music, or without needing to focus intensely on a small tuner eases the experience for all, and provides a novel approach to this problem space. We believe that a haptic tuner fulfills a currently unaddressed need for visually impaired musicians, creates an excellent new tool for sighted musicians, and is just the beginning of an exploration of how haptic devices could augment the world of music.
This project has two key aspects to it: the hardware and software functionality, which are both controlled by the Arduino Teensey 3.2. One of the biggest aspects of this circuit is the microphone. There is a small microphone whose signal is fed through a high pass and low pass filter to adjust the signal range into the positive domain, which is then fed into an operational amplifier to make the signal strong enough to be meaningful to the Teensey. It is then sent through a series of capacitors and resistors to further optimize for the Teensey. The microphone signal is read into the Teensey, which is also connected to power and ground. The Teensey then also powers the output devices. The output devices are comprised of two uxcell vibrating disk motors sewn into a Velcro bracelets.
Using a variant of the Yin Pitch Tracking library adapted for the Teensey, written by Collin Duffy, our software samples the audio input and identifies its pitch. Using the library that we wrote in C++, it also assigns each pitch a score between -1 and 1, identifying how in tune the note is. The libraries compare the note to the nearest piano key, and identify if it is in tune, or how sharp or flat the note is. The negative values correspond to the note being flat, the positive values correspond to the note being sharp, and we are experimenting with what the best tolerance for in tune is. After determining this, the software writes to pins to either vibrate one motor if the note is sharp, the other if it is flat, or both if the note is in tune.
Our system was successfully implemented! We used both a sine wave generator iPhone app and an guitar to test how well the tuner works on pure tones and on harmonic content. It correctly and reliably identified whether a note was in tune, flat, or sharp. It is portable in the sense that it doesn't need power from a wall or from a computer; it is not however portable in the true sense of the word.
The HapTuner team is Brian Margolis, Emma McDonnell, and Amulya Angajala. We are being advised by Professor Bryan Pardo as part of the class EECS 352: Machine Perception of Music and Audio at Northwestern University in Evanston, Illinois. You can reach out to us at haptuner@gmail.com.
We'd like to thank Professor Bryan Pardo and our peer mentor, Julia Wilkins for their support in this project. We'd also like to thank Nick Marchuk of the Northwestern Mechatronics lab for his invaluable advice and guidance with the hardware implementation. Finally, we'd like to thank Collin Duffy, whose implementation of YIN for Arduino we used.