Original Music from 1983

When I was 16 and taking piano lessons, my teacher Mrs. Thompson held periodic workshops where 6 or 8 students would get together, explore topics, and share compositions. I had handwritten several in a notebook (of course!), submitted them for grading, and performed them in the workshop (with the exception of the last one).

Here they are, as usual typeset using GNU LilyPond. First, a PDF of the lot:

(1) Spring Birds, my first composition, actually named in 2011 because I hadn’t named it before and that’s what it sounds like to me. I used a simple ottavation notation that I find pleasing. I also left out voice rests that I think unnecessarily complicate the simple score. People seem to find this challenging, or perhaps unworthy of even trying. ūüôā

(2) Invention, a short, fast, staccatto minor piece.

(3) Vivace, a terribly short couple lines that is the least of them.

(4) May Daze, with the name arbitrarily stolen from an event at the Lehigh Valley Hospital Center. In these piece we were to demonstrate key changes as well as a theme that repeated in different voices.

Warning: some of the tied chords don’t play as tied in the MIDI.

(5) Goldfish Rock, the best one I think. The syncopated rhythm is hard for people to grasp at first. At least, so said Mrs. Thompson but she gave it an “A”.

(6) Commodore. This sixth piece was inspired by a two-voice tune that I heard playing on a demo of an 8-bit computer in a computer store in the Lehigh Valley. It may have been a Commodore VIC-20 or possibly a Sinclair ZX81. Please let me know if you can identify it (which would only be possible if I hadn’t scrambled it in my head).

Thank you for trying these pieces and let me know if you like them!

Valse Lente

A few years ago I received the gift of a Rhythm Clocks musical wall clock. Every hour on the hour, it plays one of several short song excerpts. Somehow I identified one of the songs (possibly using SoundHound?) to be a popular waltz from an opera of Delibes.

Title: Coppélia РWaltz from Act I РValse Lente
Composer: Clémont Philibert Léo Delibes (1836-1891)

I downloaded sheet music for it, edited by Ricardo Boppré. It turns out it was a slightly simplified version that had also been transposed from E flat major to C major. With a GoPro camera I recorded myself playing it for YouTube, here. This has reached 20K+ views, not so deservedly, but this shows the song itself is quite popular.

More recently, I found the “original” E flat version upon which Boppr√©’s version clearly had been based. I decided it isn’t much more difficult, so I didn’t feel the existence of the C major version was fully justified, and wished I’d recorded the original.

Editor: Henri Heugel
Publisher: Heugel et Compangnie, Au Ménestral, Paris
Date: 1870

I typeset this version into the GNU LilyPond music formatting software. As with¬†Le Chemin de Fer, I tried to make the output look just like the 1870 version, although I didn’t take it quite as far. Here is the LilyPond source file:

The MIDI file generated by LilyPond:

You can play the MIDI file in your browser using the tools from www.midijs.net, but I recommend downloading the MIDI file and playing it natively.

And the PDF file of the sheet music:

With LilyPond, it is near trivial to transpose a piece. In the source code, I have two lines setting the variable “transposeKey”. Simply uncommenting one line or the other selects which key. For grins, here is the C major version of the sheet music:

Le Chemin de Fer

My first major project using the GNU Lilypond music typesetting software was to re-typeset the piano piece Le Chemin de Fer (The Rail) by Charles-Valentin Alkan. I had seen performances of this fun and ridiculously fast piece on YouTube and tried learning it myself.

Part of the motivation was to create a MIDI file to play it at Alkan’s insane indicated tempo of 112 to the half note, which equates to the right hand playing continuous scales and arpeggios at a rate of nearly 15 notes per second.

