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')