Пример #1
0
 def run(self, filename, sec, sampletype=0, buffering=16, chnl=0, chnls=2):
     self.running = True
     inputter = Input(chnl=chnl, mul=1)  # chnl from pyo.pa_get_input_devices()
     self.recorder = Record(inputter, filename, chnls=chnls, fileformat=0,
                         sampletype=sampletype, buffering=buffering)
     Clean_objects(sec, self.recorder).start()  # handles recording offset
     threading.Timer(sec, self._stop).start()  # set running flag False
Пример #2
0
    def record_midi_wav(mid_):
        # write mid_ to file
        with open("test.mid", "wb") as bin_file:
            mid_.writeFile(bin_file)

        s = Server().boot().start()

        # create app synth
        midi_reader = Notein()
        amp = MidiAdsr(midi_reader['velocity'])
        pit = MToF(midi_reader['pitch'])
        osc = SineLoop(freq=pit, feedback=0, mul=amp).mix(1)
        rev = STRev(osc, revtime=1, cutoff=4000, bal=0.2).out()

        # create recorder
        rec = Record(rev, buffering=2, filename='beat.wav', quality=0.4)
        clean = Clean_objects(12, rec)
        clean.start()

        midi_reader = MidiFile('test.mid')

        # makeshift infinite loop
        for message in midi_reader.play():
            s.addMidiEvent(*message.bytes())

        s.stop()
Пример #3
0
 def __init__(self, file, sec=0, sampletype=0):
     self.running = False
     if file:
         inputter = Input(chnl=0, mul=1)
         self.recorder = Record(inputter,
                                file,
                                chnls=2,
                                fileformat=0,
                                sampletype=sampletype,
                                buffering=4)
         self.clean = Clean_objects(sec, self.recorder)