Snare Drum Notator
|Duration||Fall 2016 - Spring 2017|
The goal of this project is to simplify the process of generating sheet music from played music. It is normally a complex and time intensive process that often interferes with creativity. This snare drum notator will simplify the process by recording the drum strokes and directly creating sheet music from the recording. This can also be an aid to those who are learning how to play the snare drum. As it allows quick feedback.
|Recording||Record any rhythm that a drummer has played.|
|Display||Take the rhythm played and convert it live, into sheet music.|
|User Input||Allow the user to input both the time signature and the tempo of the played piece. In addition device should be able to take user input to start and stop recording, and potentially change time signature in middle of the piece.|
|Accuracy||The music displayed on screen needs to be accurate to what the drummer played. In addition it needs to be displayed quickly so the drummer can see exactly what Rhythms are played.|
Sheet Music Style
The sheet music will be stored through the file format of Music XML. This format has become a popular standard in recent years, and is compatible with popular music editing software (ex: Sibelius and Finale).
The following elements are common in snare drum music and will be supported by our team:
- Sticking(left, right, or both hands)
- Position on the pad
- Back of the stick vs front of the stick
- Rudiments(rolls, flams, rimshots, ...)
- Accents (louder hits) vs taps (softer hits) relatie to current volume
- Whether the user is hitting the rim or the pad
- Dynamics (increasing/decreasing volume)
- Time signature
When brainstorming ideas for how to build a Snare Drum Notator the following criteria were considered of the hardware.
- Hit detection is the ability to detect a drum stroke.
- Durability is how long the item in question would last with prolonged use.
- Precision is how accurate, and consistent the data would be gathered.
- Information parsing is how easily the information gathered can be translated into sheet music.
- Quick User Input is how easily the user can control the software. such as starting, stopping, and setting the tempo.
|Microphone||Pressure pad||Sensor on Pad||Gyroscope on arms|
|Hit Detection||A microphone can effectively detect both the hit and its intensity but would be unable to detect which arm played the note without additional microphones and data input.||A pressure pad would be be able to detect the hit, the location of each hit, and its intensity. The location of the hit does not guarantee knowledge of which arm played the note.||A sensor on the pad would be able to detect the hit but without more data it would be difficult to tell which arm the note was played.||Gyroscopes on the arm would be able to detect each hit, the intensity of the hit, and which arm played the note.|
|Durability||There is no direct wear on the microphone other then the detection of the notes. Likely not significant wear. Only general expected lifetime of the device would be a concern.||The pressure pad would deteriorate quickly on any area heavily played on.||Sensor on the pad records information using a 9 degrees of freedom block. Because it would absorb the vibrations from the pad and not the stick itself the only wear that would be problematic would be the general lifetime of the sensor.||Sensors on the hand record hit detection by movement of the arms. This causes only general lifetime of the electronics to be a concern.|
|Precision||Though precise in a silent room there is a chance the microphone would pick up residual noise as a drum note.||Though precise in the beginning as the preassure pad wears out precision would decrease.||The sensor on the pad would pick up consistent information as long as it wasn't moved from a set position.||Due to its measurement of the arms movement for hit detection, the gyroscopes on the arms would be most precise at picking up data. Though dependent on how they are secured to the arms.|
|Information Parsing||Information recorded from a microphone may be difficult to parse, especially from a analog to a digital value.||Most pressure pads already have libraries for getting the data so should be easy to parse.||The sensor on the pad would output large amounts of data though it would be very clear as to what that data would be and represent.||The gyroscopes on the arms would be as clear as the sensor on the pad though twice the amount of data because information would be coming in from both arms.|
|Quick user Input||Might be able to use voice commands with a microphone but that requires word recognition software.||The pressure pad would have no direct way of user to input a stop sequence without potentially interfering with detecting hits. Though extra hardware could be added.||A sensor on the pad would also have the problem of having no direct way of getting other user input. However extra hardware could be added.||The gyroscopes have the potential of getting user input by gesture detection. Because a gesture would be likely be more evident then a simple drum stroke.|
Based on the above criteria, gyroscopes on both arms would be the most optimal approach. The gyroscopes are able to meet the expectations of every category above while at the same time grant the potential of extra user input without excess hardware. In particular the ability to detect left and right drum strokes easily was especially appealing.
In order to enable hands free drumming the Bluetooth module on the Intel Edison will be utilized. This will allow 2 Intel Edisons to communicate with the main application on the Computer. This is further enabled by linking them to an external Bluetooth dongle so that any computer running the main application will just need that dongle and everything should function as expected.
In order to get the Bluetooth working on the Intel Edison, information was utilized from the following source: https://people.csail.mit.edu/albert/bluez-intro/index.html
In addition for the application the 32Feet library is utilized to enable Bluetooth hanshaking in the C# language. Here is a link to their web page: http://32feet.codeplex.com/
Music XML is a library made by makermusic. This library has extensive documentation and detailed representation of drum music. In addition They support an incredible large amount of notation to allow for accurate music representaion.
One of the largest benefits of Music XML is its ability to be read by many music editing software. Including but not limited too:
For more information about Music XML supported library's visit: http://www.musicxml.com/software/
Basic Drumming Tests
Below is the initial gathering of data. This data will be used as a guide to create the actual note parsing. As you can see on the far left side is what music was played on the snare drum. While the next two columns are the Left and Right hand respectively.
|Sheet Music||Graph of Left Hand||Graph of Right Hand|
|sixteenths then buzz strokes|
|Eighths then Doubles|