|Full Text|| Ubiquitous in most DAWs and available in online versions, programmable drum step sequencers have been around since 1972, when Eko released the ComputeRhythm. In our previous research at CNMAT, these drum step sequencers have been expanded to include onset probabilities and rhythmic expressivity .
In this work, we address the challenge of learning a drum agent that is capable of learning styles and interpolating between them during performance, taking into account rhythmic expressivity, musical sections and phrases and drum patterns.
We describe a hierarchical solution that learns, from MIDI drum track and annotated data, a drum agent in the format of three probabilistic finite state automata(PFSA). In decreasing hierarchy :
The first automata operates on the sections of the piece;
The second automata operates on the phrases and licks;
The third automata learns the drum patterns, including the drum pieces used and their respective onset probabilities given time-step and actuator. Each newly learned drum pattern is used to update or create new patterns, dependent on the angular similarity between new and existing patterns.
Based on our Control Improvisation approach , we design specifications to guarantee that the improvisation and learning process satisfy some desirable properties. For example, from a performer perspective, it is extremely unlikely that a kick drum will be played with the hands or that multiple sequential hits on the same piece will be done with one hand only.
During playback, we interpolate between drum agents by projecting them onto a 2d space using CNMAT’s Radial Basis Function Interpolator, which outputs weights for each drum agent’s PFSA. Sound is generated by reading drum samples and cross-synthesis is used to provide an interpolation between the instruments of each style. We provide examples in which we learn and interpolate between drum kit and tabla examples from pieces commonly associated with rock and and hindustani music.
 Vijay Iyer, Jeff Bilmes, Matt Wright, and David Wessel. A novel representation for rhythmic structure. In Proceedings of the 23rd International Computer Music Conference, pages 97–100. International Computer Music Association, 1997.