Skip to content

Instantly share code, notes, and snippets.

@youpy
Created July 8, 2010 11:04
Show Gist options
  • Select an option

  • Save youpy/467883 to your computer and use it in GitHub Desktop.

Select an option

Save youpy/467883 to your computer and use it in GitHub Desktop.

Revisions

  1. youpy revised this gist Jul 8, 2010. 1 changed file with 3 additions and 2 deletions.
    5 changes: 3 additions & 2 deletions gistfile1.rb
    Original file line number Diff line number Diff line change
    @@ -40,7 +40,8 @@ def analysis_url(filename)
    echonest = Echonest('XXXXXX')

    # traditional
    beats = echonest.get_beats
    beats = echonest.get_beats(filename)

    # new
    beats = echonest.analysis.beats
    analysis = echonest.analysis(filename)
    beats = analysis.beats
  2. youpy revised this gist Jul 8, 2010. 1 changed file with 3 additions and 2 deletions.
    5 changes: 3 additions & 2 deletions gistfile1.rb
    Original file line number Diff line number Diff line change
    @@ -18,7 +18,6 @@ def analysis_url(filename)
    case response.track.status
    when 'unknown'
    upload(filename)
    sleep 60
    when 'pending'
    sleep 60
    when 'complete'
    @@ -27,8 +26,10 @@ def analysis_url(filename)
    when 'error'
    raise Error.new(response.track.status)
    when 'unavailable'
    raise Error.new(response.track.status)
    analyze(filename)
    end

    sleep 5
    end

    analysis_url
  3. youpy revised this gist Jul 8, 2010. 1 changed file with 3 additions and 0 deletions.
    3 changes: 3 additions & 0 deletions gistfile1.rb
    Original file line number Diff line number Diff line change
    @@ -18,6 +18,7 @@ def analysis_url(filename)
    case response.track.status
    when 'unknown'
    upload(filename)
    sleep 60
    when 'pending'
    sleep 60
    when 'complete'
    @@ -29,6 +30,8 @@ def analysis_url(filename)
    raise Error.new(response.track.status)
    end
    end

    analysis_url
    end
    end

  4. youpy revised this gist Jul 8, 2010. 1 changed file with 2 additions and 2 deletions.
    4 changes: 2 additions & 2 deletions gistfile1.rb
    Original file line number Diff line number Diff line change
    @@ -4,8 +4,8 @@ def get_beats(filename)
    end

    def analysis(filename)
    analysis_url = echonest.analysis_url(filename)
    Echonest::Analysis.new_from_url(analysis_url)
    analysis_url = analysis_url(filename)
    Analysis.new_from_url(analysis_url)
    end

    def analysis_url(filename)
  5. youpy created this gist Jul 8, 2010.
    42 changes: 42 additions & 0 deletions gistfile1.rb
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,42 @@
    class Echonest::Api
    def get_beats(filename)
    analysis(filename).beats
    end

    def analysis(filename)
    analysis_url = echonest.analysis_url(filename)
    Echonest::Analysis.new_from_url(analysis_url)
    end

    def analysis_url(filename)
    loop = true
    analysis_url = nil

    while loop
    response = profile(filename)

    case response.track.status
    when 'unknown'
    upload(filename)
    when 'pending'
    sleep 60
    when 'complete'
    loop = false
    analysis_url = response.track.audio_summary.analysis_url
    when 'error'
    raise Error.new(response.track.status)
    when 'unavailable'
    raise Error.new(response.track.status)
    end
    end
    end
    end

    filename = 'xxx.mp3'
    echonest = Echonest('XXXXXX')

    # traditional
    beats = echonest.get_beats

    # new
    beats = echonest.analysis.beats