lilypond-user
[Top][All Lists]
Advanced

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

Lessons learned from big data files & removing Bar_engraver (was Re: Com


From: Mike Solomon
Subject: Lessons learned from big data files & removing Bar_engraver (was Re: Compiling files with lots of data)
Date: Wed, 03 Jun 2009 09:20:44 -0400
User-agent: Microsoft-Entourage/11.4.0.080122

Hey all,
    I finally figured out a workaround - if one knows the exact length of
her piece (say it is 3**7 32nd notes) and one knows the shortest duration in
the piece (say 32nd notes), then NOT removing the Bar_engraver, keeping \set
Score.timing = ##f, and adding a Voice { \repeat unfold 2187 { s32 \bar "" }
} takes 1hr on my machine compared to the 14 of the \remove Bar_engraver
solution.  In the documentation for 2.12.0, I believe it suggests removing
the Bar_engraver as an option when making barless music - until the two
solutions take a comparable time to compile, I think an asterisk should be
added mentioning this discrepancy.
    To convince yourself, try the following 2 minimal examples:

1) Quick way :
\version "2.13.0"
\new Score \with { 
                proportionalNotationDuration = #(ly:make-moment 1 4)
                \override TimeSignature #'stencil = ##f
        } { 
    \new Staff = "foo" { \set Score.timing = ##f { \repeat unfold 2000 a4 }
\\ { \repeat unfold 2000 s4 \bar "" } }
}
\layout {
        \context {
                \Voice
                \remove Stem_engraver
                \remove Beam_engraver
        }
}
2) Slow way :
\version "2.13.0"
\new Score \with { 
                proportionalNotationDuration = #(ly:make-moment 1 4)
                \override TimeSignature #'stencil = ##f
        } { 
    \new Staff = "foo" { \set Score.timing = ##f \repeat unfold 2000 a4 }
}
\layout {
      \context {
                \Staff
                \remove Bar_engraver
        }
        \context {
                \Voice
                \remove Stem_engraver
                \remove Beam_engraver
        }
}


Of course, I am always on the lookout for a better way than either of these,
so if you know of one, please let me know!

~Mike

On 6/2/09 9:19 AM, "Mike Solomon" <address@hidden> wrote:

> Hey,
>     The piece is not from MIDI input, but rather was generated
> algorithmically in Python (thus the rigidity of the layout that you picked
> up on).  All of the spaces are intentional.  In my newest attempted compile
> of the work (I killed the old one in a fit of self doubt), I removed the
> beam engraver and the stem engraver in addition to the bar engraver.  I also
> changed all of the 32nd notes to quarter notes (as every note in the piece
> was a 32nd note, they are all now quarter notes).  So, to summarize:
>     Bar_engraver gone
>     Stem_engraver gone
>     Beam_engraver gone
>     proportionalNotationDuration = #(ly:make-moment 1 4)
>     Slightly more than 2*(3**7) quarter notes (without stems)
>     Grob count: 24833
> 
>     On hour 15 of my new compile...  Keep the suggestions coming!
> 
> ~Mike
> 
> 
> On 6/2/09 12:17 AM, "-Eluze" <address@hidden> wrote:
> 
>> 
>> is this from midi input?
>> 
>> if so you should be sure to apply appropriate "--allow-tuplet=" options.
>> also, "funny" durations like s32*231 could indicate some kind of grace notes
>> in the original music
>> 
>> see 
>> 
http://lilypond.org/doc/v2.12/Documentation/user/lilypond-program/Invoking-mi>>
d
>> i2ly
>> 
http://lilypond.org/doc/v2.12/Documentation/user/lilypond-program/Invoking-mi>>
d
>> i2ly 
>> for more details
>> furthermore, specific Voice options - eg. \voiceOne - should be added
>> manually
> 
> 
> 
> 
> _______________________________________________
> lilypond-user mailing list
> address@hidden
> http://lists.gnu.org/mailman/listinfo/lilypond-user
> 






reply via email to

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