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