Unmetered music: An alternative to \cadenzaOn

If your music is unmetered, you might use \cadenzaOn. But \cadenzaOn will disable automatic measure demarcation, and when it is applied, the \bar command will not start a new measure.

If you want the features that come with measure demarcation (e.g., resetting accidentals, automatic bar numbering, automatic beaming), the following approach may be useful. It combines \omit TimeSignature with a Devnull context containing a timing (measure demarcation) variable.

If you use Frescobaldi, you may find its built-in duration counter helpful for computing values to enter into your measure-demarcation variable. Look below your code window for “Length: #/#” to the right of the Line and Col counters. Highlight a measure of music input in your code to see Frescobaldi’s automatic counting of its length.

See also “Unmetered music” in the Notation Reference and the snippet Free meter – increasing the bar number wherever you want.

\version "2.24"

\header {
  title = "Example from an Anglican chant"
  subtitle = "Double chant in D major (second half)"
  subsubtitle = "Composed by John Soaper (1743–1794)"
}

\layout {
  \context {
    \Staff
    \omit TimeSignature
  }
  \context {
    \ChoirStaff
    \accidentalStyle choral-cautionary
  }
}

%% Define a variable that will go in a Devnull context: 
measures = {
  \time 8/4 s1*2 \bar "||"
  \time 13/4 s4*13 \bar "|."
  % Continue adding time signatures, spacer rests, 
  % and (if desired) custom bar lines 
  % for each subsequent “measure” of your music: 
  % \time XX/4 s4*XX
}

global = {
  \key d \major
  % Notice that if you enable \cadenzaOn, 
  % you will lose the features of 
  % automatic measure demarcation: 
  % \cadenzaOn
}

soprano = \relative c'' {
  \global
  a2 a4 gis4 fis1 | 
  % Barchecks with | are helpful 
  % to confirm that your \measures variable 
  % has correct durations in it 
  a1 d2 g,4 fis4 e4 d1 | 
}

alto = \relative c' {
  \global
  fis2 fis4 eis4 fis1 | 
  fis1 fis2 e4 d4 cis4 d1 | 
}

tenor = \relative c' {
  \global
  cis2 cis4 b4 a1 | 
  d1 d2 b4 a4 a8 g8 fis1 | 
  \tweak direction #DOWN \tweak font-size #-1
  \textEndMark "Real Anglican chant; music altered slightly for illustrative purposes"
}

bass = \relative c {
  \global
  fis2 cis4 cis4 fis1 | 
  d1 b2 g4 a4 a4 d1 | 
}

\score {
  \new ChoirStaff <<
    %% Add your variable to a Devnull context: 
    \new Devnull \measures
    \new Staff <<
      \new Voice = "soprano" { \voiceOne \soprano }
      \new Voice = "alto" { \voiceTwo \alto }
    >>
    \new Staff <<
      \clef bass
      \new Voice = "tenor" { \voiceOne \tenor }
      \new Voice = "bass" { \voiceTwo \bass }
    >>
  >>
}