def sample(self, outf, nr_frames=1e6, n=3): '''Sample using an n-gram into the given file.''' chain = MarkovChain(n) chain.add_sequence(self.buf) gen = chain.walk() out = wave.open(outf, 'wb') out.setparams(self.params) out.setnframes(nr_frames) chunk = nr_frames / 100 for k in xrange(int(nr_frames)): if k % chunk == 0: print k / chunk, "%" out.writeframes(self.repr_to_pcm(next(gen)))
def walk_corpus(): chain = MarkovChain(mc_nodes) chain.add_sequence(corpus) return chain.walk()
def walk_corpus(fname): with open(fname, 'r') as f: words = f.read().split() chain = MarkovChain(5) chain.add_sequence(words) return chain.walk()