language-icon Old Web
English
Sign In

A Musical Learning Algorithm

2004 
In this article I describe a computer program called Gradus (after Johann Joseph Fux’s 1725 treatise Gradus ad Parnassum) that initially analyzes a set of model two-voice, one-against-one, first-species counterpoints in order to produce a series of compositional goals. Gradus then attempts to compose goal-correct counterpoints similar to the models using a given fixed voice called a cantus firmus. Initial notes for the new lines of these counterpoints are drawn from pre-compositional seed notes, the choice of which are optimized by consulting the program’s previously saved successful compositions. The article then describes how Gradus, in order to compose more quickly and mistake-free, backtracks from the ‘‘dead ends’’ it encounters, catalogs the conditions that led to these dead ends as rules, and avoids these conditions on subsequent runs with the same cantus firmus until backtracking is no longer necessary. Gradus then uses the rules it collects when encountering new cantus firmi, applying its accumulated experiences to increase the chances that it will succeed. Ultimately, the program learns to compose first-species counterpoint quickly, accurately, and without any need for backtracking. I have based the processes used in Gradus on those that I use when learning or re-learning species counterpoint. This article includes a brief discussion of musical inference and a description of how the learning processes described may be seen as computationally inferring solutions to basic musical problems. The article then concludes with more elaborate examples created by the program, including a fugue exposition and counterpoint in a more dissonant, non-triadic style.
    • Correction
    • Source
    • Cite
    • Save
    • Machine Reading By IdeaReader
    25
    References
    32
    Citations
    NaN
    KQI
    []