Automatic beaming with rest

classic Classic list List threaded Threaded
19 messages Options
Reply | Threaded
Open this post in threaded view
|

Automatic beaming with rest

foxfanfare
Hi all,

I have a score to write with a lot of beaming upon rests. Here is a short
example:

\relative c' {
  c8 c c c c c c c
  c r c r c r c r
  c[ r c] r c[ r c] r
}

By default LP make the beam duration of a half note in 4/4.
But is there a way to make the second line of my example to look like my
third line without writing manually the brackets each time?



--
Sent from: http://lilypond.1069038.n5.nabble.com/User-f3.html

_______________________________________________
lilypond-user mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user
Reply | Threaded
Open this post in threaded view
|

Re: Automatic beaming with rest

Kieren MacMillan
Hi there!

> is there a way to make the second line of my example to look like my
> third line without writing manually the brackets each time?

The documentation explicitly says “the autobeamer will not put beams over rests or bar lines” (<http://lilypond.org/doc/v2.19/Documentation/notation/beams#manual-beams>). I hope someone [with real Scheme-fu] offers you a function/callback/hack that will do it automagically, since I sometimes need the same thing!

Of course, you could write a music function to handle it — but you wouldn’t save much typing over the manual process, so that wouldn’t really be worth it…

Cheers,
Kieren.
________________________________

Kieren MacMillan, composer
‣ website: www.kierenmacmillan.info
‣ email: [hidden email]


_______________________________________________
lilypond-user mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user
Reply | Threaded
Open this post in threaded view
|

Re: Automatic beaming with rest

foxfanfare
Kieren MacMillan wrote
> The documentation explicitly says “the autobeamer will not put beams over
> rests or bar lines”
> (&lt;http://lilypond.org/doc/v2.19/Documentation/notation/beams#manual-beams&gt;).
> I hope someone [with real Scheme-fu] offers you a function/callback/hack
> that will do it automagically, since I sometimes need the same thing!

Thanks Kieren, I read this page before posting, but the example that is
written in this chapter is really unconventional. That's why it seems
logical to put the bracket there.

But in my case, it is a typical engraving rule and I was wondering if I
wasn't missing a little option like
  \set BeamOverRest = ##t

:-) Apparently I'm not! ;-)




--
Sent from: http://lilypond.1069038.n5.nabble.com/User-f3.html

_______________________________________________
lilypond-user mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user
Reply | Threaded
Open this post in threaded view
|

Re: Automatic beaming with rest

Kieren MacMillan
Hey there,

> But in my case, it is a typical engraving rule and I was wondering if I
> wasn't missing a little option like
>  \set BeamOverRest = ##t

I would love that option. Maybe submit it as a formal request?

Cheers,
Kieren.
________________________________

Kieren MacMillan, composer
‣ website: www.kierenmacmillan.info
‣ email: [hidden email]


_______________________________________________
lilypond-user mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user
Reply | Threaded
Open this post in threaded view
|

Re: Automatic beaming with rest

David Kastrup
Kieren MacMillan <[hidden email]> writes:

> Hey there,
>
>> But in my case, it is a typical engraving rule and I was wondering if I
>> wasn't missing a little option like
>>  \set BeamOverRest = ##t
>
> I would love that option. Maybe submit it as a formal request?

Too much handwaving.  It is not clear what that option would be supposed
to do when.

--
David Kastrup

_______________________________________________
lilypond-user mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user
Reply | Threaded
Open this post in threaded view
|

Re: Automatic beaming with rest

Kieren MacMillan
Hi David,

> It is not clear what that option would be supposed to do when.

The auto-beamer should beam according to the settings that it would apply if there were no rests.

Seems perfectly clear to me… but maybe that’s because I want the feature.  =)

Cheers,
Kieren.
________________________________

Kieren MacMillan, composer
‣ website: www.kierenmacmillan.info
‣ email: [hidden email]


