Skip to content

Latest commit

 

History

History
59 lines (45 loc) · 2.25 KB

README.md

File metadata and controls

59 lines (45 loc) · 2.25 KB

mg_logo

Markov Groove

License: MIT Code style: black Open In Colab

MarkovGroove is a small framework, that uses essentia and PrettyMIDI to convert audio files into sequencers that can later be used for machine learning tasks. The library got its name from the mathmatician Andrey Markov, since it was designed to be used with HiddenMarkovModels. It is part of my bachelor thesis so please cite, if you are using this in a scientific context.

To use the framework in your project or notebooks just import markov_groove:

import markov_groove as mg
# Read a mid file
project.do_stuff()
# Create a sequencer from it
project.do_stuff()
# Visualize the pattern
project.do_stuff()

There are also some more examples and tutorials under notebooks!

Features

  • Read Audio files
  • Read Midi files
  • Create step sequencer from audio files
  • Extract Samples from onset locations

Install prerequisites

Some libraries are needed prior before using.

Essentia

sudo apt-get install build-essential libeigen3-dev libyaml-dev libfftw3-dev libavcodec-dev libavformat-dev libavutil-dev libavresample-dev python-dev libsamplerate0-dev libtag1-dev libchromaprint-dev python-six

sudo apt-get install python3-dev python3-numpy-dev python3-numpy python3-yaml

Pomegranate

sudo apt-get install gcc libpq-dev -y 
sudo apt-get install python-dev  python-pip -y  
sudo apt-get install python3-dev python3-pip python3-venv python3-wheel -y  
python3 -m pip install wheel

FluidSynth

sudo apt-get install fluidsynth