@@ -258,6 +258,116 @@ <h3>API Example #3: radio.similartracks</h3>
258
258
</ script >
259
259
</ article >
260
260
261
+ < article >
262
+ < h3 > API — Audio Features</ h3 >
263
+
264
+ < ul >
265
+ < li > We analysed very nearly all of our streamable content for certain audio features</ li >
266
+
267
+ < li > List of features includes:</ li >
268
+ < ul >
269
+ < li > bpm</ li >
270
+ < li > loudness</ li >
271
+ < li > key</ li >
272
+ < li > speed</ li >
273
+ < li > tuning</ li >
274
+ < li > gearshift< li >
275
+ < li > < a href ="api-documentation/track.getAudioFeatures.html "> etc...</ a > </ li >
276
+ </ ul >
277
+ </ ul >
278
+ </ article >
279
+
280
+ < article >
281
+ < h3 > API Example #4: track.getAudioFeatures</ h3 >
282
+
283
+ < pre style ='margin:20px; '>
284
+ var url = API_ROOT + '?' + $.param({
285
+ method: 'track.getAudioFeatures',
286
+ artist: 'Deadmau5',
287
+ track: 'Strobe',
288
+ api_key: API_KEY,
289
+ format: 'json'
290
+ });
291
+ $.get(url, function (r) {
292
+ alert(r.audiofeatures.bpm + ' BPM');
293
+ });</ pre >
294
+
295
+ < button id ="api-example4 "> Run</ button >
296
+ < script >
297
+ ( function ( $ ) {
298
+ $ ( '#api-example4' ) . click ( function ( ) {
299
+ var url = API_ROOT + '?' + $ . param ( {
300
+ method : 'track.getAudioFeatures' ,
301
+ artist : 'Deadmau5' ,
302
+ track : 'Strobe' ,
303
+ api_key : API_KEY ,
304
+ format : 'json'
305
+ } ) ;
306
+
307
+ $ . get ( url , function ( r ) {
308
+ alert ( r . audiofeatures . bpm + ' BPM' ) ;
309
+ } ) ;
310
+ } ) ;
311
+ } ) ( jQuery ) ;
312
+ </ script >
313
+ </ article >
314
+
315
+ < article >
316
+ < h3 > API Example #5: track.getAudioFeatures</ h3 >
317
+
318
+ < pre style ='margin:20px; '>
319
+ var url = API_ROOT + '?' + $.param({
320
+ method: 'track.findByAudioFeatures',
321
+ api_key: API_KEY,
322
+ filter: ['bpm:80:90', 'percussiveness:0.5:0.6'],
323
+ format: 'json'
324
+ });
325
+
326
+ url = decodeURIComponent(url);
327
+
328
+ $.get(url, function (r) {
329
+ var firstTrack = r.tracks.track[0];
330
+ alert(firstTrack.name + ' by ' + firstTrack.artist.name);
331
+ });</ pre >
332
+
333
+ < button id ="api-example5 "> Run</ button >
334
+ < script >
335
+ ( function ( $ ) {
336
+ $ ( '#api-example5' ) . click ( function ( ) {
337
+ var url = API_ROOT + '?' + $ . param ( {
338
+ method : 'track.findByAudioFeatures' ,
339
+ api_key : API_KEY ,
340
+ filter : [ 'bpm:80:90' , 'percussiveness:0.5:0.6' ] ,
341
+ format : 'json'
342
+ } ) ;
343
+
344
+ url = decodeURIComponent ( url ) ;
345
+
346
+ $ . get ( url , function ( r ) {
347
+ var firstTrack = r . tracks . track [ 0 ] ;
348
+ alert ( firstTrack . name + ' by ' + firstTrack . artist . name ) ;
349
+ } ) ;
350
+ } ) ;
351
+ } ) ( jQuery ) ;
352
+ </ script >
353
+ </ article >
354
+
355
+ < article >
356
+ < h3 > Not-yet documented API endpoints</ h3 >
357
+
358
+ < ul >
359
+ < li > < a href ="api-documentation/track.getAudioFeatures.html "> track.getAudioFeatures.html</ a > : Get Key, BPM, loudness, etc. for a given track</ li >
360
+ < li > < a href ="api-documentation/track.findByAudioFeatures.html ">
361
+ track.findByAudioFeatures.html
362
+ </ a > : Find tracks by BPM, loudness, key, etc...</ li >
363
+
364
+ < li > < a href ="api-documentation/track.getPlaylinks.html "> track.getPlaylinks.html</ a > </ li >
365
+ < li > < a href ="api-documentation/album.getPlaylinks.html "> album.getPlaylinks.html</ a > </ li >
366
+ < li > < a href ="api-documentation/artist.getPlaylinks.html "> artist.getPlaylinks.html</ a > </ li >
367
+ < li > < a href ="api-documentation/radio.getSimilarTracks.html "> radio.getSimilarTracks.html</ a > </ li >
368
+ </ ul >
369
+ </ article >
370
+
261
371
< article >
262
372
< h3 > Realtime API</ h3 >
263
373
0 commit comments