Example #1
0
 def test_mono_audio_file_construction(self, shared_datadir):
     file_name = (shared_datadir / 'audio/test_sine.wav').resolve()
     audio = AudioBuffer(file_name)
     assert audio.get_audio().shape == (44100,)
     assert audio.get_sample_rate() == 44100
     assert audio.channels == 1
     assert audio.file_name == file_name
Example #2
0
 def test_array_construction_mono(self):
     samples = np.array([1,2,3,4,5,6,7,8,9,10])
     audio = AudioBuffer(samples, 44100)
     assert np.array_equal(audio.get_audio(), samples)
     assert audio.get_sample_rate() == 44100
     assert audio.channels == 1
     assert audio.file_name == ''
Example #3
0
 def test_list_construction_stereo(self):
     samples = [[1,2,3,4,5],[6,7,8,9,10]]
     audio = AudioBuffer(samples, 44100)
     assert np.array_equal(audio.get_audio(), samples)
     assert audio.get_sample_rate() == 44100
     assert audio.channels == 2
     assert audio.file_name == ''
Example #4
0
 def test_audio_file_load_resample(self, shared_datadir):
     file_name = (shared_datadir / 'audio/test_sine.wav').resolve()
     audio = AudioBuffer()
     audio.load(file_name, 88200)
     assert audio.get_audio().shape == (88200,)
     assert audio.get_sample_rate() == 88200
     assert audio.channels == 1
     assert audio.file_name == file_name
Example #5
0
 def test_stereo_audio_file_load(self, shared_datadir):
     file_name = (shared_datadir / 'audio/test_sine_stereo.wav').resolve()
     audio = AudioBuffer()
     audio.load(file_name, mono=False)
     assert audio.get_audio().shape == (2, 44100)
     assert audio.get_sample_rate() == 44100
     assert audio.channels == 2
     assert audio.file_name == file_name
Example #6
0
 def test_save_mono_create_dir(self, tmp_path):
     samples = self.make_test_sine(44100, 440, 44100)
     audio = AudioBuffer(samples, 44100)
     file_name = (tmp_path / 'temp_dir/test_save.wav').resolve()
     audio.save(file_name)
     audioReload = AudioBuffer(file_name)
     np.testing.assert_array_almost_equal(audio.get_audio(), audioReload.get_audio())
     assert audioReload.get_sample_rate() == 44100
     assert audioReload.channels == 1
     assert audioReload.file_name == file_name
Example #7
0
    def test_save_mono_normalize(self, tmp_path):
        samples = self.make_test_sine(44100, 400, 44100)
        samplesHalfAmp = samples * 0.5

        audio = AudioBuffer(samples, 44100)
        audioNormed = AudioBuffer(samples, 44100)

        file_name = (tmp_path / 'test_save.wav').resolve()
        audio.save(file_name, normalize=True)
        audioReload = AudioBuffer(file_name)

        # Make sure it looks correct
        np.testing.assert_array_almost_equal(audioNormed.get_audio(), audioReload.get_audio(), decimal=5)
        assert audioReload.get_audio().shape == (44100,)
        assert audioReload.get_sample_rate() == 44100
        assert audioReload.channels == 1
        assert audioReload.file_name == file_name
Example #8
0
    def test_save_stereo(self, tmp_path):
        # Create a stereo AudioBuffer
        samplesL = self.make_test_sine(44100, 100, 44100)
        samplesR = self.make_test_sine(44100, 200, 44100)
        samples = np.array([samplesL, samplesR])
        audio = AudioBuffer(samples, 44100)

        # Save Audio Buffer
        file_name = (tmp_path / 'test_save.wav').resolve()
        audio.save(file_name)

        # Reload stereo audio file
        audioReload = AudioBuffer()
        audioReload.load(file_name, mono=False)

        # Make sure it looks correct
        np.testing.assert_array_almost_equal(audio.get_audio(), audioReload.get_audio())
        assert audioReload.get_audio().shape == (2,44100)
        assert audioReload.get_sample_rate() == 44100
        assert audioReload.channels == 2
        assert audioReload.file_name == file_name
Example #9
0
 def test_empty_construction(self):
     audio = AudioBuffer()
     assert audio.get_audio() == None
     assert audio.get_sample_rate() == None
     assert audio.channels == 0
     assert audio.file_name == ''