Stars and Stripes Forever

In 2013, I learned to play the Sousa/Horowitz piano transcription as best as I could. I found three sheet music transcriptions (Pellisorius Editions by Jon Skinner; Christian Jensen, 1999; Florian Wolf, 2010). Each edition differed from each other, and also differed from the available audio recordings in minor but unsatisfying ways.

I took it upon myself to create a new, highly accurate transcription of one particular performance by Horowitz: the seminal April 23, 1951 radio broadcast from Carnegie Hall. I attempted to capture as much detail as possible all aspects including notes, dynamics, pedaling, and tempi. I even tried to capture his apparent mistakes, which I have largely indicated in the music. (Of course, this being his own version, “mistakes” is a very subjective term.)

Once again, I relied on Transcribe! software for listening and GNU LilyPond for typesetting. The process took many days.

The PDF file of the sheet music:

The MIDI file generated by LilyPond. I didn’t put much effort into this so the dynamics leave a lot to be desired. Generating a MIDI file was not an objective.

My amateur performance on YouTube:

The original recording I started with was from the video below. A fourth sheet music transcription that is displayed matched to the music doesn’t correspond well.

A couple other notable professional and amateur performances:

Original Music from 1983

When I was 16 and taking piano lessons, my teacher Dr. Barbara Thompson held periodic workshops where 6 or 8 students would get together, explore topics and share compositions. I had handwritten several compositions in a notebook, submitted them for grading, and performed all but the last in the workshops.

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 have changed it to use a simple, pleasing ottavation notation, and have left out voice rests that unnecessarily complicate the simple score. It should be quite trivial to learn for someone who’s heard it. Otherwise, it might take some consideration.

(2) Invention, a short, fast, staccato piece in C minor.

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

(4) May Daze, with the name gratuitously taken from an event at the Lehigh Valley Hospital Center back in the day. The goal assigned for this piece was to demonstrate key changes as well as a contrapuntal theme that repeated in different voices.

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

(5) Goldfish Rock, the most fun I think. The syncopated rhythm is hard 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 Computerland store at the Lehigh Valley mall. It may have been a Commodore VIC-20 or possibly a Sinclair ZX81. Please let me know if you can identify it, which might only be possible if I haven’t scrambled too bad.

Thank you for trying these admittedly primitive 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. It’s a fancy, historic typeset of this piece. I decided to see how close to identical I could get with Lilypond. It’s not perfect but I can’t imagine getting any closer with other typesetting software. Some of the challenges included:

  • A fancy title page containing some minor graphics requiring embedding raw PostScript, which I eventually converted to native \path commands.
  • With the addition of the title page, having to use a music function to make sure the subsequent 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, rests, etc.
  • Painstakingly replicating every dynamic mark (staccato), pedaling, page breaks, fingering numbers, stem directions — everything.
  • I couldn’t get the pedal glyphs to match, and although I was able to font matching fonts on a web search (myfonts.com), they are non-standard and non-free.
  • Working 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!

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 upload stuff like 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 staccatissimo 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 discovered 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 on solo piano.

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. Nevertheless I’m sure Mr. MacLeod would cringe.

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 generating 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!

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 possible given enough time (worst case, it’s open source!)

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 below.

UPDATE! Read about the duet version!