code: def get_window_fn(window_name=None):
      """Return a window function given its name.
      This function is used inside layers such as `STFT` to get a window function.
  
      Args:
          window_name (None or str): name of window function. On Tensorflow 2.3, there are five windows available in
          `tf.signal` (`hamming_window`, `hann_window`, `kaiser_bessel_derived_window`, `kaiser_window`, `vorbis_window`).
  
      """
  
      if window_name is None:
          return tf.signal.hann_window
  
      available_windows = {
          "hamming_window": tf.signal.hamming_window,
          "hann_window": tf.signal.hann_window,
      }
      if hasattr(tf.signal, "kaiser_bessel_derived_window"):
          available_windows[
              "kaiser_bessel_derived_window"
          ] = tf.signal.kaiser_bessel_derived_window
      if hasattr(tf.signal, "kaiser_window"):
          available_windows["kaiser_window"] = tf.signal.kaiser_window
      if hasattr(tf.signal, "vorbis_window"):
          available_windows["vorbis_window"] = tf.signal.vorbis_window
  
      if window_name not in available_windows:
          raise NotImplementedError(
              "Window name %s is not supported now. Currently, %d windows are"
              "supported - %s"
              % (
                  window_name,
                  len(available_windows),
                  ", ".join([k for k in available_windows.keys()]),
              )
          )
  
      return available_windows[window_name]
  
file_path: kapre/kapre/backend.py
imports: from tensorflow.keras import backend
  import tensorflow
  import numpy
  import librosa
label_desc: Use image node_id 1 for calling a global function with example usage: get_window_fn(window_name) and returns: available_windows, tf