class_docstr: Ying decoder module.
docstr: Crop the input tensor.
  
  Args:
      x (torch.Tensor): Input tensor of shape [B, C, T].
      yin_start (int): Starting point of the yin target signal.
      scope_shift (torch.Tensor): Shift tensor of shape [B].
  
  Returns:
      torch.Tensor: Cropped tensor of shape [B, C, yin_scope].
code: def crop_scope(self, x, yin_start, scope_shift):
      """Crop the input tensor.
  
      Args:
          x (torch.Tensor): Input tensor of shape [B, C, T].
          yin_start (int): Starting point of the yin target signal.
          scope_shift (torch.Tensor): Shift tensor of shape [B].
  
      Returns:
          torch.Tensor: Cropped tensor of shape [B, C, yin_scope].
  
      """
      return torch.stack(
          [
              x[
                  i,
                  yin_start
                  + scope_shift[i] : yin_start
                  + self.yin_scope
                  + scope_shift[i],
                  :,
              ]
              for i in range(x.shape[0])
          ],
          dim=0,
      )
  
file_path: espnet/espnet2/gan_svs/pits/ying_decoder.py
imports: import torch
  import torch.nn
  import espnet2.gan_svs.pits.modules
label_desc: Use image node_id 2 for calling the YingDecoder obj's underlying member method code with example usage: obj.crop_scope(x, yin_start, scope_shift) and returns: torch