Skip to content

[2015 University Project] Parse MIDI text files and randomly compose new pieces through the use of a Markov chain algorithm.

Notifications You must be signed in to change notification settings

Bennett-Lynch/Markov

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Instructions

These instructions assume you already have the knowledge needed to compile and run Java source files.

  1. Convert your .mid file to text using this free online tool with the "absolute" timestamp option
  2. When saving to .txt, only copy the lines that are formatted as follows: 192 On ch=1 n=36 v=23 (for optimal results, parse and compose different instruments separately)
  3. Edit the absolute file paths for the input/output files in the main function of Main.java
  4. Set the composition's desired duration and speed progression by changing the parameters of the composeScore call
  5. Compile and run the program
  6. The score text file can then be used to make MIDI notes with your method of choice; an example of how to play the notes with Pure Data is provided below:

A finished example piece:

Made by using music composed by Hans Zimmer for the Inception and Interstellar soundtracks:

https://www.youtube.com/watch?v=7eUP1Sncifg

A visual representation of parsed data:

About

[2015 University Project] Parse MIDI text files and randomly compose new pieces through the use of a Markov chain algorithm.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages