Ejemplo n.º 1
0
                        action='store',
                        help='path to output segment file')

    return vars(parser.parse_args(sys.argv[1:]))


if __name__ == '__main__':

    parameters = process_arguments()

    # Load the features
    print('- ', os.path.basename(parameters['input_song']))

    X, Y, beats = features(parameters['input_song'])
    # Load the transformation
    W = segmenter.load_transform(parameters['transform'])
    print('\tapplying transformation...')
    X = W.dot(X)

    # Find the segment boundaries
    print('\tpredicting segments...')
    if parameters['gnostic']:
        S = segmenter.get_segments(X, kmin=len(Y) - 1, kmax=len(Y))
    elif parameters['dynamic']:
        kmin, kmax = get_num_segs(beats[-1])
        S = segmenter.get_segments(X, kmin=kmin, kmax=kmax)
    else:
        S = segmenter.get_segments(X)

    # Output lab file
    print('\tsaving output to ', parameters['output_file'])
Ejemplo n.º 2
0
    make_metadata(annotation)

    for tag, bounds in zip(labels, levels):
        add_level(annotation, tag, make_intervals(bounds, beats))
    
    return J

if __name__ == '__main__':
    parameters = segmenter.process_arguments()

    # Load the features
    print '- ', os.path.basename(parameters['input_song'])

    X, beats    = segmenter.features(parameters['input_song'])

    # Load the boundary transformation
    W_bound     = segmenter.load_transform(parameters['transform_boundary'])
    print '\tapplying boundary transformation...'
    X_bound           = W_bound.dot(X)

    # Find the segment boundaries
    print '\tpredicting segments...'
    kmin, kmax  = segmenter.get_num_segs(beats[-1])
    levels, labels = get_all_levels(X_bound, kmin, kmax)

    J = make_jams(levels, labels, beats)

    with open(parameters['output_file'], 'w') as f:
        json.dump(J, f, indent=2)

Ejemplo n.º 3
0
    parser.add_argument(    'output_file',
                            action  =   'store',
                            help    =   'path to output segment file')

    return vars(parser.parse_args(sys.argv[1:]))

if __name__ == '__main__':

    parameters = process_arguments()

    # Load the features
    print('- ', os.path.basename(parameters['input_song']))

    X, Y, beats    = features(parameters['input_song'])
    # Load the transformation
    W           = segmenter.load_transform(parameters['transform'])
    print('\tapplying transformation...')
    X           = W.dot(X)

    # Find the segment boundaries
    print('\tpredicting segments...')
    if parameters['gnostic']:
        S           = segmenter.get_segments(X, kmin=len(Y)-1, kmax=len(Y))
    elif parameters['dynamic']:
        kmin, kmax  = get_num_segs(beats[-1])
        S           = segmenter.get_segments(X, kmin=kmin, kmax=kmax)
    else:
        S           = segmenter.get_segments(X)

    # Output lab file
    print('\tsaving output to ', parameters['output_file'])