GrooveScribe About Open GrooveScribe

About GrooveScribe

Create, practice and share drum grooves.

What it's for

GrooveScribe was built to help drummers create, practice and share grooves.

How it works

GrooveScribe 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, GrooveScribe 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 for GrooveScribe 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 affect 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 (1 e & a), and are the "&" notes in an 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 swing percentage controls the percentage of the note duration that the upbeat is delayed:

NewDelay = NormalDelay + (NormalDelay * SwingPercentage)

People

Open source

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

Built with

GrooveScribe is plain HTML, CSS and JavaScript (native ES modules, no build step). These open source libraries and resources are included in it:

Notation and music

Interface

Mobile apps

Development