lilypond-devel
[Top][All Lists]
Advanced

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

Re: Microrhythm


From: Hans Åberg
Subject: Re: Microrhythm
Date: Tue, 22 May 2018 09:56:45 +0200

> On 22 May 2018, at 06:01, metachromatic <address@hidden> wrote:

>  Different percentages of microrhythm will require correspondingly
> larger tuplets, and, due to the bad design decision to represent
> rhythms internally in Lilypond as integers, you'll soon run out of
> integers to represent extremely large tuplets as the microrhythm
> fraction changes. This is a fatal flaw in Lilypond's design which of
> course no one has ever bothered to fix and never will lift a finger to
> fix.
> 
>  The solution from the point of view of the progammers is to hurl
> insults at people like me who point out the design flaw. The solution
> from the point of view of users is to abandon Lilypond and use a MIDI
> editor to change the number of MIDI ticks in each microrhythm note,
> bypassing Lilypond's limitation of integer internal representation of
> durations. Standard stuff. As always, users regard programmers as a
> form of damage, and route around them.
> 
>   BTW, it's trivial in Lilypond to get the program to print out
> entirely irrational time signatures or note values with square root
> (or third root, or whatever) appended. Turn the time signature off and
> then enter code to get Lilypond to print the radical sign with
> appropriate numbers inside, etc, while approximating irrational time
> signature and/or note values with a large integer ratio. The same
> problem applies, however -- Lilypond does OK if you use one or two
> irrational tuplet values, like (say) 3 in the time of the square root
> of 11, or the square root of 17 in the time of the cube root of 71,
> but if you include more than a handful of different such irrational
> values you quickly run out of integers with which to represent such
> numbers internally within Lilypond, and the program barfs and says
> "moment not increasing. Aborting interpretation" and halts.  Since
> this is a major bug, naturally it has never been addressed, and
> obviously it never will be addressed by any of the Lilypond
> programmers. Standard, usual, typical, and quotidian.

When I did that, I used continued fractions; see [1], which gives some useful 
algorithms. They converge very quickly, and one can refine to a suitable 
degree. In music, one does not need very large denominators, as the timing 
quickly becomes fine enough.




reply via email to

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