Skip to content

Latest commit

 

History

History
21 lines (12 loc) · 689 Bytes

readme.md

File metadata and controls

21 lines (12 loc) · 689 Bytes

WORK IN PROGRESS

Python Midi Markov

Uses the music21 Python library to generate semi-improvised melodies.

If you run python3 runner.py, right now it will

  • Read all the compositions of JS Bach into a Markov chain data structure (implemented in Python)
  • Start on a random note and write a midi file approximately 1000 notes in length
  • Play the generated midi file

Future feature ideas include a command-line interface for choosing a different composer, phrase length, and making optimizations on the data structure (it's very slow).

bach.mid is an example of the output file generated by this script.

Usage

pip install -r requirements.txt

python runner.py