Repository related to topic in title on 'Muzyka algorytmiczna' (Algorithmic Music) course at the Adam Mickiewicz University in Poznań.
See also: Music and Markov Chains on Wikipedia.
- Generate random sequence based on note X follows note Y frequencies in file
example.mid
$ ./midi/midi-get example.mid | ./random-markov-path 10 | ./key2music
A 6
C 6
A 6
B 6
C 7
C# 6
C# 6
D# 6
D# 6
B 5
B 5
dur2frac.cc
- turns duration in number of 1/64 to more readable fractiongraph-markov.cc
- turns Markov chain described by TSV file into Graphviz DOT filekey2music.cc
- transforms key number into note and octavemidi/bigrams-dur.go
- transforms MIDI file into markov chain based on probability of occuring durationX
for keyY
midi/bigrams-notes.go
- transforms MIDI file into markov chain based on probability of occuring keyX
after keyY
random-markov-path.cc
- takes length of path and produces sequence of keys based on probabilities in TSV
- C++ Compiler (supporting C++17)
- Go
- Make