source: python/tests/test_musicutils.py @ 5a7e2c3

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

ext/py-musicutils.c: add level_lin

  • Property mode set to 100755
File size: 1.6 KB
Line 
1#! /usr/bin/env python
2
3from numpy.testing import TestCase
4from numpy.testing.utils import assert_equal, assert_almost_equal
5from numpy import cos, arange
6from math import pi
7
8from aubio import window, level_lin
9
10from aubio import fvec
11
12class aubio_window(TestCase):
13
14    def test_accept_name_and_size(self):
15        window("default", 1024)
16
17    def test_fail_name_not_string(self):
18        try:
19            window(10, 1024)
20        except ValueError, e:
21            pass
22        else:
23            self.fail('non-string window type does not raise a ValueError')
24
25    def test_fail_size_not_int(self):
26        try:
27            window("default", "default")
28        except ValueError, e:
29            pass
30        else:
31            self.fail('non-integer window length does not raise a ValueError')
32
33    def test_compute_hanning_1024(self):
34        size = 1024
35        aubio_window = window("hanning", size)
36        numpy_window = .5 - .5 * cos(2. * pi * arange(size) / size)
37        assert_almost_equal(aubio_window, numpy_window)
38
39class aubio_level_lin(TestCase):
40    def test_accept_fvec(self):
41        level_lin(fvec(1024))
42
43    def test_fail_not_fvec(self):
44        try:
45            level_lin("default")
46        except ValueError, e:
47            pass
48        else:
49            self.fail('non-number input phase does not raise a TypeError')
50
51    def test_zeros_is_zeros(self):
52        assert_equal(level_lin(fvec(1024)), 0.)
53
54    def test_minus_ones_is_one(self):
55        from numpy import ones
56        assert_equal(level_lin(-ones(1024, dtype="float32")), 1.)
57
58if __name__ == '__main__':
59    from unittest import main
60    main()
Note: See TracBrowser for help on using the repository browser.