bug-lilypond
[Top][All Lists]
Advanced

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

Re: Issue 687 in lilypond: Enhancement: inequal MIDI quantization of equ


From: lilypond
Subject: Re: Issue 687 in lilypond: Enhancement: inequal MIDI quantization of equal durations (swing, rubato)
Date: Sun, 19 Sep 2010 09:35:05 +0000


Comment #25 on issue 687 by arvidgr: Enhancement: inequal MIDI quantization of equal durations (swing, rubato)
http://code.google.com/p/lilypond/issues/detail?id=687

I took the liberty of fixing the two TODOs commenting in swingIt (so that e.g. a 4. would be scaled right) and trying it on a real-world example. The example is in copyright, so I can't post it here, but here's a few observations:

It looks swingIt must be called on a beat. If I'm on an upbeat, I have to compress that note manually. No surprise really.

Also, SimultaneousMusic isn't handled well. From what I observed, one voice will be swung and the other left straight. In some (or even most) cases, this will make the rythm go out of whack, giving barcheck errors and unreadable scores.

So as it is, it can't be used on all the music of a staff if that staff splits up into temporary voices. (Which is exactly what the piece of real music I was applying this to did all the time.) Workaround:

\swingIt { a8 a 4. a8 a }
  << { a8*2/3 | % as I said, manually.
       \swingIt { a8 a a a % ...
     }} >>
  << { b8*2/3 | \swingIt { b8 b b b % ...
     }} >>
;; ...etc.

And with that somewhat tedious workaround, it works!

Simultaneous music (temporary voices) could probably be handled by calling the working part of swingIt recursively.

Cheers,

-- Arvid

Attachments:
        swing.ly  2.8 KB




reply via email to

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