Changeset 893e699 for python


Ignore:
Timestamp:
Nov 10, 2018, 11:58:54 AM (7 months ago)
Author:
Paul Brossier <piem@piem.org>
Branches:
feature/autosink, feature/constantq, feature/pitchshift, feature/timestretch, master
Children:
ed09ba7c
Parents:
568fc60 (diff), 9ef3c6e (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge branch 'master' into feature/pytest

File:
1 edited

Legend:

Unmodified
Added
Removed
  • python/tests/test_filterbank_mel.py

    r568fc60 r893e699  
    55from _tools import assert_warns
    66
    7 from aubio import cvec, filterbank, float_type
     7from aubio import fvec, cvec, filterbank, float_type
    88
    99class aubio_filterbank_mel_test_case(TestCase):
     
    7979            f.set_triangle_bands(freqs, 44100)
    8080
     81    def test_triangle_freqs_with_zeros(self):
     82        """make sure set_triangle_bands works when list starts with 0"""
     83        freq_list = [0, 40, 80]
     84        freqs = np.array(freq_list, dtype = float_type)
     85        f = filterbank(len(freqs)-2, 1024)
     86        f.set_triangle_bands(freqs, 48000)
     87        assert_equal ( f(cvec(1024)), 0)
     88        self.assertIsInstance(f.get_coeffs(), np.ndarray)
     89
     90    def test_triangle_freqs_with_wrong_negative(self):
     91        """make sure set_triangle_bands fails when list contains a negative"""
     92        freq_list = [-10, 0, 80]
     93        f = filterbank(len(freq_list)-2, 1024)
     94        with self.assertRaises(ValueError):
     95            f.set_triangle_bands(fvec(freq_list), 48000)
     96
     97    def test_triangle_freqs_with_wrong_ordering(self):
     98        """make sure set_triangle_bands fails when list not ordered"""
     99        freq_list = [0, 80, 40]
     100        f = filterbank(len(freq_list)-2, 1024)
     101        with self.assertRaises(ValueError):
     102            f.set_triangle_bands(fvec(freq_list), 48000)
     103
     104    def test_triangle_freqs_with_large_freq(self):
     105        """make sure set_triangle_bands warns when freq > nyquist"""
     106        samplerate = 22050
     107        freq_list = [0, samplerate//4, samplerate // 2 + 1]
     108        f = filterbank(len(freq_list)-2, 1024)
     109        # TODO add assert_warns
     110        f.set_triangle_bands(fvec(freq_list), samplerate)
     111
     112    def test_triangle_freqs_with_not_enough_filters(self):
     113        """make sure set_triangle_bands warns when not enough filters"""
     114        samplerate = 22050
     115        freq_list = [0, 100, 1000, 4000, 8000, 10000]
     116        f = filterbank(len(freq_list)-3, 1024)
     117        # TODO add assert_warns
     118        f.set_triangle_bands(fvec(freq_list), samplerate)
     119
     120    def test_triangle_freqs_with_too_many_filters(self):
     121        """make sure set_triangle_bands warns when too many filters"""
     122        samplerate = 22050
     123        freq_list = [0, 100, 1000, 4000, 8000, 10000]
     124        f = filterbank(len(freq_list)-1, 1024)
     125        # TODO add assert_warns
     126        f.set_triangle_bands(fvec(freq_list), samplerate)
     127
     128    def test_triangle_freqs_with_double_value(self):
     129        """make sure set_triangle_bands works with 2 duplicate freqs"""
     130        samplerate = 22050
     131        freq_list = [0, 100, 1000, 4000, 4000, 4000, 10000]
     132        f = filterbank(len(freq_list)-2, 1024)
     133        # TODO add assert_warns
     134        f.set_triangle_bands(fvec(freq_list), samplerate)
     135
     136    def test_triangle_freqs_with_triple(self):
     137        """make sure set_triangle_bands works with 3 duplicate freqs"""
     138        samplerate = 22050
     139        freq_list = [0, 100, 1000, 4000, 4000, 4000, 10000]
     140        f = filterbank(len(freq_list)-2, 1024)
     141        # TODO add assert_warns
     142        f.set_triangle_bands(fvec(freq_list), samplerate)
     143
     144
    81145if __name__ == '__main__':
    82146    from unittest import main
Note: See TracChangeset for help on using the changeset viewer.