From: Paul Brossier Date: Sat, 3 Nov 2007 15:49:38 +0000 (+0100) Subject: phasevoc test: add ones X-Git-Tag: bzr2git~488 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=cc4f3f755c33fffae98865bf2b45da3a1261f928;p=aubio.git phasevoc test: add ones --- diff --git a/tests/python/phasevoc.py b/tests/python/phasevoc.py index cc71208d..bc1c7547 100644 --- a/tests/python/phasevoc.py +++ b/tests/python/phasevoc.py @@ -2,11 +2,12 @@ import unittest from aubio.aubiowrapper import * - buf_size = 1024 hop_size = 256 channels = 2 +precision = 6 + class aubio_phasevoc_test(unittest.TestCase): def setUp(self): @@ -16,15 +17,46 @@ class aubio_phasevoc_test(unittest.TestCase): del_aubio_pvoc(self.o) def test_create(self): - """ test creation and deletion of phasevoc object """ + """ create and delete phasevoc object """ pass def test_zeroes(self): - """ test phasevoc object on zeroes """ - input = new_fvec(hop_size, channels) + """ run phasevoc object on zeroes """ + input = new_fvec(hop_size, channels) fftgrain = new_cvec(buf_size, channels) - aubio_pvoc_do (self.o, input, fftgrain) - aubio_pvoc_rdo(self.o, fftgrain, input) - for index in range(buf_size): + output = new_fvec(hop_size, channels) + for index in range(hop_size): for channel in range(channels): self.assertEqual(0., fvec_read_sample(input, channel, index)) + aubio_pvoc_do (self.o, input, fftgrain) + aubio_pvoc_rdo(self.o, fftgrain, output) + for index in range(hop_size): + for channel in range(channels): + self.assertEqual(0., fvec_read_sample(output, channel, index)) + del input + del fftgrain + + def test_ones(self): + """ run phasevoc object on ones """ + input = new_fvec(hop_size, channels) + fftgrain = new_cvec(buf_size, channels) + output = new_fvec(hop_size, channels) + for index in range(hop_size): + for channel in range(channels): + fvec_write_sample(input, 1., channel, index) + self.assertEqual(1., fvec_read_sample(input, channel, index)) + # make sure the first buf_size-hop_size samples are zeroes + for i in range(buf_size/hop_size - 1): + aubio_pvoc_do (self.o, input, fftgrain) + aubio_pvoc_rdo(self.o, fftgrain, output) + for index in range(hop_size): + for channel in range(channels): + self.assertAlmostEqual(0., fvec_read_sample(output, channel, index), precision) + # make sure the first non zero input is correctly resynthesised + aubio_pvoc_do (self.o, input, fftgrain) + aubio_pvoc_rdo(self.o, fftgrain, output) + for index in range(hop_size): + for channel in range(channels): + self.assertAlmostEqual(1., fvec_read_sample(output, channel, index), precision) + del input + del fftgrain