Skip to main content
revise formulas
Source Link
benrg
  • 493
  • 3
  • 9

I think the issue is that you want different tempos in parallel parts. LilyPond doesn't support that. It internally tracks time in whole notes, not seconds. If the measures in parallel parts are to have the same length (on the page) then they must have the same internal length in wholes.

There's an exampleThere are examples in the documentation of what I think you want in the Polymetric notation section. YouIn general, you need to:

  • Pick a value Linternal to serve asan "internal tempo", which may match the internal measure length
  • Applynotated tempo of one or more parts. \scaleDurations with(The formulas below assume the argument Linternalunits for tempos are wholes/Lactual to each partminute or similar, so larger is faster.)
  • Use \time withWrite the internal lengthnotated tempo for each part as an argumentmarkup. Since it's uninterpreted by LilyPond, but \set Staff.timeSignatureFraction to the time signature you wantcan write whatever you like, including values rounded to actually appear on the pagethree decimal places.
  • If you want the correct tempo in MIDI output, set \tempo to Linternal = (1 minute / duration), and possibly \omit it so it doesn't printIn each part write something like
    \time (notated measure duration * internal tempo / notated tempo)
    \set Staff.timeSignatureFraction = (notated measure duration)
    \scaleDurations (internal tempo / notated tempo) {
      ...
    }

If you want unaligned measure boundaries then you also need \enablePolymeter as shown in the second example in the documentation.

If you want the speed of MIDI output to be correct, add \tempo followed by the internal tempo to the \midi block, or \omit \tempo somewhere in the score. If you don't care about MIDI then it's not necessary.

I think the issue is that you want different tempos in parallel parts. LilyPond doesn't support that. It internally tracks time in whole notes, not seconds. If the measures in parallel parts are to have the same length (on the page) then they must have the same internal length in wholes.

There's an example in the documentation of what I think you want in the Polymetric notation section. You need to:

  • Pick a value Linternal to serve as the internal measure length
  • Apply \scaleDurations with the argument Linternal/Lactual to each part
  • Use \time with the internal length as an argument, but \set Staff.timeSignatureFraction to the time signature you want to actually appear on the page
  • If you want the correct tempo in MIDI output, set \tempo to Linternal = (1 minute / duration), and possibly \omit it so it doesn't print

I think the issue is that you want different tempos in parallel parts. LilyPond doesn't support that. It internally tracks time in whole notes, not seconds. If the measures in parallel parts are to have the same length (on the page) then they must have the same internal length in wholes.

There are examples in the documentation of what I think you want in the Polymetric notation section. In general, you need to:

  • Pick an "internal tempo", which may match the notated tempo of one or more parts. (The formulas below assume the units for tempos are wholes/minute or similar, so larger is faster.)
  • Write the notated tempo for each part as markup. Since it's uninterpreted by LilyPond, you can write whatever you like, including values rounded to three decimal places.
  • In each part write something like
    \time (notated measure duration * internal tempo / notated tempo)
    \set Staff.timeSignatureFraction = (notated measure duration)
    \scaleDurations (internal tempo / notated tempo) {
      ...
    }

If you want unaligned measure boundaries then you also need \enablePolymeter as shown in the second example in the documentation.

If you want the speed of MIDI output to be correct, add \tempo followed by the internal tempo to the \midi block, or \omit \tempo somewhere in the score. If you don't care about MIDI then it's not necessary.

edited body
Source Link
benrg
  • 493
  • 3
  • 9

I think the issue is that you want different tempos in parallel parts. LilyPond doesn't support that. It internally tracks time in whole notes, not seconds. If the measures in parallel parts are to have the same length (on the page) then they must have the same internal length in wholes.

There's an example in the documentation of what I think you want in the Polymetric notation section. You need to:

  • Pick a value Linternal to serve as the internal measure length
  • Apply \scaleDurations with the argument Lactualinternal/Linternalactual to each part
  • Use \time with the internal length as an argument, but \set Staff.timeSignatureFraction to the time signature you want to actually appear on the page
  • If you want the correct tempo in MIDI output, set \tempo to Linternal = (1 minute / duration), and possibly \omit it so it doesn't print

I think the issue is that you want different tempos in parallel parts. LilyPond doesn't support that. It internally tracks time in whole notes, not seconds. If the measures in parallel parts are to have the same length (on the page) then they must have the same internal length in wholes.

There's an example in the documentation of what I think you want in the Polymetric notation section. You need to:

  • Pick a value Linternal to serve as the internal measure length
  • Apply \scaleDurations with the argument Lactual/Linternal to each part
  • Use \time with the internal length as an argument, but \set Staff.timeSignatureFraction to the time signature you want to actually appear on the page
  • If you want the correct tempo in MIDI output, set \tempo to Linternal = (1 minute / duration), and possibly \omit it so it doesn't print

I think the issue is that you want different tempos in parallel parts. LilyPond doesn't support that. It internally tracks time in whole notes, not seconds. If the measures in parallel parts are to have the same length (on the page) then they must have the same internal length in wholes.

There's an example in the documentation of what I think you want in the Polymetric notation section. You need to:

  • Pick a value Linternal to serve as the internal measure length
  • Apply \scaleDurations with the argument Linternal/Lactual to each part
  • Use \time with the internal length as an argument, but \set Staff.timeSignatureFraction to the time signature you want to actually appear on the page
  • If you want the correct tempo in MIDI output, set \tempo to Linternal = (1 minute / duration), and possibly \omit it so it doesn't print
I think I posted too hastily
Source Link
benrg
  • 493
  • 3
  • 9

I think the issue is that you want different tempos in parallel parts. LilyPond doesn't support that. It internally tracks time in whole notes, not seconds. If the measures in parallel parts are to have the same length (on the page) then they must have the same internal length in wholes.

There's an example in the documentation of what I think you want in the Polymetric notation section. You need to:

  • Pick a value Linternal to serve as the internal measure length
  • Apply \scaleDurations with the argument Lactual/Linternal to each part
  • Use \time with the internal length as an argument, but \set Staff.timeSignatureFraction to the time signature you want to actually appear on the page
  • If you want the correct tempo in MIDI output, set \tempo to Linternal = (1 minute / duration), and possibly \omit it so it doesn't print

I think the issue is that you want different tempos in parallel parts. LilyPond doesn't support that. It internally tracks time in whole notes, not seconds. If the measures in parallel parts are to have the same length (on the page) then they must have the same internal length in wholes.

There's an example in the documentation of what I think you want in the Polymetric notation section.

I think the issue is that you want different tempos in parallel parts. LilyPond doesn't support that. It internally tracks time in whole notes, not seconds. If the measures in parallel parts are to have the same length (on the page) then they must have the same internal length in wholes.

There's an example in the documentation of what I think you want in the Polymetric notation section. You need to:

  • Pick a value Linternal to serve as the internal measure length
  • Apply \scaleDurations with the argument Lactual/Linternal to each part
  • Use \time with the internal length as an argument, but \set Staff.timeSignatureFraction to the time signature you want to actually appear on the page
  • If you want the correct tempo in MIDI output, set \tempo to Linternal = (1 minute / duration), and possibly \omit it so it doesn't print
I think I posted too hastily
Source Link
benrg
  • 493
  • 3
  • 9
Loading
Source Link
benrg
  • 493
  • 3
  • 9
Loading