User:Natasa Siencnik/prototyping/markov: Difference between revisions
Line 30: | Line 30: | ||
"l8/f3": ["l8/g3","l8/e3"], | "l8/f3": ["l8/g3","l8/e3"], | ||
"l8/g3": ["l8/f3"], | "l8/g3": ["l8/f3"], | ||
"l8/e3": ["l2/d3"]} | "l8/e3": ["l2/d3"] | ||
} | |||
# start with first / one tone (KEY) in the dictionary | # start with first / one tone (KEY) in the dictionary |
Revision as of 11:11, 24 May 2011
The Art of the Fugue
MARKOV CHAIN WITH J.S. BACH
Concept
Scripting Progress
Python : Script 2011-05-23
#!/usr/bin/env python
import random
fugue = {}
fugue = {
"l2/d3":["l2/a3", "l2/c+3"],
"l2/a3": ["l2/f3"],
"l2/f3": ["l2/d3", "l8/f3"],
"l2/c+3": ["l4/d3"],
"l4/d3": ["l4/e3"],
"l4/e3": ["l2/f3"],
"l8/f3": ["l8/g3","l8/e3"],
"l8/g3": ["l8/f3"],
"l8/e3": ["l2/d3"]
}
# start with first / one tone (KEY) in the dictionary
# look in the list of the KEY to find next possibilities
# pick a random VALUE from the list that belongs to the key
# asign this next tone to start this loop again
# variable tones
for t in enumerate(tones):
print t, tones[i+1]
random.choice()
#MIDGE
@head {
$time_sig 2/2
$tempo 120
}
@body {
@channel1 {
$patch 1
$octave 4
$length 16
# tones here
}
}
#MIDI FILE
#play with timidity
#l2/d3: ["l2/a3", "l2/c+3"]
#l2/a3: ["l2/f3"]
#l2/f3: ["l2/d3", "l8/f3"]
#l2/c+3: ["l4/d3"]
#l4/d3: ["l4/e3"]
#l4/e3: ["l2/f3"]
#l8/f3: ["l8/g3","l8/e3"]
#l8/g3: ["l8/f3"]
#l8/e3: ["l2/d3"]
Python : Script 2011-05-24
Useful Links
http://en.wikipedia.org/wiki/The_Art_of_Fugue
http://pzwart3.wdka.hro.nl/wiki/Poetry_generators
http://pzwart3.wdka.hro.nl/wiki/Sedsongs#midge