code: def __cqt_response(
      y,
      n_fft,
      hop_length,
      fft_basis,
      mode,
      window="ones",
      phase=True,
      dtype=None,
  ):
      """Compute the filter response with a target STFT hop."""
      # Compute the STFT matrix
      D = stft(
          y,
          n_fft=n_fft,
          hop_length=hop_length,
          window=window,
          pad_mode=mode,
          dtype=dtype,
      )
  
      if not phase:
          D = np.abs(D)
  
      # Reshape D to Dr
      Dr = D.reshape((-1, D.shape[-2], D.shape[-1]))
      output_flat = np.empty(
          (Dr.shape[0], fft_basis.shape[0], Dr.shape[-1]), dtype=D.dtype
      )
  
      # iterate over channels
      #   project fft_basis.dot(Dr[i])
      for i in range(Dr.shape[0]):
          output_flat[i] = fft_basis.dot(Dr[i])
  
      # reshape Dr to match D's leading dimensions again
      shape = list(D.shape)
      shape[-2] = fft_basis.shape[0]
      return output_flat.reshape(shape)
  
imports: import warnings
  import numpy
  from numba import jit
  from .None import audio
  from .intervals import interval_frequencies
  from .fft import get_fftlib
  from .convert import cqt_frequencies, note_to_hz
  from .spectrum import stft, istft
  from .pitch import estimate_tuning
  from .._cache import cache
  from ..None import filters
  from ..None import util
  from ..util.exceptions import ParameterError
  from numpy.typing import DTypeLike
  from typing import Optional, Union, Collection, List
  from .._typing import _WindowSpec, _PadMode, _FloatLike_co, _ensure_not_reachable
label_desc: Use image node_id 8 for calling a global function with example usage: __cqt_response(y, n_fft, hop_length, fft_basis, mode, window, phase, dtype) and returns: output_flat