[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: feathered beam calculations

From: Reggie
Subject: Re: feathered beam calculations
Date: Fri, 21 Dec 2018 12:22:42 -0700 (MST)

Reggie wrote
> Aaron Hill wrote
>> Given the current implementation, it would be necessary to use an 
>> approximate rational like 50/63 as the moment in order to get 'f' to be 
>> half of 'c'.  Why that number?  Well, it's a close approximation to the 
>> irrational cube root of one half.  We determine this exact value by 
>> taking the desired ratio (1/2) and raising it to the reciprocal of the 
>> number of scaling steps between the first and last notes (three, in this 
>> case, which becomes the fraction 1/3).  (1/2)^(1/3) is about 0.7937; and 
>> 50/63 is roughly 0.79365.
>> But before we get lost in the murky details of whether the implemented 
>> behavior is right or the documentation is right, let us circle back 
>> around to a key point that I feel has not been stressed enough.
>> This means your score really should be bar check clean *before* you ever 
>> use \featherDurations.  
>> I said earlier we would talk about bar checks *within* the feathered 
>> sequence of notes.  Consider the following addition to our example:
>>      << { r64 \featherDurations #(ly:make-moment 2/1)
>>               { c32*127/14[ d e f g a | b] } }
>>         { r64 \featherDurations #(ly:make-moment 2/1)
>>               { c32*63/12[ d e f g a] } | b1 }
>>         { r64 { c64 d32 e16 f8 g4 a2 } | b1 } >>
>> You'll see that the 'b' is included within the beamed notes.  Because we 
>> now have seven notes covering the period of two measures less one 64th, 
>> we had to adjust our scaling fraction to 127/14.  However, what is most 
>> important is that \featherDurations fixes the timing of the notes to 
>> allow the inside bar check to pass.  Omit it, and you'll see that the 
>> bar check fails.  But also try changing the 2/1 moment to anything else, 
>> and the bar check will also fail.
>> What we have here is a very fragile element in the score that can be 
>> easily avoided by never requiring any note (apart from the first) within 
>> a feathered sequence to align to anything else.  The final 'b' above 
>> should properly be outside the feathered sequence (or possibly start a 
>> new sequence of its own).  In this way, the math to ensure all of the 
>> sequences have the right lengths can be done completely independent of 
>> \featherDurations.
>> Hopefully some of this will be helpful.
>> -- Aaron Hill
>> _______________________________________________
>> lilypond-user mailing list
>> lilypond-user@
> Aaron that makes sense but only if you have failed bar checks before
> feathering. Let's say you have a perfect score with no fails. And now you
> want to simply insert feather beamed notes only in one measure but have
> them
> spaced out according to the speed accelerando ritard as standard. How do
> you
> even begin to know what math * * * * you should be doing when there is no
> math to do in the first place??? NO bar check math because everything is
> already fine. Why can't you just spread out the notes according to how
> feathers are supposed to? Prove me please. Here look.
> \relative c'
> {
>   \override Beam.grow-direction = #LEFT
>   \featherDurations #(ly:make-moment 2/1)
>   c32[ d e f g f e f d f g f d e d f] c4~c | c1 |
> }
> My CODE has no errors. And yet the 2/1 does NOT space out any notes at ALL
> it's just normal beamed notes with fancy feathers. What math do I need how
> does one even know what math to use since there are no bar bad checks?
> See?
> :))
> --
> Sent from:
> _______________________________________________
> lilypond-user mailing list

> lilypond-user@


I gave a small example. Please provide help so I can be wrong :))

What math can I do to my example from up above to show the space out correct
from 2/1?
(in other words c32*127/14) but for my example. No clues for me.

Sent from:

reply via email to

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