This repository contains jupyter notebooks in Python used for teaching and tutorials for various topics in Machine Learning and Digital Signal Processing with a focus on applications in Music Information Retrieval. A set of associated slides from the tutorial "Bayes and Markov listen to music" presented at the International Conference of the Society for Music Information Retrieval (ISMIR) is also included. Even though the notebooks are mostly self-contained it makes more sense to explore them linearly using the following suggested order:
- Probability and Random Variables
- Conditional Probability
- Bayesian Classification
- Clustering using Gaussian Mixture Model and PCA
- Markov Chains and Hidden Markov Models
To run the notebooks you will need to install the following Python libraries:
- Numpy
- Scipy
- scikit-learn
- music21
- hmmlearn
In order for music21 to display scores you will need to have the MuseScore2 application installed. According to music21 documentation any MusicXML rendering software can work but I have not tested this.
Don't hesitate to send me any feedback you have or comments at [email protected]