source: python/tests/test_filterbank.py @ ac9eea7

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

tests/python/src/spectral/filterbank.py: replaced by python/tests/test_filterbank.py

  • Property mode set to 100755
File size: 1.5 KB
Line 
1#! /usr/bin/env python
2
3from numpy.testing import TestCase, run_module_suite
4from numpy.testing import assert_equal, assert_almost_equal
5from numpy import random
6from math import pi
7from aubio import cvec, filterbank
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 = random.random([40, 512 / 2 + 1]).astype('float32')
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[:] = 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[:] = random.random((512 / 2 + 1,)).astype('float32')
37    assert_equal( f(c), 0)
38
39  def test_random_coeffs(self):
40    f = filterbank(40, 512)
41    c = cvec(512)
42    r = random.random([40, 512 / 2 + 1]).astype('float32')
43    r /= r.sum()
44    f.set_coeffs(r)
45    c.norm[:] = random.random((512 / 2 + 1,)).astype('float32')
46    assert_equal ( f(c) < 1., True )
47    assert_equal ( f(c) > 0., True )
48
49  def test_mfcc_coeffs(self):
50    f = filterbank(40, 512)
51    c = cvec(512)
52    f.set_mel_coeffs_slaney(44100)
53    c.norm[:] = random.random((512 / 2 + 1,)).astype('float32')
54    assert_equal ( f(c) < 1., True )
55    assert_equal ( f(c) > 0., True )
56
57if __name__ == '__main__':
58  from unittest import main
59  main()
60
Note: See TracBrowser for help on using the repository browser.