code: def test_2d_signal(self):
      result = stft(sig_2d, window=None)
      # signal length and FFT size = 12
      # fft_freqs: 0, 1/12, 2/12, 3/12, 4/12, 5/12
      # [1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0] every 4th bin => 3/12
      res = [
          3.0 + 0.0j,
          0.0 + 0.0j,
          0.0 - 0.0j,
          3 + 0.0j,
          0.0 + 0.0j,
          0.0 + 0.0j,
      ]
      self.assertTrue(np.allclose(result[0], res))
      # [1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0] every erd bin => 4/12
      res = [
          4.0 + 0.0j,
          0.0 + 0.0j,
          0.0 + 0.0j,
          0.0 + 0.0j,
          4.0 + 0.0j,
          0.0 + 0.0j,
      ]
      self.assertTrue(np.allclose(result[1], res))
      # [1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0] every 2nd bin => 6/12
      # can't resolve any more
      res = [
          6.0 + 0.0j,
          0.0 + 0.0j,
          0.0 + 0.0j,
          0.0 + 0.0j,
          0.0 + 0.0j,
          0.0 + 0.0j,
      ]
      self.assertTrue(np.allclose(result[2], res))
  
imports: from __future__ import absolute_import, division, print_function
  import sys
  import unittest
  from os.path import join
  from madmom.audio.spectrogram import Spectrogram
  from madmom.audio.stft import *
  from .None import AUDIO_PATH
label_desc: Use image node_id 3 for calling the TestStftFunction obj's underlying member method code with example usage: obj.test_2d_signal() without return types