echonest-ruby-api 0.7.0 → 0.8.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 2c66b42fbcc3c4079c365d9da6f74c6037b052c8
4
- data.tar.gz: 683294aa91acd3257be58813f73f89d6a0a4b3f0
3
+ metadata.gz: 6586d0320a676c81db826dcfc9544ad170bdb782
4
+ data.tar.gz: 205fd405dbcb0cae5f32b726d6ebb029be7aee5c
5
5
  SHA512:
6
- metadata.gz: e5ff93dfdb15ddb3ade46dc478b75377e26026947ffaae93f0b865f39604377a1d55906965cc8185e8c0f5a535ebe3a7e59bb0b777dc474b56666aea0d8edec5
7
- data.tar.gz: 0346a39e20afb8db3636eaa170cafe5b96bec4f72a466646da3000fc30db009832dec789a884183a8964f0c59361eadcccb4461d716dd7d4de273c03712f5e14
6
+ metadata.gz: 3868a6d820e193714e910d7b0a9c9f0fa70972a11a3985d253c3eafd0b3224fa89de5e5a83157c3e1b767bdb846641b3702d3a89acfa4f72ec6b19d5b6496d07
7
+ data.tar.gz: 39cd46e9e12d36c7456377e24b4b9e53da4d28080202ac85ccb933d669ec28354bf0c42f149979fd502bc3e05af9749a28b85ac68cb7b0317f1bd7a011fc5e57
data/Gemfile CHANGED
@@ -8,4 +8,4 @@ group :development, :test do
8
8
  gem 'rspec'
9
9
  gem 'mocha', require: 'mocha/api'
10
10
  gem 'simplecov', require: false
11
- end
11
+ end
data/Guardfile CHANGED
@@ -1,8 +1,8 @@
1
1
  # A sample Guardfile
2
2
  # More info at https://github.com/guard/guard#readme
3
3
 
4
- guard 'rspec' do
4
+ guard 'rspec', cmd: "bundle exec rspec" do
5
5
  watch(%r{^lib/(.+)\.rb$}) { |m| "spec/#{m[1]}_spec.rb" }
6
6
  watch(%r{^spec/(.+)\.rb$})
7
7
  watch('spec/spec_helper.rb') { "spec" }
8
- end
8
+ end
data/README.md CHANGED
@@ -1,9 +1,10 @@
1
+
1
2
  # echonest-ruby-api [![Code Climate](https://codeclimate.com/github/maxehmookau/echonest-ruby-api.png)](https://codeclimate.com/github/maxehmookau/echonest-ruby-api) [![Build Status](https://travis-ci.org/maxehmookau/echonest-ruby-api.png)](https://travis-ci.org/maxehmookau/echonest-ruby-api) [![Dependency Status](https://gemnasium.com/maxehmookau/echonest-ruby-api.png)](https://gemnasium.com/maxehmookau/echonest-ruby-api)
2
3
 
3
4
 
