The idea is to find reoccurring patterns inside similar but different musical pieces and exploit these similarities to guide a composition process. Instead of using genre-dependent constraints we use the result of our analysis to guide the search for a musical piece. Our analysis uses pattern mining to find reoccurring patterns inside the input files. These patterns get translated into rules used by the composer. We use MIDI files as input and output format as they are widely available and used. We divided our system into three parts:
- MIDI -> ASP
- pattern mining
- composing
For a usage example see 'usage_example.py'
We use the clingo and Mido package for our system. They can be installed using Anaconda and pip respectively.
conda install -c potassco clingo
pip install mido
You can find more information about clingo on the Potassco website https://potassco.org/ and about Mido on their GitHub https://github.com/mido/mido