def test_allpass(self): """ Test biquad allpass filter, compare to SoX implementation """ CENTRAL_FREQ = 1000 Q = 0.707 noise_filepath = os.path.join(self.test_dirpath, "assets", "whitenoise.wav") E = torchaudio.sox_effects.SoxEffectsChain() E.set_input_file(noise_filepath) E.append_effect_to_chain("allpass", [CENTRAL_FREQ, str(Q) + 'q']) sox_output_waveform, sr = E.sox_build_flow_effects() waveform, sample_rate = torchaudio.load(noise_filepath, normalization=True) output_waveform = F.allpass_biquad(waveform, sample_rate, CENTRAL_FREQ, Q) torch.testing.assert_allclose(output_waveform, sox_output_waveform, atol=1e-4, rtol=1e-5)
def func(tensor): sample_rate = 44100 central_freq = 1000. q = 0.707 return F.allpass_biquad(tensor, sample_rate, central_freq, q)