class_docstr: A high shelf filter is a filter that either boosts (increases amplitude) or cuts
  (decreases amplitude) frequencies above a certain center frequency. This transform
  applies a high-shelf filter at a specific center frequency in hertz.
  The gain at nyquist frequency is controlled by `{min,max}_gain_db` (note: can be positive or negative!).
  Filter coefficients are taken from the W3 Audio EQ Cookbook: https://www.w3.org/TR/audio-eq-cookbook/
code: def randomize_parameters(
      self, samples: NDArray[np.float32], sample_rate: int
  ):
      super().randomize_parameters(samples, sample_rate)
  
      center_mel = np.random.uniform(
          low=convert_frequency_to_mel(self.min_center_freq),
          high=convert_frequency_to_mel(self.max_center_freq),
      )
      self.parameters["center_freq"] = convert_mel_to_frequency(
          center_mel
      )
      self.parameters["gain_db"] = random.uniform(
          self.min_gain_db, self.max_gain_db
      )
      self.parameters["q_factor"] = random.uniform(
          self.min_q, self.max_q
      )
  
file_path: audiomentations/audiomentations/augmentations/high_shelf_filter.py
imports: import random
  import numpy
  from numpy.typing import NDArray
  from scipy.signal import sosfilt, sosfilt_zi
  from audiomentations.core.transforms_interface import BaseWaveformTransform
  from audiomentations.core.utils import convert_frequency_to_mel, convert_mel_to_frequency
label_desc: Use image node_id 3 for calling the HighShelfFilter obj's underlying member method code with example usage: obj.randomize_parameters(samples, sample_rate) without return types