How nine characters ring sixty rows
Ringing does not have a score. It has place notation: a string that says, for each row, which bells stand still. Everything that does not stand still swaps with the bell beside it. That is the entire rule set, and it is enough.
&x16x16x16,12
Plain Bob Minor, written the way a ringer writes it.
x · 16 · x · 16 · x · 16
x is the change where nobody stands and every bell swaps. 16 means the bells in first and sixth place hold while the middle four cross.
x 16 x 16 x 16 x 16 x 16 x
It means the block is a palindrome: run it out and back again without repeating the middle change. Six written changes become eleven.
… x · 12
The lead end. One bell is held back where plain hunt would have sent it home, and that single held bell is what stops the whole thing repeating after twelve rows.
Twelve changes make a lead, five leads make a course, and the course closes on rounds with none of its sixty rows repeated. Nothing was composed. It fell out of the string.
The library
Every notation here is the real one. The test suite rings each method from rounds and refuses the file if a course does not come home true at the length it claims, so a typo fails the build rather than ringing something else under a famous name.
Built with no audio files. Every note on this page is seven sine partials in the ratios a bell founder tunes to, decaying at different rates, beating against themselves because a cast bell is never quite round.