I'm engraving some music using Lilypond and have been requested to engrave an alternate chord name next to a chord. For some reason I can't get the output I expected. What is wrong here (with either my Lilypond code or the music notation)?

    Chords = \chordmode {
      d2:m/f c/e:m 

This produces something like this:

Dm/F C/E

But I was expecting this:

Dm/F C/Em

There is an warning thrown to the console that says:

warning: Spurious garbage following chord: (chord-colon #<procedure minor-modifier (pitches)>)

Clearly it isn't happy with this notation, but even having reviewed the manual on Chord notation I don't see a reason this wouldn't work. Is there a proper way to notate this?

Edit: As best I can make out at this time the musician expected the guitar player to normally play one chord but that a piano player playing the same thing might optionally use a different chord. Some sort of optional substitution. Rather than having different scores they'd just been notating this in pencil with a sash and the other possible chord for that location. Is there a more proper notation for such a situation?

  • Anybody know why the first code block in this post is rendering as an empty box? My Markdown seems correct. Or does Stack Exchange have something against my Lilypond code syntax too?
    – Caleb
    Sep 1, 2015 at 9:32
  • I'm not sure about the Lilypond code, but what do you actually mean by C/Em? I would guess that Lilypond can only add bass notes under a chord symbol, but not a separate chord symbol.
    – Matt L.
    Sep 1, 2015 at 9:39
  • @MattL. Not being a musician myself (only the typesetter) I'm not exactly sure. This is perhaps the wrong notation entirely. It's what the musicians wanted written but I think what is an alternate chord (to play in place of the normal one in some circumstance, I don't think it was meant as a bass note. What would be the correct notation for such substitute chord?
    – Caleb
    Sep 1, 2015 at 10:17
  • I don't know what the intended meaning is; I think you should make that clear, otherwise the problem can't be solved.
    – Matt L.
    Sep 1, 2015 at 12:06
  • @MattL. See my edit for how I understand the scenario. If that doesn't make sense I'll try again. Keep in mind I'm not a musician myself and working around a three way language barrier between the folks that are!
    – Caleb
    Sep 1, 2015 at 12:26

2 Answers 2


The problem is that this is not a common notation, and the meaning of the symbol "C/Em" is unclear. What Lilypond can do - as you know - is add a letter after a slash, e.g. C/E, which means that you're supposed to play a C major triad with the note E in the bass.

What does exist are polychords where two different chords are stacked on top of each other. However, this is usually indicated by a horizontal line separating the two chord symbols. But I'm pretty sure that the notation C/Em does not imply a polychord with a C triad on top of an Em triad, simply because these two chords share two of their three notes, so such a polychord hardly makes any sense.

If it is, as you seem to believe, a substitute chord (probably Em replacing C major) then you could simply just write "Em" without mentioning the C chord at all. That's commonly done when substituting chords. The sheet music doesn't need to show which chord was substituted, just which chord has to be played. If the notation is supposed to leave the choice of the chord up to the musician, then I would suggest to write "C (Em)" or "Em (C)". The parentheses make it clear that the other chord is an option. I must add, however, that this is not very common, and just makes the reading more difficult. Musicians either want to play what's written (without thinking too much), or they know what they're doing anyway, and choose appropriate substitution chords themselves.

By the way, if you think that both chords should sound simultaneously (as I've just read in your edited question), possibly played by different instruments, then it would make sense to unify those two chords into one chord: C+Em = Cmaj7. The Cmaj7 chord has all four different chord tones of the C and Em triads: C E G (C major triad) + E G B (Em triad) = C E G B (C major seven chord).

I suggest that as long as the intended meaning of the symbol "C/Em" is unclear, it is useless to discuss how to engrave it. Given the intended meaning, you can come up with the most common typographic options, and only then will it make sense to investigate which of these options can be realized using Lilypond.

  • Uh, after the / comes a single bass note, not a chord. What is that even supposed to mean?
    – user23297
    Sep 1, 2015 at 9:58
  • Thanks, this helps me a lot sorting out what the what the musical options are so I know what questions to ask. Do you know how Lilypond would encode ether of those two notations? Or can you at least link to a piece of music that shows an example of a polychord and I can play around with it once I confirm what the goal is?
    – Caleb
    Sep 1, 2015 at 12:35
  • @Caleb: For the engraving of polychords, see this link (right at the end of the first sentence, after the colon). But I'm almost sure it's not a polychord. For using parentheses with chords see this link.
    – Matt L.
    Sep 1, 2015 at 13:21
  • Thanks, I hadn't found that latter one yet. Additionally this seems to be a workable solution for encoding polychords although the notation is a bit opaque to me not understanding very well what a chord even is.
    – Caleb
    Sep 1, 2015 at 13:26
  • 1
    @DrMayhem: I guess user23297's comment was supposed to be a comment for the OP, not for my answer.
    – Matt L.
    Sep 1, 2015 at 16:17

Like the other answers, I don't know what your notation is supposed to mean, but you can get (almost) anything you want using "chord name exceptions" to define your own markup.

To repeat, I have no idea if the notes c e g b are what your chord notation is supposed to mean - but if you only want chord symbols, the notes don't matter much.

\version "2.18.2"
% Define the notes in the chord and the markup following the basic chord name 
% i.e. C in this example

chExceptionMusic = { <c e g b>-\markup { / Em } }

% Magic incantation copied from the Lilypond documentation

chExceptions = #( append
  ( sequential-music-to-chord-exceptions chExceptionMusic #t)

% Define some chords

theMusic = { \chordmode { c1 c/e
% insert our weird chord notation
\set chordNameExceptions = #chExceptions c:maj7
% restore normality
\unset chordNameExceptions c:maj7 } }

% Create the score

<< \context ChordNames \theMusic
    \context Voice \theMusic

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.