def remapTrack(self, tobj, tau=None, vLow=-2, vHigh=2, inst=127, fch=None, res=None, repeats=None): if res == None: res = self.resolution if res == None: print "Cannot remap track without resolution" return mObj = MidiObj(resolution=res) T = tobj.getMaxTime() print "T:", T if tau == None: tau = T tau = T rmap = RissetMapper(T, tau) reMax = rmap.get_te(T,0)[0] print "rmap(T):", reMax ch = 0 for v in range(vLow, vHigh+1): print "v: ", v #rtObj = self.remapv(tobj, v, tau, ch=ch, inst=10+v) if fch != None: ch = fch rtObj = self.remapv(tobj, v, tau, ch=ch, inst=inst) rtObj.trackName = "risset v=%s" % v if repeats: rt0 = TrackObj() for i in range(repeats): rt0.append(rtObj) rtObj = rt0 mObj.addTrack(rtObj) ch += 1 #mObj.resolution = rtObj.resolution mObj.loop = True return mObj
def remapTrack(self, tobj, tau=None, vLow=-2, vHigh=2, inst=127, fch=None, res=None, repeats=None): if res == None: res = self.resolution if res == None: print "Cannot remap track without resolution" return mObj = MidiObj(resolution=res) T = tobj.getMaxTime() print "T:", T if tau == None: tau = T tau = T rmap = RissetMapper(T, tau) reMax = rmap.get_te(T, 0)[0] print "rmap(T):", reMax ch = 0 for v in range(vLow, vHigh + 1): print "v: ", v #rtObj = self.remapv(tobj, v, tau, ch=ch, inst=10+v) if fch != None: ch = fch rtObj = self.remapv(tobj, v, tau, ch=ch, inst=inst) rtObj.trackName = "risset v=%s" % v if repeats: rt0 = TrackObj() for i in range(repeats): rt0.append(rtObj) rtObj = rt0 mObj.addTrack(rtObj) ch += 1 #mObj.resolution = rtObj.resolution mObj.loop = True return mObj
print "==========================================" rt2 = t.rescaleByTime(t.rescaleTime(0.5, 1)) rt2.scalePower(0.3, 1) save(rt2, "risset0.5_1.json") rt3 = t.rescaleByTime(t.rescaleTime(1, 2)) rt3.scalePower(1, 0.3) save(rt3, "risset1_2.json") rt4 = t.rescaleByTime(t.rescaleTime(2, 4)) rt4.scalePower(0.3, 0) save(rt4, "risset2_4.json") rv = TrackObj() rv.append(rt1) rv.append(rt2) rv.append(rt3) rv.append(rt4) save(rv, "rissetvoice.json") """ rt = TrackObj() rt.append(rt4) rt.append(rt4) rt.saveAsJSON("risset2_4x2.json") rt = TrackObj() rt.merge(rt1) rt.merge(rt2) rt.merge(rt3)
from PVMidi import TrackObj, Note t1 = TrackObj("risset0.25_0.5.json") t2 = TrackObj("risset0.5_1.json") t3 = TrackObj("risset1_2.json") t4 = TrackObj("risset2_4.json") print "t1 tMax: %8.2f %5d" % (t1.getMaxTime(), t1.getNumNotes()) print "t2 tMax: %8.2f %5d" % (t2.getMaxTime(), t2.getNumNotes()) print "t3 tMax: %8.2f %5d" % (t3.getMaxTime(), t3.getNumNotes()) print "t4 tMax: %8.2f %5d" % (t4.getMaxTime(), t4.getNumNotes()) rt = TrackObj() rt.append(t1) rt.append(t2) rt.append(t3) rt.append(t4) rt.saveAsJSON("rissetvoice.json") rt = TrackObj("rissetvoice.json") print "rt tMax: %8.2f %5d" % (rt.getMaxTime(), rt.getNumNotes())