|
from abc import ABC |
|
from abc import abstractmethod |
|
from typing import Dict |
|
from typing import Tuple |
|
|
|
import torch |
|
|
|
|
|
class AbsTTS(torch.nn.Module, ABC): |
|
@abstractmethod |
|
def forward( |
|
self, |
|
text: torch.Tensor, |
|
text_lengths: torch.Tensor, |
|
speech: torch.Tensor, |
|
speech_lengths: torch.Tensor, |
|
spembs: torch.Tensor = None, |
|
spcs: torch.Tensor = None, |
|
spcs_lengths: torch.Tensor = None, |
|
) -> Tuple[torch.Tensor, Dict[str, torch.Tensor], torch.Tensor]: |
|
raise NotImplementedError |
|
|
|
@abstractmethod |
|
def inference( |
|
self, |
|
text: torch.Tensor, |
|
spembs: torch.Tensor = None, |
|
**kwargs, |
|
) -> Tuple[torch.Tensor, torch.Tensor, torch.Tensor]: |
|
raise NotImplementedError |
|
|