code: def main(
      target: np.ndarray,
      reference: np.ndarray,
      config: Config,
      need_default: bool = True,
      need_no_limiter: bool = False,
      need_no_limiter_normalized: bool = False,
  ) -> (np.ndarray, np.ndarray, np.ndarray):
      (
          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,
      ) = __match_levels(target, reference, config)
  
      del target, reference
  
      result_no_limiter, result_no_limiter_mid = __match_frequencies(
          target_mid,
          target_side,
          target_mid_loudest_pieces,
          reference_mid_loudest_pieces,
          target_side_loudest_pieces,
          reference_side_loudest_pieces,
          config,
      )
  
      del (
          target_mid,
          target_side,
          target_mid_loudest_pieces,
          reference_mid_loudest_pieces,
          target_side_loudest_pieces,
          reference_side_loudest_pieces,
      )
  
      result_no_limiter = __correct_levels(
          result_no_limiter,
          result_no_limiter_mid,
          target_divisions,
          target_piece_size,
          reference_match_rms,
          config,
      )
  
      del result_no_limiter_mid
  
      (
          result,
          result_no_limiter,
          result_no_limiter_normalized,
      ) = __finalize(
          result_no_limiter,
          final_amplitude_coefficient,
          need_default,
          need_no_limiter,
          need_no_limiter_normalized,
          config,
      )
  
      return result, result_no_limiter, result_no_limiter_normalized
  
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 5 for calling a global function with example usage: main(target, reference, config, need_default, need_no_limiter, need_no_limiter_normalized) and returns: result,  result_no_limiter,  result_no_limiter_normalized