Jump to content

Stemlets: Difference between revisions

From LilyPond wiki
m New category
mNo edit summary
Line 1: Line 1:
In some notational conventions beams are allowed to extend over rests. Depending on preference, these beams may drop 'stemlets' to help the eye appreciate the rhythm better, and in some modern music the rest itself is omitted and only the stemlet remains.
In some notational conventions beams are allowed to extend over rests. Depending on preference, these beams may drop ‘stemlets’ to help the eye appreciate the rhythm better, and in some modern music the rest itself is omitted and only the stemlet remains.


This snippet shows a progression from traditional notation, to beams over the rest, to stemlets over the rest, to stemlets alone. Stemlets are generated by overriding the <code>'stemlet-length</code> property of <code>Stem</code>, while rests are hidden by setting <code>'transparent = ##t</code>.
This snippet shows a progression from traditional notation, to beams over the rest, to stemlets over the rest, to stemlets alone. Stemlets are generated by overriding the <code>stemlet-length</code> property of <code>Stem</code>, and rests are hidden by using <code>\hide</code>.


Some <code>\markup</code> elements are included in the source to highlight the different notations.
Some <code>\markup</code> elements are included in the source to highlight the different notations.


<lilypond version="2.24">
<lilypond version="2.24">
\paper { ragged-right = ##f }
\paper {
  ragged-right = ##f
}


{
{
   c'16^\markup { traditional } d' r f'
   c'16^\markup { traditional } d' r f'
   g'16[^\markup { beams over rests } f' r d']
   g'16[^\markup \column { "beams" "over rests" } f' r d']


   % N.B. use Score.Stem to set for the whole score.
   % N.B. use Score.Stem to set for the whole score.
   \override Staff.Stem.stemlet-length = #0.75
   \override Staff.Stem.stemlet-length = #0.75


   c'16[^\markup { stemlets over rests } d' r f']
   c'16[^\markup \column { "stemlets" "over rests" } d' r f']
   g'16[^\markup { stemlets and no rests } f'
   g'16[^\markup \column { "stemlets" "and no rests" } f'
   \once \hide Rest
   \once \hide Rest
   r16 d']
   r16 d']

Revision as of 19:15, 30 November 2025

In some notational conventions beams are allowed to extend over rests. Depending on preference, these beams may drop ‘stemlets’ to help the eye appreciate the rhythm better, and in some modern music the rest itself is omitted and only the stemlet remains.

This snippet shows a progression from traditional notation, to beams over the rest, to stemlets over the rest, to stemlets alone. Stemlets are generated by overriding the stemlet-length property of Stem, and rests are hidden by using \hide.

Some \markup elements are included in the source to highlight the different notations.

\version "2.24"

\paper {
  ragged-right = ##f
}

{
  c'16^\markup { traditional } d' r f'
  g'16[^\markup \column { "beams" "over rests" } f' r d']

  % N.B. use Score.Stem to set for the whole score.
  \override Staff.Stem.stemlet-length = #0.75

  c'16[^\markup \column { "stemlets" "over rests" } d' r f']
  g'16[^\markup \column { "stemlets" "and no rests" } f'
  \once \hide Rest
  r16 d']
}