The Harmonic Algorithm
An open-source tool — written in Haskell, with R for dataframe work — that generates harmonic possibilities inside user-defined constraints, then filters and deterministically ranks them using a Markov-chain model trained on J.S. Bach chorale harmonisations.