source: tests/python/src/temporal/a_weighting.py @ 59c046d

feature/autosinkfeature/cnnfeature/cnn_orgfeature/constantqfeature/crepefeature/crepe_orgfeature/pitchshiftfeature/pydocstringsfeature/timestretchfix/ffmpeg5pitchshiftsamplertimestretchyinfft+
Last change on this file since 59c046d was 2672d67, checked in by Paul Brossier <piem@piem.org>, 15 years ago

tests/python/src/temporal/: update a_weighting tests

  • Property mode set to 100644
File size: 2.1 KB
RevLine 
[7e114c8]1from localaubio import *
[6913434]2
3samplerate = 44100
4buf_size = 1024
[2672d67]5channels = 1
[6913434]6
[2672d67]7class a_weighting_unit (aubio_unit_template):
[6913434]8
9  def setUp(self):
[7e114c8]10    self.o = new_aubio_filter_a_weighting (samplerate, channels)
[6913434]11
12  def tearDown(self):
[7e114c8]13    del_aubio_filter (self.o)
[6913434]14
15  def test_creation(self):
16    pass
17
18  def test_filter_zeroes(self):
19    """ check filter run on a vector full of zeroes returns zeros """
20    vec = new_fvec(buf_size, channels)
[7e114c8]21    aubio_filter_do (self.o, vec)
[6913434]22    for index in range(buf_size):
23      for channel in range(channels):
24        self.assertEqual(0., fvec_read_sample(vec,channel,index))
25    del_fvec(vec)
26
27  def test_filter_ones(self):
28    vec = new_fvec(buf_size, channels)
29    for index in range(buf_size):
30      for channel in range(channels):
31        fvec_write_sample(vec, 1., channel, index)
[7e114c8]32    aubio_filter_do (self.o, vec)
[6913434]33    for index in range(buf_size):
34      for channel in range(channels):
35        self.assertNotEqual(0., fvec_read_sample(vec,channel,index))
36    del_fvec(vec)
37
38  def test_filter_denormal(self):
39    vec = new_fvec(buf_size, channels)
40    for index in range(buf_size):
41      for channel in range(channels):
[7e114c8]42        fvec_write_sample(vec, 2.e-42, channel, index)
43    aubio_filter_do (self.o, vec)
[6913434]44    for index in range(buf_size):
45      for channel in range(channels):
46        self.assertEqual(0., fvec_read_sample(vec,channel,index))
47    del_fvec(vec)
48
[2672d67]49  def test_simple(self):
50    buf_size = 32
51    input = new_fvec (buf_size, 1)
52    output = new_fvec (buf_size, 1)
53    expected = array_from_text_file('src/temporal/a_weighting_test_simple.expected')
54    fvec_write_sample (input, 0.5, 0, 12)
55    for i in range(buf_size):
56      for c in range(channels):
57        self.assertEqual(expected[0][i], fvec_read_sample(input, c, i))
58    f = new_aubio_filter_a_weighting (samplerate, channels)
59    aubio_filter_do_outplace (f, input, output)
60    del_aubio_filter (f)
61    for i in range(buf_size):
62      for c in range(channels):
63        self.assertCloseEnough(expected[1][i], fvec_read_sample(output, c, i))
64
[6913434]65if __name__ == '__main__':
[7e114c8]66  import unittest
[6913434]67  unittest.main()
Note: See TracBrowser for help on using the repository browser.