def read_words(path):
    """
    From a TIMIT file, reads the word info
    
    Parameters
    ----------
    path : str
        path to file
    
    Returns
    -------
    list of dicts
        each dict has spelling, begin, end

    """
    output = []
    sr = 16000
    prev = None
    with open(path, 'r') as file_handle:
        for line in file_handle:
            l = line.strip().split(' ')
            begin = float(l[0]) / sr
            end = float(l[1]) / sr
            word = l[2]
            if prev is not None and begin != prev:
                output.append({'spelling': '<SIL>', 'begin': prev, 'end':
                    begin})
            elif prev is None and begin != 0:
                output.append({'spelling': '<SIL>', 'begin': 0, 'end': begin})
            output.append({'spelling': word, 'begin': begin, 'end': end})
            prev = end
    return output
