Ejemplo n.º 1
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
Ejemplo n.º 2
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
Ejemplo n.º 3
0
    def test_sine_wave_stft_complex_time_major(self, shared_datadir):
        file_name = (shared_datadir / 'audio/test_sine.wav').resolve()
        audio = AudioBuffer()
        audio.load(file_name)
        stft = STFT(time_major=True, fft_size=2048, hop_size=1024)
        features = stft(audio)

        assert features.shape == (44, 1025)
        assert isinstance(features[0][0], np.complex64)
Ejemplo n.º 4
0
    def test_sine_wave_stft_complex(self, shared_datadir):
        file_name = (shared_datadir / 'audio/test_sine.wav').resolve()
        audio = AudioBuffer()
        audio.load(file_name)
        stft = STFT()
        features = stft(audio)

        assert features.shape == (513, 87)
        assert isinstance(features[0][0], np.complex64)
Ejemplo n.º 5
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