code: def _run(self, x, frame_step, window=None, frame_length=None, onesided=None):  # type: ignore
      if frame_length is None:
          if window is None:
              frame_length = x.shape[-2]
          else:
              frame_length = window.shape[0]
      hop_length = frame_step
      if window is None:
          window = np.ones((frame_length,), dtype=x.dtype)
      n_frames = 1 + (x.shape[-2] - frame_length) // frame_step
      res = _stft(
          x,
          frame_length,
          hop_length,
          n_frames,
          window,
          onesided=onesided,
      )
      return (res.astype(x.dtype),)
  
file_path: onnx/onnx/reference/ops/op_stft.py
imports: import numpy
  from onnx.reference.op_run import OpRun
  from onnx.reference.ops.op_concat_from_sequence import _concat_from_sequence
  from onnx.reference.ops.op_dft import _cfft
  from onnx.reference.ops.op_slice import _slice
label_desc: Use image node_id 1 for calling the STFT obj's underlying member method code with example usage: obj._run(x, frame_step, window, frame_length, onesided) and returns: res