History

[py] add tests for new filterbank methods

Paul Brossier committed 7 years ago

Commit c853c1d1 parent be8b18b1 file · +57 −0Browse files

Showing the changes to python (1 of 1 file). Show all

Unified · Split

python/tests/test_filterbank_mel.py+57−0
@@ -110,6 +110,63 @@ class aubio_filterbank_mel_test_case(TestCase): · 109 unmodified lines
110110 # TODO add assert_warns
111111 f.set_triangle_bands(fvec(freq_list), samplerate)
112112
113+ def test_triangle_freqs_without_norm(self):
114+ """make sure set_triangle_bands works without """
115+ samplerate = 22050
116+ freq_list = fvec([0, 100, 1000, 10000])
117+ f = filterbank(len(freq_list) - 2, 1024)
118+ f.set_norm(0)
119+ f.set_triangle_bands(freq_list, samplerate)
120+ expected = f.get_coeffs()
121+ f.set_norm(1)
122+ f.set_triangle_bands(fvec(freq_list), samplerate)
123+ assert_almost_equal(f.get_coeffs().T,
124+ expected.T * 2. / (freq_list[2:] - freq_list[:-2]))
125+
126+ def test_triangle_freqs_wrong_norm(self):
127+ f = filterbank(10, 1024)
128+ with self.assertRaises(ValueError):
129+ f.set_norm(-1)
130+
131+ def test_triangle_freqs_with_power(self):
132+ f = filterbank(9, 1024)
133+ freqs = fvec([40, 80, 200, 400, 800, 1600, 3200, 6400, 12800, 15000,
134+ 24000])
135+ f.set_power(2)
136+ f.set_triangle_bands(freqs, 48000)
137+ spec = cvec(1024)
138+ spec.norm[:] = .1
139+ expected = fvec([0.02070313, 0.02138672, 0.02127604, 0.02135417,
140+ 0.02133301, 0.02133301, 0.02133311, 0.02133334, 0.02133345])
141+ expected /= 100.
142+ assert_almost_equal(f(spec), expected)
143+
144+ def test_mel_coeffs(self):
145+ f = filterbank(40, 1024)
146+ f.set_mel_coeffs(44100, 0, 44100 / 2)
147+
148+ def test_zero_fmax(self):
149+ f = filterbank(40, 1024)
150+ f.set_mel_coeffs(44100, 0, 0)
151+
152+ def test_wrong_mel_coeffs(self):
153+ f = filterbank(40, 1024)
154+ with self.assertRaises(ValueError):
155+ f.set_mel_coeffs_slaney(0)
156+ with self.assertRaises(ValueError):
157+ f.set_mel_coeffs(44100, 0, -44100 / 2)
158+ with self.assertRaises(ValueError):
159+ f.set_mel_coeffs(44100, -0.1, 44100 / 2)
160+ with self.assertRaises(ValueError):
161+ f.set_mel_coeffs(-44100, 0.1, 44100 / 2)
162+ with self.assertRaises(ValueError):
163+ f.set_mel_coeffs_htk(-1, 0, 0)
164+
165+ def test_mel_coeffs_htk(self):
166+ f = filterbank(40, 1024)
167+ f.set_mel_coeffs_htk(44100, 0, 44100 / 2)
168+
169+
113170 if __name__ == '__main__':
114171 import nose2
115172 nose2.main()

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t