# About the Groove Scribe The Groove Scribe was built to help drummers create, practice and share grooves.

- A simple interface allows easy groove creation that automatically creates printable sheet music for printing and sharing.
- Midi playback with tempo and a metronome makes it easy to hear and practice difficult grooves.
- Sharing is simple with a URL and the recipient can view the groove in any web browser.

How it works:

The Groove Scribe is written in HTML and Javascript and runs entirely in the browser. ABC Notation is used to create the printable sheet music. When notes are changed on the screen, new ABC Notation is generated which creates the sheet music. To play the music, Groove Scribe generates a MIDI file and plays it using the browser audio interface. The soundfont used by the midi player uses custom drum samples from Mike Johnston's kits.

All of the icons and images used by and created by the Groove Scribe are SVG or fonts so the interface scales to any resolution with no scaling artifacts. Try zooming in on the page to check it out.

How it swings:

The swing slider controls the amount of "swing" that is added to the playback. It does not effect the printable sheet music. To generate swing, a delay is added to the upbeat notes in the measure. The upbeat notes are the "a" and the "e" in a 16th note groove. (1e&a), and are the "&" notes in a 8th note groove. (1&2&3&4&). During MIDI generation, the program extends the duration of the downbeat notes and shortens the duration of the upbeat notes. The percentage of the swing controls the percentage of the note duration that the upbeat is delayed. (NewDelay = NormalDelay + (NormalDelay * SwingPercentage)

### People:

- Lou Montulli -- The programmer.
- Mike Johnston -- The inspiration for this app. Major feature and design collaborator.
- Brad Filip -- Graphic design.

### Open Source release

- Groove Scribe is open source and is licensed under the GPL v2.0. The source code is available at GitHub.

The following packages or technologies are used in this project:

- abc2svg.js: http://moinejf.free.fr/js/ Amazing product. Groove Scribe could not exist without it. Thank you Jef!
- Midi.js: http://mudcu.be/midi-js/
- Share this: https://github.com/carrot/share-button
- Abc Notation: http://abcnotation.com/
- jsmidgen: https://github.com/dingram/jsmidgen
- Font Awesome: http://fortawesome.github.io/Font-Awesome/
- Google Firebase URL Shortener: https://firebase.google.com/
- HTML5: Mozilla.org, W3C.org, Google.com, et al. http://en.wikipedia.org/wiki/HTML5