Exemple #1
0
 def generate_sample(self, oscillator, duration, use_fade=False):
     o = oscillator  # iter(oscillator)
     scale = 2**(8*self.synth.samplewidth-1)
     try:
         frames = [int(next(o)*scale) for _ in range(int(self.synth.samplerate*duration))]
     except StopIteration:
         return None
     else:
         sample = Sample.from_array(frames, self.synth.samplerate, 1)
         if use_fade:
             sample.fadein(0.05).fadeout(0.1)
         return sample
Exemple #2
0
 def generate_sample(self, oscillator, duration, use_fade=False):
     o = oscillator  # iter(oscillator)
     scale = 2**(8*self.synth.samplewidth-1)
     try:
         frames = [int(next(o)*scale) for _ in range(int(self.synth.samplerate*duration))]
     except StopIteration:
         return None
     else:
         sample = Sample.from_array(frames, self.synth.samplerate, 1)
         if use_fade:
             sample.fadein(0.05).fadeout(0.1)
         return sample
Exemple #3
0
def echo_lfo():
    synth = WaveSynth(22050)
    s = Sine(440, amplitude=25000, samplerate=synth.samplerate)
    s = EnvelopeFilter(s, .2, .2, 0, 0, 1.5, stop_at_end=True)
    s = EchoFilter(s, .15, 5, 0.3, 0.6)
    s = ClipFilter(s, -32000, 32000)
    frames = [int(v) for v in s]
    import matplotlib.pyplot as plot
    plot.plot(frames)
    plot.show()
    samp = Sample.from_array(frames, synth.samplerate, 1)
    with Output.for_sample(samp) as out:
        out.play_sample(samp)
Exemple #4
0
def echo_lfo():
    synth = WaveSynth(22050)
    s = Sine(440, amplitude=25000, samplerate=synth.samplerate)
    s = EnvelopeFilter(s, .2, .2, 0, 0, 1.5, stop_at_end=True)
    s = EchoFilter(s, .15, 5, 0.3, 0.6)
    s = ClipFilter(s, -32000, 32000)
    frames = [int(v) for v in s]
    import matplotlib.pyplot as plot
    plot.plot(frames)
    plot.show()
    samp = Sample.from_array(frames, synth.samplerate, 1)
    with Output.for_sample(samp) as out:
        out.play_sample(samp)