Package pyechonest :: Module track :: Class Track
[hide private]
[frames] | no frames]

Class Track

source code


Represents an audio analysis from The Echo Nest.

All methods in this module return Track objects.

Attributes:

analysis_channels int: the number of audio channels used during analysis

analysis_sample_rate float: the sample rate used during analysis

analyzer_version str: e.g. '3.01a'

artist str or None: artist name

bars list of dicts: timing of each measure

beats list of dicts: timing of each beat

bitrate int: the bitrate of the input mp3 (or other file)

danceability float: relative danceability (0 to 1)

duration float: length of track in seconds

energy float: relative energy (0 to 1)

end_of_fade_in float: time in seconds track where fade-in ends

id str: Echo Nest Track ID, e.g. 'TRTOBXJ1296BCDA33B'

key int: between 0 (key of C) and 11 (key of B flat) inclusive

key_confidence float: confidence that key detection was accurate

loudness float: overall loudness in decibels (dB)

md5 str: 32-character checksum of the input mp3

meta dict: other track metainfo

mode int: 0 (major) or 1 (minor)

mode_confidence float: confidence that mode detection was accurate

num_samples int: total samples in the decoded track

release str or None: the album name

sample_md5 str: 32-character checksum of the decoded audio file

samplerate int: sample rate of input mp3

sections list of dicts: larger sections of song (chorus, bridge, solo, etc.)

segments list of dicts: timing, pitch, loudness and timbre for each segment

speechiness float: relative speechiness (0 to 1)

start_of_fade_out float: time in seconds where fade out begins

status str: analysis status, e.g. 'complete', 'pending', 'error'

tatums list of dicts: the smallest metrical unit (subdivision of a beat)

tempo float: overall BPM (beats per minute)

tempo_confidence float: confidence that tempo detection was accurate

title str or None: song title

Each bar, beat, section, segment and tatum has a start time, a duration, and a confidence, in addition to whatever other data is given.

Examples:

>>> t = track.track_from_id('TRXXHTJ1294CD8F3B3')
>>> t
<track - Neverwas Restored (from Neverwas Soundtrack)>
>>> t = track.track_from_md5('b8abf85746ab3416adabca63141d8c2d')
>>> t
<track - Neverwas Restored (from Neverwas Soundtrack)>
>>>
Instance Methods [hide private]
 
__repr__(self)
repr(x)
source code
 
__str__(self)
str(x)
source code

Inherited from proxies.TrackProxy: __init__

Inherited from proxies.GenericProxy: get_attribute, post_attribute

Inherited from object: __delattr__, __format__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __setattr__, __sizeof__, __subclasshook__

Properties [hide private]

Inherited from object: __class__

Method Details [hide private]

__repr__(self)
(Representation operator)

source code 
repr(x)
Overrides: object.__repr__
(inherited documentation)

__str__(self)
(Informal representation operator)

source code 
str(x)
Overrides: object.__str__
(inherited documentation)