CSC355: Human Computer Interaction project using two Myo Armbands to simulate air drumming. The program interprets gestures that the user makes and simulates drumming by importing sounds. The idea is to simulate air drumming by sitting down, putting on two Myo Armbands, and moving your arms and wrists like actual drumming to get a real-time drum session recording.
- include: The include file consists of two files -
- bass.h - The bass.h is a c++ header file that loads the sound files.
- myo - myo folder contains the files for the myo framework and SDKs
- sounds: Folder containing the various drum sounds that can be played by the myo armband
- source: Folder containing the main.cpp program that runs the myo project
- lib: The lib folder contains the myo.framework and static libraries
- bin: The bin folder contains the dynamic libraries of bass and myo and the executable for Windows
All the files are placed in a single folder. The main.cpp file contains the myo.hpp which is included to use the Myo C++ SDK. Similarly, the main.cpp file includes the bass.h which is used to load the drum sounds and play them through different channels.
Windows:
Find the MyoDrum.exe within the files of the projects. Open the .exe file to run the program. Once the file is opened, click on build to run the project. Disconnect each armband first. Then follow the procedure for the first armband(used as the right hand):- connect, disconnect, and re-connect. A “Right hand connected” string will output in the terminal. After that, follow the same procedure for the second armband(used in the left hand). Once this is satisfied, you can start moving the myo armband and start playing the virtual drums.
- Drums Sounds
- Snare Drum - Middle
- Hi-Hats - Left
- Crash Cymbal - Right
- Ride Cymbal - Slightly right of the Crash
- Base Drum - Anywhere (face left hand down, knuckles up)
- Hard Snare Hit - Anywhere (face right hand down, knuckles up)
Mac:
When user loads Xcode program, open the AirBand.xcodeproj file which contains all the files for the myo project. Once the file is opened, click on build to run the project. Disconnect each armband first. Then follow the procedure for the first armband(used as the right hand):- connect, disconnect, and re-connect. A “Right hand connected” string will output in the terminal. After that, follow the same procedure for the second armband(used in the left hand). Once this is satisfied, you can start moving the myo armband and start playing the virtual drums.
- Drums Sounds
- Snare Drum - Middle
- Hi-Hats - Left
- Crash Cymbal - Right
- Ride Cymbal - Slightly right of the Crash
Milestone #1:
- Connect both Myo Armbands simultaneously
- Create new 'drum' gesture (using acceleration)
- Devise a way to make sounds (BASS library with .wav samples)
- Play overlapping drum sounds
Milestone #2:
- Add different pallettes of sounds
- Look into using moving arms around in a space for playing different drums
- Remove flamming from detecting multiple points at acceleration value
Final Code:
- Rework hit algorithm using angular velocity
- Narrow down the 3D space for hitting different drums
- Fully implement threads for each arm
- Ability to play a realistic sounding drum beat
- Clean up the code
Nice to Have's:
- Add ability to create and save recordings