Non-Production Machines

    echonester

    0.1.6 • Public • Published

    Echonester

    Simple Echonest search library that provides song search and best match retrieval from the Echonest API

    Install

    npm install echonester

    Usage:

    In your code, require the echonester module as follows.

    var echonester = require('echonester');
     
    var client = echonester();
     
    client.search('foo fighters', 'breakout', function (err, result) {
      // work with results here...
    });

    Options:

    • apikey - Your Echonest API key
    • bucket - An array of bucket values
    • searchResultLimit - Max number of results to return from search (defaults to 10)
    • searchUrl - URL of API endpoint (defaults to https://developer.echonest.com/api/v4/song/search)
    • timeout - Timeout for request in milliseconds (defaults to 10000)
    var echonester = require('echonester');
     
    var client = echonester({
      apikey : 'YOUR KEY HERE',
      searchResultLimit : 10,
      searchUrl : 'https://developer.echonest.com/api/v4/song/search',
      timeout : 10000
    });

    Find Best Match

    Find the single best match for a search:

    client.findBestMatch(artist, title, callback)

    var client = (require('echonester')());
     
    client.findBestMatch('beck', 'loser', function (err, result) {
      if (err) {
        console.error(err);
      }
     
      console.log(result);
    });

    Which returns the following response:

    { artist_id: 'ARC2XR11187FB5CC95',
      id: 'SOGKSOJ14373B756E5',
      artist_name: 'Beck',
      title: 'Loser' }

    Search

    Find all matches for a search:

    client.search(options, artist, title, callback)

    Please note, the options parameter is optional and can be omitted

    var
      client = (require('echonester')()),
      options = {
        limit : 10,
        start : 0
      };
     
    client.search(options, 'beck', 'loser', function (err, result) {
      if (err) {
        console.error(err);
      }
     
      console.log(result);
    });

    Which returns the following response:

    [ { artist_id: 'ARC2XR11187FB5CC95',
        id: 'SOGKSOJ14373B756E5',
        artist_name: 'Beck',
        title: 'Loser' },
      { artist_id: 'ARC2XR11187FB5CC95',
        id: 'SOFWZUR12AF729EC33',
        artist_name: 'Beck',
        title: 'Loser' },
      { artist_id: 'ARC2XR11187FB5CC95',
        id: 'SOQXVQS12B0B8076CA',
        artist_name: 'Beck',
        title: '06 - Loser' },
      { artist_id: 'ARC2XR11187FB5CC95',
        id: 'SOLHXQF137395C36F0',
        artist_name: 'Beck',
        title: 'LOSER (Outro Fade)/(CONTENT!)' },
      { artist_id: 'ARC2XR11187FB5CC95',
        id: 'SOWZWBR13D52FA4048',
        artist_name: 'Beck',
        title: 'Loser [Fatboy Slim Remix]' } ]

    Install

    npm i echonester

    DownloadsWeekly Downloads

    6

    Version

    0.1.6

    License

    MIT

    Last publish

    Collaborators

    • brozeph