class_docstr: Definition of sine generator
  SineGen(samp_rate, harmonic_num = 0,
          sine_amp = 0.1, noise_std = 0.003,
          voiced_threshold = 0,
          flag_for_pulse=False)
  
  sample_rate: sampling rate in Hz
  harmonic_num: number of harmonic overtones (default 0)
  sine_amp: amplitude of sine-wavefrom (default 0.1)
  noise_std: std of Gaussian noise (default 0.003)
  voiced_thoreshold: F0 threshold for U/V classification (default 0)
  flag_for_pulse: this SinGen is used inside PulseGen (default False)
  
  Note: when flag_for_pulse is True, the first time step of a voiced
      segment is always sin(np.pi) or cos(0)
code: def _f02uv(self, f0):
      # generate uv signal
      uv = torch.ones_like(f0)
      uv = uv * (f0 > self.voiced_threshold)
      return uv
  
imports: import numpy
  import torch
label_desc: Use image node_id 2 for calling the SineGen obj's underlying member method code with example usage: obj._f02uv(f0) and returns: uv