"Finger Drums" - A1: Physical Input

  By Christian Salvador

Final Prototype Image


Description

  Have you ever gotten bored enough or hear a catchy tune and you start tapping your fingers to an imaginary beat? Now what if those beats could be heard in the physical world?

  The idea of my project "Finger Drums" comes from that very concept of tapping to an imaginary beat and I've decided to create a MIDI glove inspired instrument from scratch both software and hardware-wise. With the help of a MIDI library and software of course.[1,2,3,4,5,6] However, there are already a few MIDI gloves out there so I needed to figure out what to add onto it to make it a bit more unique, whether it be another input or the design.

  My "Finger Drums" gauntlet consists of a housing on the forearm, a glove with force sensors on the tips and a elbow sleeve with a flex sensor housed inside. The forearm housing contains the Arduino and majority of the circuitry consisting of only 10kohm resistors and wires for 5V power, ground and all 6 analog inputs from A0 to A5. The enclosure was designed in Fusion 360 with help and in collaboration with my friend Alan Alcocer-Iturriza and then 3D printed. These wires then spread out into a glove and hook up each sensor on each finger tip. A sixth wire hooks up a flex sensor on the elbow.

  This gauntlet plays sounds using MIDI where each fingertip can be associated with a note that the MIDI library can send to any software that can read MIDI. Due to the UNO using serial for its USB, I had to use MIDI Library[2] instead of MIDIUSB[7] and a few other programs to make it work. The programs can be found in the README in the GitHub link posted below as well as instructions. Since I opted to use force sensors for the finger tips, the volume of the note changes with how light the tap is, allowing the user to have more complexity with their taps. For example, a user can create a soft but quick drumroll by simply tapping lightly with their fingers. Furthermore, the elbow flex sensor adds an additional input to the gauntlet, allowing it to perform different possible functions. For my demo, I demonstrated that it can change the pitch of the MIDI notes. However, it can even be used to be able to have access to more instruments since you are restricted to only being able to play up to five different notes with one hand. The elbow flex sensor may also be used for additional modulation.

  The UNO passing only serial through its USB was a bit difficult to work with without having to flash new firmware onto it. However, I was able to find instructions on how to use an alternative MIDI library without having to do that on instructables.[1] They had shown that MIDI Library was an alternative that can be used with the UNO. I then paired it with LoopMIDI[4] to create a virtual MIDI port. Then I used Hairless MIDI to Serial[3] to connect the UNO's Serial port to the MIDI port. Next, I used the Virtual MIDI Piano Keyboard[5] together with the VirtualMIDISynth[8] to be able to hear sounds. For the demo, I used a ColomboGMGS2 Soundfont.[6] With this combination of programs, I was able to interact with MIDI physically using the glove.


Concept Development Images

Initial Sketch

Testing Components

Final Design With Hidden Wires


Concept Development Videos

3D Printed Gauntlet Showcase


Demo Video

Demo Video


Circuit Schematic Diagram

Diagram


Circuit Schematic Diagram

Circuit Schematic Diagram


Arduino Code

Built with PlatformIO - ./src/main.cpp code can be copied into Arduino IDE directly.

Github Repo With Arduino Code (https://github.com/KittenInAMitten/CPSC599FingerDrums)


References

  1. dolcewang. "DIY USB Midi Controller With Arduino: a Beginner's Guide." Instructables. Accessed: Feb. 13, 2024. [Online.] Available: https://www.instructables.com/DIY-USB-Midi-Controller-With-Arduino-a-Beginners-G
  2. F. Best and lathoub. "MIDI Library." Arduino Libraries. Accessed: Feb. 13, 2024. [Online.] Available: https://www.arduino.cc/reference/en/libraries/midi-library/
  3. A. Gratton. "Hairless MIDI to Serial." Hairless MIDI <-> Serial Bridge. Accessed: Feb. 13, 2024. [Online.] Available: https://projectgus.github.io/hairless-midiserial/
  4. T. Erichsen. "LoopMIDI - Virtual Loopback MIDI Cable." [Personal Blog]. Accessed: Feb. 13, 2024. [Online.] Available: https://www.tobias-erichsen.de/software/loopmidi.html
  5. P. Lopez-Cabanillas. "Virtual MIDI Piano Keyboard." Source Forge. Accessed: Feb. 13, 2024. [Online.] Available: https://vmpk.sourceforge.io/
  6. D. Tharinda. "ColomboGMGS2 SoundFont v.14.4." Musical Artifacts. Accessed: Feb.13, 2024. [Online.] Avaiable: https://musical-artifacts.com/artifacts/1234
  7. Arduino Libraries. "MIDIUSB." Arduino Libraries. Accessed: Feb. 13, 2024. [Online.] Available: https://www.arduino.cc/reference/en/libraries/midiusb/
  8. CoolSoft. "VirtualMIDISynth." CoolSoft. Accessed: Feb. 13, 2024. [Online.] Available: https://coolsoft.altervista.org/en/virtualmidisynth