Teaching jazz improvisation with machine learning

Webapp Code

Jazz is a highly complex form of music. Great jazz musicians have a unique style that makes them recognisable: but how do we best show these styles?

Using a variety of machine learning and signal processing techniques, we have created an interactive web application designed for music education that shows off the styles of twenty famous jazz musicians. Our models use a variety of musical features and are trained on over 80 hours of audio recordings from our open-source Jazz Trio Database. We hope that this application will find use in music education and teaching contexts.

Our web application is written in JavaScript with the interactive visualisations powered by Plotly and Magenta.js. The machine learning models were trained in Python using PyTorch and Scikit-Learn.