예제 #1
0
def main():
    name = 'Aly & Fila - Future Sound of Egypt 338 '
    print name
    csv_file = os.path.join('.', 'data',
                            name + experiment.plugin_suffix + '.csv')
    cue_file = os.path.join('.', 'data', name + '.cue')
    sim_file = os.path.join('.', 'data',
                            name + experiment.plugin_suffix + '.sim')
    timestamps, data = experiment.read_csv(csv_file)
    info = experiment.read_cue(cue_file)
    has_intro = 'intro' in info[0]['TITLE'].strip().lower()
    has_outro = 'outro' in info[-1]['TITLE'].strip().lower()
    with open(sim_file, 'rb') as f:
        (self_sim, factor) = cPickle.load(f)

    filtered, novelty = tools.init_borders2(self_sim)
    sec_per_row = timestamps[-1] / self_sim.shape[0]
    #filtered = [x * sec_per_row for x in filtered]
    filtered = tools.detect_track_borders(data,
                                          timestamps[-1],
                                          len(info),
                                          self_sim=self_sim,
                                          factor=factor,
                                          has_intro=has_intro,
                                          has_outro=has_outro)
    #make_average(data, factor, [int(x / sec_per_row) for x in filtered])
    #for i in range(len(info)):
    #    print '%d.\t%.2f\t%.2f: %f' % (i, info[i]['INDEX'], filtered[i], filtered[i] - info[i]['INDEX'])
    #print filtered
    #print [x['INDEX'] for x in info]
    #print experiment.get_diff(info, filtered)

    data = data.transpose((1, 0))
    draw_spectrum(data, timestamps, 1)
    #draw_selfsim(self_sim, timestamps)
    vlines([datetime.datetime.fromtimestamp(x) for x in filtered],
           0,
           24,
           color='k',
           linewidths=[1] * len(filtered),
           alpha=1.0)
    vlines([datetime.datetime.fromtimestamp(x['INDEX']) for x in info],
           24,
           48,
           color='y',
           linewidths=[1] * len(info),
           alpha=1.0)
    #savefig('fig.pdf', bbox_inches='tight')

    tracks = [(x['PERFORMER'], x['TITLE']) for x in info]
    export_cue(name, tracks, filtered)

    # borders2, novelty = tools.init_borders2(self_sim)
    # plt.figure(2)
    # plt.plot(novelty)
    # print borders2

    #draw_spectrum(data2, timestamps, 2)
    #    plt.figure(2)
    #    plt.plot(data2)

    #    plt.figure(3)
    #    plt.matshow(areas, fignum=3)
    #    _, axs = plt.subplots(5, 1, sharex=True)
    #    tss = [datetime.datetime.fromtimestamp(x) for x in timestamps]
    #    for i in range(len(centroids)):
    #        axs[i].plot(centroids[i])
    #    axs[4].plot(flux)

    # plt.figure(4)
    # plt.matshow(self_sim, fignum=4)

    show()
예제 #2
0
with open('mix_list.txt', 'rb') as mixlist:
    for line in mixlist:
        rec = line.strip().split('\t')
        mix_styles[rec[0]] = rec[1]

proposed = []
naive = []
style_stats = {}
intro_size = 30
outro_size = 30
with open(os.path.join('logs', 'test_beat_profile.log'), 'rb') as log:
    for line in log:
        rec = line.strip().split('\t')
        if len(rec) > 2:
            name = rec[0]
            info = read_cue(os.path.join('temp_data', name[:-4] + '.cue'))
            # indices = numpy.array([info[i+1]['INDEX'] - info[i]['INDEX'] for i in range(len(info)-1)])
            indices = [info[i]['INDEX'] for i in range(len(info))]
            has_intro = 'intro' in info[0]['TITLE'].lower()
            has_outro = 'outro' in info[-1]['TITLE'].strip().lower()
            # has_intro = False
            # has_outro = False
            avg = float(rec[1])
            max_diff = float(rec[2])

            borders = rec[3][1:-1].split(',')
            borders = [float(x) for x in borders]
            length = borders[-1]
            indices.append(length)
            tracks = len(info)
            even = build_even(length, tracks, has_intro, has_outro, intro_size, outro_size)
