Exemplo n.º 1
0
 def playback5(self, file_path=icq_uh_oh):
     print('pb5')
     count = self.count
     fade = pyo.Fader(fadein=.1, fadeout=0.1, dur=3).play()
     select = random.random()
     snd = pyo.SndTable(file_path)
     env = pyo.HannTable()
     pos = pyo.Phasor(snd.getRate() * .25, random.random(), snd.getSize())
     dur = pyo.Noise(.05, .1)
     g = pyo.Granulator(
         snd,
         env, [self.granulated_pitch, self.granulated_pitch + .001],
         pos,
         dur,
         24,
         mul=fade)
     panner = pyo.Pan(g,
                      outs=2,
                      pan=random.random(),
                      spread=random.random()).out()
     self.granulated_pitch -= .05
     if self.granulated_pitch < .049:
         self.granulated_pitch = .05
     time.sleep(fade.dur + .05)
     g.stop()
Exemplo n.º 2
0
 def playback5(self, file_path=icq_uh_oh):
     print('pb5')
     select = random.random()
     snd = pyo.SfPlayer(file_path, speed=1, loop=False, mul=5)
     panner = pyo.Pan(snd,
                      outs=2,
                      pan=random.random(),
                      spread=random.random()).out()
     time.sleep(1.5)
Exemplo n.º 3
0
def my_overtone_synth(fundemental_freq):
    ''' plays the decaying overtone series of the fundemental freqeuncy'''
    num_overtones = 10
    amps = [1 / n for n in range(1, num_overtones)]
    freqs = [fundemental_freq * n for n in range(1, num_overtones)]
    signal = []
    for n in range(num_overtones - 1):
        b = pyo.Sine([freqs[n]], mul=amps[n])
        signal += [pyo.Pan(b, outs=2, pan=.5).out()]  # panning to both sides
    return signal
Exemplo n.º 4
0
    def render(self):
        s = pyo.Server(audio="offline")
        s.boot()

        sndinfo = pyo.sndinfo(self.path)
        s.recordOptions(filename=self.complete_output_path, dur=sndinfo[1])

        source = pyo.SfPlayer(self.path)
        source_envelope = pyo.Expseg(list(
            zip(self.source_envelope.times, self.source_envelope.levels)),
                                     exp=5)
        waveguide_envelope = pyo.Expseg(
            list(
                zip(self.waveguide_envelope.times,
                    self.waveguide_envelope.levels)),
            exp=5,
        )
        filter_envelope = pyo.Expseg(
            list(zip(self.filter_envelope.times, self.filter_envelope.levels)),
            exp=5,
        )
        filter_q_envelope = pyo.Linseg(
            list(
                zip(self.filter_q_envelope.times,
                    self.filter_q_envelope.levels)))

        waveguide = pyo.Waveguide(
            source,
            freq=self.frequencies,
            minfreq=self.minfreq,
            mul=self.waveguide_mul,
            dur=self.waveguide_dur,
        )
        bandpass = pyo.Resonx(
            waveguide,
            self.frequencies,
            q=filter_q_envelope,
            stages=4,
            mul=self.bandpass_mul,
        )

        lfo = pyo.Sine(freq=self.pan_lfo_frequency, mul=0.5, add=0.5)
        bandpass_pan = pyo.Pan(bandpass, outs=2, pan=lfo)

        filter_q_envelope.play()
        filter_envelope.play()
        source_envelope.play()
        waveguide_envelope.play()

        (bandpass_pan * filter_envelope).out()
        (waveguide * waveguide_envelope).out()
        (source * source_envelope).out()

        s.start()
Exemplo n.º 5
0
 def playback3(self, file_path=imsend_sound_path):
     snd = pyo.SndTable(file_path)
     env = pyo.HannTable()
     pos = pyo.Phasor(snd.getRate() * .25, 0, snd.getSize())
     dur = pyo.Noise(.001, .1)
     g = pyo.Granulator(snd, env, [1, 1.001], pos, dur, 24, mul=self.env)
     panner = pyo.Pan(g,
                      outs=2,
                      pan=random.random(),
                      spread=random.random()).out()
     time.sleep(self.env + 0.05)
     g.stop()
