Hi Adam,

I have tried lots of solutions for this. I am thinking this cannot be
satisfactorily done in lilypond at this time. The attached solution
works up to a point, but the chord names clash. Using really large
paper - which I also tried - to gain space such as architectural A0
does not seem practical for a music stand, although technically it
solves the clashing problem.

I am not sure that it is currently entirely reasonable to expect that
chordnames can be laid out proportionally the same as notes. Perhaps a
development request?

Mr Vromans on the list has a chord chart program called playtab -
perhaps you could export something to that. It may be a case of using
the right tool for the job.


Andrew


On 15 March 2017 at 11:11, Adam Spiers <lilypond-u...@adamspiers.org> wrote:
> Hi all,
>
> How can I achieve proportional spacing when I only have chord names
> and bar lines, and no staff or notes?  Attached is a file with a very
> naive attempt which fails to achieve this; corrections would be most
> welcome.
>
> For the curious, the background and motivation behind this question is
> as follows:
>
> I have a transcription of a jazz solo by John Coltrane which I made
> several years ago.[0]  It contains chord symbols which I produced via
> manual analysis to match the harmony of his improvisation, rather than
> the (much simpler) chord progression of the 12-bar blues over which he
> was improvising.  Therefore the chords are different for each of the 8
> choruses of the solo.
>
> It would be very instructive to produce a clear visualisation of the
> harmonic variations he uses in each chorus, so I have dropped the
> notes of the solo from the .ly file, leaving only the chords, rendered
> in landscape, with all the choruses vertically stacked on top of each
> other, one per line.  This should allow easy visual comparison of any
> part of the 12-bar progression simply by scanning vertically at that
> point within the progression.  However this vertical scan only works
> effectively if all the choruses are vertically aligned, hence the need
> for proportional spacing.
>
> Thanks a lot in advance for any hints!
> Adam
>
> [0] http://blog.adamspiers.org/2013/01/28/cello-lessons-from-a-dead-genius/
\version "2.19.56"
\include "english.ly"

\paper {
  #(set-paper-size "a3" 'landscape)
  indent = 0
}

allchords = \chordmode {
  \time 4/4
  \set minorChordModifier = \markup { "-" }

  \mark \markup { \box "1" }
  | ef1:m9   | af:7           | ef1:m9 | s
  | af:13    | s              | ef:m7  | s2 ef2:m9
  | bf1:7   | af2:m7/bf bf:9+ | ef1    | s
  \bar "||"
  \break
  % chorus 2
  \mark \markup { \box "2" }
  | ef:7     | af2.:7 a4:dim  | ef1    | bf2:m7+ ef:m
  | af1:7.9  | s2 a:dim       | ef1    | s2 c:7.9-
  | f1:m7+   | f2:m7+ bf:7    | ef1:7  | s
  \bar "||"
  \break
  % chorus 3
  \mark \markup { \box "3" }
  | ef:7     | af2:7 af:7.11+ | bf1:m11/ef   | e:maj7.5+/bf
  | af:7.11+ | s2 af:7.9-     | ef1:maj7     | s2. c4:7.9-
  | f2:sus4 f:m7+ | bf1:7     | s2. f4:m7/bf | bf:7 f:m7/bf bf2:7
  \bar "||"
  \break
  % chorus 4
  \mark \markup { \box "4" }
  | ef1:7    | bf:7.9-                | ef:7              | s4 e2.:m7/ef
  | af1:7.9- | af4:7.11+ gf2.:maj7/af | ef2.:maj7 c4:7.9- | s8 ef:maj7 s4 bf2:7.9-.9+
  | f1:m7+  | bf2.:7 bf4:9-.10-.11+.13- | ef1:maj7        | s2 bf:7.9-
  \bar "||"
  \break
  % chorus 5
  \mark \markup { \box "5" }
  | ef1:7    | af2:7 ef:m7.6-    | ef1:7            | bf2:m7 ef:7
  | af1:7.9  | bf:7.9-.13-       | bf4 ef f:m c:m7  | bf4:7 b2.:7
  | f1:m7    | b2.:maj/bf bf4:m7 | bf4:m ef2.:6-.9  | bf1:7
  \bar "||"
  \break
  % chorus 6
  \mark \markup { \box "6" }
  | ef1:7    | af:9                    | ef:m7                  | bf2:m7 ef:7.9-.10-.11+.13-
  | af1:13   | bf4.:7.9- ef4:m7 bf4.:7 | ef4.:maj f8.:m7+ g4..:m | s4 g:m fs:m f:m7+
  | f1:m7.7+ | bf:7.9-.10-.11+.13-     | ef2. e4                | f2:m bf:7.9-.10-.11+.13-
  \bar "||"
  \break
  % chorus 7
  \mark \markup { \box "7" }
  | s4 ef2.:7 | af1:m       | r4 bf2:m7 ef4 | bf2:m7 ef4:7 e/ef
  | af1:m7.9  | af:m7.9     | ef2.:maj f4:m | ef2.:maj/g fs4:m
  | f1:m7     | bf:m7       | ef:7          | f2:m7 bf:7.9-.13-
  \bar "||"
  \break
  % chorus 8
  \mark \markup { \box "8" }
  | ef1       | af                     | ef:7   | bf4:m ef2.:7
  | af1:7     | af:7                   | g:m7   | fs:m7
  | f:m7.11   | bf2:sus4.13- e:maj7/bf | ef1    | f2:m7+ bf:7
  \bar "||"
}



\score {
  \new ChordNames = "allchords" \with {
    \override ChordName.X-offset = #ly:self-alignment-interface::aligned-on-x-parent
    %\override ChordName.self-alignment-X = #CENTER
    \override ChordName.self-alignment-X = #LEFT
    \override BarLine.bar-extent = #'(-2 . 2)
    \consists Bar_engraver
  }
  {
    \allchords
  }


  \layout {
    \context {
      \Score
      proportionalNotationDuration = #(ly:make-moment 1/4)
      \override SpacingSpanner.uniform-stretching = ##t
      \override SpacingSpanner.strict-note-spacing = ##t

      \override ChordName.font-size = #0
      \remove Bar_number_engraver
      
      \override ChordName.extra-spacing-width=#'(+inf.0 . -inf.0)
    }

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

Reply via email to