From 698c0ff359e4bb90afe77272edb11d27e92de022 Mon Sep 17 00:00:00 2001 From: PengfeiWangWZ Date: Tue, 9 Mar 2021 21:24:17 -0800 Subject: [PATCH 1/2] Add TorchScript test for `F.phase_vocoder` --- .../functional/torchscript_consistency_impl.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/test/torchaudio_unittest/functional/torchscript_consistency_impl.py b/test/torchaudio_unittest/functional/torchscript_consistency_impl.py index d7bc3a1c70..126610ee9a 100644 --- a/test/torchaudio_unittest/functional/torchscript_consistency_impl.py +++ b/test/torchaudio_unittest/functional/torchscript_consistency_impl.py @@ -1,5 +1,6 @@ """Test suites for jit-ability and its numerical compatibility""" import unittest +import numpy as np import torch import torchaudio.functional as F @@ -547,6 +548,20 @@ def func(tensor): tensor = common_utils.get_whitenoise(sample_rate=44100) self._assert_consistency(func, tensor) + def test_phase_vocoder(self): + def func(tensor): + rate = 0.5 + hop_length = 256 + phase_advance = torch.linspace( + 0, + np.pi * hop_length, + tensor.shape[-3], + dtype=torch.float64)[..., None] + return F.phase_vocoder(tensor, rate, phase_advance) + + tensor = torch.randn(2, 1025, 400, 2) + self._assert_consistency(func, tensor) + @common_utils.skipIfNoKaldi def test_compute_kaldi_pitch(self): if self.dtype != torch.float32 or self.device != torch.device('cpu'): From 8be1a1a104c5d2f7e0c7ab204dc6f8ba61b94542 Mon Sep 17 00:00:00 2001 From: PengfeiWangWZ Date: Wed, 10 Mar 2021 09:10:22 -0800 Subject: [PATCH 2/2] fix test issues --- .../functional/torchscript_consistency_impl.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/test/torchaudio_unittest/functional/torchscript_consistency_impl.py b/test/torchaudio_unittest/functional/torchscript_consistency_impl.py index 126610ee9a..b6aec04d9c 100644 --- a/test/torchaudio_unittest/functional/torchscript_consistency_impl.py +++ b/test/torchaudio_unittest/functional/torchscript_consistency_impl.py @@ -1,6 +1,5 @@ """Test suites for jit-ability and its numerical compatibility""" import unittest -import numpy as np import torch import torchaudio.functional as F @@ -549,14 +548,15 @@ def func(tensor): self._assert_consistency(func, tensor) def test_phase_vocoder(self): - def func(tensor): + def func(tensor, device: torch.device = self.device): rate = 0.5 hop_length = 256 phase_advance = torch.linspace( 0, - np.pi * hop_length, + 3.14 * hop_length, tensor.shape[-3], - dtype=torch.float64)[..., None] + dtype=torch.float64, + ).to(device)[..., None] return F.phase_vocoder(tensor, rate, phase_advance) tensor = torch.randn(2, 1025, 400, 2)