def gen(self, path, nnotes=200, motif=None): self.t = 0 if motif: motif = parse(motif) print "="*60 print "Generating Shepard Tones" tobj = TrackObj(trackName="Track1") for i in range(nnotes): dur = 1 if motif: j,dur = motif[i % len(motif)] if j == 'r': self.t += dur*self.ticksPerBeat continue else: j = i % 12 #print i, j notes = self.getChord(j, dur) self.t += dur*self.ticksPerBeat for note in notes: tobj.addNote(note) midiObj = MidiObj() midiObj.addTrack(tobj) midiObj.saveAsJSON(path) mpath = path.replace(".json", ".mid") midiObj.saveAsMidi(mpath)