Exemplo n.º 6
0
 def __init__(self, sequence, amp=1, pan=0.5):
     BaseSynth.__init__(self, sequence, amp, pan)
     self.env = pyo.CosTable([(0,0.0000),(335,0.9948),(6920,0.6218),(8192,0.0000)])
     self.env_reader = pyo.TrigEnv(self.trig, self.env, dur=self.dur)
     self.index_env = pyo.CosTable([(0,0.0000),(158,0.7668),(7662,0.0933),(8000,0.0000)])
     self.index_env_reader = pyo.TrigEnv(self.trig, self.index_env, dur=self.dur, mul=7)
     self.trans_env = pyo.CosTable([(0,0.0000),(317,1.0000),(1430,0.1347),(8000,0.0000)])
     self.trans_env_reader = pyo.TrigEnv(self.trig, self.trans_env, dur=0.25)
     self.trans = pyo.Lorenz(mul=self.trans_env_reader, chaos=1, pitch=0.265)
     self.source = pyo.FM(mul=self.env_reader,index=self.index_env_reader,ratio=2, carrier=self.freq)
     self.panner = pyo.Pan((self.source + self.trans).mix(0), mul=self.master_amp, pan=self.master_pan)
     self.last_audio_object = self.panner
Exemplo n.º 7
0
 def playback6(self):
     print('pb6')
     self.time_var = 20
     self.fade = pyo.Fader(fadein=0.005, fadeout=10, dur=20).play()
     self.amp = pyo.SigTo(value=self.fade, time=0, init=0.0)
     self.freq = pyo.SigTo(2200, time=7, mul=[1, 1.005], init=2200)
     self.sig = pyo.RCOsc([self.freq, self.freq - 20],
                          sharp=4,
                          mul=self.amp)
     panner = pyo.Pan(self.sig,
                      outs=2,
                      pan=random.random(),
                      spread=random.random()).out()
Exemplo n.º 8
0
 def playback1(self):
     freqs = self.message_translation
     self.env2 = pyo.Fader(fadein=.1, fadeout=1, dur=10.01).play()
     rand = pyo.Choice(choice=freqs, freq=[1, self.message_length])
     osc = pyo.SuperSaw(freq=[rand, rand / 2, rand / 3],
                        detune=.5,
                        bal=0.8,
                        mul=self.env2).out()
     d = pyo.Delay(osc, delay=[.2, .5, .75], feedback=.5, mul=self.env2)
     panner = pyo.Pan(d,
                      outs=2,
                      pan=random.random(),
                      spread=random.random()).out()
     time.sleep(self.env2.dur + .001)
Exemplo n.º 9
0
 def __init__(self, sequence, amp=1, pan=0.5):
     BaseSynth.__init__(self, sequence, amp, pan)
     self.env = pyo.CosTable([(0,0.0000),(953,1.0000),(5737,0.7254),(8192,0.0000)])
     self.env_reader = pyo.TrigEnv(self.trig, self.env, dur=pyo.Max(self.dur, comp=0.3125))
     self.osc = pyo.LFO(type=2, freq=pyo.Noise(add=1, mul=0.3*self.freq), mul=0.5*self.env_reader)
     self.pre_filter = pyo.Biquad(self.osc, freq=191)
     self.disto_env = pyo.CosTable([(0,0.0000),(2118,0.2694),(8192,0.0000)])
     self.disto_env_reader = pyo.TrigEnv(self.trig, self.disto_env, dur=self.dur, add=0.7)
     self.disto = pyo.Disto(self.pre_filter, drive=self.disto_env_reader, mul=0.3)
     self.freq_env = pyo.CosTable([(0,0.0000),(1553,0.4767),(8192,0.0000)])
     self.freq_env_reader = pyo.TrigEnv(self.trig, self.freq_env, dur=self.dur, add=1000, mul=200)
     self.res_filter = pyo.Biquad(pyo.BrownNoise(mul=self.env_reader), q=6, freq=self.freq_env_reader, mul=0.9, type=2)
     self.panner = pyo.Pan(self.disto+self.res_filter, mul=self.master_amp, pan=self.master_pan)
     self.last_audio_object = self.panner
