code: def __match_levels(
      target: np.ndarray, reference: np.ndarray, config: Config
  ) -> (
      np.ndarray,
      np.ndarray,
      float,
      np.ndarray,
      np.ndarray,
      np.ndarray,
      np.ndarray,
      float,
      float,
  ):
      debug_line()
      info(Code.INFO_MATCHING_LEVELS)
  
      debug(
          f"The maximum size of the analyzed piece: {config.max_piece_size} samples "
          f"or {config.max_piece_size / config.internal_sample_rate:.2f} seconds"
      )
  
      reference, final_amplitude_coefficient = normalize_reference(
          reference, config
      )
  
      (
          target_mid,
          target_side,
          target_mid_loudest_pieces,
          target_side_loudest_pieces,
          target_match_rms,
          target_divisions,
          target_piece_size,
      ) = analyze_levels(target, "target", config)
  
      (
          reference_mid,
          reference_side,
          reference_mid_loudest_pieces,
          reference_side_loudest_pieces,
          reference_match_rms,
          *_,
      ) = analyze_levels(reference, "reference", config)
  
      (
          rms_coefficient,
          target_mid,
          target_side,
      ) = get_rms_c_and_amplify_pair(
          target_mid,
          target_side,
          target_match_rms,
          reference_match_rms,
          config.min_value,
          "target",
      )
  
      debug(
          "Modifying the amplitudes of the extracted loudest TARGET pieces..."
      )
      target_mid_loudest_pieces = amplify(
          target_mid_loudest_pieces, rms_coefficient
      )
      target_side_loudest_pieces = amplify(
          target_side_loudest_pieces, rms_coefficient
      )
  
      return (
          target_mid,
          target_side,
          final_amplitude_coefficient,
          target_mid_loudest_pieces,
          target_side_loudest_pieces,
          reference_mid_loudest_pieces,
          reference_side_loudest_pieces,
          target_divisions,
          target_piece_size,
          reference_match_rms,
      )
  
file_path: matchering/matchering/stages.py
imports: import numpy
  from .log import Code, info, debug, debug_line
  from .None import Config
  from .utils import to_db
  from .dsp import amplify, normalize, clip
  from .stage_helpers import normalize_reference, analyze_levels, get_fir, convolve, get_average_rms, get_lpis_and_match_rms, get_rms_c_and_amplify_pair
  from .limiter import limit
label_desc: Use image node_id 1 for calling a global function with example usage: __match_levels(target, reference, config) and returns: target_mid,  target_side,  final_amplitude_coefficient,  target_mid_loudest_pieces,  target_side_loudest_pieces,  reference_mid_loudest_pieces,  reference_side_loudest_pieces,  target_divisions,  target_piece_size,  reference_match_rms