4
5
  ![Echonest] (http://the.echonest.com/static/img/logos/250x80_lt.gif)
5
6
 
6
- **echonesst-ruby-api** is a pure Ruby wrapper around the Echonest APIs.
7
+ **echonesst-ruby-api** is a pure Ruby wrapper around the Echonest APIs.
7
8
 
8
9
  ## Requirements
9
10
  * An API Key (available free)
@@ -17,7 +18,7 @@ In your Gemfile:
17
18
  ```ruby
18
19
  gem 'echonest-ruby-api'
19
20
  ```
20
-
21
+
21
22
  and then `bundle install`
22
23
 
23
24
  Or install locally:
@@ -50,11 +51,13 @@ artist.blogs
50
51
  artist.familiarity
51
52
  artist.hotttnesss
52
53
  artist.images
54
+ artist.similar
53
55
  artist.songs
56
+ artist.suggest
54
57
  artist.video
55
58
  artist.urls
56
59
  ```
57
-
60
+
58
61
  *Exact response are specified in the RDoc but the method names try to be as self-explanatory as possible.*
59
62
 
60
63
  ## Song
@@ -75,31 +78,55 @@ song.search(params)
75
78
 
76
79
  See the full list of params [here](http://developer.echonest.com/docs/v4/song.html#search)
77
80
 
81
+ ## Genre
82
+ Create an instance of the `Echonest::Genre` object with your api key:
83
+
84
+ ```ruby
85
+ genre = Echonest::Genre.new('YOUR-API-KEY', 'folk rock')
86
+ ```
87
+
88
+ Which allows you to hit the Echonest genre API endpoint:
89
+
90
+ ```ruby
91
+ genre.artists
92
+ genre.profile
93
+ genre.similar
94
+ ```
95
+
96
+ This class also exposes a couple class methods for `/genre/list` and `/genre/search`:
97
+
98
+ ```ruby
99
+ Echonest::Genre.list(api_key)
100
+ Echonest::Genre.search(api_key, options)
101
+ ```
102
+
103
+ (any parameters accepted by the Echonest API can be passed in as hash params, for example (`Echonest::Genre.search('YOUR API KEY', name: 'folk rock', start: 15)`).
104
+
78
105
  ## Identification
79
106
 
80
107
  > **Note:** This stuff is flakey as hell. Seems to work pretty well on OSX, but it doesn't work out of the box. You'll need to follow these instructions to get it working.
81
108
 
82
109
  You can even **identify** a song simply from its fingerprint! Support for this is flaky so far and only tested on OS X.
83
110
 
84
- Firstly, make sure that the `echoprint-codegen` binary is available on your local `$PATH`.
85
-
111
+ Firstly, make sure that the `echoprint-codegen` binary is available on your local `$PATH`.
112
+
86
113
  Just run: `echoprint-codegen` on the terminal and see if it returns anything other than an error.
87
-
114
+
88
115
  If it's not installed, you'll need to compile it from source. **It's not as scary as it sounds.**
89
116
 
90
117
 
91
118
  brew install ffmpeg boost taglib # Install dependencies
92
-
119
+
93
120
  cd ~/Desktop/ # or somewhere else sensible, you can delete it later anyway
94
-
121
+
95
122
  git clone https://github.com/echonest/echoprint-codegen.git
96
-
123
+
97
124
  cd echoprint-codegen
98
-
125
+
99
126
  make
100
-
127
+
101
128
  make install
102
-
129
+
103
130
  This should then allow you to use the `echoprint-codegen` command at the command line. If not, try following the instructions here: [echonest/echoprint-codegen](https://github.com/echonest/echoprint-codegen)
104
131
 
105
132
  Then just use this method call:
@@ -134,7 +161,7 @@ If there's a positive match, it'll return something like this:
134
161
  }
135
162
  ```
136
163
 
137
- Checkout `spec/song_spec.rb` for an example code to test it out.
164
+ Checkout `spec/song_spec.rb` for an example code to test it out.
138
165
 
139
166
  Note that this calls the song/identify API endpoint and does *not* support other Echoprint servers.
140
167
 
@@ -146,12 +173,13 @@ Testing is done using RSpec. Just run `guard` in the root directory and it'll ru
146
173
 
147
174
  * Max Woolf (me!)
148
175
  * abdyer
149
- * garethrees
176
+ * [garethrees](https://github.com/garethrees)
150
177
  * jordanpoulton
151
178
  * makersacademy
152
179
  * deadroxy
153
180
  * [Devon Blandin](https://github.com/dblandin)
181
+ * [cover](https://github.com/cover)
182
+ * [deakolt](https://github.com/deakolt)
154
183
 
155
184
 
156
185
  [![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/maxehmookau/echonest-ruby-api/trend.png)](https://bitdeli.com/free "Bitdeli Badge")
157
-
@@ -0,0 +1,68 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://developer.echonest.com/api/v4/genre/artists?api_key=BNOAEBT3IZYZI6WXI&format=json&name=folk%20rock
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept-Encoding:
11
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
12
+ Accept:
13
+ - '*/*'
14
+ User-Agent:
15
+ - Ruby
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Date:
22
+ - Thu, 18 Dec 2014 02:52:18 GMT
23
+ Content-Type:
24
+ - application/json; charset=utf-8
25
+ Transfer-Encoding:
26
+ - chunked
27
+ Vary:
28
+ - Accept-Encoding
29
+ X-Request-Id:
30
+ - LMEr2cYwR6GVOU8+4Phqdw
31
+ X-Worker-Node:
32
+ - ef99f:28485
33
+ X-Ratelimit-Remaining:
34
+ - '19'
35
+ Server:
36
+ - TornadoServer/3.1
37
+ X-Ratelimit-Limit:
38
+ - '20'
39
+ X-Api-Key:
40
+ - BNOAEBT3IZYZI6WXI
41
+ Cache-Control:
42
+ - max-age=86400
43
+ Access-Control-Allow-Origin:
44
+ - '*'
45
+ X-Ratelimit-Used:
46
+ - '1'
47
+ Connection:
48
+ - Keep-alive
49
+ Keep-Alive:
50
+ - timeout=15, max=100
51
+ Via:
52
+ - 1.1 ID-0000627501223746 uproxy-2
53
+ body:
54
+ encoding: UTF-8
55
+ string: '{"response": {"status": {"version": "4.2", "code": 0, "message": "Success"},
56
+ "artists": [{"id": "ARVHQNN1187B9B9FA3", "name": "Cat Stevens"}, {"id": "AR966X21187B9AC463",
57
+ "name": "Paul Simon"}, {"id": "ARNAQSX1187B9ADBE4", "name": "Van Morrison"},
58
+ {"id": "ARIWB161187B9AA1D5", "name": "Simon & Garfunkel"}, {"id": "AR1XWI51187B9B2101",
59
+ "name": "Richie Havens"}, {"id": "ARSFKG71187FB3D66F", "name": "Crosby, Stills
60
+ & Nash"}, {"id": "ARGF9VF1187FB37DAE", "name": "The Band"}, {"id": "AR1UBH11187FB3643A",
61
+ "name": "Don McLean"}, {"id": "AR5FP401187FB523C9", "name": "Bob Dylan"},
62
+ {"id": "ARFAC0T1187B98C410", "name": "Graham Nash"}, {"id": "ARQFPFK1187FB533E1",
63
+ "name": "Roger McGuinn"}, {"id": "AR71ISG1187FB3C14D", "name": "Arlo Guthrie"},
64
+ {"id": "AREI0AM1187FB54C33", "name": "Tim Hardin"}, {"id": "ARQXK0B1187B9ACC97",
65
+ "name": "Joni Mitchell"}, {"id": "AR24G861187B9B7FAC", "name": "David Crosby"}]}}'
66
+ http_version:
67
+ recorded_at: Thu, 18 Dec 2014 02:52:18 GMT
68
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,392 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://developer.echonest.com/api/v4/genre/list?api_key=BNOAEBT3IZYZI6WXI&format=json
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept-Encoding:
11
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
12
+ Accept:
13
+ - '*/*'
14
+ User-Agent:
15
+ - Ruby
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Date:
22
+ - Thu, 18 Dec 2014 02:58:41 GMT
23
+ Content-Type:
24
+ - application/json; charset=utf-8
25
+ Transfer-Encoding:
26
+ - chunked
27
+ Vary:
28
+ - Accept-Encoding
29
+ X-Request-Id:
30
+ - 8A1/k/SrQ/WVC2DNaThBrA
31
+ X-Worker-Node:
32
+ - 7cbef:22351
33
+ X-Ratelimit-Remaining:
34
+ - '18'
35
+ Server:
36
+ - TornadoServer/3.1
37
+ X-Ratelimit-Limit:
38
+ - '20'
39
+ X-Api-Key:
40
+ - BNOAEBT3IZYZI6WXI
41
+ Cache-Control:
42
+ - max-age=86400
43
+ Access-Control-Allow-Origin:
44
+ - '*'
45
+ X-Ratelimit-Used:
46
+ - '2'
47
+ Connection:
48
+ - Keep-alive
49
+ Keep-Alive:
50
+ - timeout=15, max=100
51
+ Via:
52
+ - 1.1 ID-0000627501223746 uproxy-3
53
+ body:
54
+ encoding: UTF-8
55
+ string: '{"response": {"status": {"version": "4.2", "code": 0, "message": "Success"},
56
+ "start": 0, "genres": [{"name": "a cappella"}, {"name": "abstract"}, {"name":
57
+ "abstract hip hop"}, {"name": "abstract idm"}, {"name": "accordion"}, {"name":
58
+ "acid house"}, {"name": "acid jazz"}, {"name": "acid techno"}, {"name": "acousmatic"},
59
+ {"name": "acoustic blues"}, {"name": "acoustic pop"}, {"name": "adult standards"},
60
+ {"name": "african percussion"}, {"name": "african rock"}, {"name": "afrikaans"},
61
+ {"name": "afrobeat"}, {"name": "afrobeats"}, {"name": "aggrotech"}, {"name":
62
+ "albanian pop"}, {"name": "album rock"}, {"name": "albuquerque indie"}, {"name":
63
+ "alternative americana"}, {"name": "alternative country"}, {"name": "alternative
64
+ dance"}, {"name": "alternative emo"}, {"name": "alternative hardcore"}, {"name":
65
+ "alternative hip hop"}, {"name": "alternative metal"}, {"name": "alternative
66
+ metalcore"}, {"name": "alternative new age"}, {"name": "alternative pop"},
67
+ {"name": "alternative pop rock"}, {"name": "alternative r&b"}, {"name": "alternative
68
+ rock"}, {"name": "ambeat"}, {"name": "ambient"}, {"name": "ambient dub techno"},
69
+ {"name": "ambient fusion"}, {"name": "ambient idm"}, {"name": "ambient psychill"},
70
+ {"name": "ambient trance"}, {"name": "anarcho-punk"}, {"name": "andean"},
71
+ {"name": "anime"}, {"name": "anime score"}, {"name": "anti-folk"}, {"name":
72
+ "antiviral pop"}, {"name": "appalachian folk"}, {"name": "arab folk"}, {"name":
73
+ "arab pop"}, {"name": "arabesk"}, {"name": "argentine rock"}, {"name": "armenian
74
+ folk"}, {"name": "art rock"}, {"name": "athens indie"}, {"name": "atmospheric
75
+ black metal"}, {"name": "atmospheric post rock"}, {"name": "atmospheric post-metal"},
76
+ {"name": "aussietronica"}, {"name": "austindie"}, {"name": "australian alternative
77
+ rock"}, {"name": "australian country"}, {"name": "australian dance"}, {"name":
78
+ "australian hip hop"}, {"name": "australian indie"}, {"name": "australian
79
+ pop"}, {"name": "austropop"}, {"name": "avant-garde"}, {"name": "avant-garde
80
+ jazz"}, {"name": "avantgarde metal"}, {"name": "axe"}, {"name": "azonto"},
81
+ {"name": "bachata"}, {"name": "baile funk"}, {"name": "balearic"}, {"name":
82
+ "balkan brass"}, {"name": "banda"}, {"name": "bangla"}, {"name": "barbershop"},
83
+ {"name": "barnemusikk"}, {"name": "baroque"}, {"name": "baroque ensemble"},
84
+ {"name": "basque rock"}, {"name": "bass music"}, {"name": "bass trip"}, {"name":
85
+ "bassline"}, {"name": "bay area hip hop"}, {"name": "beach music"}, {"name":
86
+ "beatdown"}, {"name": "beats & rhymes"}, {"name": "bebop"}, {"name": "belgian
87
+ indie"}, {"name": "belgian rock"}, {"name": "belly dance"}, {"name": "bemani"},
88
+ {"name": "benga"}, {"name": "bhangra"}, {"name": "big band"}, {"name": "big
89
+ beat"}, {"name": "big room"}, {"name": "black death"}, {"name": "black metal"},
90
+ {"name": "black sludge"}, {"name": "black thrash"}, {"name": "blackgaze"},
91
+ {"name": "blaskapelle"}, {"name": "bluegrass"}, {"name": "blues"}, {"name":
92
+ "blues-rock"}, {"name": "blues-rock guitar"}, {"name": "bmore"}, {"name":
93
+ "bolero"}, {"name": "boogaloo"}, {"name": "boogie-woogie"}, {"name": "bossa
94
+ nova"}, {"name": "bossa nova jazz"}, {"name": "boston rock"}, {"name": "bounce"},
95
+ {"name": "bouncy house"}, {"name": "bow pop"}, {"name": "boy band"}, {"name":
96
+ "brass band"}, {"name": "brass ensemble"}, {"name": "brazilian gospel"}, {"name":
97
+ "brazilian hip hop"}, {"name": "brazilian indie"}, {"name": "brazilian pop
98
+ music"}, {"name": "brazilian punk"}, {"name": "breakbeat"}, {"name": "breakcore"},
99
+ {"name": "breaks"}, {"name": "brega"}, {"name": "breton folk"}, {"name": "brill
100
+ building pop"}, {"name": "british alternative rock"}, {"name": "british blues"},
101
+ {"name": "british brass band"}, {"name": "british dance band"}, {"name": "british
102
+ folk"}, {"name": "british indie rock"}, {"name": "british invasion"}, {"name":
103
+ "britpop"}, {"name": "broadway"}, {"name": "broken beat"}, {"name": "brooklyn
104
+ indie"}, {"name": "brostep"}, {"name": "brutal death metal"}, {"name": "brutal
105
+ deathcore"}, {"name": "bubble trance"}, {"name": "bubblegum dance"}, {"name":
106
+ "bubblegum pop"}, {"name": "bulgarian rock"}, {"name": "c-pop"}, {"name":
107
+ "c64"}, {"name": "c86"}, {"name": "cabaret"}, {"name": "cajun"}, {"name":
108
+ "calypso"}, {"name": "canadian country"}, {"name": "canadian hip hop"}, {"name":
109
+ "canadian indie"}, {"name": "canadian pop"}, {"name": "candy pop"}, {"name":
110
+ "cantautor"}, {"name": "cante flamenco"}, {"name": "canterbury scene"}, {"name":
111
+ "cantopop"}, {"name": "canzone napoletana"}, {"name": "capoeira"}, {"name":
112
+ "carnatic"}, {"name": "catstep"}, {"name": "caucasian folk"}, {"name": "ccm"},
113
+ {"name": "ceilidh"}, {"name": "cello"}, {"name": "celtic"}, {"name": "celtic
114
+ christmas"}, {"name": "celtic punk"}, {"name": "celtic rock"}, {"name": "central
115
+ asian folk"}, {"name": "chalga"}, {"name": "chamber pop"}, {"name": "chanson"},
116
+ {"name": "chanson quebecois"}, {"name": "chaotic black metal"}, {"name": "chaotic
117
+ hardcore"}, {"name": "charred death"}, {"name": "chicago blues"}, {"name":
118
+ "chicago house"}, {"name": "chicago indie"}, {"name": "chicago soul"}, {"name":
119
+ "chicano rap"}, {"name": "children''s christmas"}, {"name": "children''s music"},
120
+ {"name": "chilean rock"}, {"name": "chill groove"}, {"name": "chill lounge"},
121
+ {"name": "chill-out"}, {"name": "chill-out trance"}, {"name": "chillstep"},
122
+ {"name": "chillwave"}, {"name": "chinese indie rock"}, {"name": "chinese opera"},
123
+ {"name": "chinese traditional"}, {"name": "chip hop"}, {"name": "chiptune"},
124
+ {"name": "choral"}, {"name": "choro"}, {"name": "christian alternative rock"},
125
+ {"name": "christian christmas"}, {"name": "christian dance"}, {"name": "christian
126
+ hardcore"}, {"name": "christian hip hop"}, {"name": "christian metal"}, {"name":
127
+ "christian music"}, {"name": "christian punk"}, {"name": "christian rock"},
128
+ {"name": "christmas"}, {"name": "christmas product"}, {"name": "cinematic
129
+ dubstep"}, {"name": "classic afrobeat"}, {"name": "classic belgian pop"},
130
+ {"name": "classic chinese pop"}, {"name": "classic czech pop"}, {"name": "classic
131
+ danish pop"}, {"name": "classic eurovision"}, {"name": "classic finnish pop"},
132
+ {"name": "classic finnish rock"}, {"name": "classic french pop"}, {"name":
133
+ "classic funk rock"}, {"name": "classic garage rock"}, {"name": "classic italian
134
+ pop"}, {"name": "classic norwegian pop"}, {"name": "classic peruvian pop"},
135
+ {"name": "classic polish pop"}, {"name": "classic psychedelic rock"}, {"name":
136
+ "classic rock"}, {"name": "classic russian pop"}, {"name": "classic russian
137
+ rock"}, {"name": "classic schlager"}, {"name": "classic soundtrack"}, {"name":
138
+ "classic swedish pop"}, {"name": "classic turkish pop"}, {"name": "classic
139
+ venezuelan pop"}, {"name": "classical"}, {"name": "classical christmas"},
140
+ {"name": "classical flute"}, {"name": "classical guitar"}, {"name": "classical
141
+ organ"}, {"name": "classical performance"}, {"name": "classical period"},
142
+ {"name": "classical piano"}, {"name": "college marching band"}, {"name": "colombian
143
+ rock"}, {"name": "columbus ohio indie"}, {"name": "comedy"}, {"name": "comic"},
144
+ {"name": "commons"}, {"name": "complextro"}, {"name": "composition d"}, {"name":
145
+ "concert piano"}, {"name": "contemporary classical"}, {"name": "contemporary
146
+ country"}, {"name": "contemporary folk"}, {"name": "contemporary jazz"}, {"name":
147
+ "contemporary post-bop"}, {"name": "cool jazz"}, {"name": "corrosion"}, {"name":
148
+ "corsican folk"}, {"name": "country"}, {"name": "country blues"}, {"name":
149
+ "country christmas"}, {"name": "country dawn"}, {"name": "country gospel"},
150
+ {"name": "country road"}, {"name": "country rock"}, {"name": "coupe decale"},
151
+ {"name": "coverchill"}, {"name": "covertrance"}, {"name": "cowboy western"},
152
+ {"name": "cowpunk"}, {"name": "crack rock steady"}, {"name": "croatian pop"},
153
+ {"name": "crossover prog"}, {"name": "crossover thrash"}, {"name": "crunk"},
154
+ {"name": "crust punk"}, {"name": "cuban rumba"}, {"name": "cubaton"}, {"name":
155
+ "cumbia"}, {"name": "cumbia funk"}, {"name": "cumbia sonidera"}, {"name":
156
+ "cumbia villera"}, {"name": "cyber metal"}, {"name": "czech folk"}, {"name":
157
+ "czech rock"}, {"name": "dallas indie"}, {"name": "dance pop"}, {"name": "dance
158
+ rock"}, {"name": "dance-punk"}, {"name": "dancehall"}, {"name": "dangdut"},
159
+ {"name": "danish hip hop"}, {"name": "danish indie"}, {"name": "danish jazz"},
160
+ {"name": "danish pop"}, {"name": "danish pop rock"}, {"name": "dansband"},
161
+ {"name": "danseband"}, {"name": "dark ambient"}, {"name": "dark black metal"},
162
+ {"name": "dark cabaret"}, {"name": "dark electro-industrial"}, {"name": "dark
163
+ progressive house"}, {"name": "dark psytrance"}, {"name": "dark wave"}, {"name":
164
+ "darkstep"}, {"name": "death core"}, {"name": "death metal"}, {"name": "deathgrind"},
165
+ {"name": "deep acoustic pop"}, {"name": "deep adult standards"}, {"name":
166
+ "deep alternative r&b"}, {"name": "deep ambient"}, {"name": "deep baroque"},
167
+ {"name": "deep brazilian pop"}, {"name": "deep breakcore"}, {"name": "deep
168
+ canadian indie"}, {"name": "deep ccm"}, {"name": "deep cello"}, {"name": "deep
169
+ chill"}, {"name": "deep chill-out"}, {"name": "deep christian rock"}, {"name":
170
+ "deep classic garage rock"}, {"name": "deep classical piano"}, {"name": "deep
171
+ comedy"}, {"name": "deep contemporary country"}, {"name": "deep dance pop"},
172
+ {"name": "deep darkpsy"}, {"name": "deep deep house"}, {"name": "deep deep
173
+ tech house"}, {"name": "deep disco"}, {"name": "deep disco house"}, {"name":
174
+ "deep discofox"}, {"name": "deep downtempo fusion"}, {"name": "deep dub techno"},
175
+ {"name": "deep east coast hip hop"}, {"name": "deep euro house"}, {"name":
176
+ "deep eurodance"}, {"name": "deep filthstep"}, {"name": "deep flow"}, {"name":
177
+ "deep free jazz"}, {"name": "deep freestyle"}, {"name": "deep funk"}, {"name":
178
+ "deep funk house"}, {"name": "deep g funk"}, {"name": "deep german indie"},
179
+ {"name": "deep happy hardcore"}, {"name": "deep hardcore"}, {"name": "deep
180
+ hardcore punk"}, {"name": "deep hardstyle"}, {"name": "deep house"}, {"name":
181
+ "deep indie pop"}, {"name": "deep indie rock"}, {"name": "deep indie singer-songwriter"},
182
+ {"name": "deep italo disco"}, {"name": "deep jazz guitar"}, {"name": "deep
183
+ jazz piano"}, {"name": "deep liquid"}, {"name": "deep melodic death metal"},
184
+ {"name": "deep melodic hard rock"}, {"name": "deep melodic metalcore"}, {"name":
185
+ "deep minimal techno"}, {"name": "deep motown"}, {"name": "deep neo-synthpop"},
186
+ {"name": "deep new wave"}, {"name": "deep northern soul"}, {"name": "deep
187
+ opera"}, {"name": "deep orchestral"}, {"name": "deep orgcore"}, {"name": "deep
188
+ pop emo"}, {"name": "deep pop punk"}, {"name": "deep progressive house"},
189
+ {"name": "deep progressive trance"}, {"name": "deep psychobilly"}, {"name":
190
+ "deep psytrance"}, {"name": "deep punk rock"}, {"name": "deep ragga"}, {"name":
191
+ "deep rai"}, {"name": "deep regional mexican"}, {"name": "deep smooth jazz"},
192
+ {"name": "deep soft rock"}, {"name": "deep soul house"}, {"name": "deep soundtrack"},
193
+ {"name": "deep southern soul"}, {"name": "deep space rock"}, {"name": "deep
194
+ string quartet"}, {"name": "deep sunset lounge"}, {"name": "deep surf music"},
195
+ {"name": "deep symphonic black metal"}, {"name": "deep talent show"}, {"name":
196
+ "deep tech house"}, {"name": "deep thrash metal"}, {"name": "deep trap"},
197
+ {"name": "deep turkish pop"}, {"name": "deep uplifting trance"}, {"name":
198
+ "deep vocal house"}, {"name": "deep vocal jazz"}, {"name": "delta blues"},
199
+ {"name": "demoscene"}, {"name": "denver indie"}, {"name": "depressive black
200
+ metal"}, {"name": "desert blues"}, {"name": "desi"}, {"name": "destroy techno"},
201
+ {"name": "detroit hip hop"}, {"name": "detroit techno"}, {"name": "didgeridoo"},
202
+ {"name": "digital hardcore"}, {"name": "dirty south rap"}, {"name": "dirty
203
+ texas rap"}, {"name": "disco"}, {"name": "disco house"}, {"name": "discofox"},
204
+ {"name": "dixieland"}, {"name": "djent"}, {"name": "dominican pop"}, {"name":
205
+ "doo-wop"}, {"name": "doom metal"}, {"name": "doomcore"}, {"name": "doujin"},
206
+ {"name": "downtempo"}, {"name": "downtempo fusion"}, {"name": "downtempo trip
207
+ hop"}, {"name": "drama"}, {"name": "dream pop"}, {"name": "dreamo"}, {"name":
208
+ "drill and bass"}, {"name": "drone"}, {"name": "drone psych"}, {"name": "drum
209
+ and bass"}, {"name": "drumfunk"}, {"name": "dub"}, {"name": "dub techno"},
210
+ {"name": "dubstep"}, {"name": "dubstep product"}, {"name": "duranguense"},
211
+ {"name": "dutch hip hop"}, {"name": "dutch house"}, {"name": "dutch pop"},
212
+ {"name": "dutch rock"}, {"name": "e6fi"}, {"name": "early music"}, {"name":
213
+ "early music ensemble"}, {"name": "east coast hip hop"}, {"name": "easy listening"},
214
+ {"name": "ebm"}, {"name": "ectofolk"}, {"name": "ecuadoria"}, {"name": "edm"},
215
+ {"name": "electric blues"}, {"name": "electro"}, {"name": "electro dub"},
216
+ {"name": "electro house"}, {"name": "electro jazz"}, {"name": "electro latino"},
217
+ {"name": "electro swing"}, {"name": "electro trash"}, {"name": "electro-industrial"},
218
+ {"name": "electroacoustic improvisation"}, {"name": "electroclash"}, {"name":
219
+ "electrofox"}, {"name": "electronic"}, {"name": "electronica"}, {"name": "electronicore"},
220
+ {"name": "electropowerpop"}, {"name": "emo"}, {"name": "emo punk"}, {"name":
221
+ "enka"}, {"name": "entehno"}, {"name": "environmental"}, {"name": "epicore"},
222
+ {"name": "estonian pop"}, {"name": "ethereal gothic"}, {"name": "ethereal
223
+ wave"}, {"name": "etherpop"}, {"name": "ethiopian pop"}, {"name": "eurobeat"},
224
+ {"name": "eurodance"}, {"name": "europop"}, {"name": "euroska"}, {"name":
225
+ "eurovision"}, {"name": "exotica"}, {"name": "experimental"}, {"name": "experimental
226
+ dubstep"}, {"name": "experimental psych"}, {"name": "experimental rock"},
227
+ {"name": "fado"}, {"name": "fake"}, {"name": "fallen angel"}, {"name": "faroese
228
+ pop"}, {"name": "fast melodic punk"}, {"name": "fidget house"}, {"name": "filmi"},
229
+ {"name": "filter house"}, {"name": "filthstep"}, {"name": "fingerstyle"},
230
+ {"name": "finnish hardcore"}, {"name": "finnish hip hop"}, {"name": "finnish
231
+ indie"}, {"name": "finnish jazz"}, {"name": "finnish pop"}, {"name": "flamenco"},
232
+ {"name": "flick hop"}, {"name": "folk"}, {"name": "folk christmas"}, {"name":
233
+ "folk metal"}, {"name": "folk punk"}, {"name": "folk rock"}, {"name": "folk-pop"},
234
+ {"name": "folk-prog"}, {"name": "folklore argentino"}, {"name": "folkmusik"},
235
+ {"name": "footwork"}, {"name": "forro"}, {"name": "fourth world"}, {"name":
236
+ "freak folk"}, {"name": "freakbeat"}, {"name": "free improvisation"}, {"name":
237
+ "free jazz"}, {"name": "freestyle"}, {"name": "french folk"}, {"name": "french
238
+ folk pop"}, {"name": "french hip hop"}, {"name": "french indie pop"}, {"name":
239
+ "french movie tunes"}, {"name": "french pop"}, {"name": "french punk"}, {"name":
240
+ "french reggae"}, {"name": "french rock"}, {"name": "full on"}, {"name": "funeral
241
+ doom"}, {"name": "funk"}, {"name": "funk metal"}, {"name": "funk rock"}, {"name":
242
+ "funky breaks"}, {"name": "future ambient"}, {"name": "future garage"}, {"name":
243
+ "futurepop"}, {"name": "g funk"}, {"name": "gabba"}, {"name": "galego"}, {"name":
244
+ "gamecore"}, {"name": "gamelan"}, {"name": "gangster rap"}, {"name": "garage
245
+ pop"}, {"name": "garage punk"}, {"name": "garage punk blues"}, {"name": "garage
246
+ rock"}, {"name": "gauze pop"}, {"name": "gbvfi"}, {"name": "geek folk"}, {"name":
247
+ "geek rock"}, {"name": "german ccm"}, {"name": "german hip hop"}, {"name":
248
+ "german indie"}, {"name": "german metal"}, {"name": "german oi"}, {"name":
249
+ "german pop"}, {"name": "german pop rock"}, {"name": "german punk"}, {"name":
250
+ "german show tunes"}, {"name": "german techno"}, {"name": "ghettotech"}, {"name":
251
+ "ghoststep"}, {"name": "girl group"}, {"name": "glam metal"}, {"name": "glam
252
+ rock"}, {"name": "glitch"}, {"name": "glitch hop"}, {"name": "glitter trance"},
253
+ {"name": "goa trance"}, {"name": "goregrind"}, {"name": "gospel"}, {"name":
254
+ "gospel blues"}, {"name": "gospel reggae"}, {"name": "gothic alternative"},
255
+ {"name": "gothic americana"}, {"name": "gothic doom"}, {"name": "gothic metal"},
256
+ {"name": "gothic post-punk"}, {"name": "gothic rock"}, {"name": "gothic symphonic
257
+ metal"}, {"name": "grave wave"}, {"name": "greek hip hop"}, {"name": "greek
258
+ indie"}, {"name": "grim death metal"}, {"name": "grime"}, {"name": "grindcore"},
259
+ {"name": "groove metal"}, {"name": "grunge"}, {"name": "grunge pop"}, {"name":
260
+ "grupera"}, {"name": "guidance"}, {"name": "gypsy jazz"}, {"name": "hands
261
+ up"}, {"name": "happy hardcore"}, {"name": "hard alternative"}, {"name": "hard
262
+ bop"}, {"name": "hard glam"}, {"name": "hard house"}, {"name": "hard rock"},
263
+ {"name": "hard stoner rock"}, {"name": "hard trance"}, {"name": "hardcore"},
264
+ {"name": "hardcore breaks"}, {"name": "hardcore hip hop"}, {"name": "hardcore
265
+ punk"}, {"name": "hardcore techno"}, {"name": "hardstyle"}, {"name": "harmonica
266
+ blues"}, {"name": "harp"}, {"name": "hatecore"}, {"name": "hauntology"}, {"name":
267
+ "hawaiian"}, {"name": "healing"}, {"name": "heavy alternative"}, {"name":
268
+ "heavy christmas"}, {"name": "heavy gothic rock"}, {"name": "hi nrg"}, {"name":
269
+ "highlife"}, {"name": "hindustani classical"}, {"name": "hip hop"}, {"name":
270
+ "hip hop quebecois"}, {"name": "hip hop tuga"}, {"name": "hip house"}, {"name":
271
+ "hip pop"}, {"name": "hiplife"}, {"name": "hollywood"}, {"name": "horror punk"},
272
+ {"name": "house"}, {"name": "hungarian hip hop"}, {"name": "hungarian pop"},
273
+ {"name": "hungarian rock"}, {"name": "hurban"}, {"name": "hyphy"}, {"name":
274
+ "icelandic pop"}, {"name": "idol"}, {"name": "illbient"}, {"name": "indian
275
+ classical"}, {"name": "indian pop"}, {"name": "indian rock"}, {"name": "indie
276
+ christmas"}, {"name": "indie dream pop"}, {"name": "indie emo"}, {"name":
277
+ "indie emo rock"}, {"name": "indie folk"}, {"name": "indie fuzzpop"}, {"name":
278
+ "indie pop"}, {"name": "indie psych-pop"}, {"name": "indie r&b"}, {"name":
279
+ "indie rock"}, {"name": "indie shoegaze"}, {"name": "indie singer-songwriter"},
280
+ {"name": "indietronica"}, {"name": "indonesian indie"}, {"name": "indonesian
281
+ pop"}, {"name": "indorock"}, {"name": "industrial"}, {"name": "industrial
282
+ metal"}, {"name": "industrial rock"}, {"name": "instrumental post rock"},
283
+ {"name": "intelligent dance music"}, {"name": "irish folk"}, {"name": "irish
284
+ rock"}, {"name": "iskelma"}, {"name": "islamic recitation"}, {"name": "israeli
285
+ rock"}, {"name": "italian disco"}, {"name": "italian folk"}, {"name": "italian
286
+ hip hop"}, {"name": "italian indie pop"}, {"name": "italian jazz"}, {"name":
287
+ "italian pop"}, {"name": "italian progressive rock"}, {"name": "italian punk"},
288
+ {"name": "italo dance"}, {"name": "j-alt"}, {"name": "j-ambient"}, {"name":
289
+ "j-core"}, {"name": "j-dance"}, {"name": "j-idol"}, {"name": "j-indie"}, {"name":
290
+ "j-metal"}, {"name": "j-pop"}, {"name": "j-poppunk"}, {"name": "j-poprock"},
291
+ {"name": "j-punk"}, {"name": "j-rap"}, {"name": "j-rock"}, {"name": "j-theme"},
292
+ {"name": "jam band"}, {"name": "jangle pop"}, {"name": "jangle rock"}, {"name":
293
+ "japanese jazztronica"}, {"name": "japanese psychedelic"}, {"name": "japanese
294
+ r&b"}, {"name": "japanese standards"}, {"name": "japanese traditional"}, {"name":
295
+ "japanoise"}, {"name": "jazz"}, {"name": "jazz bass"}, {"name": "jazz blues"},
296
+ {"name": "jazz brass"}, {"name": "jazz christmas"}, {"name": "jazz funk"},
297
+ {"name": "jazz fusion"}, {"name": "jazz metal"}, {"name": "jazz orchestra"},
298
+ {"name": "jazz trio"}, {"name": "jerk"}, {"name": "jig and reel"}, {"name":
299
+ "judaica"}, {"name": "jug band"}, {"name": "juggalo"}, {"name": "jump blues"},
300
+ {"name": "jump up"}, {"name": "jumpstyle"}, {"name": "jungle"}, {"name": "k-hop"},
301
+ {"name": "k-indie"}, {"name": "k-pop"}, {"name": "k-rock"}, {"name": "kabarett"},
302
+ {"name": "karneval"}, {"name": "kc indie"}, {"name": "kindermusik"}, {"name":
303
+ "kirtan"}, {"name": "kiwi rock"}, {"name": "kizomba"}, {"name": "klezmer"},
304
+ {"name": "kompa"}, {"name": "kraut rock"}, {"name": "kuduro"}, {"name": "kurdish
305
+ folk"}, {"name": "kwaito"}, {"name": "la indie"}, {"name": "laboratorio"},
306
+ {"name": "laiko"}, {"name": "latin"}, {"name": "latin alternative"}, {"name":
307
+ "latin christian"}, {"name": "latin christmas"}, {"name": "latin electronica"},
308
+ {"name": "latin hip hop"}, {"name": "latin jazz"}, {"name": "latin metal"},
309
+ {"name": "latin pop"}, {"name": "latvian pop"}, {"name": "lds"}, {"name":
310
+ "leeds indie"}, {"name": "levenslied"}, {"name": "liedermacher"}, {"name":
311
+ "lilith"}, {"name": "liquid funk"}, {"name": "lithumania"}, {"name": "lo star"},
312
+ {"name": "lo-fi"}, {"name": "louisiana blues"}, {"name": "louisville indie"},
313
+ {"name": "lounge"}, {"name": "lounge house"}, {"name": "lovers rock"}, {"name":
314
+ "lowercase"}, {"name": "luk thung"}, {"name": "madchester"}, {"name": "maghreb"},
315
+ {"name": "makossa"}, {"name": "malagasy folk"}, {"name": "malaysian pop"},
316
+ {"name": "mallet"}, {"name": "mambo"}, {"name": "mande pop"}, {"name": "mandopop"},
317
+ {"name": "manele"}, {"name": "marching band"}, {"name": "mariachi"}, {"name":
318
+ "martial industrial"}, {"name": "mashup"}, {"name": "math pop"}, {"name":
319
+ "math rock"}, {"name": "mathcore"}, {"name": "mbalax"}, {"name": "medieval"},
320
+ {"name": "medieval rock"}, {"name": "meditation"}, {"name": "mellow gold"},
321
+ {"name": "melodic death metal"}, {"name": "melodic hard rock"}, {"name": "melodic
322
+ hardcore"}, {"name": "melodic metalcore"}, {"name": "melodic power metal"},
323
+ {"name": "melodic progressive metal"}, {"name": "memphis blues"}, {"name":
324
+ "memphis hip hop"}, {"name": "memphis soul"}, {"name": "merengue"}, {"name":
325
+ "merengue urbano"}, {"name": "merseybeat"}, {"name": "metal"}, {"name": "metal
326
+ guitar"}, {"name": "metalcore"}, {"name": "metropopolis"}, {"name": "mexican
327
+ indie"}, {"name": "mexican rock-and-roll"}, {"name": "mexican son"}, {"name":
328
+ "mexican traditional"}, {"name": "miami bass"}, {"name": "michigan indie"},
329
+ {"name": "microhouse"}, {"name": "military band"}, {"name": "minimal"}, {"name":
330
+ "minimal dub"}, {"name": "minimal dubstep"}, {"name": "minimal melodic techno"},
331
+ {"name": "minimal tech house"}, {"name": "minimal techno"}, {"name": "minimal
332
+ wave"}, {"name": "mizrahi"}, {"name": "mod revival"}, {"name": "modern blues"},
333
+ {"name": "modern classical"}, {"name": "modern country rock"}, {"name": "modern
334
+ downshift"}, {"name": "modern free jazz"}, {"name": "modern performance"},
335
+ {"name": "modern southern rock"}, {"name": "modern uplift"}, {"name": "monastic"},
336
+ {"name": "moombahton"}, {"name": "morna"}, {"name": "motivation"}, {"name":
337
+ "motown"}, {"name": "movie tunes"}, {"name": "mpb"}, {"name": "musica para
338
+ ninos"}, {"name": "musiikkia lapsille"}, {"name": "musique concrete"}, {"name":
339
+ "musique pour enfants"}, {"name": "muziek voor kinderen"}, {"name": "nasheed"},
340
+ {"name": "nashville sound"}, {"name": "native american"}, {"name": "necrogrind"},
341
+ {"name": "neo classical metal"}, {"name": "neo honky tonk"}, {"name": "neo
342
+ mellow"}, {"name": "neo metal"}, {"name": "neo soul"}, {"name": "neo soul-jazz"},
343
+ {"name": "neo-industrial rock"}, {"name": "neo-pagan"}, {"name": "neo-progressive"},
344
+ {"name": "neo-psychedelic"}, {"name": "neo-rockabilly"}, {"name": "neo-singer-songwriter"},
345
+ {"name": "neo-synthpop"}, {"name": "neo-trad metal"}, {"name": "neo-traditional
346
+ country"}, {"name": "neoclassical"}, {"name": "neofolk"}, {"name": "nepali"},
347
+ {"name": "nerdcore"}, {"name": "neue deutsche harte"}, {"name": "neue deutsche
348
+ welle"}, {"name": "neurofunk"}, {"name": "neurostep"}, {"name": "new age"},
349
+ {"name": "new age piano"}, {"name": "new beat"}, {"name": "new jack smooth"},
350
+ {"name": "new jack swing"}, {"name": "new orleans blues"}, {"name": "new orleans
351
+ jazz"}, {"name": "new rave"}, {"name": "new romantic"}, {"name": "new tribe"},
352
+ {"name": "new wave"}, {"name": "new wave pop"}, {"name": "new weird america"},
353
+ {"name": "ninja"}, {"name": "nintendocore"}, {"name": "nl folk"}, {"name":
354
+ "no wave"}, {"name": "noise"}, {"name": "noise pop"}, {"name": "noise punk"},
355
+ {"name": "noise rock"}, {"name": "nordic folk"}, {"name": "nordic house"},
356
+ {"name": "norteno"}, {"name": "northern irish indie"}, {"name": "northern
357
+ soul"}, {"name": "norwegian gospel"}, {"name": "norwegian hip hop"}, {"name":
358
+ "norwegian jazz"}, {"name": "norwegian pop"}, {"name": "norwegian punk"},
359
+ {"name": "norwegian rock"}, {"name": "nu age"}, {"name": "nu disco"}, {"name":
360
+ "nu electro"}, {"name": "nu gaze"}, {"name": "nu jazz"}, {"name": "nu metal"},
361
+ {"name": "nu skool breaks"}, {"name": "nu-cumbia"}, {"name": "nueva cancion"},
362
+ {"name": "nursery"}, {"name": "nwobhm"}, {"name": "nwothm"}, {"name": "nz
363
+ indie"}, {"name": "oi"}, {"name": "old school hip hop"}, {"name": "old-time"},
364
+ {"name": "opera"}, {"name": "operatic pop"}, {"name": "opm"}, {"name": "oratory"},
365
+ {"name": "orchestral"}, {"name": "organic ambient"}, {"name": "orgcore"},
366
+ {"name": "orquesta tipica"}, {"name": "orquesta tropical"}, {"name": "oshare
367
+ kei"}, {"name": "ostrock"}, {"name": "outer hip hop"}, {"name": "outlaw country"},
368
+ {"name": "outsider"}, {"name": "outsider house"}, {"name": "p funk"}, {"name":
369
+ "pagan black metal"}, {"name": "pagode"}, {"name": "pakistani pop"}, {"name":
370
+ "permanent wave"}, {"name": "persian pop"}, {"name": "persian traditional"},
371
+ {"name": "perth indie"}, {"name": "peruvian rock"}, {"name": "piano blues"},
372
+ {"name": "piano rock"}, {"name": "piedmont blues"}, {"name": "pipe band"},
373
+ {"name": "poetry"}, {"name": "polish hip hop"}, {"name": "polish indie"},
374
+ {"name": "polish jazz"}, {"name": "polish pop"}, {"name": "polish punk"},
375
+ {"name": "polish reggae"}, {"name": "polka"}, {"name": "polynesian pop"},
376
+ {"name": "polyphony"}, {"name": "pop"}, {"name": "pop christmas"}, {"name":
377
+ "pop emo"}, {"name": "pop house"}, {"name": "pop punk"}, {"name": "pop rap"},
378
+ {"name": "pop rock"}, {"name": "portland indie"}, {"name": "portuguese pop"},
379
+ {"name": "portuguese rock"}, {"name": "post rock"}, {"name": "post-disco"},
380
+ {"name": "post-disco soul"}, {"name": "post-grunge"}, {"name": "post-hardcore"},
381
+ {"name": "post-metal"}, {"name": "post-post-hardcore"}, {"name": "post-punk"},
382
+ {"name": "power blues-rock"}, {"name": "power electronics"}, {"name": "power
383
+ metal"}, {"name": "power noise"}, {"name": "power pop"}, {"name": "power violence"},
384
+ {"name": "power-pop punk"}, {"name": "praise"}, {"name": "progressive alternative"},
385
+ {"name": "progressive bluegrass"}, {"name": "progressive electro house"},
386
+ {"name": "progressive house"}, {"name": "progressive metal"}, {"name": "progressive
387
+ psytrance"}, {"name": "progressive rock"}, {"name": "progressive trance"},
388
+ {"name": "progressive trance house"}, {"name": "progressive uplifting trance"},
389
+ {"name": "protopunk"}], "total": 1301}}'
390
+ http_version:
391
+ recorded_at: Thu, 18 Dec 2014 02:58:41 GMT
392
+ recorded_with: VCR 2.9.3