source: python/tests/test_mathutils.py @ 1164fd85

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

python/tests/test_mathutils: fix test_miditobin test

  • Property mode set to 100755
File size: 3.3 KB
Line 
1#! /usr/bin/env python
2
3from numpy.testing import TestCase, assert_equal
4from numpy import array, arange, isnan, isinf
5from aubio import bintomidi, miditobin, freqtobin, bintofreq, freqtomidi, miditofreq
6from aubio import unwrap2pi
7from aubio import fvec
8from math import pi
9
10class aubio_mathutils(TestCase):
11
12    def test_unwrap2pi(self):
13        unwrap2pi(int(23))
14        unwrap2pi(float(23.))
15        unwrap2pi(int(23.))
16        unwrap2pi(arange(10))
17        unwrap2pi(arange(10).astype("int"))
18        unwrap2pi(arange(10).astype("float"))
19        unwrap2pi(arange(10).astype("float32"))
20        unwrap2pi([1,3,5])
21        unwrap2pi([23.,24.,25.])
22        a = fvec(10)
23        a[:] = 4.
24        unwrap2pi(a)
25        a = pi/100. * arange(-600,600).astype("float")
26        b = unwrap2pi (a)
27        #print zip(a, b)
28
29        try:
30            print (unwrap2pi(["23.","24.",25.]))
31        except Exception as e:
32            pass
33
34    def test_unwrap2pi_takes_fvec(self):
35        a = fvec(10)
36        b = unwrap2pi(a)
37        #print zip(a, b)
38        assert ( b > -pi ).all()
39        assert ( b <= pi ).all()
40
41    def test_unwrap2pi_takes_array_of_float(self):
42        a = arange(-10., 10.).astype("float")
43        b = unwrap2pi(a)
44        #print zip(a, b)
45        assert ( b > -pi ).all()
46        assert ( b <= pi ).all()
47
48    def test_unwrap2pi_takes_array_of_float32(self):
49        a = arange(-10, 10).astype("float32")
50        b = unwrap2pi(a)
51        #print zip(a, b)
52        assert ( b > -pi ).all()
53        assert ( b <= pi ).all()
54
55    def test_freqtomidi(self):
56        a = array(list(range(-20, 50000, 100)) + [ -1e32, 1e32 ])
57        b = freqtomidi(a)
58        #print zip(a, b)
59        assert_equal ( isnan(array(b)), False )
60        assert_equal ( isinf(array(b)), False )
61        assert_equal ( array(b) < 0, False )
62
63    def test_miditofreq(self):
64        a = list(range(-30, 200)) + [-100000, 10000]
65        b = miditofreq(a)
66        #print zip(a, b)
67        assert_equal ( isnan(b), False )
68        assert_equal ( isinf(b), False )
69        assert_equal ( b < 0, False )
70
71    def test_miditobin(self):
72        a = list(range(-30, 200)) + [-100000, 10000]
73        b = [ miditobin(x, 44100, 512) for x in a ]
74        #print zip(a, b)
75        assert_equal ( isnan(array(b)), False )
76        assert_equal ( isinf(array(b)), False )
77        assert_equal ( array(b) < 0, False )
78
79    def test_bintomidi(self):
80        a = list(range(-100, 512))
81        b = [ bintomidi(x, 44100, 512) for x in a ]
82        #print zip(a, b)
83        assert_equal ( isnan(array(b)), False )
84        assert_equal ( isinf(array(b)), False )
85        assert_equal ( array(b) < 0, False )
86
87    def test_freqtobin(self):
88        a = list(range(-20, 50000, 100)) + [ -1e32, 1e32 ]
89        b = [ freqtobin(x, 44100, 512) for x in a ]
90        #print zip(a, b)
91        assert_equal ( isnan(array(b)), False )
92        assert_equal ( isinf(array(b)), False )
93        assert_equal ( array(b) < 0, False )
94
95    def test_bintofreq(self):
96        a = list(range(-20, 148))
97        b = [ bintofreq(x, 44100, 512) for x in a ]
98        #print zip(a, b)
99        assert_equal ( isnan(array(b)), False )
100        assert_equal ( isinf(array(b)), False )
101        assert_equal ( array(b) < 0, False )
102
103if __name__ == '__main__':
104    from unittest import main
105    main()
Note: See TracBrowser for help on using the repository browser.