def METHOD_NAME(audio_arr, out_datatype):
    """
    Utility function for rescaling all audio sample values of input audio to fit the range specified
    by out_datatype.
    Rescaling method is min-max, which is all audio sample values are normalized to [0, 1] by using 
    audio_arr.min() and audio_arr.max() and then are scaled up by certain times (eg. 255 if out_datatype is uint8).
    Args:
        audio_arr (numpy.ndarray): input audio ndarray.
        out_datatype (numpy.dtype): define data type as well as range after scaling. For example, np.uint8 or
                                    np.dtype('uint8'). Available options' dtype.itemsize should not greater than 4,
                                    such as uint8, int8, int16, int32, float32.
    Return:
        numpy.ndarray
    """
    _auto_scale_before(audio_arr, out_datatype)
    if str(out_datatype).find('int') > -1:
        output_high = np.iinfo(out_datatype).max
        output_low = np.iinfo(out_datatype).min
    else:
        output_high = np.finfo(out_datatype).max
        output_low = np.finfo(out_datatype).min
    output_type = out_datatype
    return rescale_intensity(audio_arr, input_low=audio_arr.min(),
                             input_high=audio_arr.max(), output_low=output_low,
                             output_high=output_high, output_type=output_type)