Source code for espnet2.svs.abs_svs

# Copyright 2021 Tomoki Hayashi
# Copyright 2021 Carnegie Mellon University (Jiatong Shi)
#  Apache 2.0  (http://www.apache.org/licenses/LICENSE-2.0)

"""Singing-voice-synthesis abstrast class."""

from abc import ABC, abstractmethod
from typing import Dict, Tuple

import torch


[docs]class AbsSVS(torch.nn.Module, ABC): """SVS abstract class."""
[docs] @abstractmethod def forward( self, text: torch.Tensor, text_lengths: torch.Tensor, feats: torch.Tensor, feats_lengths: torch.Tensor, **kwargs, ) -> Tuple[torch.Tensor, Dict[str, torch.Tensor], torch.Tensor]: """Calculate outputs and return the loss tensor.""" raise NotImplementedError
[docs] @abstractmethod def inference( self, text: torch.Tensor, **kwargs, ) -> Dict[str, torch.Tensor]: """Return predicted output as a dict.""" raise NotImplementedError
@property def require_raw_singing(self): """Return whether or not raw_singing is required.""" return False @property def require_vocoder(self): """Return whether or not vocoder is required.""" return True