def columns_interval_df(discrete, weighted, keys=[]):
    """Obtain the columns of dataframe according with the time-signature, the keys and the weighting."""
    cols = ['ts', 'tf']
    if not discrete:
        cols.extend(['s', 'f'])
    if weighted:
        cols.append('w')
    return keys + cols