_______________________________________________
lilypond-user mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user
Reply | Threaded
Open this post in threaded view
|

Re: Automatic beaming with rest

David Kastrup
Kieren MacMillan <[hidden email]> writes:

> Hi David,
>
>> It is not clear what that option would be supposed to do when.
>
> The auto-beamer should beam according to the settings that it would
> apply if there were no rests.
>
> Seems perfectly clear to me… but maybe that’s because I want the feature.  =)

So if you have a bar containing only rests, the autobeamer places beams
over them?

--
David Kastrup

_______________________________________________
lilypond-user mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user
Reply | Threaded
Open this post in threaded view
|

Re: Automatic beaming with rest

Kieren MacMillan
Hi David,

> So if you have a bar containing only rests, the autobeamer places beams over them?

LOL
Sure, we can play this game…

An automatic beam must start from a note and end at a second note.

Cheers,
Kieren.
________________________________

Kieren MacMillan, composer
‣ website: www.kierenmacmillan.info
‣ email: [hidden email]


_______________________________________________
lilypond-user mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user
Reply | Threaded
Open this post in threaded view
|

Re: Automatic beaming with rest

Br. Samuel Springuel
In reply to this post by Kieren MacMillan
On 2019-04-02 11:05 AM, Kieren MacMillan wrote:
> The auto-beamer should beam according to the settings that it would apply if there were no rests.

I don't think it's quite that simple as rests that begin or end beam
groups wouldn't have beams over them, only ones in the middle.

It might be more accurate to say that if a rest were replaced by a note
of the same duration then any beams which the auto-beamer would draw
which connect this hypothetical note to both the note immediately before
it *and* immediately after it should be drawn over the rest.

--
✝✝✝✝✝✝✝✝✝✝✝✝✝✝✝✝✝✝✝✝✝✝✝✝✝✝
Br. Samuel, OSB
(R. Padraic Springuel)
St. Anselm’s Abbey
4501 South Dakota Ave, NE
Washington, DC, 20017
202-269-2300
(c) 202-853-7036

PAX ☧ ΧΡΙΣΤΟΣ

_______________________________________________
lilypond-user mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user
Reply | Threaded
Open this post in threaded view
|

Re: Automatic beaming with rest

Kieren MacMillan
In reply to this post by Kieren MacMillan
p.s.

Before you ask: Yes, it would be great to include the option/parameter to extend across *all* rests that fall within the "beat" as defined for the beam, even if they fall outside the compass of the two "boundary notes" for the auto beam.

Kieren.
________________________________

Kieren MacMillan, composer
‣ website: www.kierenmacmillan.info
‣ email: [hidden email]


_______________________________________________
lilypond-user mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user
Reply | Threaded
Open this post in threaded view
|

Re: Automatic beaming with rest

Kieren MacMillan
In reply to this post by Br. Samuel Springuel
Hi there,

> I don't think it's quite that simple as rests that begin or end beam groups wouldn't have beams over them, only ones in the middle.

Not strictly true: in modern scores, the beam could easily extend over those rests (especially if stemlets are used). We just need to give the user options/parameters to determine how to handle those cases.

In any case, I think working out the logic behind an autobeam-over-rest functionality that easily satisfies the vast majority of people’s needs isn’t nearly as difficult as perhaps some people think.

Cheers,
Kieren.
________________________________

Kieren MacMillan, composer
‣ website: www.kierenmacmillan.info
‣ email: [hidden email]


_______________________________________________
lilypond-user mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user
Reply | Threaded
Open this post in threaded view
|

Re: Automatic beaming with rest

David Kastrup
In reply to this post by Kieren MacMillan
Kieren MacMillan <[hidden email]> writes:

> Hi David,
>
>> So if you have a bar containing only rests, the autobeamer places
> beams over them?
>
> LOL
> Sure, we can play this game…

It's not a game to work out specs.  It's not optional.  Computers don't
do handwaving.

