class_docstr: STFT encoder for speech enhancement and separation
code: def _apply_window_func(self, input):
      B = input.shape[0]
  
      window_func = getattr(torch, f"{self.window}_window")
      window = window_func(
          self.win_length, dtype=input.dtype, device=input.device
      )
      n_pad_left = (self.n_fft - window.shape[0]) // 2
      n_pad_right = self.n_fft - window.shape[0] - n_pad_left
  
      windowed = input * window
  
      windowed = torch.cat(
          [
              torch.zeros(B, n_pad_left),
              windowed,
              torch.zeros(B, n_pad_right),
          ],
          1,
      )
      return windowed
  
file_path: espnet/espnet2/enh/encoder/stft_encoder.py
imports: import torch
  from packaging.version import parse
  from torch_complex.tensor import ComplexTensor
  from espnet2.enh.encoder.abs_encoder import AbsEncoder
  from espnet2.layers.stft import Stft
label_desc: Use image node_id 7 for calling the STFTEncoder obj's underlying member method code with example usage: obj._apply_window_func(input) and returns: windowed