code: def test_chroma_spectrogram(self, n_fft, hop_length, n_chroma):
      sample_rate = 16000
      waveform = get_sinusoid(
          sample_rate=sample_rate,
          n_channels=1,
      ).to(self.device, self.dtype)
  
      expected = librosa.feature.chroma_stft(
          y=waveform[0].cpu().numpy(),
          sr=sample_rate,
          n_fft=n_fft,
          hop_length=hop_length,
          n_chroma=n_chroma,
          norm=None,
          pad_mode="reflect",
          tuning=0.0,
      )
      result = T.ChromaSpectrogram(
          sample_rate=sample_rate,
          window_fn=torch.hann_window,
          hop_length=hop_length,
          n_chroma=n_chroma,
          n_fft=n_fft,
          tuning=0.0,
      ).to(self.device, self.dtype)(waveform)[0]
  
      self.assertEqual(result, expected, atol=5e-4, rtol=1e-4)
  
file_path: audio/test/torchaudio_unittest/prototype/transforms/librosa_compatibility_test_impl.py
imports: import unittest
  import torch
  import torchaudio.prototype.transforms
  from parameterized import param
  from torchaudio._internal.module_utils import is_module_available
  from torchaudio_unittest.common_utils import get_sinusoid, nested_params, TestBaseMixin
label_desc: Use image node_id 1 for calling the TransformsTestBase obj's underlying member method code with example usage: obj.test_chroma_spectrogram(n_fft, hop_length, n_chroma) without return types