/counterpoint

Creates first-species modal counterpoint

Primary LanguagePython

Counterpoint Composer

Creates first-species modal counterpoint that follows conventional voice-leading rules.

A cantus firmus is created, and then a counterpoint melody is tried above it. If no solution is found, a new cantus firmus is created, and the process begins again.

Forthcoming

This will eventually be able to do other species counterpoint as well as free counterpoint. Either this module or another will include machine learning that trains on actual musical scores and follows the practice. Check back for more updates.