Besides writing code, I enjoy playing a little music from time to time. I’ve recently begun playing with 3 and 4 string fretted instruments, like Cigar Box Guitar and Ukulele. Never being one to follow the mainstream, I like to play with different tunings, but it’s a lot of work trying to figure out all the possible chord inversions.
But I write code! This seemed like a decent challange for a Tau-Prolog program, it can run entirely client side and I can host it here so I can access it anywhere, any-time. So in an evening I wrote the 3 string version. I let that mellow for a while to iron-out any issues, then in a morning adapted it for 4 strings.
The code ain’t pretty, it’s not had much love, care or attention. It does the job and it didn’t take long to write, which were the main objectives. If you play and would like to take advantage of a chord inversion generator for 3 string or 4 string instruments you can find the applications here:
If you’re a Prolog programmer and are interested in deploying Tau-Prolog applications, the code for the generators is in the source of those HTML pages. It’s woefully uncommented, probably over-engineered, but you might find it interesting.