Goto

Collaborating Authors

 real-time harmony


Bach in a Box - Real-Time Harmony

Neural Information Processing Systems

These rules are learned from examples and are expressed as rule-based neural networks. The rules are then applied in real(cid:173) time to generate new accompanying harmony for a live performer. Real-time functionality imposes constraints on the learning and harmonizing processes, including limitations on the types of infor(cid:173) mation the system can use as input and the amount of processing the system can perform. We demonstrate algorithms for gener(cid:173) ating and refining musical rules from examples which meet these constraints. We describe a method for including a priori knowl(cid:173) edge into the rules which yields significant performance gains.




Bach in a Box - Real-Time Harmony

Neural Information Processing Systems

The learning and inferencing algorithms presented here speak an extended form of the classical figured bass representation common in Bach's time. Paired with a melody, figured bass provides a sufficient amount of information to reconstruct the harmonic content of a piece of music. Figured bass has several characteristics which make it well-disposed to learning rules. It is a symbolic format which uses a relatively small alphabet of symbols. It is also hierarchical - it specifies first the chord function that is to be played at the current note/timestep, then the scale step to be played by the bass voice, then additional information as needed to specify the alto and tenor scale steps. This allows our algorithm to fire sets of rules sequentially, to first determine the chord function which should be associated with a new melody note, and then to use that chord function as an input attribute to subsequent rulebases which determine the bass, alto, and tenor scale steps. In this way we can build up the final chord from simpler pieces, each governed by a specialized rulebase.