Back to list

Virtual drummer


An app for musicians that imitates a live drummer.

A Lot of solo musicians are facing a situation where they need to get drum accompaniment, but there is no live drummer nearby. Our smart application was developed to generate a drum sequence that matches the main melody rhythm. An AI-driven app adjusts drumline to the musician’s input, no matter what speed or tempo it has.

This program was implemented in two versions with different approaches - based on the nearest vector method and based on a neural network.

First, our talented and experienced musical prodigy recorded a dataset of them playing a synthesizer and a dataset of drumlines matching the melodies. These streams were correlated to each other and were taken as referencing.

Thanks to midi keys, we have got information about the pressure and duration of each key being pressed. Resulting information is separated into intervals and is used in algorithms to make them more adaptable.

-In the nearest vector version, the closest matching drum part is selected from a prescribed library of drum parts. When changing the tempo and rhythm, the program also changes the given drum part, thereby adapting it to the musician.

-To run the application based on the neural network, corresponding recordings of melodies on the synthesizer and drums were also loaded and broken into parts. The neural network was trained on the basis of midi notes in different tempos and genres. For example: rock, pop and funk.

Difference between approaches:
An algorithm of the nearest vector method outputs the correct drum tune quickly and accurately, but only from a previously populated library. The neural network may be less accurate, but the result will be suitable for any playing tempo on the synthesizer, even the one that was not found in the library.

At the moment, we continue working on both versions of the app.