1

我一直在到处搜索,但没有找到关于analysis_url audio featureon的任何文档Spotify API,以加深我对这个主题的理解。

就我而言,它通过segments, bars, beats, sample rates, fade ins and outs, keys, timbre, mode,time_signaturetempo方式学习音频

到目前为止我所拥有的是:

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)

我想做的是在曲目中找到静音,例如电子音乐中的“drop”。

我该怎么做analysis_url呢?

4

1 回答 1

0

分析来自一家名为 EchoNest 的公司,该公司前段时间被 Spotify 收购。您可以在此处找到分析文档。

片段包括一个 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]
于 2016-09-08T07:50:03.333 回答