[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: help to manually fix conversion errors for beatLength from ~2.10 to
From: |
Kenneth Wolcott |
Subject: |
Re: help to manually fix conversion errors for beatLength from ~2.10 to 2.22.0 |
Date: |
Sun, 15 Aug 2021 11:42:49 -0700 |
Thank you Jean! Now I have more detail to explore and understand.
Ken
On Sun, Aug 15, 2021 at 11:27 AM Jean Abou Samra <jean@abou-samra.fr> wrote:
>
> Le 15/08/2021 à 00:36, Kenneth Wolcott a écrit :
> > Hi;
> >
> > I recently downloaded the Brahms Horn Trio from Mutopia.
> >
> > When using Lilypond 2.22.0 convert-ly I encountered only two errors.
> >
> > Not smart enough to convert beatLength.
> > Use baseMoment and beatStructure.
> >
> > cat -n HornMvtIII.lyi | grep beatLength
> > 75 \set Score.beatLength = #(ly:make-moment 3 16)
> > 77 \set Score.beatLength = #(ly:make-moment 3 8)
> >
> > I've looked in the Notation Reference.
> >
> > I'm not at all sure how to manually perform the conversion.
> >
> > Please advise.
> >
> > Thanks,
> > Ken Wolcott
>
>
> In older versions, the beaming inside a measure
> was controlled by the beatLength property. Notes
> would be beamed in groups of one beatLength each.
> For example,
>
> \relative c' {
> \time 12/8
> \set Score.beatLength = #(ly:make-moment 4 8)
> c8 c c c c c c c c c c c
> }
>
> would group notes by groups of 4 quarters, just like
>
> \relative c' {
> \time 12/8
> c8[ c c c] c[ c c c] c[ c c c]
> }
>
> whereas
>
> \relative c' {
> \time 12/8
> \set Score.beatLength = #(ly:make-moment 6 8)
> c8 c c c c c c c c c c c
> }
>
> was equivalent to
>
> \relative c' {
> \time 12/8
> c8[ c c c c c] c[ c c c c c]
> }
>
> Then came version 2.13.29 and the interface changed.
> Now, the groups in a measure need not necessarily have
> the same length. The grouping is controlled by beatStructure,
> which is a list of numbers indicating the length of
> the successive groups in a measure expressed as multiples
> of baseMoment. This is so you can do, for example,
>
> \relative c' {
> \time 4/4
> \set Score.beatStructure = 3,3,2
> \set Score.baseMoment = #(ly:make-moment 1/8)
> \set Score.beamExceptions = #'()
> c8 c c c c c c c
> }
>
> (the necessity for the \set Score.beamExceptions = #'() is
> explained at
> http://lilypond.org/doc/v2.22/Documentation/notation/beams#setting-automatic-beam-behavior
> ).
>
> The situation you have is summarized by the following snippet:
>
> \version "2.22.1"
>
> \relative c' {
> \key ees \major
> \time 6/8
> e'8[( b c])
> %\set Score.beatLength = #(ly:make-moment 3/16)
> des8.( c16) f aes |
> %\set Score.beatLength = #(ly:make-moment 3/8)
> }
>
> The purpose of the \set was to obtain the beaming
> of the last 16th notes in a separate group. You
> can just do it with explicit beams (most convenient as
> it's just one measure in the whole score).
>
> \version "2.22.1"
>
> \relative c' {
> \key ees \major
> \time 6/8
> e'8[( b c])
> des8.( c16)[ f aes] |
> }
>
> Alternatively, you could use baseMoment and beatStructure
> like so:
>
> \relative c' {
> \key ees \major
> \time 6/8
> \set Score.baseMoment = #(ly:make-moment 3 16)
> \set Score.beatStructure = 2,1,1
> e'8( b c)
> des8.( c16) f aes |
> % Restore defaults
> \set Score.baseMoment = #(ly:make-moment 1 8)
> \set Score.beatStructure = 3,3
> }
>
> Best,
> Jean