def METHOD_NAME(self, f0):
    """Calculate sine signals.
    Args:
        f0 (Tensor): F0 tensor (B, 1, T // hop_size).
    Returns:
        Tensor: Sines generated following NSF (B, 1, T).
    """
    B, _, T = f0.size()
    vuv = interpolate((f0 > 0) * torch.ones_like(f0), T * self.hop_size)
    radious = (interpolate(f0, T * self.hop_size) / self.sample_rate) % 1
    sine = vuv * torch.sin(torch.cumsum(radious, dim=2) * 2 * np.pi) * self.sine_amp
    if self.noise_amp > 0:
        noise_amp = vuv * self.noise_amp + (1.0 - vuv) * self.noise_amp / 3.0
        noise = torch.randn((B, 1, T * self.hop_size), device=f0.device) * noise_amp
        sine = sine + noise
    return sine