class_docstr: This function implements SincConv (SincNet).
  
  M. Ravanelli, Y. Bengio, "Speaker Recognition from raw waveform with
  SincNet", in Proc. of  SLT 2018 (https://arxiv.org/abs/1808.00158)
  
  Arguments
  ---------
  input_shape : tuple
      The shape of the input. Alternatively use ``in_channels``.
  in_channels : int
      The number of input channels. Alternatively use ``input_shape``.
  out_channels : int
      It is the number of output channels.
  kernel_size: int
      Kernel size of the convolutional filters.
  stride : int
      Stride factor of the convolutional filters. When the stride factor > 1,
      a decimation in time is performed.
  dilation : int
      Dilation factor of the convolutional filters.
  padding : str
      (same, valid, causal). If "valid", no padding is performed.
      If "same" and stride is 1, output shape is the same as the input shape.
      "causal" results in causal (dilated) convolutions.
  padding_mode : str
      This flag specifies the type of padding. See torch.nn documentation
      for more information.
  groups : int
      This option specifies the convolutional groups. See torch.nn
      documentation for more information.
  bias : bool
      If True, the additive bias b is adopted.
  sample_rate : int,
      Sampling rate of the input signals. It is only used for sinc_conv.
  min_low_hz : float
      Lowest possible frequency (in Hz) for a filter. It is only used for
      sinc_conv.
  min_low_hz : float
      Lowest possible value (in Hz) for a filter bandwidth.
  
  Example
  -------
  >>> inp_tensor = torch.rand([10, 16000])
  >>> conv = SincConv(input_shape=inp_tensor.shape, out_channels=25, kernel_size=11)
  >>> out_tensor = conv(inp_tensor)
  >>> out_tensor.shape
  torch.Size([10, 16000, 25])
docstr: This function performs zero-padding on the time axis
  such that their lengths is unchanged after the convolution.
  
  Arguments
  ---------
  x : torch.Tensor
      Input tensor.
  kernel_size : int
      Size of kernel.
  dilation : int
      Dilation used.
  stride : int
      Stride.
docstr_tok: ["This","function","performs","zero-padding","on","the","time","axis","such","that","their","lengths","is","unchanged","after","the","convolution",".","Arguments","--","--","--","--","-","x",":","torch.Tensor","Input","tensor",".","kernel_size",":","int","Size","of","kernel",".","dilation",":","int","Dilation","used",".","stride",":","int","Stride","."]
code: def _manage_padding(
      self,
      x,
      kernel_size: int,
      dilation: int,
      stride: int,
  ):
      """This function performs zero-padding on the time axis
      such that their lengths is unchanged after the convolution.
  
      Arguments
      ---------
      x : torch.Tensor
          Input tensor.
      kernel_size : int
          Size of kernel.
      dilation : int
          Dilation used.
      stride : int
          Stride.
      """
  
      # Detecting input shape
      L_in = self.in_channels
  
      # Time padding
      padding = get_padding_elem(L_in, stride, kernel_size, dilation)
  
      # Applying padding
      x = F.pad(x, padding, mode=self.padding_mode)
  
      return x
  
imports: import math
  import torch
  import logging
  import numpy
  import torch.nn
  import torch.nn.functional
  import torchaudio
  from typing import Tuple
  from speechbrain.processing.signal_processing import gabor_impulse_response, gabor_impulse_response_legacy_complex
label_desc: Use image node_id 8 for calling the SincConv obj's underlying member method code with example usage: obj._manage_padding(x, kernel_size, dilation, stride) and returns: x