def _array_to_sonification()

in basic_pitch/visualize.py [0:0]


def _array_to_sonification(array: tf.Tensor, max_outputs: int, clip: float = 0.3) -> tf.Tensor:
    """sonify time frequency representation of audio

    Args:
        array: time-frequency representation of audio
        max_outputs: the number of grams / batches to process / append to the resulting output
        clip: value below which signal is 0'd out.
    """
    gram_batch = tf.transpose(array, perm=[0, 2, 1]).numpy()
    audio_list = []

    for i, gram in enumerate(gram_batch):

        gram[gram < clip] = 0.0
        y = mir_eval.sonify.time_frequency(
            gram[:MAX_FREQ_INDEX, :],
            FREQS[:MAX_FREQ_INDEX],
            TIMES,
            fs=SONIFY_FS,
        )
        audio_list.append(y[:, np.newaxis])
        if i + 1 >= max_outputs:
            break

    return tf.convert_to_tensor(np.array(audio_list), dtype=tf.float32)