A Tau-Prolog Application

Besides writing code, I enjoy playing a little music from time to time. I’ve recently begun playing with 3-string and 4-string fretted instruments, like the Cigar Box Guitar and Ukulele—never being one to follow the mainstream, I love experimenting with different tunings. But figuring out all the possible chord inversions? That’s a lot of work!

But I write code — so this seemed like a decent challenge for a Tau-Prolog program! It can run entirely client-side, and I can host it here to access it anywhere, anytime. In one evening, I wrote the 3-string version, then let it mellow for a while to iron out any issues. After that, in a single morning, I adapted it for 4 strings.

The code ain’t pretty—it’s not had much love, care, or attention. It does the job and didn’t take long to write, which were the main objectives. If you play and would like to use a chord inversion generator for 3-string or 4-string instruments, you can find the applications here:

If you’re a Prolog programmer curious about deploying Tau-Prolog applications, the code for the generators is in the source of those HTML pages. It’s barely commented, probably over-engineered, but you might find it interesting anyway!