On 27/09/2025 16:39, Simon Albrecht wrote:
Hi everyone,

I figured this could be another entry for what might be a loose series, please let me know if I should knock it off or keep it going.

Entering many chords in succession gets cumbersome quick, especially in relative mode with wide intervals:

\relative { <c g' e'> <c a' f'> <c bes' g'> <c a' f'> | <c g' e'>1 }

But the <> alone add up.

This gets a lot easier knowing that <<>> aren’t just for different Voices or Staffs, they can be for simultaneous music within one Voice (or other Bottom context):

\context Bottom <<
   { c4 4 4 4  1 }
   { g4 a b a  g1 }
   \relative { e'4 f g f  e1 }
 >>

has the exact same output and meaning as the first version, but it’s much easier to type and read and understand.

If you explicitly created the Voice (or other Bottom context? IDK what other contexts this might apply to), you don’t need the \context Bottom part.

HTH, Simon


I appreciate the saving of typing effort, but as a long-time programmer I am a great believer in Saying What You Mean. This is saying one thing, but meaning something else; that the two happen to generate the same output is irrelevant.

I would prefer to define a "makeChordSequence" function that takes your arguments and produces the right output. You may consider the difference to be merely cosmetic, but the use of the function conveys information to a reader that this really is chords and not some number of parallel voices.



Reply via email to