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/tests (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
110 # TODO add assert_warns110 # TODO add assert_warns
111 f.set_triangle_bands(fvec(freq_list), samplerate)111 f.set_triangle_bands(fvec(freq_list), samplerate)
112 112
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
113if __name__ == '__main__':170if __name__ == '__main__':
114 import nose2171 import nose2
115 nose2.main()172 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