lilypond-user
[Top][All Lists]
Advanced

[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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]