• Stars
    star
    668
  • Rank 67,542 (Top 2 %)
  • Language
    Python
  • License
    BSD 3-Clause "New...
  • Created about 13 years ago
  • Updated about 9 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Python client for the Echo Nest API

Pyechonest

Tap into The Echo Nest's Musical Brain for the best music search, information, recommendations and remix tools on the web.

Pyechonest is an open source Python library for the Echo Nest API. With Pyechonest you have Python access to the entire set of API methods including:

  • artist - search for artists by name, description, or attribute, and get back detailed information about any artist including audio, similar artists, blogs, familiarity, hotttnesss, news, reviews, urls and video.
  • song - search songs by artist, title, description, or attribute (tempo, duration, etc) and get detailed information back about each song, such as hotttnesss, audio_summary, or tracks.
  • track - upload a track to the Echo Nest and receive summary information about the track including key, duration, mode, tempo, time signature along with detailed track info including timbre, pitch, rhythm and loudness information.

Install

There are a few different ways you can install pyechonest:

  • Use setuptools: easy_install -U pyechonest
  • Download the zipfile from the releases page and install it.
  • Checkout the source: git clone git://github.com/echonest/pyechonest.git and install it yourself.

Getting Started

  • Install Pyechonest
  • Get an API key - to use the Echo Nest API you need an Echo Nest API key. You can get one for free at developer.echonest.com.
  • Set the API key - you can do this one of two ways:
  • set an environment variable named ECHO_NEST_API_KEY to your API key
  • Include this snippet of code at the beginning of your python scripts:
    from pyechonest import config
    config.ECHO_NEST_API_KEY="YOUR API KEY"
  • Check out the docs and examples below.

Examples

All examples assume you have already setup your api key!

Find artists that are similar to 'Bikini Kill':

from pyechonest import artist
bk = artist.Artist('bikini kill')
print "Artists similar to: %s:" % (bk.name,)
for similar_artist in bk.similar: print "\t%s" % (similar_artist.name,)

Search for artist:

from pyechonest import artist
weezer_results = artist.search(name='weezer')
weezer = weezer_results[0]
weezer_blogs = weezer.blogs
print 'Blogs about weezer:', [blog.get('url') for blog in weezer_blogs]

Get an artist by name:

from pyechonest import artist
a = artist.Artist('lady gaga')
print a.id

Get an artist by Musicbrainz ID:

from pyechonest import artist
a = artist.Artist('musicbrainz:artist:a74b1b7f-71a5-4011-9441-d0b5e4122711')
print a.name

Get the top hottt artists:

from pyechonest import artist
for hottt_artist in artist.top_hottt():
print hottt_artist.name, hottt_artist.hotttnesss

Search for songs:

from pyechonest import song
rkp_results = song.search(artist='radiohead', title='karma police')
karma_police = rkp_results[0]
print karma_police.artist_location
print 'tempo:',karma_police.audio_summary['tempo'],'duration:',karma_police.audio_summary['duration']

Get a song's audio_url and analysis_url:

from pyechonest import song
ss_results = song.search(artist='the national', title='slow show', buckets=['id:7digital-US', 'tracks'], limit=True)
slow_show = ss_results[0]
ss_tracks = slow_show.get_tracks('7digital-US')
print ss_tracks[0].get('preview_url')

-alt text

More Repositories

1

echoprint-server

Server components for Echoprint
Python
424
star
2

remix

Echo Nest Remix: The Internet Synthesizer
HTML
414
star
3

remix.js

Echo Nest Remix: The (JavaScript) Internet Synthesizer
JavaScript
376
star
4

echoprint-ios-sample

Sample Echoprint song identifier for iOS
Objective-C
165
star
5

libechonest

Objective-C Library for The Echo Nest API
Objective-C
75
star
6

enios

Updated iOS wrapper for EN API
Objective-C
71
star
7

jEN

the java client for The Echo Nest API
Java
67
star
8

msd-examples

Example code for processing the Million Song Dataset and other big music datasets
Python
61
star
9

synchdata

Synchronize analysis data to a corresponding waveform using synchstring
C++
50
star
10

en_analyzer

Max/MSP interface to The Echo Nest's audio analysis API
C
48
star
11

nestjs

nestjs
JavaScript
44
star
12

GirlTalkInABox

Source for Girl Talk In A Box
JavaScript
40
star
13

python-tutorials

Tutorials on how to use Pyechonest with our API
Python
33
star
14

remix-examples

All the remix examples, all the time.
Python
25
star
15

bonhamizer

Adds the hammer of the gods to any sng
JavaScript
22
star
16

libechonest-samples

Sample iOS projects for libechonest
Objective-C
20
star
17

ArtistX

Explore the song attributes for an artist
JavaScript
16
star
18

echotron

A demo app that shows the Echo Nest data for any one of millions of artists
CSS
15
star
19

nestling

Awesome Ruby wrapper for the Echo Nest developer APIs
Ruby
14
star
20

egonest

Go client library for The Echo Nest API
Go
12
star
21

remix-server

Backend server for handling remix.js uploads
Python
10
star
22

TwitSpace

Bring a bit of that ol' Myspace magic to any tweet that mentions a band/artist name. SERIOUS HAX INSIDE
JavaScript
9
star
23

profileX

Explore the song attributes of a Taste Profile
JavaScript
9
star
24

iPodPics

Demo iOS app that shows artist images while you listen to music
Objective-C
8
star
25

echo_nest_sandbox_example

Demonstrates how to use the new Sandbox API
Python
7
star
26

DeezerPlaylistDemo

Demonstration web apps that shows hows to combine Deezer and The Echo Nest APIs in a web app
PHP
6
star
27

en-api-pres

Slides for the Echo Nest API presentation used at hackathons and hack days
CSS
5
star
28

kiosk

A musical information Kiosk from 1984 to run on your Apple //c
Python
5
star
29

musicroom

JavaScript
4
star
30

traffic-control

traffic light control circuit
3
star
31

snuGIFy

Snuggle GIFs in the music sparkle
Python
3
star
32

polarized

Java
1
star