code: def test_icqt_multi(y_multi, scale, length):
      y, sr = y_multi
  
      # Assuming the forward transform is well-behaved
      C = librosa.cqt(y=y, sr=sr, scale=scale)
  
      yboth = librosa.icqt(C, sr=sr, scale=scale, length=length)
      y0 = librosa.icqt(C[0], sr=sr, scale=scale, length=length)
      y1 = librosa.icqt(C[1], sr=sr, scale=scale, length=length)
  
      if length is not None:
          assert yboth.shape[-1] == length
  
      # Check each channel - slightly relaxed tolerance here
      assert np.allclose(yboth[0], y0, atol=1e-6), np.max(
          np.abs(yboth[0] - y0)
      )
      assert np.allclose(yboth[1], y1, atol=1e-6), np.max(
          np.abs(yboth[1] - y1)
      )
  
      # Check that they're not the same
      assert not np.allclose(yboth[0], yboth[1])
  
imports: import os
  import librosa
  import glob
  import numpy
  import scipy.io
  import scipy.stats
  import pytest
  import warnings
  from unittest import mock
  from typing import List, Union
  from contextlib import nullcontext
  from test_core import srand
label_desc: Use image node_id 15 for calling a global function with example usage: test_icqt_multi(y_multi, scale, length) without return types