Example #1
0
    except AttributeError:
        subtitle = ""
    try:
        composer = minidom.parse(folder + score_id + ".xml").getElementsByTagName("composer")[0].firstChild.nodeValue
    except AttributeError:
        composer = ""
    try:
        poet = minidom.parse(folder + score_id + ".xml").getElementsByTagName("poet")[0].firstChild.nodeValue
    except AttributeError:
        poet = ""
    score = Score(score_id, title, subtitle, composer, poet, "n.mp3", "n.mp3")
    f = open("results_m_poet_punc_spotify_norm_out4.csv", "a")
    rem = open("rem.txt", "a")
    # score = create_score(score_id)
    # result = score.metadata_match()

    method = "M"
    result_score = 1
    queries = score.get_queries()
    for query in queries:
        template = get_echonest_features_for_local_file(folder + score_id + ".mp3").chroma
        np.save(folder + "score/" + score_id, template)
        tracks = query_spotify(query[0])
        if tracks:
            ranking = []
            template = get_echonest_features_for_local_file(folder + score_id + ".mp3").chroma
            for track in tracks:
                track_chroma = track.get_chromagram(MusicDataType.ECHONEST)
                np.save(folder + "audio/" + str(track.id), track_chroma)
            break
except AttributeError:
    poet=''


s = Score(score_id,title,subtitle,composer,poet,'502786.mp3','502786.mp3')
print title.encode('utf-8') + composer.encode('utf-8') + subtitle.encode('utf-8')+poet.encode('utf-8')
song = s.metadata_match()
if song!=None:
    print song.id,song.name,song.uri
sys.exit(0)
#s.extract_artist_song()
print s.get_queries()
tracks = query_spotify('snow connor miller')
print len(tracks),"hey ya!"
#ss = create_score('502786')
template = echonest.get_echonest_features_for_local_file('../out4/'+score_id+'.mp3').chroma
ranking = []
for track in tracks:
    print track.id
    track_chroma =  track.get_chromagram(MusicDataType.ECHONEST)
    if track_chroma!=None:
        print track.uri,track.artist
        points,beg,end = rdtw_global_match_score(template,track_chroma)
        ranking.append((track,points,beg,end,len(track_chroma)))
ranking.sort(key=lambda candidate: candidate[1])

#ranking = rank_analyzables(s, tracks, 'full')

# midi_name = s.id + '.mid'
# template = s.id + '.csv'
# urllib.urlretrieve(s.midi, s.id + '.mid')