3 from unittest import main
4 from numpy.testing import TestCase, assert_equal, assert_almost_equal
5 from aubio import onset, fvec
7 class aubio_onset_default(TestCase):
9 def test_members(self):
11 assert_equal ([o.buf_size, o.hop_size, o.method, o.samplerate],
12 [1024,512,'default',44100])
14 class aubio_onset_params(TestCase):
19 self.o = onset(samplerate = self.samplerate)
21 def test_get_delay(self):
22 self.assertGreater(self.o.get_delay(), 0)
24 def test_get_delay_s(self):
25 self.assertGreater(self.o.get_delay_s(), 0.)
27 def test_get_delay_ms(self):
28 self.assertGreater(self.o.get_delay_ms(), 0.)
30 def test_get_minioi(self):
31 self.assertGreater(self.o.get_minioi(), 0)
33 def test_get_minioi_s(self):
34 self.assertGreater(self.o.get_minioi_s(), 0.)
36 def test_get_minioi_ms(self):
37 self.assertGreater(self.o.get_minioi_ms(), 0.)
39 def test_get_threshold(self):
40 self.assertGreater(self.o.get_threshold(), 0.)
42 def test_set_delay(self):
45 assert_equal (self.o.get_delay(), val)
47 def test_set_delay_s(self):
49 self.o.set_delay_s(val)
50 assert_almost_equal (self.o.get_delay_s(), val)
52 def test_set_delay_ms(self):
54 self.o.set_delay_ms(val)
55 assert_almost_equal (self.o.get_delay_ms(), val)
57 def test_set_minioi(self):
59 self.o.set_minioi(val)
60 assert_equal (self.o.get_minioi(), val)
62 def test_set_minioi_s(self):
64 self.o.set_minioi_s(val)
65 assert_almost_equal (self.o.get_minioi_s(), val)
67 def test_set_minioi_ms(self):
69 self.o.set_minioi_ms(val)
70 assert_almost_equal (self.o.get_minioi_ms(), val)
72 def test_set_threshold(self):
74 self.o.set_threshold(val)
75 assert_almost_equal (self.o.get_threshold(), val)
77 class aubio_onset_96000(aubio_onset_params):
80 class aubio_onset_32000(aubio_onset_params):
83 class aubio_onset_8000(aubio_onset_params):
86 class aubio_onset_coverate(TestCase):
87 # extra tests to execute the C routines and improve coverage
89 def test_all_methods(self):
90 for method in ['default', 'energy', 'hfc', 'complexdomain', 'complex',
91 'phase', 'wphase', 'mkl', 'kl', 'specflux', 'specdiff',
93 o = onset(method=method, buf_size=512, hop_size=256)
96 def test_get_methods(self):
97 o = onset(method='default', buf_size=512, hop_size=256)
99 assert o.get_silence() == -70
101 assert_almost_equal(o.get_silence(), -20)
103 assert o.get_compression() == 1
104 o.set_compression(.99)
105 assert_almost_equal(o.get_compression(), .99)
107 assert o.get_awhitening() == 0
109 assert o.get_awhitening() == 1
115 o.get_thresholded_descriptor()
118 if __name__ == '__main__':