Fin Cottle

Dissertation

Evaluating and Exending a Repurposed Natural Language Machine Learning Model for Symoblic Music Completion

Dissertation

For my final year project at Cardiff university, I wanted to dive into something I thought was challenging, relevant & most importantly future-proof. What else other than Machine Learning?! Mixing a desire to learn more about the direction technology is currently taking and a love for music was the perfect combination for my project.

Here’s a peep at the project abstract

Natural Language Processing (NLP) is a rapidly growing machine learning technology used across hundreds of industries. One of the main techniques within this field is BERT (Bi- Directional Encoder Representations of Transformers), a deep learning model designed to handle tasks such as question answering, sentiment analysis, text summarisation and more. Applying these techniques within music instead of a commonly spoken language is a relatively new concept with the potential to revolutionise the creative process that musicians are so fond of.

Symbolic Music is a form of music notation that can comprehensively describe a composition, representing them in a machine-readable format, the main standard being MIDI files. These files store extensive information about a piece of music, separating the composition into channels (instruments) that contain notes and information such as their respective pitches, durations and velocities. Throughout this report, we will evaluate an existing BERT model trained to understand symbolic music. Upon evaluation, we will conduct experiments in an attempt to extend the functionality of the BERT model in question to understand compositions when certain aspects are hidden unlocking the potential to complete input pieces of music. The extension in Section 5 of this project will take an agile methodology approach. We will be testing different aspects of the entire pipeline from the pre-processing of data through to the methods of handling the model’s output, making hypotheses based on the results of these tests and repeating this process. By iteratively refining different elements of the entire process, we hope to continuously improve the results of the project, which suits the investigative nature of this project.

This project’s overall aim is to be a useful tool in the arsenal of a musician, giving them the freedom to create when feeling uninspired.

I encourage you to checkout the GitHub repo for this project here as well as take a look at my final report here. There’s some really interesting discoveries in there and I’m incredibly proud of this project as a whole.


Get in touch

Solutions, Software or Music, I'd love to chat!