def METHOD_NAME(
    filename: str | Path,
    signal: ndarray,
    sample_rate: float,
    floating_point: bool = True,
    strict: bool = False,
) -> None:
    """Write a signal as fixed or floating point wav file.
    Signals are passed as numpy arrays of floats of shape (n_samples, n_channels)
    for n_channels >= 1 or (n_samples,) for n_channels = 1.
    Signals are floating point in the range [-1.0 to 1.0) but can be written
    as wav file with either 16 bit integers or floating point. In the former,
    the signals are scaled to map to the range -32768 to 32767 and clipped
    if necessary.
    NB: setting 'strict' to True will raise error on overflow. This would be
    a more natural default but it would break existing code that did not
    check for overflow.
    Args:
        filename (str|Path): name of file in to write to.
        signal (ndarray): signal to write.
        sample_rate (float): sampling frequency.
        floating_point (bool): write as floating point else an ints (default: True).
        strict (bool): raise error if signal out of range for int16 (default: False).
    """
    if floating_point is False:
        subtype = "PCM_16"
        # Signal is float and we want to convert to int16
        # *NB* Not  *= in next line as we need to make a copy
        signal = signal * 32768.0
        if np.max(signal) > 32767.0 or np.min(signal) < -32768.0:
            if strict:
                raise ValueError("Signal out of range [-1.0, 1.0)")
            logging.warning(
                f"Writing {filename}. Signal out of range [-1.0, 1.0) - clipping."
            )
            signal = np.clip(signal, -32768.0, 32767.0)
        signal = signal.astype(np.dtype("int16"))
    else:
        subtype = "FLOAT"
    soundfile.write(filename, signal, sample_rate, subtype=subtype)