code: def __call__(self, magnitude_spectrogram):
      transforms = self.transforms.copy()
      should_apply = random.random() < self.p
      # TODO: Adhere to self.are_parameters_frozen
      # https://github.com/iver56/audiomentations/issues/135
      if should_apply:
          if self.shuffle:
              random.shuffle(transforms)
          for transform in transforms:
              magnitude_spectrogram = transform(magnitude_spectrogram)
  
      return magnitude_spectrogram
  
imports: import random
  import numpy
  from numpy.typing import NDArray
  from audiomentations.core.transforms_interface import BaseSpectrogramTransform
label_desc: Use image node_id 2 for calling the SpecCompose obj's underlying member method code with example usage: obj.__call__(magnitude_spectrogram) and returns: magnitude_spectrogram