• moto's avatar
    Make `F.phase_vocoder` and `T.TimeStretch` handle complex dtype (#1410) · 0433b7aa
    moto authored
    1. `F.phase_vocoder` accepts Tensor with complex dtype.
        * The implementation path has been updated from #758 so that they share the same code path by internally converting the input Tensor to complex dtype and performing all the operation on top of it.
        * Adopted `torch.polar` for simpler Tensor generation from magnitude and angle.
    2. Updated tests
        * librosa compatibility test for complex dtype and pseudo complex dtype
            * Extracted the output shape check test and moved it to functional so that it will be tested on all the combination of `{CPU | CUDA} x {complex64 | complex128}`
        * TorchScript compatibility test for `F.phase_vocoder` and `T.TimeStretch`.
        * batch consistency test for `T.TimeStretch`.
    0433b7aa
transforms.py 47.3 KB