def check_exec_time(data, noise, rate, out_file): start_time = time.time() denoised = Denoiser.reduce_by_example(data, noise, rate) sf.write(out_file, denoised, rate) return (len(denoised) / rate, time.time() - start_time)
def test_reducing_by_example(audio_file, noise_file, out_file): data, rate = sf.read(audio_file) noise_data, _ = sf.read(noise_file) denoised_audio = Denoiser.reduce_by_example(data, noise_data, rate) sf.write(out_file, denoised_audio, rate)
def test_reducing_by_length(audio_file, noise_file, out_lib): data, rate = sf.read(audio_file) noise, _ = sf.read(noise_file) croped_noise = noise[:] length = noise.shape[0] for i in range(3): croped_noise = noise[:length >> i] denoised = Denoiser.reduce_by_example(data, croped_noise, rate) print(croped_noise.shape[0] / rate) sf.write(out_lib + 'denoised{}.wav'.format(i), denoised, rate)
def reduce_by_example_to_mp3(audio_file, noise_file, out_file): # data1, rate1 = sf.read(audio_file) # noise_data1, _ = sf.read(noise_file) audio = AudioSegment.from_wav(audio_file) noise_audio = AudioSegment.from_wav(noise_file) data = Denoiser.seg_to_numpy(audio) noise_data = Denoiser.seg_to_numpy(noise_audio) rate = audio.frame_rate denoised_data = Denoiser.reduce_by_example(data, noise_data, rate) denoised_audio = Denoiser.numpy_to_seg_like_seg(denoised_data, audio) denoised_audio.export(out_file, format='mp3')