Exemplo n.º 10
0
 def __init__(self, sequence, amp=1, pan=0.5):
     BaseSynth.__init__(self, sequence, amp, pan)
     self.formant = [235,459,1105,2735,4115]
     self.env = pyo.CosTable([(0,0.0000),(1200,0.9793),(7062,0.7772),(8000,0.0000)])
     self.env_reader = pyo.TrigEnv(self.trig, self.env, dur=self.dur)
     self.source = pyo.LFO(freq=self.freq,mul=self.env_reader)
     self.eq = pyo.EQ(self.source ,freq=[self.freq], boost=20)
     self.ffilter = pyo.SVF(self.eq, type=0.5, freq=self.formant, q=10, mul=0.1)
     self.trans_env = pyo.CosTable([(0,0.0000),(388,0.3731),(2630,0.0518),(7821,0.0000),(8000,0.0000)])
     self.trans_env_reader = pyo.TrigEnv(self.trig, self.trans_env, dur=0.25)
     self.trans = pyo.Noise(mul=self.trans_env_reader)
     self.trans_filter = pyo.Biquad(self.trans, freq=400)
     self.trans_resonator = pyo.Biquad(self.trans_filter, q=31, freq=self.freq*2, mul=0.2)
     self.panner = pyo.Pan(pyo.Compress((self.ffilter+self.trans_resonator).mix(0), mul=self.master_amp,), pan=self.master_pan)
     self.last_audio_object = self.panner
Exemplo n.º 11
0
 def playback4(self, file_path=imsend_sound_path):
     print('pb4')
     select = random.random()
     snd = pyo.SfPlayer(file_path, speed=1, loop=False, mul=5)
     rev = pyo.STRev(snd,
                     inpos=select,
                     revtime=4,
                     cutoff=5000,
                     bal=1,
                     roomSize=4)
     panner = pyo.Pan(rev,
                      outs=2,
                      pan=random.random(),
                      spread=random.random()).out()
     time.sleep(rev.revtime + .01)
     rev.stop()
Exemplo n.º 12
0
    def __init__(self, sequence, amp=1, pan=0.5):
        BaseSynth.__init__(self, sequence, amp, pan)
        self.env = pyo.CosTable([(0,0.0000),(353,1.0000),(4166,0.6528),(8000,0.0000)])
        self.env_reader = pyo.TrigEnv(self.trig, self.env, dur=pyo.Max(self.dur, comp=0.3125))
        self.sine_freqs = []
        for i in range(-1,1):
            self.sine_freqs.extend([self.freq*(1+0.001*i), self.freq*2*(1+0.002*i), self.freq*3*(1+0.002*i),self.freq*5*(1+0.002*i)])

        self.osc = pyo.Sine(freq=self.sine_freqs, mul=[self.env_reader, self.env_reader*0.2, self.env_reader*0.2, self.env_reader*0.1]*3)

        self.trans_env = pyo.CosTable([(0,0.0000),(123,0.0777),(812,0.0570),(2083,0.0052),(8000,0.0000)])
        self.trans_env_reader = pyo.TrigEnv(self.trig, self.trans_env, dur=0.25)
        self.trans = pyo.Noise(mul=self.trans_env_reader)
        self.trans_filter = pyo.Biquad(self.trans, freq=1690)
        self.trans_resonator = pyo.Biquad(self.trans_filter, q=31, freq=self.freq*4)
        self.panner = pyo.Pan((self.trans_resonator+self.osc).mix(0), mul=(0.1)*self.master_amp, pan=self.master_pan)
        self.last_audio_object = self.panner
