Music Generator 1.0 is a project where Markov Chain and Trie Data Structure has been implemented to generate music both as mav file and midi file. Generator can also play the generated mav file using pygame mixer.
This project is using python 3.10 and poetry version 1.4.0, which needs to be installed.
Fluidsynth has to be installed for project to work.
sudo apt-get install fluidsynth
You will also need .env file in the root directory:
# Soundfont path from the root
SOUNDFONT = "<name of a soundfont file>"
# Path from the root to the data folder
DATA_PATH = "/Data/"
If you are using a soundfont, then you will need to specify it in the .env file as a variable SOUNDFONT.
DATA_PATH Variable is the location of a data that needs to be inserted in to the trie for generation of melody.
- Install poetry:
pip install poetry
- Activate env:
poetry shell
- Dependency installation:
poetry install
- Start the project:
poetry run invoke start
- Run tests:
poetry run invoke test
- Run pylint:
poetry run invoke lint