예제 #3
0
with open('mix_list.txt', 'rb') as mixlist:
    for line in mixlist:
        rec = line.strip().split('\t')
        mix_styles[rec[0]] = rec[1]

proposed = []
naive = []
style_stats = {}
intro_size = 30
outro_size = 30
with open(os.path.join('logs', 'test_beat_profile.log'), 'rb') as log:
    for line in log:
        rec = line.strip().split('\t')
        if len(rec) > 2:
            name = rec[0]
            info = read_cue(os.path.join('temp_data', name[:-4] + '.cue'))
            # indices = numpy.array([info[i+1]['INDEX'] - info[i]['INDEX'] for i in range(len(info)-1)])
            indices = [info[i]['INDEX'] for i in range(len(info))]
            has_intro = 'intro' in info[0]['TITLE'].lower()
            has_outro = 'outro' in info[-1]['TITLE'].strip().lower()
            # has_intro = False
            # has_outro = False
            avg = float(rec[1])
            max_diff = float(rec[2])

            borders = rec[3][1:-1].split(',')
            borders = [float(x) for x in borders]
            length = borders[-1]
            indices.append(length)
            tracks = len(info)
            even = build_even(length, tracks, has_intro, has_outro, intro_size,
예제 #4
0
def main():
    name = 'Aly & Fila - Future Sound of Egypt 338 '
    print name
    csv_file = os.path.join('.', 'data', name + experiment.plugin_suffix + '.csv')
    cue_file = os.path.join('.', 'data', name + '.cue')
    sim_file = os.path.join('.', 'data', name + experiment.plugin_suffix + '.sim')
    timestamps, data = experiment.read_csv(csv_file)
    info = experiment.read_cue(cue_file)
    has_intro = 'intro' in info[0]['TITLE'].strip().lower()
    has_outro = 'outro' in info[-1]['TITLE'].strip().lower()
    with open(sim_file, 'rb') as f:
        (self_sim, factor) = cPickle.load(f)

    filtered, novelty = tools.init_borders2(self_sim)
    sec_per_row = timestamps[-1] / self_sim.shape[0]
    #filtered = [x * sec_per_row for x in filtered]
    filtered = tools.detect_track_borders(data,
                                          timestamps[-1],
                                          len(info),
                                          self_sim=self_sim,
                                          factor=factor,
                                          has_intro=has_intro,
                                          has_outro=has_outro)
    #make_average(data, factor, [int(x / sec_per_row) for x in filtered])
    #for i in range(len(info)):
    #    print '%d.\t%.2f\t%.2f: %f' % (i, info[i]['INDEX'], filtered[i], filtered[i] - info[i]['INDEX'])
    #print filtered
    #print [x['INDEX'] for x in info]
    #print experiment.get_diff(info, filtered)

    data = data.transpose((1, 0))
    draw_spectrum(data, timestamps, 1)
    #draw_selfsim(self_sim, timestamps)
    vlines([datetime.datetime.fromtimestamp(x) for x in filtered], 0, 24, color='k', linewidths=[1]*len(filtered), alpha=1.0)
    vlines([datetime.datetime.fromtimestamp(x['INDEX']) for x in info], 24, 48, color='y', linewidths=[1]*len(info), alpha=1.0)
    #savefig('fig.pdf', bbox_inches='tight')

    tracks = [(x['PERFORMER'], x['TITLE']) for x in info]
    export_cue(name, tracks, filtered)

    # borders2, novelty = tools.init_borders2(self_sim)
    # plt.figure(2)
    # plt.plot(novelty)
    # print borders2

    #draw_spectrum(data2, timestamps, 2)
#    plt.figure(2)
#    plt.plot(data2)

#    plt.figure(3)
#    plt.matshow(areas, fignum=3)
#    _, axs = plt.subplots(5, 1, sharex=True)
#    tss = [datetime.datetime.fromtimestamp(x) for x in timestamps]
#    for i in range(len(centroids)):
#        axs[i].plot(centroids[i])
#    axs[4].plot(flux)

    # plt.figure(4)
    # plt.matshow(self_sim, fignum=4)

    show()