Exemplo n.º 13
0
 def out(self, file_path=imsend_sound_path):
     if self.choice <= 0.33:
         self.section_one = Section_One(self.count)
         self.section_one.out()
     elif self.choice > .33 and self.choice <= .67:
         self.section_two = Section_Two(self.message, self.count)
         self.section_two.out()
     else:
         snd = pyo.SndTable(file_path)
         env = pyo.HannTable()
         pos = pyo.Phasor(snd.getRate() * .25, 0, snd.getSize())
         dur = pyo.Noise(.001, .1)
         g = pyo.Granulator(snd, env, [1, 1.001], pos, dur, 24, mul=1)
         panner = pyo.Pan(g,
                          outs=2,
                          pan=random.random(),
                          spread=random.random()).out()
         time.sleep(2)
         g.stop()
Exemplo n.º 14
0
    def playback2(self):
        print('pb2')
        fade = pyo.Fader(fadein=.1, fadeout=0.1, dur=10).play()
        glissando = pyo.SigTo(value=200, time=0.1, init=200)
        sinewave = pyo.SineLoop(
            freq=[glissando, glissando * 4 / 5, glissando * 4 / 3],
            feedback=.2,
            mul=fade)
        panner = pyo.Pan(sinewave,
                         outs=2,
                         pan=random.random(),
                         spread=random.random()).out()

        def pick_new_freq():
            glissando.value = pyo.Choice(choice=self.message_translation,
                                         freq=[1, 3])

        pattern = pyo.Pattern(function=pick_new_freq, time=[.25, 1]).play()
        time.sleep(fade.dur + .05)
Exemplo n.º 15
0
    def __init__(self, sequence, amp=1, pan=0.5):
        BaseSynth.__init__(self, sequence, amp, pan)
        self.env = pyo.CosTable([(0,0.0000),(123,0.9896),(2701,0.4870),(6479,0.2746),(8192,0.0000)])
        self.env_reader = pyo.TrigEnv(self.trig, self.env, dur=pyo.Max(self.dur, comp=0.3125))
        sine_freqs = []
        for i in range(-1,1):
            freqs = [self.freq*j*(1+0.008*i) for j in range(1,8)]
            sine_freqs.extend(freqs)
        harm_amps = [1,0.3,0.4,0.2,0.1,0.04,0.04,0.03,0.02]
        self.osc = pyo.Sine(freq=sine_freqs, mul=[self.env_reader*harm_amps[i] for i in range(8)])

        self.trans_env = pyo.ExpTable([(0,0.3938),(8192,0.0000)])
        self.trans_env_reader = pyo.TrigEnv(self.trig, self.trans_env, dur=0.25)
        self.trans = pyo.Noise(mul=self.trans_env_reader)
        self.trans_filter = pyo.Biquad(self.trans, freq=1690)
        self.trans_resonator = pyo.Delay(pyo.Denorm(self.trans_filter), feedback=0.90, delay=(self.freq**-1))
        self.chorus = pyo.Chorus(self.trans_resonator, depth=0.13, feedback=0.84)
        self.master_filter = pyo.Biquad((self.chorus+self.osc).mix(0), freq=3900)
        self.panner = pyo.Pan(self.master_filter, mul=(0.1)*self.master_amp, pan=self.master_pan)
        self.last_audio_object = self.panner
Exemplo n.º 16
0
    def playback2(self):
        print('pb2')
        fader = pyo.Fader(fadein=0.2, fadeout=0.2, dur=5, mul=.2)
        table = pyo.HarmTable([1, 2, 2, 5, 9])
        glissando = pyo.SigTo(value=self.message_translation[0],
                              time=0.1,
                              init=self.message_translation[0])
        osc = pyo.Osc(
            table=table,
            freq=[glissando / 2, (glissando - 1) / 2, (glissando + 100) / 2],
            mul=fader)
        panner = pyo.Pan(osc,
                         outs=2,
                         pan=random.random(),
                         spread=random.random()).out()

        def pat():
            freq = random.choice(self.message_translation)
            glissando.value = freq

        p = pyo.Pattern(pat, [self.message_length, .25, .75]).play()
        fader.play()
        time.sleep(fader.dur + .05)
        osc.stop()
