4

How do you get two voices to double the same dotted note in LilyPond?

Goal

Let's say I'm trying to reproduce the simple four-voice example below, where tenor and bass double the G.

Goal

Attempt #1

\version "2.18.2" \language "english"

\new PianoStaff <<
  \new Staff = "right" \relative c' {
    \time 3/2 << {e1 d2 | d1.} \\ {c1 c2 | b1.} >>
  } \new Staff = "left" \relative c {
    \time 3/2 \clef bass << {a'1 a2 | g1.} \\ {e1 fs2 | g1.} >>
  }
>>

LilyPond's default output is unsatisfactory. The dot is too far removed from the left note, which appears to be a whole note instead of a dotted whole.

Attempt #1 - Output

Attempt #2

\version "2.18.2" \language "english"

\new PianoStaff <<
  \new Staff = "right" \relative c' {
    \time 3/2 << {e1 d2 | d1.} \\ {c1 c2 | b1.} >>
  } \new Staff = "left" \relative c {
    \time 3/2 \clef bass << {a'1 a2 | g1.} \\ {e1 fs2 | \once \override NoteColumn.force-hshift = #2.0 g1.} >>
  }
>>

Forcing an h-shift fails to correct the issue. I am also unable to tweak the dots individually because LilyPond apparently keeps them in the same DotColumn.

Is there any way to split dots up into multiple DotColumns for notes that sound simultaneously?

Attempt #2 - Output


Note This is a simplistic example. My actual application is a piano piece where a dotted quarter note appears coincident with a dotted half note. The dot appears too far away from the notehead, so the time value of one of the notes appears to change.

  • For your actual application, \mergeDifferentlyHeadedOn may be all you need, if it is clear enough what follows the dotted quarter note. An alternative would be to replace the dotted quarter note with a rest, unless the music really is polyphonic. – user19146 Feb 19 '17 at 14:44
3

I am also unable to tweak the dots individually because LilyPond apparently keeps them in the same DotColumn.

This is not true. Although the notes may be grouped in the same DotColumn, it is still possible to tweak them individually. The following solution produces the required output:

\version "2.18.2" \language "english"


\new PianoStaff <<
  \new Staff = "right" \relative c' {
    \time 3/2 << {e1 d2 | d1.} \\ {c1 c2 | b1.} >>
  } \new Staff = "left"\relative c {
    \time 3/2 \clef bass << {a'1 a2 | \once \override Dots.extra-offset = #'(-3.15 . -1) g1.} \\ {e1 fs2 | \once \override NoteColumn.force-hshift = #1.1 g1.} >>
  }
>>
  • This does not appear to work for dots on chords, however, only dots on single notes. To "move" dots on chords, it is possible to hide the original dots, then superimpose single-note voices with transparent stems/noteheads to manually "draw" the dots at the correct positions. – Gooseberry Feb 21 '17 at 7:22
1

Well, your dotted half + dotted quarter problem obviously is different from the dotted whole + dotted whole problem.

For either the correct approach would seem like filing a bug report. In order to avoid unnecessary work, it would likely have been the best option from the start to ask on the LilyPond user list or file a report: that way you engage the same people for finding a short-term workaround that are actually likely to do a long-term fix.

This is Free Software: it requires the participation of its users to thrive. This involves reporting bugs, discussing problems, helping other users which you see having similar problems and so on. Its developers and user base are active and helpful. Getting the best value out for oneself and others requires adopting a different stance regarding participation than with proprietary software where often user input is already blocked at the gates.

  • Good answer, well written. Welcome to the Music StackExchange! – L3B Feb 19 '17 at 8:28
  • 2
    But if you fill in a bug report for something that is not a bug, and the solution is already documented, you will get a rather frosty response. Remember that unlike commercial software support staff, the Lilypond developers don't get paid to answer user queries, and the more time they spend doing that, the less time they spend actually developing the software! – user19146 Feb 19 '17 at 14:48

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.