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 <[email protected]> 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
[email protected]
https://lists.gnu.org/mailman/listinfo/lilypond-user