DrumBurp has already fulfilled most of my goals for a quick and simple editor for drum tabs. One of my pie-in-the-sky wishes was for DB to play back the music through MIDI, and that’s worked out nicely. The other “wouldn’t it be nice if…” feature that I’d love to have is the ability to create real music notation from DB. Well, I’ve been busy…
DB has proved to be everything I wanted for creating and editing tabs, but… they’re still tabs y’know? Yes, they get the job done, but they’re not exactly beautiful. I drool with jealousy over the lovely output of software like NtEd or any of the expensive notation editors on the market – although they do have their limitations in terms of ease and speed of use, which is why I started work on DB in the first place.
This weekend I got some time to work on the idea of getting DB to produce drumset notation. Now, doing the whole thing from scratch seemed a little insane so I decided to jump on someone else’s coattails. The incredible Lilypond produces stunning output, so I thought “I’ll have that”: I’ve used it in the past to write drum music, but again the process of doing so was incredibly painful. Lilypond is a markup language, built on LaTeX: you write out your music as text, run it through a “compiler” and the result is a Postscript or PDF document containing your music, beautifully typeset. The process I’ve been working on is getting DrumBurp to export to a Lilypond input file: you’ll then run that file through Lilypond and get the score out as a a result. It’s not the absolute ideal process, but you shouldn’t need to do it too often: DrumBurp gives you plenty of feedback during the editing phase, you’ll likely only export to Lilypond when you’re finished. Maybe some day down the road I’ll work on a WYSIWYG editor for drum notation…
Anyway, I’ve got the basics working today. I can create a valid Lilypond input file from a DB score, and the compiled output looks fantastic. There’s a load of work I need to do to integrate this with the full program, so it might be a few weeks before I get around to releasing this new feature. The main thing is that there’s a load of new information about each drum that needs to be stored and made user-configurable, like the staff that it’s on, the note head to use, the direction of the stem, and so on. And of course, this all needs to be compatible with files produced by older versions of DrumBurp. All this extra information in the kit means that the lack of Load/Save functionality for drum kits is going to get really annoying soon, so I’ll probably have to sort that out as well. There also are a few minor things I need to work on to make the export feature really robust, such as dealing with partial bars and time signatures, something which I’ve managed to avoid concerning myself with so far. Triplets are also proving surprisingly troublesome.
So, there’s a lot to do, but I’m very excited about this new feature and wanted to let you know what I’m working on. Feel free to drop me a line with any questions or comments