source: python/tests/test_filterbank.py @ 2a14820

feature/autosinkfeature/constantqfeature/pitchshiftfeature/pydocstringsfeature/timestretchpitchshiftsamplertimestretchyinfft+
Last change on this file since 2a14820 was 2a14820, checked in by Paul Brossier <piem@piem.org>, 5 years ago

python/tests/test_filterbank.py: clean up, use nose2

  • Property mode set to 100755
File size: 1.8 KB
Line 
1#! /usr/bin/env python
2
3from numpy.testing import TestCase
4from numpy.testing import assert_equal, assert_almost_equal
5import numpy as np
6from aubio import cvec, filterbank, float_type
7from utils import array_from_text_file
8
9class aubio_filterbank_test_case(TestCase):
10
11  def test_members(self):
12    f = filterbank(40, 512)
13    assert_equal ([f.n_filters, f.win_s], [40, 512])
14
15  def test_set_coeffs(self):
16    f = filterbank(40, 512)
17    r = np.random.random([40, int(512 / 2) + 1]).astype(float_type)
18    f.set_coeffs(r)
19    assert_equal (r, f.get_coeffs())
20
21  def test_phase(self):
22    f = filterbank(40, 512)
23    c = cvec(512)
24    c.phas[:] = np.pi
25    assert_equal( f(c), 0);
26
27  def test_norm(self):
28    f = filterbank(40, 512)
29    c = cvec(512)
30    c.norm[:] = 1
31    assert_equal( f(c), 0);
32
33  def test_random_norm(self):
34    f = filterbank(40, 512)
35    c = cvec(512)
36    c.norm[:] = np.random.random((int(512 / 2) + 1,)).astype(float_type)
37    assert_equal( f(c), 0)
38
39  def test_random_coeffs(self):
40    win_s = 128
41    f = filterbank(40, win_s)
42    c = cvec(win_s)
43    r = np.random.random([40, int(win_s / 2) + 1]).astype(float_type)
44    r /= r.sum()
45    f.set_coeffs(r)
46    c.norm[:] = np.random.random((int(win_s / 2) + 1,)).astype(float_type)
47    assert_equal ( f(c) < 1., True )
48    assert_equal ( f(c) > 0., True )
49
50  def test_mfcc_coeffs(self):
51    f = filterbank(40, 512)
52    c = cvec(512)
53    f.set_mel_coeffs_slaney(44100)
54    c.norm[:] = np.random.random((int(512 / 2) + 1,)).astype(float_type)
55    assert_equal ( f(c) < 1., True )
56    assert_equal ( f(c) > 0., True )
57
58  def test_mfcc_coeffs_16000(self):
59    expected = array_from_text_file('filterbank_mfcc_16000_512.expected')
60    f = filterbank(40, 512)
61    f.set_mel_coeffs_slaney(16000)
62    assert_almost_equal ( expected, f.get_coeffs() )
63
64if __name__ == '__main__':
65    from nose2 import main
66    main()
67
Note: See TracBrowser for help on using the repository browser.