Grouping instrument names with square brackets

If you want to label a group of instruments (staves, voices), you can draw lines to create your own shapes that mimic the appearance of the square brackets used by the SystemStartSquare system start delimiter (see “Grouping staves” in the Notation Reference). Adjust the numerical values in the \score block below as needed for your score.

\version "2.24"

%%% Approach suggested by Kieren MacMillan in
%% https://lists.gnu.org/archive/html/lilypond-user/2026-01/msg00293.html
choirI = \new Staff \with {
  instrumentName = "Choir I"
} { \repeat unfold 48 c'' }

sopII = \new Staff \with {
  instrumentName = "Soprano II"
} { \repeat unfold 48 g' }

altoII = \new Staff \with {
  instrumentName = "Alto II"
} { \repeat unfold 48 e' }

tenorII = \new Staff \with {
  instrumentName = "Tenor II"
} { \clef "treble_8" \repeat unfold 48 c' }

bassII = \new Staff \with {
  instrumentName = "Bass II"
} { \clef bass \repeat unfold 48 c }

\layout {
  indent = 30
}

\score {
  <<
    \new StaffGroup \with {
      \override InstrumentName.padding = #-2
      instrumentName = \markup {
        \hspace #-12.6
        \rotate #90 \override #'(baseline-skip . 1) \center-column {
          \bold Decani
          \concat { \draw-line #'(0 . -1) \draw-line #'(4 . 0) \draw-line #'(0 . -1) }
        }
      }
    } \choirI
    \new StaffGroup \with {
      \override InstrumentName.padding = #-2
      instrumentName = \markup \translate #'(-9.5 . 0) {
        \hspace #-14
        \rotate #90 \override #'(baseline-skip . 1) \center-column {
          \bold Cantoris
          \concat { \draw-line #'(0 . -1) \draw-line #'(29.5 . 0) \draw-line #'(0 . -1) }
        }
      }
    }
    <<
      \sopII
      \altoII
      \tenorII
      \bassII
    >>
  >>
}