예제 #1
0
 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')
예제 #2
0
    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')
예제 #3
0
    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')
예제 #4
0
    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)
예제 #5
0
    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)
예제 #6
0
파일: test_oscs.py 프로젝트: jshuadvd/pippi
 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))
예제 #7
0
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)
예제 #8
0
파일: test_oscs.py 프로젝트: hecanjog/pippi
 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))
예제 #9
0
def make_note(freq, amp, length):
    shape = dsp.randline(dsp.randint(10, 100))
    return oscs.Tukey().play(length, freq, shape) * amp