> An automatic beam must start from a note and end at a second note.

So if we have

{ \time 4/4 c'8 r4 c'8 8 8 8 8 }

will there be a beam across r4?  What if we have r8 r8 instead?  Do
beaming exceptions count for rests?

--
David Kastrup

_______________________________________________
lilypond-user mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user
Reply | Threaded
Open this post in threaded view
|

Re: Automatic beaming with rest

David Kastrup
In reply to this post by Kieren MacMillan
Kieren MacMillan <[hidden email]> writes:

> p.s.
>
> Before you ask: Yes, it would be great to include the option/parameter
> to extend across *all* rests that fall within the "beat" as defined
> for the beam,

What is the "beat" as defined for the beam?

> even if they fall outside the compass of the two "boundary notes" for
> the auto beam.

--
David Kastrup

_______________________________________________
lilypond-user mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user
Reply | Threaded
Open this post in threaded view
|

Re: Automatic beaming with rest

Kieren MacMillan
In reply to this post by David Kastrup
Hi David,

> So if we have
> { \time 4/4 c'8 r4 c'8 8 8 8 8 }
> will there be a beam across r4?

Would there be a beam across

   c'8 c'4 c'8

? If yes, then yes; if no, then no.

> What if we have r8 r8 instead?

Would there be a beam across

  c'8 c'8 c'8 c'8

? If yes, then yes; if no, then no.

> Do beaming exceptions count for rests?

I would think so… but I’ll have to look more closely at exactly how beam exceptions work.

Cheers,
Kieren.
________________________________

Kieren MacMillan, composer
‣ website: www.kierenmacmillan.info
‣ email: [hidden email]


_______________________________________________
lilypond-user mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user
Reply | Threaded
Open this post in threaded view
|

Re: Automatic beaming with rest

Kieren MacMillan
In reply to this post by David Kastrup
Hi David,

> What is the "beat" as defined for the beam?

Perhaps I should use the word "moment"… Example: In 3/4, one can set the autobeamer to beam sub-quarter notes as 3, or 2+1, or 1+2, or 1+1+1 (or even other options, I suppose). The moment an auto-beam encompasses (as a result of the current settings) is the "beat" I was talking about.

Cheers,
Kieren.
________________________________

Kieren MacMillan, composer
‣ website: www.kierenmacmillan.info
‣ email: [hidden email]


_______________________________________________
lilypond-user mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user
Reply | Threaded
Open this post in threaded view
|

Re: Automatic beaming with rest

Carl Sorensen-3


On 4/2/19, 9:41 AM, "Kieren MacMillan" <[hidden email]> wrote:

    >Hi David,
   
    >> What is the "beat" as defined for the beam?
   
    > Perhaps I should use the word "moment"… Example: In 3/4, one can set the autobeamer to beam sub-quarter notes as 3, or 2+1, or 1+2, or 1+1+1 (or even other options, I suppose). The moment an auto-beam encompasses (as a result of the current settings) is the "beat" I was talking about.
   
I think that if we can get smarter autobeaming (like we need to do to get subdivision and tuplets done right) we can do beaming over rests.  Probably we need to do a two-pass beam check to get the autobeaming right for subdivision, and if we do two-pass, we can beam over rests.  Right now, with our one-pass algorithm, a rest stops the beam.

Carl

 

_______________________________________________
lilypond-user mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user
Reply | Threaded
Open this post in threaded view
|

Re: Automatic beaming with rest

Kieren MacMillan
Hi Carl,

> I think that if we can get smarter autobeaming (like we need to do to get subdivision and tuplets done right) we can do beaming over rests.  Probably we need to do a two-pass beam check to get the autobeaming right for subdivision, and if we do two-pass, we can beam over rests.

That’s encouraging! Thanks for the information.

Cheers,
Kieren.
________________________________

