Thursday, December 14, 2023

Chris Korda scores available

Scores are now FREELY available for many of my compositions! Please read the foreword. The scores were created using LilyPond, with a homegrown software to convert the MIDI files to Lily format.

Admirers of my classical music occasionally ask me for scores, and until now I've been hard-pressed for a solution. The proprietary vendors—Finale, Sibelius, Dorico—not only have big learning curves, they're also painfully expensive and likely to colonize my hard drive. I tried MuseScore, but found it lacking, and its more recent versions behave suspiciously like malware. So instead I opted for the hard road: LilyPond. The issue with LilyPond is that its MIDI import is so flawed that I deemed it necessary to write my own software to convert from MIDI file format to LilyPond format. This DIY approach probably would have been necessary anyway, due to the unique challenges that complex polymeter creates for musical notation.

Essentially LilyPond offloads much of the scoring process onto the user, so that it can focus primarily on engraving, which it does very well. For example, the user is responsible for ties, dots, tuplets, and so forth, and it took me several days to get all that sorted. In the process it became clear that certain aspects of my music defy notation. I will endeavor to explain these aspects, in the hope that the information is useful or at least entertaining.

The biggest problem is that my compositions often contain long arpeggios in which the notes overlap. I do this in order to maintain a consistent harmonic density. In other words, by extending note durations, I ensure that there are always the same number of notes sounding at once, typically four notes. In effect, the arpeggio produces a varying tetrachord, the pitches of which are constantly changing as new notes are added and older notes are removed.

This is a very different effect from merely pressing the sustain pedal. I rarely use the sustain pedal, because doing so juxtaposes too many notes at once, which is particularly problematic in atonal compositions due the potential for excessive dissonance. Also, in the virtual piano I use, the sustain pedal emulates opening the damper, producing complex and unpredictable acoustic effects, whereas merely increasing note durations so that notes overlap has a comparatively simple and predictable effect.

Arpeggios with overlapping notes are not only difficult to play, they’re also very difficult to score, because the score will be so full of ties that it’s nearly impossible to read. My impression is that the notation system doesn't handle this case very well. In any case, I decided to sacrifice verisimilitude in favor of readability, by eliminating all overlaps within each part, so that each part becomes a single-line melody. As is customary, I also removed all offset and swing from the composition prior to conversion. The biggest remaining challenge was detecting and correctly handling tuplets. It sounds easier than it is.

LilyPond includes two life-saving features. It has a bar check, which validates your LilyPond file to ensure that each bar's worth of notes, ties, tuplets, dots etc. actually add up to a bar. And, it can output a MIDI file that matches the engraved score. I built custom tools to compare the LilyPond MIDI file to my original MIDI file, and thus obtained "round-trip" verification that my compositions passed through the whole process undamaged. Whether the scores are to everyone's taste is another question, but at least they're "correct".

No comments:

Post a Comment

Heptatonic scales with a minor third

Which heptatonic scales consist entirely of semitones, whole tones, and a single minor third, without having two semitones in a row? The he...