我一直在寻找所有地方,但我们没有在analysis_url
找到关于audio feature
Spotify API
的任何文档,以加深我对该主题的理解。
就我而言,它通过segments
,bars
,beats
,sample rates
,fade ins and outs
,{{来学习音频1}},keys
,timbre
,mode
,time_signature
等
到目前为止我所拥有的是:
tempo
我想要做的是在曲目中找到沉默,例如' drop'在电子音乐中。
我怎样才能使用def analysis_url(track_ids):
names = []
tids = []
for id_ in track_ids:
track_id = sp.track(id_)['uri']
tids.append(track_id)
track_name = sp.track(id_)['name']
names.append(track_name)
features = sp.audio_features(tids)
urls = [x['analysis_url'] for x in features if x]
for url in urls:
analysis = sp._get(url)
?
答案 0 :(得分:0)
分析来自一家名为EchoNest的公司,该公司不久前被Spotify收购。您可以找到分析文档here。
分段包括loudness_max值,该值表示该特定音乐部分的相对响度(在db中)。将这些值标准化为歌曲并查找相对响度较低的片段:
def normalize_loudness(filename):
d = json.load(open(filename, 'r'))
x = [_['start'] for _ in d['segments']]
l = [_['loudness_max'] for _ in d['segments']]
min_l = min(l)
max_l = max(l)
norm_l = [(_ - min_l)/(max_l - min_l) for _ in l]
return (x, norm_l)
在Panic的歌曲“Miss Jackson”中使用这个!在The Disco,我们可以绘制标准化的响度值:
import json
from matplotlib import pyplot as pp
x, norm_l = normalize_loudness('msJackson.json')
pp.plot(x, norm_l, 'o')
pp.show()
exit()
产量:
通过它,您可以轻松找到音乐中的低点:
print([x[i] for i in range(len(x)) if norm_l[i] < .1])
[0.0, 165.86036]