Python Spotify-在曲目中搜索静音

Python Spotify-在曲目中搜索静音,python,spotify,spotipy,Python,Spotify,Spotipy,我一直在到处搜索,但没有找到任何关于spotifyapi上的analysis\u url音频功能的文档,以加深我对该主题的理解 就我而言,它通过段,条,节拍,采样率,淡入淡出,键,音色,模式,时间,节奏等来学习音频 到目前为止,我得到的是: def analysis_url(track_ids): names = [] tids = [] for id_ in track_ids: track_id = sp.track(id_)['uri']

我一直在到处搜索,但没有找到任何关于
spotifyapi
上的
analysis\u url
音频功能的文档,以加深我对该主题的理解

就我而言,它通过
节拍
采样率
淡入淡出
音色
模式
时间
节奏
等来学习音频

到目前为止,我得到的是:

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)
我想做的是在曲目中找到静音,例如电子音乐中的“下降”


如何使用
分析\u url

分析来自一家名为EchoNest的公司,该公司不久前被Spotify收购。您可以找到用于分析的文档

段包括响度_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)
用这首歌“杰克逊小姐”的恐慌!在迪斯科舞厅,我们可以绘制标准化响度值:

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]
print([x[i]表示范围内的i(len(x)),如果norm_l[i]<.1])
[0.0, 165.86036]

分析来自一家名为EchoNest的公司,该公司不久前被Spotify收购。您可以找到用于分析的文档

段包括响度_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)
用这首歌“杰克逊小姐”的恐慌!在迪斯科舞厅,我们可以绘制标准化响度值:

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]
print([x[i]表示范围内的i(len(x)),如果norm_l[i]<.1])
[0.0, 165.86036]