I'm wondering, is music notation language Turing-Complete?
My first thought is that there are loops in musical notation, but there is no way to write conditional branches, right?
I'm not a musician, so perhaps someone can help fill in the gaps?
turing-completeness
I'm wondering, is music notation language Turing-Complete?
My first thought is that there are loops in musical notation, but there is no way to write conditional branches, right?
I'm not a musician, so perhaps someone can help fill in the gaps?
Best Answer
Yes, if you admit a few instructions for transposition—uncommon but not unknown.
You can then interpret a piece as Choon, which is Turing-complete. The performer is the memory: they must remember the number of notes by which the piece is currently transposed, and all of the notes they have played thus far. Obviously it’s feasible only for a computer, or perhaps a savant.
From the Choon manual:
A John Cage is just a rest, a Tuning Fork is (roughly) dal segno, and a marker is a segno. I suppose the tuning fork could be played by an additional performer to whom the primary performer responds, but the principle is the same.