def test_vdelay(self): snd = dsp.read('tests/sounds/guitar10s.wav') tlfo = dsp.randline(3, 30, 0, 1) lfo = dsp.randline(30, 4096, 0, 1) snd = fx.vdelay(snd, lfo, 0.1, 0.75, 0.5) snd = fx.norm(snd, 1) snd.write('tests/renders/fx_vdelay.wav')
def test_mincer(self): snd = dsp.read('tests/sounds/linux.wav') length = 20 position = dsp.randline(10, 0.5, 2) pitch = dsp.randline(10) out = fx.mincer(snd, length, position, pitch) out.write('tests/renders/fx_mincer.wav')
def test_mincer(self): snd = dsp.read('tests/sounds/linux.wav') length = 20 amp = 1 time = dsp.randline(10, 0.5, 2) pitch = dsp.randline(10) snd.frames = soundpipe.mincer(snd.frames, snd.dur, time.data, amp, pitch.data, samplerate=snd.samplerate) snd.write('tests/renders/soundpipe_mincer.wav')
def test_randline(self): numpoints = random.randint(1, 10) wtsize = random.randint(10, 1000) wt = dsp.randline(numpoints, wtsize=wtsize) self.assertEqual(len(wt), wtsize) lowvalue = random.triangular(0, 1) highvalue = random.triangular(1, 5) wt = dsp.randline(numpoints, lowvalue=lowvalue, highvalue=highvalue, wtsize=wtsize) self.assertEqual(len(wt), wtsize) self.assertTrue(max(wt) <= highvalue) self.assertTrue(min(wt) >= lowvalue)
def test_randline(self): numpoints = random.randint(1, 10) wtsize = random.randint(10, 1000) wt = dsp.randline(numpoints, wtsize=wtsize) self.assertEqual(len(wt), wtsize) lowvalue = random.triangular(0, 1) highvalue = random.triangular(1, 5) wt = dsp.randline(numpoints, lowvalue=lowvalue, highvalue=highvalue, wtsize=wtsize ) self.assertEqual(len(wt), wtsize) self.assertTrue(max(wt) <= highvalue) self.assertTrue(min(wt) >= lowvalue)
def test_pulsar_burst_and_mask(self): osc = Pulsar('sine', window='sine', pulsewidth=dsp.wt('tri', 0, 1), mask=dsp.randline(30, 0, 1), burst=(3, 2), freq=200.0, amp=0.2) length = 10 out = osc.play(length) out.write('tests/renders/osc_pulsar_burst_and_mask.wav') self.assertEqual(len(out), int(length * out.samplerate))
def make_note(freq, amp, length): numtables = random.randint(1, random.randint(3, 12)) lfo = dsp.randline(random.randint(10, 100)) lfo_freq = random.triangular(0.3, 30) mod = dsp.randline(random.randint(10, 100)) mod_freq = random.triangular(0.3, 3) mod_range = random.triangular(0, 0.03) pulsewidth = random.random() wavetables = [] for _ in range(numtables): if random.random() > 0.5: wavetables += [random.choice(['sine', 'square', 'tri', 'saw'])] else: wavetables += [dsp.randline(random.randint(3, 300))] return oscs.Pulsar2d(wavetables, windows=['sine'], pulsewidth=pulsewidth, freq=freq, amp=amp).play(length)
def test_pulsar_burst_and_mask(self): osc = Pulsar( 'sine', window='sine', pulsewidth=dsp.wt('tri', 0, 1), mask=dsp.randline(30, 0, 1), burst=(3,2), freq=200.0, amp=0.2 ) length = 10 out = osc.play(length) out.write('tests/renders/osc_pulsar_burst_and_mask.wav') self.assertEqual(len(out), int(length * out.samplerate))
def make_note(freq, amp, length): shape = dsp.randline(dsp.randint(10, 100)) return oscs.Tukey().play(length, freq, shape) * amp