Kieren MacMillan, composer
‣ website: www.kierenmacmillan.info
‣ email: [hidden email]


_______________________________________________
lilypond-user mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user
Reply | Threaded
Open this post in threaded view
|

Re: Automatic beaming with rest

Flaming Hakama by Elaine
In reply to this post by foxfanfare

---------- Forwarded message ----------
From: David Kastrup <[hidden email]>
To: Kieren MacMillan <[hidden email]>
Cc: foxfanfare <[hidden email]>, Lilypond-User Mailing List <[hidden email]>
Bcc: 
Date: Tue, 02 Apr 2019 17:33:07 +0200
Subject: Re: Automatic beaming with rest
Kieren MacMillan <[hidden email]> writes:

> p.s.
>
> Before you ask: Yes, it would be great to include the option/parameter
> to extend across *all* rests that fall within the "beat" as defined
> for the beam,

What is the "beat" as defined for the beam?

> even if they fall outside the compass of the two "boundary notes" for
> the auto beam.

--
David Kastrup

I would love to have this type of option, since I often do beaming for certain complex rhythms.
My suggestion would be to have a configuration option for "beam the beat":

* If the beat has no notes, and only rests, there is no beam
* If the beat has exactly one note, and no rests, then there is no beam
* If the beat has at least one actual note, and additionally either at least one more note, or at least one rest, then beam over all notes/rests in that beat.


While I personally hate stemlets, in the interest in accommodating others who do, it might be good to have another option that determines whether there should be stemlets.  With the default being no stemlets.


Thanks,

Elaine Alt
415 . 341 .4954                                           "Confusion is highly underrated"
[hidden email]
Producer ~ Composer ~ Instrumentalist ~ Educator
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
 

_______________________________________________
lilypond-user mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user
Reply | Threaded
Open this post in threaded view
|

Re: Automatic beaming with rest

Shevek
I agree with this, but I can imagine the following distinct engraving styles:

1. Beam over rests only when the beam both begins and ends with a note.
2. Also beam over initial rests.
3. Also beam over final rests.

Further, I can imagine wanting e.g. c16[ r c r], rather than c16[ r c] r, but in the same piece preferring c8 r rather than c8[ r] at the end of a phrase.

There would need to be a convenient way of cancelling beam over rest. What is the opposite of c8[ r c]?

Saul

On Tue, Apr 2, 2019, 2:03 PM Flaming Hakama by Elaine <[hidden email]> wrote:

---------- Forwarded message ----------
From: David Kastrup <[hidden email]>
To: Kieren MacMillan <[hidden email]>
Cc: foxfanfare <[hidden email]>, Lilypond-User Mailing List <[hidden email]>
Bcc: 
Date: Tue, 02 Apr 2019 17:33:07 +0200
Subject: Re: Automatic beaming with rest
Kieren MacMillan <[hidden email]> writes:

> p.s.
>
> Before you ask: Yes, it would be great to include the option/parameter
> to extend across *all* rests that fall within the "beat" as defined
> for the beam,

What is the "beat" as defined for the beam?

> even if they fall outside the compass of the two "boundary notes" for
> the auto beam.

--
David Kastrup

I would love to have this type of option, since I often do beaming for certain complex rhythms.
My suggestion would be to have a configuration option for "beam the beat":

* If the beat has no notes, and only rests, there is no beam
* If the beat has exactly one note, and no rests, then there is no beam
* If the beat has at least one actual note, and additionally either at least one more note, or at least one rest, then beam over all notes/rests in that beat.


While I personally hate stemlets, in the interest in accommodating others who do, it might be good to have another option that determines whether there should be stemlets.  With the default being no stemlets.


Thanks,

Elaine Alt
415 . 341 .4954                                           "Confusion is highly underrated"
[hidden email]
Producer ~ Composer ~ Instrumentalist ~ Educator
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
 
_______________________________________________
lilypond-user mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user

_______________________________________________
lilypond-user mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user