コード例 #1
0
ファイル: Shepard.py プロジェクト: sycgis/Spirals
    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)
コード例 #2
0
ファイル: Shepard.py プロジェクト: WorldViews/PhysViz
    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)]
            else:
                j = i % 12
            #print i, j
            notes = self.getChord(j, dur)
            for note in notes:
                tobj.addNote(note)

        midiObj = MidiObj()
        midiObj.addTrack(tobj)
        midiObj.saveAsJSON(path)
コード例 #3
0
ファイル: Shepard.py プロジェクト: WorldViews/PhysViz
    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)]
            else:
                j = i % 12
            #print i, j
            notes = self.getChord(j, dur)
            for note in notes:
                tobj.addNote(note)

        midiObj = MidiObj()
        midiObj.addTrack(tobj)
        midiObj.saveAsJSON(path)
コード例 #4
0
ファイル: Shepard_old.py プロジェクト: WorldViews/PhysViz
def genShepard(path, nvoices=5, noctaves=5, nnotes=200, motif=None):
    if motif:
        motif = parse(motif)
    print "=" * 60
    print "Generating Shepard Tones"
    tobj = TrackObj(trackName="Track1")
    t = 0
    for v in range(nvoices):
        sv = ShepVoice(noctaves, 12 * v)
        for i in range(nnotes):
            j = i
            dur = 1
            if motif:
                j, dur = motif[i % len(motif)]
            #print j, dur
            tOn, note = sv.getNote(t, j, dur)
            t += sv.ticksPerBeat * dur
            if note:
                #print i, note.toList()
                tobj.addNote(note)
    midiObj = MidiObj()
    midiObj.addTrack(tobj)
    midiObj.saveAsJSON(path)
コード例 #5
0
ファイル: Shepard_old.py プロジェクト: WorldViews/PhysViz
def genShepard(path, nvoices=5, noctaves=5, nnotes=200, motif=None):
    if motif:
        motif = parse(motif)
    print "="*60
    print "Generating Shepard Tones"
    tobj = TrackObj(trackName="Track1")
    t = 0
    for v in range(nvoices):
        sv = ShepVoice(noctaves, 12*v)
        for i in range(nnotes):
            j = i
            dur = 1
            if motif:
                j,dur = motif[i % len(motif)]
            #print j, dur
            tOn, note = sv.getNote(t, j, dur)
            t += sv.ticksPerBeat*dur
            if note:
                #print i, note.toList()
                tobj.addNote(note)
    midiObj = MidiObj()
    midiObj.addTrack(tobj)
    midiObj.saveAsJSON(path)
コード例 #6
0
ファイル: risset2.py プロジェクト: eb96706/Spirals
def save(tObj, path):
    mObj = MidiObj()
    mObj.addTrack(tObj)
    mObj.saveAsJSON(path)
コード例 #7
0
ファイル: risset2.py プロジェクト: WorldViews/PhysViz
def save(tObj, path):
    mObj = MidiObj()
    mObj.addTrack(tObj)
    mObj.saveAsJSON(path)