Exemplo n.º 17
0
# # https://github.com/belangeo/pyo/blob/master/pyo/lib/server.py
# pyo.pa_list_devices() # list all audio devices
# sys.exit()

s = pyo.Server()
s.setInputDevice(4)
s.setOutputDevice(4)
s.boot()
s.start()

time.sleep(1)  # make sure server is booted

# print('s.getNchnls() = %s' % s.getNchnls())
a1 = pyo.Input()
p1 = pyo.Pan(a1).out()
# d1 = pyo.Disto(p1, drive=0.15).out()

# a2 = pyo.Input(chnl=0)
# p2 = pyo.Pan(a2).out(chnl=1)

# s2 = pyo.Server()
# s2.setInputDevice(0)
# s2.setOutputDevice(4)
# s2.boot()
# s2.start()
# a2 = pyo.Input()
# p2 = pyo.Pan(a2).out()
# # print(s1.getStreams())

RECORDING = False
Exemplo n.º 18
0
            track_mixer_number,
            settings.PHYSICAL_OUTPUT2CHANNEL_MAPPING[physical_output],
            1,
        )

    logging.info("making pianoteq modulation object")
    PTEQ_MODULATOR = pianoteq.Modulator(MIDI_SYNTH.pianoteq_trigger, SERVER)

    logging.info("sending everything from the mixer to physical outputs")
    if CHANNELS == "multichannel":
        [MIXER[i][0].out(i) for i in settings.PHYSICAL_OUTPUT2CHANNEL_MAPPING.values()]

    elif CHANNELS == "quadraphonic":
        [MIXER[i][0].play() for i in settings.PHYSICAL_OUTPUT2CHANNEL_MAPPING.values()]
        PANNER = [
            pyo.Pan(signal[0], outs=4, pan=[0, 0.35, 0.65, 1][i]).out()
            for signal, i in zip(
                MIXER, settings.PHYSICAL_OUTPUT2QUADRAPHONIC_PANNING.values()
            )
        ]

    elif CHANNELS == "stereo":
        [MIXER[i][0].play() for i in settings.PHYSICAL_OUTPUT2CHANNEL_MAPPING.values()]
        PANNER = [
            pyo.Pan(MIXER[data[0]][0], outs=2, pan=data[1]).out()
            for data in settings.PHYSICAL_OUTPUT2STEREO_PANNING.values()
        ]

    elif CHANNELS == "mono":
        [MIXER[i][0].out(0) for i in settings.PHYSICAL_OUTPUT2CHANNEL_MAPPING.values()]
Exemplo n.º 19
0
# # https://github.com/belangeo/pyo/blob/master/pyo/lib/server.py
# pyo.pa_list_devices() # list all audio devices
# sys.exit()

s = pyo.Server()
s.setInputDevice(4)
s.setOutputDevice(4)
s.boot()
s.start()

time.sleep(1)  # make sure server is booted

# print('s.getNchnls() = %s' % s.getNchnls())
a1 = pyo.Input()
p1 = pyo.Pan(a1)  #.out()
d1 = pyo.Disto(p1, drive=0.25).out()

# a2 = pyo.Input(chnl=0)
# p2 = pyo.Pan(a2).out(chnl=1)

# s2 = pyo.Server()
# s2.setInputDevice(0)
# s2.setOutputDevice(4)
# s2.boot()
# s2.start()
# a2 = pyo.Input()
# p2 = pyo.Pan(a2).out()
# # print(s1.getStreams())

RECORDING = False