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
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
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)
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)
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