Skip to content
Snippets Groups Projects
Select Git revision
  • aa71dd152bc7bd33b391433ab30ee610e1bfcc4e
  • master default protected
  • csv_export
  • ndex
  • v1.1.18-rc2
  • v1.1.17
  • v1.1.16
  • v1.1.16-rc12
  • v1.1.16-rc11
  • v1.1.16-rc10
  • v1.1.16-rc9
  • v1.1.16-rc8
  • v1.1.16-rc7
  • v1.1.16-rc4
  • v1.1.16-rc3
  • v1.1.16-rc1
  • v1.1.6-rc1
  • v1.1.15
  • v1.1.15-rc7
  • v1.1.15-rc6
  • v1.1.15-rc3
  • v1.1.15-rc1
  • v1.1.14
  • v1.1.13
24 results

main.ts

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    test_audio.py 2.63 KiB
    import unittest
    import numpy as np
    
    from apollon.audio import AudioFile
    
    class TestAudioFile(unittest.TestCase):
        def setUp(self):
            self.snd = AudioFile('audio/beat.wav')
    
        def test_path_is_sting(self):
            self.assertIsInstance(self.snd.file_name, str)
    
        def test_hash(self):
            snd2 = AudioFile('audio/beat.wav')
            self.assertEqual(self.snd.hash, snd2.hash)
    
    
    class TestAudioFileReadMono(unittest.TestCase):
        def setUp(self):
            self.snd = AudioFile('audio/beat.wav')
            self.ref = self.snd._file.read(always_2d=True)
    
        def test_read_raw_multi(self):
            data = self.snd.read(-1, norm=False, mono=False)
            self.assertTrue(np.array_equal(self.ref, data))
    
        def test_read_raw_mono(self):
            ref = self.ref.sum(axis=1, keepdims=True) / self.ref.shape[1]
            data = self.snd.read(norm=False, mono=True)
            self.assertTrue(np.array_equal(ref, data))
    
        def test_read_norm_multi(self):
            ref = self.ref / self.ref.max(axis=0, keepdims=True)
            data = self.snd.read(norm=True, mono=False)
            self.assertTrue(np.array_equal(ref, data))
    
        def test_read_norm_mono(self):
            ref = self.ref.sum(axis=1, keepdims=True) / self.ref.shape[1]
            ref /= self.ref.max()
            data = self.snd.read(norm=True, mono=True)
            self.assertTrue(np.array_equal(ref, data))
    
        def tearDown(self):
            self.snd.close()
    
    
    class TestAudioFileReadMultiChannel(unittest.TestCase):
        def setUp(self):
            self.snd = AudioFile('audio/beat_5ch.wav')
            self.ref = self.snd._file.read(always_2d=True)
    
        def test_read_raw_multi(self):
            data = self.snd.read(norm=False, mono=False)
            self.assertTrue(np.array_equal(self.ref, data))
    
        def test_read_raw_mono(self):
            ref = self.ref.sum(axis=1, keepdims=True) / self.ref.shape[1]
            data = self.snd.read(norm=False, mono=True)
            self.assertTrue(np.array_equal(ref, data))
    
        def test_read_norm_multi(self):
            ref = self.ref / self.ref.max(axis=0, keepdims=True)
            data = self.snd.read(norm=True, mono=False)
            self.assertTrue(np.array_equal(ref, data))
    
        def test_read_norm_mono(self):
            ref = self.ref.sum(axis=1, keepdims=True) / self.ref.shape[1]
            ref /= self.ref.max()
            data = self.snd.read(norm=True, mono=True)
            self.assertTrue(np.array_equal(ref, data))
    
        def tearDown(self):
            self.snd.close()
    
    
    """
    def test_fti16(self):
        res = fti16(self.snd_mono.data)
        self.assertTrue(isinstance(res, Array))
        self.assertTrue(res.dtype == 'int16')
        self.assertTrue(self.snd_mono.data.shape == res.shape)
    """
    
    if __name__ == '__main__':
        unittest.main()