length = 50 text = """ g8 e8 e4 f8 d8 d4 c8 d8 e8 f8 g8 g8 g4 g8 e8 e4 f8 d8 d4 c8 e8 g8 g8 c4 r4 g8 e8 e4 f8 d8 d4 c8 d8 e8 f8 g8 g8 g4 g8 e8 e4 f8 d8 d4 c8 e8 g8 g8 c4 r4 """ m = MarkovChain(order) print "observing %s" % text spacer() m.observe_string(text, True) print "TODO make logging verbose for observe()..." spacer() m.print_transitions() spacer() m.print_matrix() start = m.get_random_prestate() spacer() result = m.random_walk_string(length, start) print result
#!/usr/bin/env python import sys from markov import MarkovChain if len(sys.argv) != 4: print "usage:" print "python lorem.ipsum.py $ORDER $DATAFILE $OUTLENGTH" print "example:" print "python lorem.ipsum.py 3 data.txt 300" sys.exit(1) order = int(sys.argv[1]) filename = sys.argv[2] length = int(sys.argv[3]) m = MarkovChain(order) m.observe_file(filename, True) start = m.get_random_prestate() result = m.random_walk_string(length, start) print result