Attached (for ease of reading this post, code not embedded) is a simple
project that has a staff for C Major and all Major flat keys.  Above each
7th chord is the chord name.

I want to add below the chord, treble clef, the associated Roman numeral
description of each chord.

I.E. on the C Major I would have I, the Dm7 would have ii7 with the 7 in
superscript, the Em7 would have iii7 with the 7 in superscript, etc.

I see several avenues for this but I don't see an avenue where I can write
the code once and use many times. I want the Roman numerals to appear for
all keys and don't want an overly clutter code.

Can someone point me in the correct direction?

Best regards,
Lance
\version "2.18.2"

\header {
  title = "Root Position 7th Chords"
  composer = "Lance James"
}

harmonies = \chordmode {
  c1:maj7 d:m7 e:m7 f:maj7 g:7 a:m7 b:m7.5- \break
  f1:maj7 g:m7 a:m7 bes:maj7 c:7 d:m7 e:m7.5- \break
  bes1:maj7 c:m7 d:m7 ees:maj7 f:7 g:m7 a:m7.5- \break
  ees1:maj7 f:m7 g:m7 aes:maj7 bes:7 c:m7 d:m7.5- \break
  aes1:maj7 bes:m7 c:m7 des:maj7 ees:7 f:m7 g:m7.5- \break
  des1:maj7 ees:m7 f:m7 ges:maj7 aes:7 bes:m7 c:m7.5- \break
  ges1:maj7 aes:m7 bes:m7 ces:maj7 ces:7 ees:m7 f:m7.5- \break
  ces1:maj7 ees:m7 fes:m7 fes:maj7 ges:7 aes:m7 bes:m7.5- \break
}

keychangevisual = {
  \set Staff.explicitKeySignatureVisibility = #end-of-line-invisible
  \set Staff.printKeyCancellation = ##f
  \override Staff.KeySignature.break-visibility = #begin-of-line-visible
}
cmajortreble = {
  \clef treble \key c \major \time 4/4
  <c e g b>1 <d f a c>1 <e g b d>1 <f a c e>1 <g b d f>1 <a c e g>1 <b d f a>1
}
fmajortreble = {
  \keychangevisual
  \key f \major \break
  <f a c e>1  <g bes d f>1 <a c e g>1 <bes d f a>1 <c e g bes>1 <d f a c>1 <e g bes d>1
}
bflatmajortreble = {
  \keychangevisual
  \key bes \major \break
  <bes, d f a>1  <c ees g bes>1 <d f a c>1 <ees g bes d>1 <f a c ees>1 <g  bes d f>1 <a c ees g>1
}
eflatmajortreble = {
  \keychangevisual
  \key ees \major \break
  <ees g bes d>1  <f aes c ees>1 <g bes d f>1 <aes c ees g>1 <bes d f aes>1 <c  ees g bes>1 <d f aes c>1
}
aflatmajortreble = {
  \keychangevisual
  \key aes \major \break
  <aes, c ees g>1  <bes des f aes>1 <c ees g bes>1 <ees g bes des>1 <f aes c ees>1 <g  bes des f>1 <aes c ees g>1
}
dflatmajortreble = {
  \keychangevisual
  \key des \major \break
  <des,,f aes c>1  <ees ges bes des>1 <f aes c ees>1 <ges bes des f>1 <aes c ees ges>1 <bes  des f aes>1 <c ees ges bes>1
}
gflatmajortreble = {
  \keychangevisual
  \key ges \major \break
  <ges bes des f>1  <aes ces ees ges>1 <bes des f aes>1 <ces ees ges bes>1 <des f aes ces>1 <ees  ges bes des>1 <f aes ces ees>1
}
cflatmajortreble = {
  \keychangevisual
  \key ces \major \break
  <ces ees ges bes>1  <des fes aes ces>1 <ees ges bes des>1 <fes aes ces ees>1 <ges bes des fes>1 <aes  ces ees ges>1 <bes des fes aes>1
}
cmajorbass = {
  \clef bass \key c \major  \time 4/4
  <c e g b>1 <d f a c>1 <e g b d>1 <f a c e>1 <g b d f>1 <a c e g>1 <b d f a>1
}
fmajorbass = {
  \keychangevisual
  \key f \major \break
  <f a c e>1  <g bes d f>1 <a c e g>1 <bes d f a>1 <c e g bes>1 <d f a c>1 <e g bes d>1
}
bflatmajorbass = {
  \keychangevisual
  \key bes \major \break
  <bes d f a>1  <c ees g bes>1 <d f a c>1 <ees g bes d>1 <f a c ees>1 <g  bes d f>1 <a c ees g>1
}
eflatmajorbass = {
  \keychangevisual
  \key ees \major \break
  <ees, g bes d>1  <f aes c ees>1 <g bes d f>1 <aes c ees g>1 <bes d f aes>1 <c  ees g bes>1 <d f aes c>1
}
aflatmajorbass = {
  \keychangevisual
  \key aes \major \break
  <aes c ees g>1  <bes des f aes>1 <c ees g bes>1 <ees g bes des>1 <f aes c ees>1 <g  bes des f>1 <aes c ees g>1
}
dflatmajorbass = {
  \keychangevisual
  \key des \major \break
  <des,,f aes c>1  <ees ges bes des>1 <f aes c ees>1 <ges bes des f>1 <aes c ees ges>1 <bes  des f aes>1 <c ees ges bes>1
}
gflatmajorbass = {
  \keychangevisual
  \key ges \major \break
  <ges bes des f>1  <aes ces ees ges>1 <bes des f aes>1 <ces ees ges bes>1 <des f aes ces>1 <ees  ges bes des>1 <f aes ces ees>1
}
cflatmajorbass = {
  \keychangevisual
  \key ces \major \break
  <ces ees ges bes>1  <des fes aes ces>1 <ees ges bes des>1 <fes aes ces ees>1 <ges bes des fes>1 <aes  ces ees ges>1 <bes des fes aes>1
}
dmajorbass  = {
  \keychangevisual
  \key d \major \break
  <d, fis a cis>1 <e g b d>1 <fis a cis e>1 <g b d fis>1 <a cis e g>1 <b d fis a>1 <cis e g b>1
}
upper = \relative c' {
  \cmajortreble
  \fmajortreble
  \bflatmajortreble
  \eflatmajortreble
  \aflatmajortreble
  \dflatmajortreble
  \gflatmajortreble
  \cflatmajortreble
}
lower = \relative c, {
  \cmajorbass
  \fmajorbass
  \bflatmajorbass
  \eflatmajorbass
  \aflatmajorbass
  \dflatmajorbass
  \gflatmajorbass
  \cflatmajortreble
}
\score {
  <<
    \new PianoStaff <<
      \new ChordNames {
        \set chordChanges = ##t
        \harmonies
      }
      \new Staff = "upper" \upper
      \new Staff = "lower" \lower
    >>
  >>
  \layout {
    \context { \Staff \RemoveEmptyStaves }
  }
  \midi { }
}

_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user

Reply via email to