I had retrieved a PDF file of the M. R. Braun edition from here and decided to see how close to identical I could get with Lilypond. Some of the challenges included:

  • A¬†fancy title page containing some minor graphics requiring embedding raw PostScript.
  • With the addition of the title page, having to use a music function to make sure the next page was numbered 1.
  • Customizing the book title markup to match the text appearing at the top of the first page.
  • The slightly archaic notation for dynamics.
  • Painstakingly replicating every dynamic mark (staccatto), pedaling, page breaks, fingering numbers, stem directions¬†‚ÄĒ everything.
  • Work around MIDI player issues. I find that regardless of what software is used to play a LilyPond MIDI file on Windows, the first and last fraction of a second are each cut off. I’ve taken to including a little silence at the beginning and end to avoid this.

The LilyPond file is organized into 20 sections, 10 for the left hand and 10 for the right.

The MIDI file is automatically generated when LilyPond is run.

You can play the MIDI file in your browser using the tools from www.midijs.net. The speed is indeed ridiculous.

The final PDF file. Success?!

Watch an unbelievable performance of the piece. There are a surprising number of good performances on YouTube, plus many MIDI renditions.

Merry Go

If you’ve watched enough compilation videos on YouTube, it is likely you’ve heard Merry Go, a fast-paced, 2-minute ragtime-ish piano song published by Kevin MacLeod in 2010. It is one work out of a large body of high quality digital music that Kevin shares under the Creative Commons By 3.0 license, for anyone to use for any purpose, royalty-free. (Not surprisingly, his music has become some of the most-used background filler on YouTube.)

Here is a video of the audio of Merry Go by itself (because people do that).

Depending on your mood and temperament, Merry Go can be either energizing or irritating. Because of the latter, someone had to do it: here is a video of the song playing for 10 hours. There is also a 1-hour version, a slowed-down version, MIDI transcriptions, and others.

Watching a useless video late one night, this song played, and it piqued my interest. Its use of sforzandos and staccattissimo is striking. It’s fast, but sounds simple enough. I decided to attempt a sheet music transcription. However, I quickly found out that the apparent simplicity belies a greater complexity than one would expect. There are a lot of notes! It got even more interesting as I researched its origin..

A reproduction aiming for fidelity to the original would be most suitable for performance by MIDI and/or player piano. It is impossible to play the original arrangement of Merry Go on solo piano because there are so many notes. But it should be quite feasible to perform it as a piano duet for 4 hands. A minor sacrifice might be required for the last two measures, which contain a massive triple-octave run at a tempo of 8.8 sixteenth notes per second, plus some chords. The final beat of the song appears to hit all eight C keys on the keyboard!

Using the Transcribe! software, I listened to Merry Go for hours in excruciating detail, at different speeds and octave shifts, in order to generate a transcription. To test for the presence of specific notes, I would listen carefully while hitting them on a keyboard while simultaneously looping short snippets of the audio, often just individual chords. There are several things that limit how accurately the notes can be divined. Some chords contain upwards of 10 simultaneous tones. Very quiet or low tones may get drowned-out. Artifacts of digital encoding and frequency scaling through re-sampling filters result in ghostly sonorities and sympathetic octave blurring. It took four or five passes/editions before I was satisfied I hadn’t missed too much.

Having written out the initial transcription on music staff paper, I then coded it as a text file in the GNU LilyPond music description format. LilyPond is an amazing piece of software that reads a description and generates beautiful typeset sheet music in PDF format, as well as MIDI output. There is a big learning curve, however. I’m sure it comes a lot more naturally to people who are already experienced computer programmers. But if you are a geek who needs to typeset music,¬†you need LilyPond!

Without further ado, here is the resulting MIDI output. Dynamics processing by LilyPond is somewhat rudimentary and leaves something to be desired. As with everything else in LilyPond, perfection is likely possible given enough time¬†‚ÄĒ but it might take longer than the original composer took to create it.¬†

You can play the MIDI file in your browser using the tools from www.midijs.net, but it doesn’t sound as good as native players.

And of course the PDF sheet music.

Finally, for the curious, or those who might want to tweak further, the LilyPond source file, under the same license.

Please have a Merry time with it and comment. My only wish is to see it performed as a duet, at tempo by a sufficiently talented pair of nutcases.