# How to change the symbol of time signature in Lilypond

Instead of the big C or numerical time signature, I must use the symbol "サ". This time signature "サ" is common in many Chinese music pieces, it means "freely". How do I achieve this with Lilypond? Many thanks in advance!

• If that sign means freely, and doesn't really refer to bars specifically like a standard time signature does, why put anything in there anyway?
– Tim
Nov 8, 2020 at 12:53
• @Tim it's just an established notating method in many east Asia pieces. Many traditional east Asian piece have very different rhythmic than traditional western music. Specific to the piece I am engraving, only the first section is "freely", after that the western rhythmic kicks in. Somewhere in the middle it's "freely" again, so I will need this symbol to mark exactly where the rhythmic should be freely..... Nov 8, 2020 at 13:44
• Huh, so the Chinese borrowed that symbol from the Japanese? It looks an awful lot like katakana to me.... Nov 8, 2020 at 13:48
• @Dekkakeci it's actually another way around....the Japanese borrowed symbols from Chinese, and then simplified them. Nov 8, 2020 at 13:51
• @NicoleNaumann - Now I recall reading that katakana is made of simplified kanji portions. However, I find it suspicious that the time signature symbol looks just like katakana, to the point that I still find it easier to believe that the Chinese borrowed that symbol back from the Japanese. Nov 9, 2020 at 8:47

Lilypond has the great ability to make anything look like anything. Really, any object has a property stencil, which tells Lilypond how the object should be rendered, and it can be overridden by whatever you want. If you override it with #ly:text-interface::print, you can then specify any markup in a property called text.

In your case, I would use any time signature (doesn't matter which one since it is being replaced with the character), override its stencil and immediately switch to a cadenza mode, like this:

\once\override Staff.TimeSignature.stencil = #ly:text-interface::print
\once\override Staff.TimeSignature.text = \markup{\fontsize #8 "サ" }
\once\override Staff.TimeSignature.extra-offset = #'(0 . -2)
\time 4/4



Edit: Apparently you can drop the \time 4/4 and it will still work okay. Thanks to @timbo.

I needed to make the Chinese character a lot bigger with \fontsize, and then shift it vertically by setting the extra-offset property, so that it is nicely centered. By the way, the cadenza mode is a bit of pain to use: each barline must be given with \bar "|", linebreaks can occur only at "invisible bars" made with \bar "", accidentals are remembered forever and the beaming is switched off, so you must specify all the beams manually with [ and ].

Then you could get something like this:

Here is a lilybin for you (it's a web app where you can write Lilypond snippets and they are compiled into PDF which is immediately rendered). However, they apparently don't have proper Chinese fonts installed, so I had to use the letter "A" instead.

• Can the explicit \time 4/4 be dropped as that is the default? Nov 7, 2020 at 23:58
• @timbo, it turns out it can. I didn't actually think it would work. Nov 8, 2020 at 0:02
• Thank you so much Ramillies, you saved my day!!! Nov 8, 2020 at 0:42

You can make the time signature transparent with \override Staff.TimeSignature.transparent = ##t

e.g.

\version "2.20"

title =   "Transparent Key Signature"
}

righthand =  {
\key c \major
\override Staff.TimeSignature.transparent = ##t
\clef "treble"
\relative c'' {
c2-1 d e1 f2 e d r \bar "|."
}
}

\score {
\context Staff = "one" <<
\righthand
>>
\layout { }
}


However the time signature is a pretty important aspect that will dictate how bars are structured (and defaults to 4/4 as still seen in the example)

You probably want to read the section on Unmetered music sometimes also referred to as free time

As for adding the character サ, that looks like the Japanese katakana 'sa' rather than a Chinese character. And サ is phonetic, it has no inherent meaning. You may want to doublecheck your source.

Defering to ramillies answer as he's listing better overrides