def convert_float_to_uint_audio(audio):
    """
    Converts a numpy array of double [-1,1] audio samples to properly scaled, 14-bit audio samples
    :param audio: numpy array of double [-1,1] audio samples
    :return: uint16 numpy array of scaled 14-bit audio samples
    """

    if audio.max() > 1 or audio.min() < -1:
        raise ValueError('Audio out of bounds!')

    max_reading = 0x3FFF

    audio = audio + 1
    audio = audio / 2
    audio = audio * max_reading
    audio = audio.astype('uint16')

    return audio