Hidden Markov Models for Chord Recognition - Intuition and Applications
Caio Miyashiro
In machine learning, traditional mathematical models are still a good choice when dealing with small to medium datasets. However, the theory behind some of them is still hidden under heavy mathematical jargon, making it difficult for a broader application of them in science and in business.
This tutorial's objective is to introduce you to the concept of Hidden Markov Models (HMM), which is a probabilistic framework to work with sequence data, such as speech and language processing and GPS positions. The main idea is to show everyone What is a HMM and provide them with sufficient basis so you can use it in your next projects. The concept will be presented with a specific story and application in music:
- "Given an input music signal, can we identify which chords were played and in which sequence?"
We will go through a Python Jupyter Notebook, which will introduce you to the following topics:
- How is sound represented in the computer?
- Signal Processing 101 - Preprocessing the music signal and feature extraction
- Introduction to Markov Models
- Introduction to Hidden Markov Models
Break (15 minutes)
- Modelling the Chord Recognition problem with HMM
- Initial Results and Conclusions -
- General framework for modelling a problem with HMM
After those topics, you'll be able to explain in common language what is a HMM, how it works and mainly, how you can use it next time you work with sequence data.
You don't need to know python, but you'll be able to engage more with the workshop in case you have at least the basics of it. Lastly, we'll talk about some mathematical concepts, such as probabilities and probability densities but, if you are just interested in the mixture of mathematics, programming and music, this tutorial will be for you!
The notebook and slides will be shared on Github and, for the presentation day, the notebook will be virtually shared with My Binder, so everyone can execute it by themselves.
Caio Miyashiro
Affiliation: Mytaxi
Working as a Data Scientist @ Mytaxi, I've been trying to improve how people move from one place to another with Python + Pandas + Scikit Learn in general. Off work, I like to understand what kind of data can we extract and understand about music and how music in general affects us, from beats to emotions