Re: proportional spacing for chords?
On 15 March 2017 at 18:12, David Wright wrote: > I took your source and changed two things: > a4 → a0 > 64/256 → 1/32 > and it looks superficially ok to me. Thanks, that was the hint I needed! > Perhaps you just have a room problem. Yes, I guess there are some hidden constraints on spacing around ChordNames which were pushing the bar lines around. It would still be good to understand how LilyPond positions ChordNames, and which parameters could be tweaked to affect this, so that I could get away with bigger fonts ... but this is a good enough solution. > I've made limited use of > proportional notation, very useful for certain pieces, but I > would prefer the music to look like a proper score rather than > have some rigorous mathematical constraint applied to the > notes. So I've never expected the barlines in each system to > line up exactly with the others. Sure, but my use case is different. The goal is not to render a proper score, but to render something for easy comparison of the different chord sequences used in each chorus, and for this vertical alignment is essential. It's especially important in order to show when Coltrane anticipates (pushes) or postpones (pulls) any particular change of tonality, as this forms a crucial part of the tension and release he controls so masterfully. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: proportional spacing for chords?
On Thu 16 Mar 2017 at 12:40:28 (+1100), Andrew Bernard wrote: > 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. But isn't that the primary aim? I just assumed that growing the paper is the same as shrinking the global score size, but a lot less bother for a proof of concept. You experts can probably push the lines of chords closer together (vertical spacing was never my forte) to produce a ribbon. Then there are plenty of tools for slicing and dicing PDFs. I use pdfjam myself; a vital tool in a country where A4 paper is virtually unknown. Perhaps SVG is a possibility. (That assumes you aren't just going to use a rolling display on a screen.) > 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? If it's easy and isn't going to involve a period when proportional gets messed up for the rest of us. But if it's difficult, aren't there more profitable developments to make to LP. We have demonstrated a methodology for achieving what the OP asked for (I think; I haven't had any feedback but it's only been 8 hours or so). There's even a second string: stack with simultaneous music. The midi is irrelevant: it's quite usual to generate midi in a separate \score. > 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. (I'm ignorant about this.) > On 15 March 2017 at 11:11, Adam Spiers wrote: > > 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. Cheers, David. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: proportional spacing for chords?
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 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
Re: proportional spacing for chords?
On Wed 15 Mar 2017 at 16:07:31 (+), Adam Spiers wrote: > On 15 March 2017 at 14:33, Robert Schmaus wrote: > > Am 15/03/2017 um 14:54 schrieb Adam Spiers: > >> On 15 March 2017 at 13:45, Robert Schmaus wrote: > >>> How about this: > >>> > >>> \context { > >>> \Score > >>> proportionalNotationDuration = #(ly:make-moment 1/10) > >>> \override SpacingSpanner.uniform-stretching = ##t > >>> } > >> > >> That's what I was already trying ... > > > > I know - but in your file the proportionalNotationDuration was set to 64/256 > > ... with 1/10, the chords are placed furher apart. Maybe it's too far apart > > with 1/10 but with smaller font size, you can navigate to some value that's > > better. > > I tried with several different values, and beyond a certain fraction, > the results > were always the same, i.e. roughly proportional if barlines are omitted, and > hopelessly non-proportional if barlines are included :-/ > > ___ > lilypond-user mailing list > lilypond-user@gnu.org > https://lists.gnu.org/mailman/listinfo/lilypond-user I took your source and changed two things: a4 → a0 64/256 → 1/32 and it looks superficially ok to me. (It would have been nice to have a conventional score available as a crib. I'm not prepared to start comparing the source with the display.) Perhaps you just have a room problem. I've made limited use of proportional notation, very useful for certain pieces, but I would prefer the music to look like a proper score rather than have some rigorous mathematical constraint applied to the notes. So I've never expected the barlines in each system to line up exactly with the others. Cheers, David. chd.pdf Description: Adobe PDF document ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: proportional spacing for chords?
On 15 March 2017 at 14:33, Robert Schmaus wrote: > Am 15/03/2017 um 14:54 schrieb Adam Spiers: >> On 15 March 2017 at 13:45, Robert Schmaus wrote: >>> How about this: >>> >>> \context { >>> \Score >>> proportionalNotationDuration = #(ly:make-moment 1/10) >>> \override SpacingSpanner.uniform-stretching = ##t >>> } >> >> That's what I was already trying ... > > I know - but in your file the proportionalNotationDuration was set to 64/256 > ... with 1/10, the chords are placed furher apart. Maybe it's too far apart > with 1/10 but with smaller font size, you can navigate to some value that's > better. I tried with several different values, and beyond a certain fraction, the results were always the same, i.e. roughly proportional if barlines are omitted, and hopelessly non-proportional if barlines are included :-/ ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: proportional spacing for chords?
On 15 March 2017 at 14:35, Klaus Blum wrote: > Adam Spiers-5 wrote >> On 15 March 2017 at 12:28, Simon Albrecht wrote: >>> why not put all the music expressions in one score in >>> parallel? >> But please could you give an example of how to do that, bearing in mind that >> there are no notes or staves, only chord names? > >basically the structure would be like this: > > << > \new ChordNames { ... } > \new ChordNames { ... } > ... >>> > >But please consider that you will need more horizontal space, because the >different choruses lose their individual spacing. That's fine. Gaps are expected and desired. >Therefore I reduced the >staff size to prevent an automatic line break. That's fine too. I don't have any restrictions on page size or font size. >Nevertheless, having strictly proportional spacing would eat up even more >space. Yes, but that's really what I need, to make it clear where additional chords appear within each bar. Viewing a 12-bar chorus (or any jazz chord sheet, really) just doesn't make much sense without proportional spacing. >Different Rehearsal marks at the same time are only possible by moving the >Mark_engraver to the ChordNames context. Instead, I "abused" instrumentName. Yeah, that's slightly unfortunate but tolerable - another reason why a non-parallel solution would be nicer. >Blue-Train-chords-parallel.ly Thanks a lot! If you find a way to get this proportionally spaced then that would be good enough for me. But I suspect if you do, the parallelisation wouldn't bring any additional benefit ... ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: proportional spacing for chords?
Hi Adam, Adam Spiers-5 wrote > On 15 March 2017 at 12:28, Simon Albrecht < > simon.albrecht@ > > wrote: >> why not put all the music expressions in one score in >> parallel? > But please could you give an example of how to do that, bearing in mind > that > there are no notes or staves, only chord names? basically the structure would be like this: << \new ChordNames { ... } \new ChordNames { ... } ... >> But please consider that you will need more horizontal space, because the different choruses lose their individual spacing. Therefore I reduced the staff size to prevent an automatic line break. Nevertheless, having strictly proportional spacing would eat up even more space. Different Rehearsal marks at the same time are only possible by moving the Mark_engraver to the ChordNames context. Instead, I "abused" instrumentName. Cheers, Klaus Blue-Train-chords-parallel.ly <http://lilypond.1069038.n5.nabble.com/file/n201133/Blue-Train-chords-parallel.ly> -- View this message in context: http://lilypond.1069038.n5.nabble.com/proportional-spacing-for-chords-tp201117p201133.html Sent from the User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: proportional spacing for chords?
Am 15/03/2017 um 14:54 schrieb Adam Spiers: On 15 March 2017 at 13:45, Robert Schmaus wrote: Hi Adam, you're right ... I might have changed something else. Anyway, applying the overrides to the Score seems to be the correct way. I tried your file. Maybe you'll have to insert more line breaks - some of your bars get rather long, so the other will have to get more space too. That can be addressed via \override ChordName.font-size = #-2 Adding extra line breaks is not an option considering the original goal of vertically stacking choruses. How about this: \context { \Score proportionalNotationDuration = #(ly:make-moment 1/10) \override SpacingSpanner.uniform-stretching = ##t } That's what I was already trying ... I know - but in your file the proportionalNotationDuration was set to 64/256 ... with 1/10, the chords are placed furher apart. Maybe it's too far apart with 1/10 but with smaller font size, you can navigate to some value that's better. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: proportional spacing for chords?
On 15 March 2017 at 12:28, Simon Albrecht wrote: > Am 15.03.2017 um 01:11 schrieb Adam Spiers: >> 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. > > Excuse me, but why not put all the music expressions in one score in > parallel? Mainly because I already had the chords as a single continuous "stream", obtained by removing the notes and staves from the existing transcription. And semantically it's more correct to represent it this way, rather than as 8 chord sequences which all happen in parallel. For example a MIDI rendering of the latter would be hopelessly wrong. But if that's the only way to achieve it then I'm open to the idea. > That would be the more conventional/simpler approach to vertical > alignment… I'm not sure it would be more conventional bearing in mind the above, and I'm also not sure it would be simpler given that (IIUC) it would require 8 chord sequences all happening in parallel. But please could you give an example of how to do that, bearing in mind that there are no notes or staves, only chord names? Thanks! ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: proportional spacing for chords?
Am 15.03.2017 um 01:11 schrieb Adam Spiers: 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. Excuse me, but why not put all the music expressions in one score in parallel? That would be the more conventional/simpler approach to vertical alignment… However, I do get the point of proportional spacing for such a purpose. Just my 2cts :-) Best, Simon ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: proportional spacing for chords?
On 15 March 2017 at 05:48, Robert Schmaus wrote: > Just a thought - you apply the SpacingSpanner modifications to context > \Score ... did you already try to apply those to context \ChordNames > instead? That *does* change something, but I'm not sure if it is what you > want ... > > Cool analysis, by the way! I just tried that, but I couldn't see any difference at all. What difference do you see? Any chance you could provide the .ly from the way you tried it? Thanks! ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: proportional spacing for chords?
Just a thought - you apply the SpacingSpanner modifications to context \Score ... did you already try to apply those to context \ChordNames instead? That *does* change something, but I'm not sure if it is what you want ... Cool analysis, by the way! Best, Robert Am 15/03/2017 um 01:11 schrieb Adam Spiers: 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/ ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
proportional spacing for chords?
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/ \include "english.ly" \header { composer = "John Coltrane" title = "Blue Train" arranger = \markup { \right-column { "transcribed for cello by Adam Spiers" \italic \small "chords represent harmonic analysis of the solo, not changes" } } } global = { \key ef \major \time 4/4 } allchords = { \new ChordNames = "chords" \with { \override BarLine.bar-extent = #'(-2 . 2) \consists "Bar_engraver" } { \chordmode { \global \set minorChordModifier = \markup { "-" } %\set additionalPitchPrefix = "" % chorus 1 \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 "||" } } } \paper { #(set-paper-size "a4" 'landscape) } \score { \allchords \layout { \context { \Score \remove "Bar_number_engraver" proportionalNotationDuration = #(ly:make-moment 64/256) \override SpacingSpanner.uniform-stretching = ##t \override Score.SpacingSpanner.strict-note-spacing = ##t } indent = #0 } } ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user