ruby-echonest 0.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/ChangeLog +4 -0
- data/README.rdoc +41 -0
- data/Rakefile +108 -0
- data/lib/echonest/api.rb +203 -0
- data/lib/echonest/element/bar.rb +5 -0
- data/lib/echonest/element/beat.rb +5 -0
- data/lib/echonest/element/loudness.rb +8 -0
- data/lib/echonest/element/section.rb +8 -0
- data/lib/echonest/element/segment.rb +12 -0
- data/lib/echonest/element/tatum.rb +5 -0
- data/lib/echonest/element/value_with_confidence.rb +10 -0
- data/lib/echonest/response.rb +54 -0
- data/lib/echonest/version.rb +3 -0
- data/lib/echonest.rb +15 -0
- data/spec/api_spec.rb +219 -0
- data/spec/echonest_spec.rb +12 -0
- data/spec/fixtures/get_bars.xml +2 -0
- data/spec/fixtures/get_beats.xml +2 -0
- data/spec/fixtures/get_duration.xml +2 -0
- data/spec/fixtures/get_end_of_fade_in.xml +2 -0
- data/spec/fixtures/get_key.xml +2 -0
- data/spec/fixtures/get_loudness.xml +2 -0
- data/spec/fixtures/get_metadata.xml +2 -0
- data/spec/fixtures/get_mode.xml +2 -0
- data/spec/fixtures/get_sections.xml +2 -0
- data/spec/fixtures/get_segments.xml +2 -0
- data/spec/fixtures/get_start_of_fade_out.xml +2 -0
- data/spec/fixtures/get_tatums.xml +2 -0
- data/spec/fixtures/get_tempo.xml +2 -0
- data/spec/fixtures/get_time_signature.xml +2 -0
- data/spec/fixtures/sample.mp3 +0 -0
- data/spec/response_spec.rb +60 -0
- data/spec/spec.opts +2 -0
- data/spec/spec_helper.rb +11 -0
- metadata +119 -0
data/ChangeLog
ADDED
data/README.rdoc
ADDED
@@ -0,0 +1,41 @@
|
|
1
|
+
= echonest
|
2
|
+
|
3
|
+
A Ruby interface for Echo Nest Developer API
|
4
|
+
|
5
|
+
== Description
|
6
|
+
|
7
|
+
== Installation
|
8
|
+
|
9
|
+
=== Archive Installation
|
10
|
+
|
11
|
+
rake install
|
12
|
+
|
13
|
+
=== Gem Installation
|
14
|
+
|
15
|
+
gem update --system
|
16
|
+
gem install gemcutter
|
17
|
+
gem tumble
|
18
|
+
gem install ruby-echonest
|
19
|
+
|
20
|
+
== Features/Problems
|
21
|
+
|
22
|
+
Only supports the API for Track http://developer.echonest.com/pages/overview
|
23
|
+
|
24
|
+
== Synopsis
|
25
|
+
|
26
|
+
require 'rubygems'
|
27
|
+
require 'echonest'
|
28
|
+
|
29
|
+
filename = 'foo.mp3'
|
30
|
+
echonest = Echonest('YOUR_API_KEY')
|
31
|
+
echonest.get_beats(filename)
|
32
|
+
|
33
|
+
== Thanks
|
34
|
+
|
35
|
+
{koyachi}[http://github.com/koyachi] for original idea http://gist.github.com/87086
|
36
|
+
|
37
|
+
== Copyright
|
38
|
+
|
39
|
+
Author:: youpy <youpy@buycheapviagraonlinenow.com>
|
40
|
+
Copyright:: Copyright (c) 2009 youpy
|
41
|
+
License:: MIT
|
data/Rakefile
ADDED
@@ -0,0 +1,108 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'rake'
|
3
|
+
require 'rake/clean'
|
4
|
+
require 'rake/testtask'
|
5
|
+
require 'rake/packagetask'
|
6
|
+
require 'rake/gempackagetask'
|
7
|
+
require 'rake/rdoctask'
|
8
|
+
require 'rake/contrib/sshpublisher'
|
9
|
+
require 'spec/rake/spectask'
|
10
|
+
require 'fileutils'
|
11
|
+
include FileUtils
|
12
|
+
|
13
|
+
$LOAD_PATH.unshift "lib"
|
14
|
+
require "echonest"
|
15
|
+
|
16
|
+
NAME = "ruby-echonest"
|
17
|
+
AUTHOR = "youpy"
|
18
|
+
EMAIL = "youpy@buycheapviagraonlinenow.com"
|
19
|
+
DESCRIPTION = "An Ruby interface for Echo Nest Developer API"
|
20
|
+
RUBYFORGE_PROJECT = "ruby-echonest"
|
21
|
+
HOMEPATH = "http://github.com/youpy/ruby-echonest"
|
22
|
+
BIN_FILES = %w( )
|
23
|
+
VERS = Echonest::VERSION
|
24
|
+
|
25
|
+
REV = File.read(".svn/entries")[/committed-rev="(d+)"/, 1] rescue nil
|
26
|
+
CLEAN.include ['**/.*.sw?', '*.gem', '.config']
|
27
|
+
RDOC_OPTS = [
|
28
|
+
'--title', "#{NAME} documentation",
|
29
|
+
"--charset", "utf-8",
|
30
|
+
"--opname", "index.html",
|
31
|
+
"--line-numbers",
|
32
|
+
"--main", "README.rdoc",
|
33
|
+
"--inline-source",
|
34
|
+
]
|
35
|
+
|
36
|
+
task :default => [:spec]
|
37
|
+
task :package => [:clean]
|
38
|
+
|
39
|
+
Spec::Rake::SpecTask.new do |t|
|
40
|
+
t.spec_opts = ['--options', "spec/spec.opts"]
|
41
|
+
t.spec_files = FileList['spec/*_spec.rb']
|
42
|
+
t.rcov = true
|
43
|
+
end
|
44
|
+
|
45
|
+
spec = Gem::Specification.new do |s|
|
46
|
+
s.name = NAME
|
47
|
+
s.version = VERS
|
48
|
+
s.platform = Gem::Platform::RUBY
|
49
|
+
s.has_rdoc = true
|
50
|
+
s.extra_rdoc_files = ["README.rdoc", "ChangeLog"]
|
51
|
+
s.rdoc_options += RDOC_OPTS + ['--exclude', '^(examples|extras)/']
|
52
|
+
s.summary = DESCRIPTION
|
53
|
+
s.description = DESCRIPTION
|
54
|
+
s.author = AUTHOR
|
55
|
+
s.email = EMAIL
|
56
|
+
s.homepage = HOMEPATH
|
57
|
+
s.executables = BIN_FILES
|
58
|
+
s.rubyforge_project = RUBYFORGE_PROJECT
|
59
|
+
s.bindir = "bin"
|
60
|
+
s.require_path = "lib"
|
61
|
+
s.test_files = Dir["test/test_*.rb"]
|
62
|
+
|
63
|
+
s.add_dependency('libxml-ruby')
|
64
|
+
s.add_dependency('httpclient')
|
65
|
+
#s.required_ruby_version = '>= 1.8.2'
|
66
|
+
|
67
|
+
s.files = %w(README.rdoc ChangeLog Rakefile) +
|
68
|
+
Dir.glob("{bin,doc,spec,test,lib,templates,generator,extras,website,script}/**/*") +
|
69
|
+
Dir.glob("ext/**/*.{h,c,rb}") +
|
70
|
+
Dir.glob("examples/**/*.rb") +
|
71
|
+
Dir.glob("tools/*.rb")
|
72
|
+
|
73
|
+
s.extensions = FileList["ext/**/extconf.rb"].to_a
|
74
|
+
end
|
75
|
+
|
76
|
+
Rake::GemPackageTask.new(spec) do |p|
|
77
|
+
p.need_tar = true
|
78
|
+
p.gem_spec = spec
|
79
|
+
end
|
80
|
+
|
81
|
+
task :install do
|
82
|
+
name = "#{NAME}-#{VERS}.gem"
|
83
|
+
sh %{rake package}
|
84
|
+
sh %{sudo gem install pkg/#{name}}
|
85
|
+
end
|
86
|
+
|
87
|
+
task :uninstall => [:clean] do
|
88
|
+
sh %{sudo gem uninstall #{NAME}}
|
89
|
+
end
|
90
|
+
|
91
|
+
Rake::RDocTask.new do |rdoc|
|
92
|
+
rdoc.rdoc_dir = 'html'
|
93
|
+
rdoc.options += RDOC_OPTS
|
94
|
+
rdoc.template = "resh"
|
95
|
+
#rdoc.template = "#{ENV['template']}.rb" if ENV['template']
|
96
|
+
if ENV['DOC_FILES']
|
97
|
+
rdoc.rdoc_files.include(ENV['DOC_FILES'].split(/,\s*/))
|
98
|
+
else
|
99
|
+
rdoc.rdoc_files.include('README', 'ChangeLog')
|
100
|
+
rdoc.rdoc_files.include('lib/**/*.rb')
|
101
|
+
rdoc.rdoc_files.include('ext/**/*.c')
|
102
|
+
end
|
103
|
+
end
|
104
|
+
|
105
|
+
desc "Show information about the gem"
|
106
|
+
task :debug_gem do
|
107
|
+
puts spec.to_ruby
|
108
|
+
end
|
data/lib/echonest/api.rb
ADDED
@@ -0,0 +1,203 @@
|
|
1
|
+
require 'digest/md5'
|
2
|
+
require 'httpclient'
|
3
|
+
|
4
|
+
module Echonest
|
5
|
+
class Api
|
6
|
+
VERSION = '3'
|
7
|
+
BASE_URL = 'http://developer.echonest.com/api/'
|
8
|
+
USER_AGENT = '%s/%s' % ['ruby-echonest', ::Echonest::VERSION]
|
9
|
+
|
10
|
+
class Error < StandardError; end
|
11
|
+
|
12
|
+
attr_reader :user_agent
|
13
|
+
|
14
|
+
def initialize(api_key)
|
15
|
+
@api_key = api_key
|
16
|
+
@user_agent = HTTPClient.new(:agent_name => USER_AGENT)
|
17
|
+
end
|
18
|
+
|
19
|
+
def get_bars(filename)
|
20
|
+
get_analysys(:get_bars, filename) do |analysis|
|
21
|
+
analysis.map do |bar|
|
22
|
+
Bar.new(bar.content.to_f, bar['confidence'].to_f)
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
def get_beats(filename)
|
28
|
+
get_analysys(:get_beats, filename) do |analysis|
|
29
|
+
analysis.map do |beat|
|
30
|
+
Beat.new(beat.content.to_f, beat['confidence'].to_f)
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
def get_segments(filename)
|
36
|
+
get_analysys(:get_segments, filename) do |analysis|
|
37
|
+
analysis.map do |segment|
|
38
|
+
max_loudness = loudness = nil
|
39
|
+
|
40
|
+
segment.find('loudness/dB').map do |db|
|
41
|
+
if db['type'] == 'max'
|
42
|
+
max_loudness = Loudness.new(db['time'].to_f, db.content.to_f)
|
43
|
+
else
|
44
|
+
loudness = Loudness.new(db['time'].to_f, db.content.to_f)
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
pitches = segment.find('pitches/pitch').map do |pitch|
|
49
|
+
pitch.content.to_f
|
50
|
+
end
|
51
|
+
|
52
|
+
timbre = segment.find('timbre/coeff').map do |coeff|
|
53
|
+
coeff.content.to_f
|
54
|
+
end
|
55
|
+
|
56
|
+
Segment.new(
|
57
|
+
segment['start'].to_f,
|
58
|
+
segment['duration'].to_f,
|
59
|
+
loudness,
|
60
|
+
max_loudness,
|
61
|
+
pitches,
|
62
|
+
timbre
|
63
|
+
)
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
68
|
+
def get_tempo(filename)
|
69
|
+
get_analysys(:get_tempo, filename) do |analysis|
|
70
|
+
analysis.first.content.to_f
|
71
|
+
end
|
72
|
+
end
|
73
|
+
|
74
|
+
def get_sections(filename)
|
75
|
+
get_analysys(:get_sections, filename) do |analysis|
|
76
|
+
analysis.map do |section|
|
77
|
+
Section.new(
|
78
|
+
section['start'].to_f,
|
79
|
+
section['duration'].to_f
|
80
|
+
)
|
81
|
+
end
|
82
|
+
end
|
83
|
+
end
|
84
|
+
|
85
|
+
def get_duration(filename)
|
86
|
+
get_analysys(:get_duration, filename) do |analysis|
|
87
|
+
analysis.first.content.to_f
|
88
|
+
end
|
89
|
+
end
|
90
|
+
|
91
|
+
def get_end_of_fade_in(filename)
|
92
|
+
get_analysys(:get_end_of_fade_in, filename) do |analysis|
|
93
|
+
analysis.first.content.to_f
|
94
|
+
end
|
95
|
+
end
|
96
|
+
|
97
|
+
def get_key(filename)
|
98
|
+
get_analysys(:get_key, filename) do |analysis|
|
99
|
+
ValueWithConfidence.new(analysis.first.content.to_i, analysis.first['confidence'].to_f)
|
100
|
+
end
|
101
|
+
end
|
102
|
+
|
103
|
+
def get_loudness(filename)
|
104
|
+
get_analysys(:get_loudness, filename) do |analysis|
|
105
|
+
analysis.first.content.to_f
|
106
|
+
end
|
107
|
+
end
|
108
|
+
|
109
|
+
def get_metadata(filename)
|
110
|
+
get_analysys(:get_metadata, filename) do |analysis|
|
111
|
+
analysis.inject({}) do |memo, key|
|
112
|
+
memo[key.name] = key.content
|
113
|
+
memo
|
114
|
+
end
|
115
|
+
end
|
116
|
+
end
|
117
|
+
|
118
|
+
def get_mode(filename)
|
119
|
+
get_analysys(:get_mode, filename) do |analysis|
|
120
|
+
ValueWithConfidence.new(analysis.first.content.to_i, analysis.first['confidence'].to_f)
|
121
|
+
end
|
122
|
+
end
|
123
|
+
|
124
|
+
def get_start_of_fade_out(filename)
|
125
|
+
get_analysys(:get_start_of_fade_out, filename) do |analysis|
|
126
|
+
analysis.first.content.to_f
|
127
|
+
end
|
128
|
+
end
|
129
|
+
|
130
|
+
def get_tatums(filename)
|
131
|
+
get_analysys(:get_tatums, filename) do |analysis|
|
132
|
+
analysis.map do |tatum|
|
133
|
+
Tatum.new(tatum.content.to_f, tatum['confidence'].to_f)
|
134
|
+
end
|
135
|
+
end
|
136
|
+
end
|
137
|
+
|
138
|
+
def get_time_signature(filename)
|
139
|
+
get_analysys(:get_time_signature, filename) do |analysis|
|
140
|
+
ValueWithConfidence.new(analysis.first.content.to_i, analysis.first['confidence'].to_f)
|
141
|
+
end
|
142
|
+
end
|
143
|
+
|
144
|
+
def build_params(params)
|
145
|
+
params = params.
|
146
|
+
merge(:version => VERSION).
|
147
|
+
merge(:api_key => @api_key)
|
148
|
+
end
|
149
|
+
|
150
|
+
def get_analysys(method, filename)
|
151
|
+
get_trackinfo(method, filename) do |response|
|
152
|
+
yield response.xml.find_first('/response/analysis')
|
153
|
+
end
|
154
|
+
end
|
155
|
+
|
156
|
+
def get_trackinfo(method, filename, &block)
|
157
|
+
content = open(filename).read
|
158
|
+
md5 = Digest::MD5.hexdigest(content)
|
159
|
+
|
160
|
+
begin
|
161
|
+
response = request(method, :md5 => md5)
|
162
|
+
|
163
|
+
block.call(response)
|
164
|
+
rescue Echonest::Api::Error => e
|
165
|
+
case e.message
|
166
|
+
when /Analysis not ready/
|
167
|
+
sleep 20 # wait for serverside analysis
|
168
|
+
get_trackinfo(method, filename, &block)
|
169
|
+
when 'Invalid parameter: unknown MD5 file hash'
|
170
|
+
upload(filename)
|
171
|
+
sleep 60 # wait for serverside analysis
|
172
|
+
get_trackinfo(method, filename, &block)
|
173
|
+
else
|
174
|
+
raise
|
175
|
+
end
|
176
|
+
end
|
177
|
+
end
|
178
|
+
|
179
|
+
def upload(filename)
|
180
|
+
open(filename) do |f|
|
181
|
+
request(:upload, :file => f)
|
182
|
+
end
|
183
|
+
end
|
184
|
+
|
185
|
+
def request(name, params)
|
186
|
+
method = (name == :upload ? 'post' : 'get')
|
187
|
+
response_body = @user_agent.__send__(method + '_content', URI.join(BASE_URL, name.to_s), build_params(params))
|
188
|
+
response = Response.new(response_body)
|
189
|
+
|
190
|
+
unless response.success?
|
191
|
+
raise Error.new(response.status.message)
|
192
|
+
end
|
193
|
+
|
194
|
+
response
|
195
|
+
end
|
196
|
+
end
|
197
|
+
end
|
198
|
+
|
199
|
+
class HTTPClient
|
200
|
+
def agent_name
|
201
|
+
@session_manager.agent_name
|
202
|
+
end
|
203
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
class Segment < Section
|
2
|
+
attr_reader :loudness, :max_loudness, :pitches, :timbre
|
3
|
+
|
4
|
+
def initialize(start, duration, loudness, max_loudness, pitches, timbre)
|
5
|
+
super(start, duration)
|
6
|
+
|
7
|
+
@loudness = loudness
|
8
|
+
@max_loudness = max_loudness
|
9
|
+
@pitches = pitches
|
10
|
+
@timbre = timbre
|
11
|
+
end
|
12
|
+
end
|
@@ -0,0 +1,54 @@
|
|
1
|
+
require "xml"
|
2
|
+
|
3
|
+
module Echonest
|
4
|
+
class Response
|
5
|
+
attr_reader :xml
|
6
|
+
|
7
|
+
def initialize(body)
|
8
|
+
@xml = XML::Document.string(body)
|
9
|
+
end
|
10
|
+
|
11
|
+
def status
|
12
|
+
@status ||= Status.new(@xml)
|
13
|
+
end
|
14
|
+
|
15
|
+
def success?
|
16
|
+
status.code == Status::SUCCESS
|
17
|
+
end
|
18
|
+
|
19
|
+
def query
|
20
|
+
@query ||= Query.new(@xml)
|
21
|
+
end
|
22
|
+
|
23
|
+
class Status
|
24
|
+
UNKNOWN_ERROR = -1
|
25
|
+
SUCCESS = 0
|
26
|
+
INVALID_API_KEY = 1
|
27
|
+
PERMISSION_DENIED = 2
|
28
|
+
RATE_LIMIT_EXCEEDED = 3
|
29
|
+
MISSING_PARAMETER = 4
|
30
|
+
INVALID_PARAMETER = 5
|
31
|
+
|
32
|
+
attr_reader :code, :message
|
33
|
+
|
34
|
+
def initialize(xml)
|
35
|
+
@code = xml.find('/response/status/code').first.content.to_s.to_i
|
36
|
+
@message = xml.find('/response/status/message').first.content.to_s
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
class Query
|
41
|
+
def initialize(xml)
|
42
|
+
@parameters = {}
|
43
|
+
|
44
|
+
xml.find('/response/query/parameter').each do |parameter|
|
45
|
+
@parameters[parameter['name'].to_sym] = parameter.content
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
def [](parameter_name)
|
50
|
+
@parameters[parameter_name]
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
data/lib/echonest.rb
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
require 'echonest/version'
|
2
|
+
require 'echonest/api'
|
3
|
+
require 'echonest/response'
|
4
|
+
require 'echonest/element/value_with_confidence'
|
5
|
+
require 'echonest/element/bar'
|
6
|
+
require 'echonest/element/beat'
|
7
|
+
require 'echonest/element/section'
|
8
|
+
require 'echonest/element/segment'
|
9
|
+
require 'echonest/element/loudness'
|
10
|
+
require 'echonest/element/tatum'
|
11
|
+
|
12
|
+
def Echonest(api_key) Echonest::Api.new(api_key) end
|
13
|
+
|
14
|
+
module Echonest
|
15
|
+
end
|
data/spec/api_spec.rb
ADDED
@@ -0,0 +1,219 @@
|
|
1
|
+
$:.unshift File.dirname(__FILE__)
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
require "echonest"
|
5
|
+
|
6
|
+
include SpecHelper
|
7
|
+
|
8
|
+
describe Echonest::Api do
|
9
|
+
before do
|
10
|
+
@api = Echonest::Api.new('5ZAOMB3BUR8QUN4PE')
|
11
|
+
end
|
12
|
+
|
13
|
+
it "should have version" do
|
14
|
+
Echonest::Api::VERSION.should eql('3')
|
15
|
+
end
|
16
|
+
|
17
|
+
it "should build parameters" do
|
18
|
+
params = @api.build_params(:id => 'music://id.echonest.com/~/AR/ARH6W4X1187B99274F')
|
19
|
+
params.keys.size.should eql(3)
|
20
|
+
params[:version].should eql('3')
|
21
|
+
params[:api_key].should eql('5ZAOMB3BUR8QUN4PE')
|
22
|
+
params[:id].should eql('music://id.echonest.com/~/AR/ARH6W4X1187B99274F')
|
23
|
+
end
|
24
|
+
|
25
|
+
it "should call api method" do
|
26
|
+
make_connection_stub(<<EOM)
|
27
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
28
|
+
<response version="3">
|
29
|
+
<status>
|
30
|
+
<code>0</code>
|
31
|
+
<message>Success</message>
|
32
|
+
</status>
|
33
|
+
<query>
|
34
|
+
<parameter name="api_key">5ZAOMB3BUR8QUN4PE</parameter>
|
35
|
+
<parameter name="id">music://id.echonest.com/~/AR/ARH6W4X1187B99274F</parameter>
|
36
|
+
</query>
|
37
|
+
<artist>
|
38
|
+
<name>Radiohead</name>
|
39
|
+
<id>music://id.echonest.com/~/AR/ARH6W4X1187B99274F</id>
|
40
|
+
<foreign_id>music://id.echonest.com/5ZAOMB3BUR8QUN4PE/AR/1</foreign_id>
|
41
|
+
<familiarity>0.96974159665</familiarity>
|
42
|
+
</artist>
|
43
|
+
</response>
|
44
|
+
EOM
|
45
|
+
|
46
|
+
response = @api.request(:get_bars, :id => 'music://id.echonest.com/~/AR/ARH6W4X1187B99274F')
|
47
|
+
response.success?.should be_true
|
48
|
+
end
|
49
|
+
|
50
|
+
it "should raise error when api method call was failed" do
|
51
|
+
make_connection_stub(<<EOM)
|
52
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
53
|
+
<response version="3">
|
54
|
+
<status>
|
55
|
+
<code>1</code>
|
56
|
+
<message>Invalid API key</message>
|
57
|
+
</status>
|
58
|
+
<query>
|
59
|
+
<parameter name="api_key">XXXXXX</parameter>
|
60
|
+
<parameter name="id">music://id.echonest.com/~/AR/ARH6W4X1187B99274F</parameter>
|
61
|
+
</query>
|
62
|
+
</response>
|
63
|
+
EOM
|
64
|
+
lambda {
|
65
|
+
@api.request(:get_bars, :id => 'music://id.echonest.com/~/AR/ARH6W4X1187B99274F')
|
66
|
+
}.should raise_error(Echonest::Api::Error, 'Invalid API key')
|
67
|
+
end
|
68
|
+
|
69
|
+
it "should raise error when unknown api method was called" do
|
70
|
+
lambda {
|
71
|
+
@api.get_xxx(:id => 'music://id.echonest.com/~/AR/ARH6W4X1187B99274F')
|
72
|
+
}.should raise_error(NoMethodError)
|
73
|
+
end
|
74
|
+
|
75
|
+
it "should get bars" do
|
76
|
+
make_connection_stub(open(fixture('get_bars.xml')).read)
|
77
|
+
|
78
|
+
bars = @api.get_bars(fixture('sample.mp3'))
|
79
|
+
|
80
|
+
bars.should be_an_instance_of(Array)
|
81
|
+
bars.size.should eql(80)
|
82
|
+
bars.first.start.should eql(0.45717)
|
83
|
+
bars.first.confidence.should eql(0.537)
|
84
|
+
end
|
85
|
+
|
86
|
+
it "should get beats" do
|
87
|
+
make_connection_stub(open(fixture('get_beats.xml')).read)
|
88
|
+
|
89
|
+
beats = @api.get_beats(fixture('sample.mp3'))
|
90
|
+
|
91
|
+
beats.should be_an_instance_of(Array)
|
92
|
+
beats.size.should eql(375)
|
93
|
+
beats.first.start.should eql(0.45717)
|
94
|
+
beats.first.confidence.should eql(0.823)
|
95
|
+
end
|
96
|
+
|
97
|
+
it "should get tempo" do
|
98
|
+
make_connection_stub(open(fixture('get_tempo.xml')).read)
|
99
|
+
|
100
|
+
tempo = @api.get_tempo(fixture('sample.mp3'))
|
101
|
+
|
102
|
+
tempo.should eql(120.163)
|
103
|
+
end
|
104
|
+
|
105
|
+
it "should get segments" do
|
106
|
+
make_connection_stub(open(fixture('get_segments.xml')).read)
|
107
|
+
|
108
|
+
segments = @api.get_segments(fixture('sample.mp3'))
|
109
|
+
|
110
|
+
segments.size.should eql(4)
|
111
|
+
|
112
|
+
segment = segments.first
|
113
|
+
|
114
|
+
segment.start.should eql(0.0)
|
115
|
+
segment.duration.should eql(0.421)
|
116
|
+
segment.loudness.time.should eql(0.0)
|
117
|
+
segment.loudness.value.should eql(-60.0)
|
118
|
+
segment.max_loudness.time.should eql(0.0)
|
119
|
+
segment.max_loudness.value.should eql(-60.0)
|
120
|
+
segment.pitches.size.should eql(12)
|
121
|
+
segment.pitches.first.should eql(0.542)
|
122
|
+
segment.timbre.size.should eql(12)
|
123
|
+
segment.timbre.first.should eql(0.0)
|
124
|
+
end
|
125
|
+
|
126
|
+
it "should get sections" do
|
127
|
+
make_connection_stub(open(fixture('get_sections.xml')).read)
|
128
|
+
|
129
|
+
sections = @api.get_sections(fixture('sample.mp3'))
|
130
|
+
|
131
|
+
sections.size.should eql(16)
|
132
|
+
|
133
|
+
section = sections.first
|
134
|
+
|
135
|
+
section.start.should eql(0.0)
|
136
|
+
section.duration.should eql(7.82647)
|
137
|
+
end
|
138
|
+
|
139
|
+
it "should get durtion" do
|
140
|
+
make_connection_stub(open(fixture('get_duration.xml')).read)
|
141
|
+
|
142
|
+
@api.get_duration(fixture('sample.mp3')).should eql(194.3493)
|
143
|
+
end
|
144
|
+
|
145
|
+
it "should get end of fade in" do
|
146
|
+
make_connection_stub(open(fixture('get_end_of_fade_in.xml')).read)
|
147
|
+
|
148
|
+
@api.get_end_of_fade_in(fixture('sample.mp3')).should eql(0.421)
|
149
|
+
end
|
150
|
+
|
151
|
+
it "should get key" do
|
152
|
+
make_connection_stub(open(fixture('get_key.xml')).read)
|
153
|
+
|
154
|
+
key = @api.get_key(fixture('sample.mp3'))
|
155
|
+
|
156
|
+
key.confidence.should eql(1.0)
|
157
|
+
key.value.should eql(5)
|
158
|
+
end
|
159
|
+
|
160
|
+
it "should get loudness" do
|
161
|
+
make_connection_stub(open(fixture('get_loudness.xml')).read)
|
162
|
+
|
163
|
+
loudness = @api.get_loudness(fixture('sample.mp3'))
|
164
|
+
|
165
|
+
loudness.should eql(-8.426)
|
166
|
+
end
|
167
|
+
|
168
|
+
it "should get metadata" do
|
169
|
+
make_connection_stub(open(fixture('get_metadata.xml')).read)
|
170
|
+
|
171
|
+
metadata = @api.get_metadata(fixture('sample.mp3'))
|
172
|
+
|
173
|
+
metadata['genre'].should eql('Boogaloo')
|
174
|
+
metadata['duration'].should eql('194.3493')
|
175
|
+
end
|
176
|
+
|
177
|
+
it "should get mode" do
|
178
|
+
make_connection_stub(open(fixture('get_mode.xml')).read)
|
179
|
+
|
180
|
+
mode = @api.get_mode(fixture('sample.mp3'))
|
181
|
+
|
182
|
+
mode.confidence.should eql(1.0)
|
183
|
+
mode.value.should eql(1)
|
184
|
+
end
|
185
|
+
|
186
|
+
it "should get start of fade out" do
|
187
|
+
make_connection_stub(open(fixture('get_start_of_fade_out.xml')).read)
|
188
|
+
|
189
|
+
@api.get_start_of_fade_out(fixture('sample.mp3')).should eql(182.44499)
|
190
|
+
end
|
191
|
+
|
192
|
+
it "should get tatums" do
|
193
|
+
make_connection_stub(open(fixture('get_tatums.xml')).read)
|
194
|
+
|
195
|
+
tatums = @api.get_tatums(fixture('sample.mp3'))
|
196
|
+
|
197
|
+
tatums.should be_an_instance_of(Array)
|
198
|
+
tatums.size.should eql(757)
|
199
|
+
tatums.first.start.should eql(0.45717)
|
200
|
+
tatums.first.confidence.should eql(1.0)
|
201
|
+
end
|
202
|
+
|
203
|
+
it "should get time_signature" do
|
204
|
+
make_connection_stub(open(fixture('get_time_signature.xml')).read)
|
205
|
+
|
206
|
+
time_signature = @api.get_time_signature(fixture('sample.mp3'))
|
207
|
+
|
208
|
+
time_signature.confidence.should eql(0.064)
|
209
|
+
time_signature.value.should eql(4)
|
210
|
+
end
|
211
|
+
|
212
|
+
it "should make http request with agent name" do
|
213
|
+
@api.user_agent.agent_name.should eql('ruby-echonest/' + Echonest::VERSION)
|
214
|
+
end
|
215
|
+
|
216
|
+
def make_connection_stub(xml)
|
217
|
+
@api.user_agent.stub!(:get_content).and_return(xml)
|
218
|
+
end
|
219
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
$:.unshift File.dirname(__FILE__)
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
require "echonest"
|
5
|
+
|
6
|
+
include SpecHelper
|
7
|
+
|
8
|
+
describe Echonest do
|
9
|
+
it "should return an instance of Echonest::Api" do
|
10
|
+
Echonest('XXXXXXXX').should be_an_instance_of(Echonest::Api)
|
11
|
+
end
|
12
|
+
end
|
@@ -0,0 +1,2 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<response version="3"><status><code>0</code><message>Success</message></status><query><parameter name="api_key">5ZAOMB3BUR8QUN4PE</parameter><parameter name="id">music://id.echonest.com/~/TR/TRLFPPE11C3F10749F</parameter></query><analysis><bar confidence="0.537">0.45717</bar><bar confidence="0.201">2.53058</bar><bar confidence="0.514">4.55475</bar><bar confidence="0.819">6.57259</bar><bar confidence="0.923">8.57879</bar><bar confidence="0.574">10.59756</bar><bar confidence="0.756">12.6043</bar><bar confidence="0.203">14.60555</bar><bar confidence="0.754">16.59055</bar><bar confidence="1.0">18.57677</bar><bar confidence="1.0">20.55684</bar><bar confidence="0.3">22.54074</bar><bar confidence="0.584">24.51661</bar><bar confidence="1.0">26.50641</bar><bar confidence="1.0">28.49072</bar><bar confidence="0.982">30.48332</bar><bar confidence="1.0">32.47166</bar><bar confidence="0.777">38.65162</bar><bar confidence="0.831">40.6402</bar><bar confidence="0.66">42.63228</bar><bar confidence="0.509">44.63888</bar><bar confidence="0.309">46.62947</bar><bar confidence="0.868">48.60873</bar><bar confidence="0.884">50.59985</bar><bar confidence="0.744">52.5869</bar><bar confidence="0.58">54.57072</bar><bar confidence="0.814">56.54202</bar><bar confidence="0.978">58.53608</bar><bar confidence="1.0">60.52887</bar><bar confidence="1.0">62.52642</bar><bar confidence="0.905">70.75634</bar><bar confidence="0.596">72.76161</bar><bar confidence="1.0">74.75724</bar><bar confidence="0.84">76.74967</bar><bar confidence="0.49">78.73407</bar><bar confidence="0.629">80.71777</bar><bar confidence="0.757">82.69579</bar><bar confidence="0.621">84.6767</bar><bar confidence="0.665">86.66112</bar><bar confidence="0.819">88.65031</bar><bar confidence="0.417">90.64465</bar><bar confidence="0.739">92.64206</bar><bar confidence="0.436">94.64574</bar><bar confidence="0.641">96.65579</bar><bar confidence="1.0">98.65178</bar><bar confidence="0.775">112.8689</bar><bar confidence="0.892">114.84605</bar><bar confidence="0.222">116.84035</bar><bar confidence="0.76">118.86875</bar><bar confidence="0.161">120.89512</bar><bar confidence="0.779">122.91559</bar><bar confidence="0.854">124.92457</bar><bar confidence="0.739">126.94511</bar><bar confidence="0.499">128.96584</bar><bar confidence="0.95">130.98184</bar><bar confidence="0.932">132.99673</bar><bar confidence="0.967">135.01125</bar><bar confidence="1.0">137.02043</bar><bar confidence="1.0">139.03263</bar><bar confidence="0.836">147.30194</bar><bar confidence="0.953">149.32278</bar><bar confidence="0.741">151.33967</bar><bar confidence="0.572">153.35657</bar><bar confidence="0.193">155.37261</bar><bar confidence="0.888">157.38522</bar><bar confidence="0.957">159.39417</bar><bar confidence="1.0">161.40787</bar><bar confidence="0.129">163.41594</bar><bar confidence="0.951">165.42143</bar><bar confidence="1.0">167.43692</bar><bar confidence="1.0">169.4461</bar><bar confidence="1.0">171.45653</bar><bar confidence="1.0">173.47484</bar><bar confidence="0.446">175.48194</bar><bar confidence="0.646">177.48631</bar><bar confidence="0.414">179.51877</bar><bar confidence="0.646">181.53095</bar><bar confidence="0.546">183.54715</bar><bar confidence="0.689">185.56236</bar><bar confidence="0.34">187.56796</bar></analysis></response>
|
@@ -0,0 +1,2 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<response version="3"><status><code>0</code><message>Success</message></status><query><parameter name="api_key">5ZAOMB3BUR8QUN4PE</parameter><parameter name="md5">6361bbe3186f31ccc49da04ed3ebb1b8</parameter></query><analysis><beat confidence="0.823">0.45717</beat><beat confidence="0.822">0.97966</beat><beat confidence="0.781">1.50139</beat><beat confidence="0.455">2.01873</beat><beat confidence="0.731">2.53058</beat><beat confidence="0.793">3.03556</beat><beat confidence="0.689">3.54101</beat><beat confidence="0.645">4.04815</beat><beat confidence="0.597">4.55475</beat><beat confidence="0.782">5.06246</beat><beat confidence="0.734">5.56885</beat><beat confidence="0.705">6.07103</beat><beat confidence="0.728">6.57259</beat><beat confidence="0.752">7.07414</beat><beat confidence="0.713">7.57569</beat><beat confidence="0.718">8.07724</beat><beat confidence="0.711">8.57879</beat><beat confidence="0.666">9.08123</beat><beat confidence="0.634">9.58645</beat><beat confidence="0.646">10.09240</beat><beat confidence="0.647">10.59756</beat><beat confidence="0.737">11.10182</beat><beat confidence="0.626">11.60530</beat><beat confidence="0.712">12.10736</beat><beat confidence="0.451">12.60430</beat><beat confidence="0.746">13.10368</beat><beat confidence="0.658">13.60556</beat><beat confidence="0.630">14.10701</beat><beat confidence="0.631">14.60555</beat><beat confidence="0.747">15.10196</beat><beat confidence="0.709">15.59837</beat><beat confidence="0.745">16.09477</beat><beat confidence="0.724">16.59055</beat><beat confidence="0.714">17.08571</beat><beat confidence="0.651">17.58175</beat><beat confidence="0.638">18.07965</beat><beat confidence="0.686">18.57677</beat><beat confidence="0.719">19.07389</beat><beat confidence="0.701">19.57013</beat><beat confidence="0.679">20.06390</beat><beat confidence="0.633">20.55684</beat><beat confidence="0.740">21.05142</beat><beat confidence="0.721">21.54786</beat><beat confidence="0.643">22.04451</beat><beat confidence="0.646">22.54074</beat><beat confidence="0.760">23.03496</beat><beat confidence="0.733">23.52855</beat><beat confidence="0.752">24.02214</beat><beat confidence="0.739">24.51661</beat><beat confidence="0.748">25.01382</beat><beat confidence="0.722">25.51165</beat><beat confidence="0.702">26.00947</beat><beat confidence="0.637">26.50641</beat><beat confidence="0.651">27.00149</beat><beat confidence="0.666">27.49734</beat><beat confidence="0.730">27.99346</beat><beat confidence="0.741">28.49072</beat><beat confidence="0.767">28.98886</beat><beat confidence="0.749">29.48701</beat><beat confidence="0.709">29.98516</beat><beat confidence="0.614">30.48332</beat><beat confidence="0.615">30.98256</beat><beat confidence="0.606">31.47952</beat><beat confidence="0.664">31.97559</beat><beat confidence="0.709">32.47166</beat><beat confidence="0.624">32.96773</beat><beat confidence="0.661">33.47095</beat><beat confidence="0.590">33.97816</beat><beat confidence="0.749">34.48352</beat><beat confidence="0.546">34.98610</beat><beat confidence="0.278">35.48715</beat><beat confidence="0.401">36.23752</beat><beat confidence="0.823">36.71990</beat><beat confidence="0.694">37.19297</beat><beat confidence="0.652">37.67017</beat><beat confidence="0.808">38.15541</beat><beat confidence="0.809">38.65162</beat><beat confidence="0.852">39.15213</beat><beat confidence="0.844">39.65190</beat><beat confidence="0.894">40.14690</beat><beat confidence="0.859">40.64020</beat><beat confidence="0.885">41.13628</beat><beat confidence="0.782">41.63547</beat><beat confidence="0.837">42.13388</beat><beat confidence="0.777">42.63228</beat><beat confidence="0.941">43.13307</beat><beat confidence="0.842">43.63548</beat><beat confidence="0.844">44.13762</beat><beat confidence="0.819">44.63888</beat><beat confidence="0.886">45.13676</beat><beat confidence="0.860">45.63281</beat><beat confidence="0.858">46.12990</beat><beat confidence="0.742">46.62947</beat><beat confidence="0.926">47.12910</beat><beat confidence="0.879">47.62379</beat><beat confidence="0.922">48.11662</beat><beat confidence="0.833">48.60873</beat><beat confidence="0.884">49.10371</beat><beat confidence="0.755">49.60205</beat><beat confidence="0.827">50.10147</beat><beat confidence="0.869">50.59985</beat><beat confidence="0.927">51.09574</beat><beat confidence="0.866">51.59205</beat><beat confidence="0.911">52.08960</beat><beat confidence="0.858">52.58690</beat><beat confidence="0.976">53.08405</beat><beat confidence="0.982">53.58032</beat><beat confidence="0.846">54.07635</beat><beat confidence="0.882">54.57072</beat><beat confidence="0.942">55.06324</beat><beat confidence="0.898">55.55504</beat><beat confidence="0.967">56.04822</beat><beat confidence="0.944">56.54202</beat><beat confidence="0.967">57.03970</beat><beat confidence="0.941">57.53872</beat><beat confidence="0.895">58.03785</beat><beat confidence="0.875">58.53608</beat><beat confidence="0.895">59.03429</beat><beat confidence="0.881">59.53249</beat><beat confidence="0.874">60.03069</beat><beat confidence="0.947">60.52887</beat><beat confidence="0.982">61.02703</beat><beat confidence="0.902">61.52607</beat><beat confidence="0.816">62.02714</beat><beat confidence="0.838">62.52642</beat><beat confidence="0.848">63.02409</beat><beat confidence="0.828">63.52227</beat><beat confidence="0.842">64.02358</beat><beat confidence="0.953">64.52383</beat><beat confidence="1">65.02220</beat><beat confidence="1">65.52047</beat><beat confidence="0.657">66.02096</beat><beat confidence="0.929">66.53093</beat><beat confidence="0.650">67.05185</beat><beat confidence="0">67.57536</beat><beat confidence="0.528">68.32800</beat><beat confidence="0.744">68.81112</beat><beat confidence="0.746">69.28821</beat><beat confidence="0.624">69.77068</beat><beat confidence="0.733">70.25863</beat><beat confidence="0.835">70.75634</beat><beat confidence="0.870">71.26075</beat><beat confidence="0.835">71.76452</beat><beat confidence="0.890">72.26431</beat><beat confidence="0.867">72.76161</beat><beat confidence="0.907">73.25808</beat><beat confidence="0.871">73.75719</beat><beat confidence="0.899">74.25792</beat><beat confidence="0.870">74.75724</beat><beat confidence="0.917">75.25594</beat><beat confidence="0.895">75.75464</beat><beat confidence="0.896">76.25335</beat><beat confidence="0.870">76.74967</beat><beat confidence="0.818">77.24304</beat><beat confidence="0.802">77.73832</beat><beat confidence="0.920">78.23597</beat><beat confidence="0.767">78.73407</beat><beat confidence="0.874">79.23176</beat><beat confidence="0.791">79.72734</beat><beat confidence="0.933">80.22343</beat><beat confidence="0.771">80.71777</beat><beat confidence="0.903">81.21262</beat><beat confidence="0.861">81.70772</beat><beat confidence="0.927">82.20256</beat><beat confidence="0.877">82.69579</beat><beat confidence="0.930">83.18892</beat><beat confidence="0.861">83.68479</beat><beat confidence="0.945">84.18075</beat><beat confidence="0.876">84.67670</beat><beat confidence="0.877">85.17264</beat><beat confidence="0.822">85.66857</beat><beat confidence="0.865">86.16511</beat><beat confidence="0.824">86.66112</beat><beat confidence="0.863">87.15615</beat><beat confidence="0.797">87.65328</beat><beat confidence="0.905">88.15175</beat><beat confidence="0.873">88.65031</beat><beat confidence="0.863">89.14889</beat><beat confidence="0.843">89.64747</beat><beat confidence="0.891">90.14606</beat><beat confidence="0.780">90.64465</beat><beat confidence="0.897">91.14326</beat><beat confidence="0.777">91.64150</beat><beat confidence="0.916">92.14115</beat><beat confidence="0.827">92.64206</beat><beat confidence="0.879">93.14297</beat><beat confidence="0.770">93.64389</beat><beat confidence="0.893">94.14481</beat><beat confidence="0.811">94.64574</beat><beat confidence="0.898">95.14667</beat><beat confidence="0.802">95.64760</beat><beat confidence="0.924">96.15141</beat><beat confidence="0.782">96.65579</beat><beat confidence="0.873">97.15598</beat><beat confidence="0.711">97.65383</beat><beat confidence="0.788">98.15260</beat><beat confidence="0.778">98.65178</beat><beat confidence="0.870">99.15361</beat><beat confidence="0.726">99.65707</beat><beat confidence="0.883">100.15949</beat><beat confidence="0.898">100.66164</beat><beat confidence="0.857">101.16376</beat><beat confidence="0.750">101.66818</beat><beat confidence="0.863">102.17512</beat><beat confidence="0.749">102.68814</beat><beat confidence="0.749">103.20682</beat><beat confidence="0.742">103.74641</beat><beat confidence="0.380">104.30121</beat><beat confidence="0.633">104.86049</beat><beat confidence="0.633">105.42074</beat><beat confidence="0.731">105.96022</beat><beat confidence="0.458">106.48434</beat><beat confidence="0.209">107.00433</beat><beat confidence="0.269">107.53317</beat><beat confidence="0.059">108.07019</beat><beat confidence="0.399">108.60890</beat><beat confidence="0.943">109.91041</beat><beat confidence="0.830">110.40041</beat><beat confidence="0.819">110.88303</beat><beat confidence="0.800">111.36835</beat><beat confidence="0.782">111.86652</beat><beat confidence="0.829">112.36914</beat><beat confidence="0.839">112.86890</beat><beat confidence="0.912">113.36425</beat><beat confidence="0.817">113.85763</beat><beat confidence="0.884">114.35141</beat><beat confidence="0.814">114.84605</beat><beat confidence="0.867">115.34095</beat><beat confidence="0.844">115.83871</beat><beat confidence="0.833">116.33922</beat><beat confidence="0.882">116.84035</beat><beat confidence="0.891">117.34513</beat><beat confidence="0.800">117.85343</beat><beat confidence="0.805">118.36166</beat><beat confidence="0.817">118.86875</beat><beat confidence="0.862">119.37586</beat><beat confidence="0.791">119.88208</beat><beat confidence="0.874">120.38657</beat><beat confidence="0.795">120.89512</beat><beat confidence="0.889">121.40196</beat><beat confidence="0.871">121.90675</beat><beat confidence="0.766">122.41156</beat><beat confidence="0.779">122.91559</beat><beat confidence="0.902">123.41747</beat><beat confidence="0.833">123.91825</beat><beat confidence="0.881">124.42008</beat><beat confidence="0.790">124.92457</beat><beat confidence="0.890">125.42969</beat><beat confidence="0.800">125.93482</beat><beat confidence="0.812">126.43996</beat><beat confidence="0.827">126.94511</beat><beat confidence="0.867">127.45028</beat><beat confidence="0.821">127.95545</beat><beat confidence="0.863">128.46064</beat><beat confidence="0.802">128.96584</beat><beat confidence="0.908">129.47105</beat><beat confidence="0.900">129.97627</beat><beat confidence="0.816">130.47906</beat><beat confidence="0.747">130.98184</beat><beat confidence="0.880">131.48424</beat><beat confidence="0.843">131.98805</beat><beat confidence="0.884">132.49284</beat><beat confidence="0.839">132.99673</beat><beat confidence="0.893">133.50303</beat><beat confidence="0.824">134.00779</beat><beat confidence="0.748">134.51039</beat><beat confidence="0.750">135.01125</beat><beat confidence="0.793">135.51316</beat><beat confidence="0.752">136.01532</beat><beat confidence="0.799">136.51744</beat><beat confidence="0.822">137.02043</beat><beat confidence="0.880">137.52503</beat><beat confidence="0.858">138.02793</beat><beat confidence="0.780">138.52921</beat><beat confidence="0.727">139.03263</beat><beat confidence="0.776">139.53552</beat><beat confidence="0.741">140.03760</beat><beat confidence="0.738">140.53880</beat><beat confidence="0.840">141.04052</beat><beat confidence="0.828">141.54300</beat><beat confidence="0.755">142.05020</beat><beat confidence="0.627">142.56801</beat><beat confidence="0.833">143.08838</beat><beat confidence="0.647">143.60578</beat><beat confidence="0.384">144.11862</beat><beat confidence="0.450">144.87134</beat><beat confidence="0.510">145.35555</beat><beat confidence="0.428">145.83217</beat><beat confidence="0.323">146.31291</beat><beat confidence="0.462">146.80069</beat><beat confidence="0.557">147.30194</beat><beat confidence="0.512">147.81248</beat><beat confidence="0.521">148.32106</beat><beat confidence="0.564">148.82309</beat><beat confidence="0.518">149.32278</beat><beat confidence="0.559">149.82430</beat><beat confidence="0.564">150.32938</beat><beat confidence="0.558">150.83556</beat><beat confidence="0.578">151.33967</beat><beat confidence="0.604">151.84376</beat><beat confidence="0.600">152.34847</beat><beat confidence="0.598">152.85253</beat><beat confidence="0.552">153.35657</beat><beat confidence="0.602">153.86061</beat><beat confidence="0.617">154.36462</beat><beat confidence="0.557">154.86863</beat><beat confidence="0.563">155.37261</beat><beat confidence="0.613">155.87659</beat><beat confidence="0.597">156.38028</beat><beat confidence="0.614">156.88307</beat><beat confidence="0.590">157.38522</beat><beat confidence="0.618">157.88734</beat><beat confidence="0.561">158.38943</beat><beat confidence="0.577">158.89150</beat><beat confidence="0.583">159.39417</beat><beat confidence="0.605">159.89746</beat><beat confidence="0.594">160.40076</beat><beat confidence="0.578">160.90405</beat><beat confidence="0.574">161.40787</beat><beat confidence="0.612">161.91168</beat><beat confidence="0.600">162.41307</beat><beat confidence="0.561">162.91446</beat><beat confidence="0.588">163.41594</beat><beat confidence="0.615">163.91742</beat><beat confidence="0.609">164.41888</beat><beat confidence="0.616">164.92035</beat><beat confidence="0.593">165.42143</beat><beat confidence="0.622">165.92419</beat><beat confidence="0.572">166.42964</beat><beat confidence="0.547">166.93493</beat><beat confidence="0.523">167.43692</beat><beat confidence="0.536">167.93781</beat><beat confidence="0.550">168.44076</beat><beat confidence="0.581">168.94355</beat><beat confidence="0.581">169.44610</beat><beat confidence="0.613">169.94868</beat><beat confidence="0.571">170.45127</beat><beat confidence="0.542">170.95389</beat><beat confidence="0.522">171.45653</beat><beat confidence="0.510">171.96133</beat><beat confidence="0.498">172.46760</beat><beat confidence="0.562">172.97280</beat><beat confidence="0.561">173.47484</beat><beat confidence="0.608">173.97694</beat><beat confidence="0.553">174.48046</beat><beat confidence="0.490">174.98355</beat><beat confidence="0.606">175.48194</beat><beat confidence="0.164">175.97907</beat><beat confidence="0.570">176.47824</beat><beat confidence="0.292">176.98068</beat><beat confidence="0.496">177.48631</beat><beat confidence="0.339">177.99215</beat><beat confidence="0.503">178.49920</beat><beat confidence="0.502">179.00878</beat><beat confidence="0.480">179.51877</beat><beat confidence="0.488">180.02574</beat><beat confidence="0.537">180.52786</beat><beat confidence="0.515">181.02888</beat><beat confidence="0.530">181.53095</beat><beat confidence="0.532">182.03444</beat><beat confidence="0.532">182.53846</beat><beat confidence="0.562">183.04248</beat><beat confidence="0.521">183.54715</beat><beat confidence="0.541">184.05184</beat><beat confidence="0.516">184.55656</beat><beat confidence="0.543">185.06040</beat><beat confidence="0.543">185.56236</beat><beat confidence="0.520">186.06357</beat><beat confidence="0.508">186.56504</beat><beat confidence="0.542">187.06650</beat><beat confidence="0.527">187.56796</beat><beat confidence="0.512">188.06940</beat><beat confidence="0.499">188.57247</beat><beat confidence="0.519">189.07637</beat><beat confidence="0.501">189.57759</beat></analysis></response>
|
@@ -0,0 +1,2 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<response version="3"><status><code>0</code><message>Success</message></status><query><parameter name="api_key">5ZAOMB3BUR8QUN4PE</parameter><parameter name="id">music://id.echonest.com/~/TR/TRLFPPE11C3F10749F</parameter></query><analysis><duration>194.3493</duration></analysis></response>
|
@@ -0,0 +1,2 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<response version="3"><status><code>0</code><message>Success</message></status><query><parameter name="api_key">5ZAOMB3BUR8QUN4PE</parameter><parameter name="id">music://id.echonest.com/~/TR/TRLFPPE11C3F10749F</parameter></query><analysis><end_of_fade_in>0.421</end_of_fade_in></analysis></response>
|
@@ -0,0 +1,2 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<response version="3"><status><code>0</code><message>Success</message></status><query><parameter name="api_key">5ZAOMB3BUR8QUN4PE</parameter><parameter name="id">music://id.echonest.com/~/TR/TRLFPPE11C3F10749F</parameter></query><analysis><key confidence="1.0">5</key></analysis></response>
|
@@ -0,0 +1,2 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<response version="3"><status><code>0</code><message>Success</message></status><query><parameter name="api_key">5ZAOMB3BUR8QUN4PE</parameter><parameter name="id">music://id.echonest.com/~/TR/TRLFPPE11C3F10749F</parameter></query><analysis><loudness>-8.426</loudness></analysis></response>
|
@@ -0,0 +1,2 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<response version="3"><status><code>0</code><message>Success</message></status><query><parameter name="api_key">5ZAOMB3BUR8QUN4PE</parameter><parameter name="id">music://id.echonest.com/~/TR/TRLFPPE11C3F10749F</parameter></query><analysis><status>COMPLETE</status><id>music://id.echonest.com/~/TR/TRLFPPE11C3F10749F</id><md5>cf23d5a124dda204f4f5d505389356fd</md5><artist>Mongo Santamaria</artist><title>Watermelon Man</title><genre>Boogaloo</genre><duration>194.3493</duration><samplerate>44100</samplerate><bitrate>128</bitrate></analysis></response>
|
@@ -0,0 +1,2 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<response version="3"><status><code>0</code><message>Success</message></status><query><parameter name="api_key">5ZAOMB3BUR8QUN4PE</parameter><parameter name="id">music://id.echonest.com/~/TR/TRLFPPE11C3F10749F</parameter></query><analysis><mode confidence="1.0">1</mode></analysis></response>
|
@@ -0,0 +1,2 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<response version="3"><status><code>0</code><message>Success</message></status><query><parameter name="api_key">5ZAOMB3BUR8QUN4PE</parameter><parameter name="id">music://id.echonest.com/~/TR/TRLFPPE11C3F10749F</parameter></query><analysis><section start="0.0" duration="7.82647" /><section start="7.82647" duration="17.43627" /><section start="25.26273" duration="9.72336" /><section start="34.9861" duration="13.13052" /><section start="48.11662" duration="9.17272" /><section start="57.28934" duration="11.28174" /><section start="68.57108" duration="7.43292" /><section start="76.004" duration="32.33554" /><section start="108.33954" duration="7.0014" /><section start="115.34095" duration="18.16208" /><section start="133.50303" duration="9.58536" /><section start="143.08838" duration="5.73471" /><section start="148.82309" duration="17.1011" /><section start="165.92419" duration="12.32135" /><section start="178.24554" duration="9.32241" /><section start="187.56796" duration="6.78134" /></analysis></response>
|
@@ -0,0 +1,2 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<response version="3"><status><code>0</code><message>Success</message></status><query><parameter name="api_key">5ZAOMB3BUR8QUN4PE</parameter><parameter name="id">music://id.echonest.com/~/TR/TRLFPPE11C3F10749F</parameter></query><analysis><segment start="0.0" duration="0.421"><loudness><dB time="0.0">-60.0</dB><dB type="max" time="0.0">-60.0</dB></loudness><pitches><pitch>0.542</pitch><pitch>0.58</pitch><pitch>0.644</pitch><pitch>0.782</pitch><pitch>1.0</pitch><pitch>0.718</pitch><pitch>0.666</pitch><pitch>0.53</pitch><pitch>0.569</pitch><pitch>0.476</pitch><pitch>0.61</pitch><pitch>0.742</pitch></pitches><timbre><coeff>0.0</coeff><coeff>171.13</coeff><coeff>9.469</coeff><coeff>-28.48</coeff><coeff>57.491</coeff><coeff>-50.067</coeff><coeff>14.833</coeff><coeff>5.359</coeff><coeff>-27.228</coeff><coeff>0.973</coeff><coeff>-10.64</coeff><coeff>-7.228</coeff></timbre></segment><segment start="0.421" duration="0.53469"><loudness><dB time="0.0">-60.0</dB><dB type="max" time="0.07546">-24.335</dB></loudness><pitches><pitch>1.0</pitch><pitch>0.093</pitch><pitch>0.057</pitch><pitch>0.119</pitch><pitch>0.109</pitch><pitch>0.715</pitch><pitch>0.076</pitch><pitch>0.031</pitch><pitch>0.035</pitch><pitch>0.093</pitch><pitch>0.027</pitch><pitch>0.051</pitch></pitches><timbre><coeff>25.003</coeff><coeff>-50.111</coeff><coeff>60.119</coeff><coeff>-61.178</coeff><coeff>36.791</coeff><coeff>172.395</coeff><coeff>32.814</coeff><coeff>-15.136</coeff><coeff>-30.754</coeff><coeff>78.289</coeff><coeff>22.658</coeff><coeff>29.984</coeff></timbre></segment><segment start="0.95569" duration="0.51574"><loudness><dB time="0.0">-33.89</dB><dB type="max" time="0.04644">-19.79</dB></loudness><pitches><pitch>0.343</pitch><pitch>0.032</pitch><pitch>0.026</pitch><pitch>0.088</pitch><pitch>0.06</pitch><pitch>1.0</pitch><pitch>0.11</pitch><pitch>0.037</pitch><pitch>0.019</pitch><pitch>0.039</pitch><pitch>0.023</pitch><pitch>0.153</pitch></pitches><timbre><coeff>33.569</coeff><coeff>-81.594</coeff><coeff>32.167</coeff><coeff>33.641</coeff><coeff>3.736</coeff><coeff>71.353</coeff><coeff>-24.661</coeff><coeff>-30.883</coeff><coeff>-2.779</coeff><coeff>-16.379</coeff><coeff>7.974</coeff><coeff>28.023</coeff></timbre></segment><segment start="1.47143" duration="0.27311"><loudness><dB time="0.0">-32.598</dB><dB type="max" time="0.05805">-20.795</dB></loudness><pitches><pitch>0.206</pitch><pitch>0.04</pitch><pitch>0.395</pitch><pitch>0.062</pitch><pitch>0.045</pitch><pitch>1.0</pitch><pitch>0.105</pitch><pitch>0.021</pitch><pitch>0.027</pitch><pitch>0.075</pitch><pitch>0.262</pitch><pitch>0.038</pitch></pitches><timbre><coeff>33.631</coeff><coeff>-83.835</coeff><coeff>25.815</coeff><coeff>44.913</coeff><coeff>37.23</coeff><coeff>37.191</coeff><coeff>-31.029</coeff><coeff>-19.415</coeff><coeff>6.836</coeff><coeff>-23.078</coeff><coeff>10.078</coeff><coeff>32.021</coeff></timbre></segment></analysis></response>
|
@@ -0,0 +1,2 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<response version="3"><status><code>0</code><message>Success</message></status><query><parameter name="api_key">5ZAOMB3BUR8QUN4PE</parameter><parameter name="id">music://id.echonest.com/~/TR/TRLFPPE11C3F10749F</parameter></query><analysis><start_of_fade_out>182.44499</start_of_fade_out></analysis></response>
|
@@ -0,0 +1,2 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<response version="3"><status><code>0</code><message>Success</message></status><query><parameter name="api_key">5ZAOMB3BUR8QUN4PE</parameter><parameter name="id">music://id.echonest.com/~/TR/TRLFPPE11C3F10749F</parameter></query><analysis><tatum confidence="1.0">0.45717</tatum><tatum confidence="0.816">0.71823</tatum><tatum confidence="0.983">0.97966</tatum><tatum confidence="0.709">1.24094</tatum><tatum confidence="1.0">1.50139</tatum><tatum confidence="0.99">1.76065</tatum><tatum confidence="0.769">2.01873</tatum><tatum confidence="0.899">2.27497</tatum><tatum confidence="0.984">2.53058</tatum><tatum confidence="0.868">2.78299</tatum><tatum confidence="1.0">3.03556</tatum><tatum confidence="0.821">3.28802</tatum><tatum confidence="0.974">3.54101</tatum><tatum confidence="0.905">3.79426</tatum><tatum confidence="0.904">4.04815</tatum><tatum confidence="0.81">4.30113</tatum><tatum confidence="0.907">4.55475</tatum><tatum confidence="0.95">4.80874</tatum><tatum confidence="0.979">5.06246</tatum><tatum confidence="0.796">5.31592</tatum><tatum confidence="1.0">5.56885</tatum><tatum confidence="1.0">5.82026</tatum><tatum confidence="0.946">6.07103</tatum><tatum confidence="1.0">6.32181</tatum><tatum confidence="1.0">6.57259</tatum><tatum confidence="1.0">6.82336</tatum><tatum confidence="1.0">7.07414</tatum><tatum confidence="1.0">7.32491</tatum><tatum confidence="1.0">7.57569</tatum><tatum confidence="1.0">7.82647</tatum><tatum confidence="1.0">8.07724</tatum><tatum confidence="1.0">8.32802</tatum><tatum confidence="1.0">8.57879</tatum><tatum confidence="0.799">8.82957</tatum><tatum confidence="0.934">9.08123</tatum><tatum confidence="0.896">9.33353</tatum><tatum confidence="0.903">9.58645</tatum><tatum confidence="0.904">9.83911</tatum><tatum confidence="0.895">10.0924</tatum><tatum confidence="0.849">10.34543</tatum><tatum confidence="0.909">10.59756</tatum><tatum confidence="0.925">10.84969</tatum><tatum confidence="1.0">11.10182</tatum><tatum confidence="0.881">11.35369</tatum><tatum confidence="0.89">11.6053</tatum><tatum confidence="0.866">11.85664</tatum><tatum confidence="0.951">12.10736</tatum><tatum confidence="0.885">12.35619</tatum><tatum confidence="0.784">12.6043</tatum><tatum confidence="0.882">12.85355</tatum><tatum confidence="1.0">13.10368</tatum><tatum confidence="0.856">13.35444</tatum><tatum confidence="0.949">13.60556</tatum><tatum confidence="0.841">13.85642</tatum><tatum confidence="0.847">14.10701</tatum><tatum confidence="0.92">14.35673</tatum><tatum confidence="0.888">14.60555</tatum><tatum confidence="0.929">14.85376</tatum><tatum confidence="1.0">15.10196</tatum><tatum confidence="0.94">15.35016</tatum><tatum confidence="1.0">15.59837</tatum><tatum confidence="0.974">15.84657</tatum><tatum confidence="1.0">16.09477</tatum><tatum confidence="0.97">16.34297</tatum><tatum confidence="1.0">16.59055</tatum><tatum confidence="0.895">16.83813</tatum><tatum confidence="0.953">17.08571</tatum><tatum confidence="0.868">17.3333</tatum><tatum confidence="0.906">17.58175</tatum><tatum confidence="0.882">17.83083</tatum><tatum confidence="0.871">18.07965</tatum><tatum confidence="0.92">18.32821</tatum><tatum confidence="0.925">18.57677</tatum><tatum confidence="0.94">18.82533</tatum><tatum confidence="1.0">19.07389</tatum><tatum confidence="0.911">19.32245</tatum><tatum confidence="0.956">19.57013</tatum><tatum confidence="0.818">19.8172</tatum><tatum confidence="0.897">20.0639</tatum><tatum confidence="0.932">20.31024</tatum><tatum confidence="0.882">20.55684</tatum><tatum confidence="0.898">20.80369</tatum><tatum confidence="1.0">21.05142</tatum><tatum confidence="0.884">21.29977</tatum><tatum confidence="0.992">21.54786</tatum><tatum confidence="0.863">21.79632</tatum><tatum confidence="0.884">22.04451</tatum><tatum confidence="0.984">22.29244</tatum><tatum confidence="0.895">22.54074</tatum><tatum confidence="0.954">22.78816</tatum><tatum confidence="1.0">23.03496</tatum><tatum confidence="0.965">23.28175</tatum><tatum confidence="1.0">23.52855</tatum><tatum confidence="0.99">23.77535</tatum><tatum confidence="1.0">24.02214</tatum><tatum confidence="0.943">24.26894</tatum><tatum confidence="1.0">24.51661</tatum><tatum confidence="0.915">24.76491</tatum><tatum confidence="1.0">25.01382</tatum><tatum confidence="1.0">25.26273</tatum><tatum confidence="1.0">25.51165</tatum><tatum confidence="0.928">25.76056</tatum><tatum confidence="0.948">26.00947</tatum><tatum confidence="0.901">26.25838</tatum><tatum confidence="0.915">26.50641</tatum><tatum confidence="0.862">26.75382</tatum><tatum confidence="0.873">27.00149</tatum><tatum confidence="0.942">27.24942</tatum><tatum confidence="0.929">27.49734</tatum><tatum confidence="0.888">27.74527</tatum><tatum confidence="0.969">27.99346</tatum><tatum confidence="0.926">28.24165</tatum><tatum confidence="1.0">28.49072</tatum><tatum confidence="0.907">28.73979</tatum><tatum confidence="1.0">28.98886</tatum><tatum confidence="1.0">29.23794</tatum><tatum confidence="1.0">29.48701</tatum><tatum confidence="0.916">29.73609</tatum><tatum confidence="0.955">29.98516</tatum><tatum confidence="0.85">30.23424</tatum><tatum confidence="0.863">30.48332</tatum><tatum confidence="0.764">30.73276</tatum><tatum confidence="0.834">30.98256</tatum><tatum confidence="0.821">31.23148</tatum><tatum confidence="0.847">31.47952</tatum><tatum confidence="0.84">31.72756</tatum><tatum confidence="0.888">31.97559</tatum><tatum confidence="0.901">32.22363</tatum><tatum confidence="0.992">32.47166</tatum><tatum confidence="0.837">32.7197</tatum><tatum confidence="0.852">32.96773</tatum><tatum confidence="0.997">33.21841</tatum><tatum confidence="0.903">33.47095</tatum><tatum confidence="0.74">33.7245</tatum><tatum confidence="0.794">33.97816</tatum><tatum confidence="0.785">34.23129</tatum><tatum confidence="0.959">34.48352</tatum><tatum confidence="0.718">34.73512</tatum><tatum confidence="0.69">34.9861</tatum><tatum confidence="0.319">35.23707</tatum><tatum confidence="0.043">35.48715</tatum><tatum confidence="0.579">35.73812</tatum><tatum confidence="0.228">35.98971</tatum><tatum confidence="0.421">36.23752</tatum><tatum confidence="0.974">36.48018</tatum><tatum confidence="0.768">36.7199</tatum><tatum confidence="0.617">36.95713</tatum><tatum confidence="0.662">37.19297</tatum><tatum confidence="0.581">37.43053</tatum><tatum confidence="0.667">37.67017</tatum><tatum confidence="0.715">37.91155</tatum><tatum confidence="0.817">38.15541</tatum><tatum confidence="0.847">38.40246</tatum><tatum confidence="0.877">38.65162</tatum><tatum confidence="0.816">38.90151</tatum><tatum confidence="0.871">39.15213</tatum><tatum confidence="0.804">39.40259</tatum><tatum confidence="0.915">39.6519</tatum><tatum confidence="0.928">39.89971</tatum><tatum confidence="0.937">40.1469</tatum><tatum confidence="0.905">40.39373</tatum><tatum confidence="0.926">40.6402</tatum><tatum confidence="0.779">40.8878</tatum><tatum confidence="0.911">41.13628</tatum><tatum confidence="0.814">41.38601</tatum><tatum confidence="0.844">41.63547</tatum><tatum confidence="0.881">41.88467</tatum><tatum confidence="0.886">42.13388</tatum><tatum confidence="0.851">42.38308</tatum><tatum confidence="0.832">42.63228</tatum><tatum confidence="0.874">42.88237</tatum><tatum confidence="1.0">43.13307</tatum><tatum confidence="0.838">43.38441</tatum><tatum confidence="0.917">43.63548</tatum><tatum confidence="0.801">43.88655</tatum><tatum confidence="0.877">44.13762</tatum><tatum confidence="0.914">44.3887</tatum><tatum confidence="0.873">44.63888</tatum><tatum confidence="0.878">44.88844</tatum><tatum confidence="0.944">45.13676</tatum><tatum confidence="0.814">45.38497</tatum><tatum confidence="0.926">45.63281</tatum><tatum confidence="0.827">45.88092</tatum><tatum confidence="0.903">46.1299</tatum><tatum confidence="0.9">46.3795</tatum><tatum confidence="0.816">46.62947</tatum><tatum confidence="0.83">46.87954</tatum><tatum confidence="0.959">47.1291</tatum><tatum confidence="0.846">47.37688</tatum><tatum confidence="0.964">47.62379</tatum><tatum confidence="0.897">47.87008</tatum><tatum confidence="0.958">48.11662</tatum><tatum confidence="0.86">48.36255</tatum><tatum confidence="0.935">48.60873</tatum><tatum confidence="0.793">48.85578</tatum><tatum confidence="0.909">49.10371</tatum><tatum confidence="0.853">49.35226</tatum><tatum confidence="0.813">49.60205</tatum><tatum confidence="0.826">49.85158</tatum><tatum confidence="0.879">50.10147</tatum><tatum confidence="0.893">50.3511</tatum><tatum confidence="0.933">50.59985</tatum><tatum confidence="0.907">50.84797</tatum><tatum confidence="1.0">51.09574</tatum><tatum confidence="0.933">51.34376</tatum><tatum confidence="0.962">51.59205</tatum><tatum confidence="0.836">51.84095</tatum><tatum confidence="0.953">52.0896</tatum><tatum confidence="1.0">52.33825</tatum><tatum confidence="0.899">52.5869</tatum><tatum confidence="0.869">52.83591</tatum><tatum confidence="1.0">53.08405</tatum><tatum confidence="0.935">53.33219</tatum><tatum confidence="1.0">53.58032</tatum><tatum confidence="0.896">53.82846</tatum><tatum confidence="0.902">54.07635</tatum><tatum confidence="0.982">54.32398</tatum><tatum confidence="0.97">54.57072</tatum><tatum confidence="0.914">54.81685</tatum><tatum confidence="1.0">55.06324</tatum><tatum confidence="0.908">55.30901</tatum><tatum confidence="0.976">55.55504</tatum><tatum confidence="0.974">55.80132</tatum><tatum confidence="1.0">56.04822</tatum><tatum confidence="0.963">56.29512</tatum><tatum confidence="1.0">56.54202</tatum><tatum confidence="0.887">56.79042</tatum><tatum confidence="1.0">57.0397</tatum><tatum confidence="1.0">57.28934</tatum><tatum confidence="1.0">57.53872</tatum><tatum confidence="0.878">57.78873</tatum><tatum confidence="0.95">58.03785</tatum><tatum confidence="0.928">58.28696</tatum><tatum confidence="0.958">58.53608</tatum><tatum confidence="0.899">58.78519</tatum><tatum confidence="0.952">59.03429</tatum><tatum confidence="0.933">59.28339</tatum><tatum confidence="0.946">59.53249</tatum><tatum confidence="0.933">59.78159</tatum><tatum confidence="0.908">60.03069</tatum><tatum confidence="0.938">60.27978</tatum><tatum confidence="1.0">60.52887</tatum><tatum confidence="0.858">60.77795</tatum><tatum confidence="1.0">61.02703</tatum><tatum confidence="0.994">61.27611</tatum><tatum confidence="0.943">61.52607</tatum><tatum confidence="0.879">61.77629</tatum><tatum confidence="0.866">62.02714</tatum><tatum confidence="0.9">62.27709</tatum><tatum confidence="0.92">62.52642</tatum><tatum confidence="0.802">62.77512</tatum><tatum confidence="0.903">63.02409</tatum><tatum confidence="0.843">63.27305</tatum><tatum confidence="0.884">63.52227</tatum><tatum confidence="0.83">63.77274</tatum><tatum confidence="0.892">64.02358</tatum><tatum confidence="0.909">64.27415</tatum><tatum confidence="1.0">64.52383</tatum><tatum confidence="0.822">64.77289</tatum><tatum confidence="1.0">65.0222</tatum><tatum confidence="0.98">65.27152</tatum><tatum confidence="0.798">65.52047</tatum><tatum confidence="0.658">65.77295</tatum><tatum confidence="0.631">66.02096</tatum><tatum confidence="0.822">66.27422</tatum><tatum confidence="0.801">66.53093</tatum><tatum confidence="0.414">66.79031</tatum><tatum confidence="0.362">67.05185</tatum><tatum confidence="0.0">67.31503</tatum><tatum confidence="0.0">67.57536</tatum><tatum confidence="0.472">67.82972</tatum><tatum confidence="0.42">68.08053</tatum><tatum confidence="0.584">68.328</tatum><tatum confidence="1.0">68.57108</tatum><tatum confidence="0.753">68.81112</tatum><tatum confidence="0.586">69.05012</tatum><tatum confidence="0.773">69.28821</tatum><tatum confidence="0.638">69.52839</tatum><tatum confidence="0.687">69.77068</tatum><tatum confidence="0.685">70.01377</tatum><tatum confidence="0.811">70.25863</tatum><tatum confidence="0.877">70.50599</tatum><tatum confidence="0.982">70.75634</tatum><tatum confidence="0.85">71.00831</tatum><tatum confidence="0.955">71.26075</tatum><tatum confidence="0.803">71.51303</tatum><tatum confidence="0.958">71.76452</tatum><tatum confidence="0.92">72.01485</tatum><tatum confidence="1.0">72.26431</tatum><tatum confidence="0.926">72.51314</tatum><tatum confidence="0.992">72.76161</tatum><tatum confidence="0.936">73.00971</tatum><tatum confidence="1.0">73.25808</tatum><tatum confidence="0.953">73.50732</tatum><tatum confidence="1.0">73.75719</tatum><tatum confidence="0.965">74.00769</tatum><tatum confidence="0.994">74.25792</tatum><tatum confidence="0.961">74.5079</tatum><tatum confidence="1.0">74.75724</tatum><tatum confidence="0.957">75.00659</tatum><tatum confidence="1.0">75.25594</tatum><tatum confidence="0.992">75.50529</tatum><tatum confidence="1.0">75.75464</tatum><tatum confidence="1.0">76.004</tatum><tatum confidence="1.0">76.25335</tatum><tatum confidence="0.931">76.50182</tatum><tatum confidence="0.98">76.74967</tatum><tatum confidence="0.789">76.99654</tatum><tatum confidence="0.925">77.24304</tatum><tatum confidence="0.907">77.49068</tatum><tatum confidence="0.932">77.73832</tatum><tatum confidence="0.931">77.98683</tatum><tatum confidence="1.0">78.23597</tatum><tatum confidence="0.967">78.48484</tatum><tatum confidence="0.87">78.73407</tatum><tatum confidence="0.917">78.98305</tatum><tatum confidence="1.0">79.23176</tatum><tatum confidence="0.906">79.47986</tatum><tatum confidence="0.944">79.72734</tatum><tatum confidence="0.989">79.97508</tatum><tatum confidence="1.0">80.22343</tatum><tatum confidence="1.0">80.47091</tatum><tatum confidence="0.879">80.71777</tatum><tatum confidence="0.939">80.9655</tatum><tatum confidence="1.0">81.21262</tatum><tatum confidence="0.863">81.45973</tatum><tatum confidence="0.983">81.70772</tatum><tatum confidence="1.0">81.95545</tatum><tatum confidence="1.0">82.20256</tatum><tatum confidence="0.91">82.44905</tatum><tatum confidence="1.0">82.69579</tatum><tatum confidence="0.865">82.94192</tatum><tatum confidence="1.0">83.18892</tatum><tatum confidence="0.892">83.43654</tatum><tatum confidence="0.965">83.68479</tatum><tatum confidence="1.0">83.93277</tatum><tatum confidence="1.0">84.18075</tatum><tatum confidence="1.0">84.42872</tatum><tatum confidence="0.965">84.6767</tatum><tatum confidence="0.919">84.92467</tatum><tatum confidence="1.0">85.17264</tatum><tatum confidence="0.931">85.42061</tatum><tatum confidence="0.97">85.66857</tatum><tatum confidence="0.984">85.91653</tatum><tatum confidence="0.986">86.16511</tatum><tatum confidence="1.0">86.41342</tatum><tatum confidence="0.95">86.66112</tatum><tatum confidence="0.954">86.90819</tatum><tatum confidence="1.0">87.15615</tatum><tatum confidence="0.905">87.40471</tatum><tatum confidence="0.93">87.65328</tatum><tatum confidence="0.982">87.9022</tatum><tatum confidence="1.0">88.15175</tatum><tatum confidence="1.0">88.40103</tatum><tatum confidence="0.953">88.65031</tatum><tatum confidence="0.931">88.8996</tatum><tatum confidence="1.0">89.14889</tatum><tatum confidence="0.914">89.39818</tatum><tatum confidence="1.0">89.64747</tatum><tatum confidence="1.0">89.89676</tatum><tatum confidence="1.0">90.14606</tatum><tatum confidence="0.885">90.39535</tatum><tatum confidence="0.893">90.64465</tatum><tatum confidence="0.918">90.89395</tatum><tatum confidence="1.0">91.14326</tatum><tatum confidence="0.839">91.39256</tatum><tatum confidence="0.918">91.6415</tatum><tatum confidence="1.0">91.89133</tatum><tatum confidence="1.0">92.14115</tatum><tatum confidence="1.0">92.39161</tatum><tatum confidence="0.939">92.64206</tatum><tatum confidence="0.896">92.89252</tatum><tatum confidence="1.0">93.14297</tatum><tatum confidence="0.891">93.39343</tatum><tatum confidence="0.922">93.64389</tatum><tatum confidence="0.955">93.89435</tatum><tatum confidence="0.986">94.14481</tatum><tatum confidence="0.89">94.39527</tatum><tatum confidence="0.923">94.64574</tatum><tatum confidence="0.94">94.8962</tatum><tatum confidence="1.0">95.14667</tatum><tatum confidence="0.884">95.39714</tatum><tatum confidence="0.93">95.6476</tatum><tatum confidence="0.977">95.89932</tatum><tatum confidence="1.0">96.15141</tatum><tatum confidence="0.905">96.40386</tatum><tatum confidence="0.873">96.65579</tatum><tatum confidence="0.89">96.9062</tatum><tatum confidence="1.0">97.15598</tatum><tatum confidence="0.859">97.4054</tatum><tatum confidence="0.824">97.65383</tatum><tatum confidence="0.896">97.90339</tatum><tatum confidence="0.91">98.1526</tatum><tatum confidence="0.866">98.40206</tatum><tatum confidence="0.898">98.65178</tatum><tatum confidence="0.845">98.90239</tatum><tatum confidence="1.0">99.15361</tatum><tatum confidence="0.854">99.40548</tatum><tatum confidence="0.862">99.65707</tatum><tatum confidence="1.0">99.90841</tatum><tatum confidence="1.0">100.15949</tatum><tatum confidence="0.914">100.41057</tatum><tatum confidence="1.0">100.66164</tatum><tatum confidence="0.836">100.9127</tatum><tatum confidence="0.961">101.16376</tatum><tatum confidence="0.789">101.41507</tatum><tatum confidence="0.856">101.66818</tatum><tatum confidence="0.912">101.92101</tatum><tatum confidence="0.968">102.17512</tatum><tatum confidence="0.762">102.43112</tatum><tatum confidence="0.708">102.68814</tatum><tatum confidence="0.259">102.94618</tatum><tatum confidence="0.0">103.20682</tatum><tatum confidence="0.0">103.47397</tatum><tatum confidence="0.383">103.74641</tatum><tatum confidence="0.364">104.02266</tatum><tatum confidence="0.261">104.30121</tatum><tatum confidence="0.382">104.58036</tatum><tatum confidence="0.396">104.86049</tatum><tatum confidence="0.3">105.14131</tatum><tatum confidence="0.516">105.42074</tatum><tatum confidence="0.566">105.69318</tatum><tatum confidence="0.892">105.96022</tatum><tatum confidence="0.792">106.22338</tatum><tatum confidence="0.497">106.48434</tatum><tatum confidence="0.353">106.74339</tatum><tatum confidence="0.265">107.00433</tatum><tatum confidence="0.279">107.26755</tatum><tatum confidence="0.301">107.53317</tatum><tatum confidence="0.335">107.80068</tatum><tatum confidence="0.153">108.07019</tatum><tatum confidence="0.035">108.33954</tatum><tatum confidence="0.363">108.6089</tatum><tatum confidence="0.438">108.87828</tatum><tatum confidence="0.361">109.14564</tatum><tatum confidence="0.568">109.40632</tatum><tatum confidence="0.617">109.66075</tatum><tatum confidence="0.929">109.91041</tatum><tatum confidence="0.948">110.15669</tatum><tatum confidence="0.822">110.40041</tatum><tatum confidence="0.671">110.64235</tatum><tatum confidence="0.684">110.88303</tatum><tatum confidence="0.699">111.1245</tatum><tatum confidence="0.888">111.36835</tatum><tatum confidence="0.927">111.6165</tatum><tatum confidence="0.94">111.86652</tatum><tatum confidence="0.878">112.11791</tatum><tatum confidence="0.914">112.36914</tatum><tatum confidence="0.901">112.61959</tatum><tatum confidence="0.989">112.8689</tatum><tatum confidence="0.904">113.11732</tatum><tatum confidence="1.0">113.36425</tatum><tatum confidence="0.887">113.61081</tatum><tatum confidence="0.961">113.85763</tatum><tatum confidence="0.95">114.10409</tatum><tatum confidence="1.0">114.35141</tatum><tatum confidence="1.0">114.59873</tatum><tatum confidence="0.987">114.84605</tatum><tatum confidence="0.984">115.09337</tatum><tatum confidence="1.0">115.34095</tatum><tatum confidence="1.0">115.58939</tatum><tatum confidence="1.0">115.83871</tatum><tatum confidence="1.0">116.08865</tatum><tatum confidence="1.0">116.33922</tatum><tatum confidence="1.0">116.58978</tatum><tatum confidence="1.0">116.84035</tatum><tatum confidence="0.868">117.09242</tatum><tatum confidence="0.979">117.34513</tatum><tatum confidence="0.868">117.59909</tatum><tatum confidence="0.918">117.85343</tatum><tatum confidence="0.848">118.10813</tatum><tatum confidence="0.921">118.36166</tatum><tatum confidence="0.936">118.6152</tatum><tatum confidence="0.945">118.86875</tatum><tatum confidence="0.925">119.1223</tatum><tatum confidence="1.0">119.37586</tatum><tatum confidence="0.915">119.62942</tatum><tatum confidence="0.891">119.88208</tatum><tatum confidence="0.782">120.13375</tatum><tatum confidence="0.959">120.38657</tatum><tatum confidence="0.964">120.64066</tatum><tatum confidence="0.899">120.89512</tatum><tatum confidence="0.873">121.14867</tatum><tatum confidence="1.0">121.40196</tatum><tatum confidence="0.896">121.65435</tatum><tatum confidence="1.0">121.90675</tatum><tatum confidence="0.929">122.15915</tatum><tatum confidence="0.88">122.41156</tatum><tatum confidence="0.99">122.66371</tatum><tatum confidence="0.93">122.91559</tatum><tatum confidence="0.951">123.16684</tatum><tatum confidence="1.0">123.41747</tatum><tatum confidence="0.917">123.66773</tatum><tatum confidence="0.982">123.91825</tatum><tatum confidence="0.981">124.16904</tatum><tatum confidence="0.989">124.42008</tatum><tatum confidence="0.943">124.67201</tatum><tatum confidence="1.0">124.92457</tatum><tatum confidence="0.885">125.17713</tatum><tatum confidence="0.99">125.42969</tatum><tatum confidence="0.925">125.68225</tatum><tatum confidence="0.942">125.93482</tatum><tatum confidence="0.935">126.18739</tatum><tatum confidence="0.941">126.43996</tatum><tatum confidence="0.917">126.69254</tatum><tatum confidence="0.952">126.94511</tatum><tatum confidence="0.949">127.19769</tatum><tatum confidence="1.0">127.45028</tatum><tatum confidence="0.96">127.70286</tatum><tatum confidence="0.929">127.95545</tatum><tatum confidence="0.838">128.20804</tatum><tatum confidence="0.945">128.46064</tatum><tatum confidence="0.966">128.71324</tatum><tatum confidence="0.903">128.96584</tatum><tatum confidence="0.94">129.21844</tatum><tatum confidence="1.0">129.47105</tatum><tatum confidence="0.895">129.72366</tatum><tatum confidence="1.0">129.97627</tatum><tatum confidence="0.91">130.22736</tatum><tatum confidence="0.884">130.47906</tatum><tatum confidence="0.973">130.73014</tatum><tatum confidence="0.888">130.98184</tatum><tatum confidence="0.886">131.23291</tatum><tatum confidence="1.0">131.48424</tatum><tatum confidence="0.898">131.73583</tatum><tatum confidence="0.98">131.98805</tatum><tatum confidence="0.91">132.24089</tatum><tatum confidence="0.999">132.49284</tatum><tatum confidence="0.926">132.74478</tatum><tatum confidence="0.965">132.99673</tatum><tatum confidence="0.882">133.24956</tatum><tatum confidence="1.0">133.50303</tatum><tatum confidence="0.973">133.75496</tatum><tatum confidence="0.939">134.00779</tatum><tatum confidence="0.878">134.25972</tatum><tatum confidence="0.856">134.51039</tatum><tatum confidence="0.821">134.76069</tatum><tatum confidence="0.879">135.01125</tatum><tatum confidence="0.812">135.26208</tatum><tatum confidence="0.909">135.51316</tatum><tatum confidence="0.871">135.76424</tatum><tatum confidence="0.89">136.01532</tatum><tatum confidence="0.881">136.26638</tatum><tatum confidence="0.915">136.51744</tatum><tatum confidence="0.876">136.76849</tatum><tatum confidence="0.951">137.02043</tatum><tatum confidence="0.857">137.2721</tatum><tatum confidence="0.968">137.52503</tatum><tatum confidence="0.994">137.77679</tatum><tatum confidence="0.964">138.02793</tatum><tatum confidence="0.848">138.27844</tatum><tatum confidence="0.886">138.52921</tatum><tatum confidence="0.881">138.78061</tatum><tatum confidence="0.859">139.03263</tatum><tatum confidence="0.845">139.28377</tatum><tatum confidence="0.868">139.53552</tatum><tatum confidence="0.835">139.78701</tatum><tatum confidence="0.873">140.0376</tatum><tatum confidence="0.849">140.2882</tatum><tatum confidence="0.844">140.5388</tatum><tatum confidence="0.903">140.78966</tatum><tatum confidence="0.984">141.04052</tatum><tatum confidence="0.804">141.29163</tatum><tatum confidence="0.958">141.543</tatum><tatum confidence="0.907">141.79527</tatum><tatum confidence="0.882">142.0502</tatum><tatum confidence="0.789">142.30796</tatum><tatum confidence="0.685">142.56801</tatum><tatum confidence="0.689">142.82828</tatum><tatum confidence="0.836">143.08838</tatum><tatum confidence="0.59">143.34768</tatum><tatum confidence="0.629">143.60578</tatum><tatum confidence="0.262">143.86298</tatum><tatum confidence="0.0">144.11862</tatum><tatum confidence="0.375">144.37361</tatum><tatum confidence="0.302">144.62477</tatum><tatum confidence="0.622">144.87134</tatum><tatum confidence="1.0">145.11466</tatum><tatum confidence="0.694">145.35555</tatum><tatum confidence="0.491">145.59419</tatum><tatum confidence="0.64">145.83217</tatum><tatum confidence="0.53">146.07095</tatum><tatum confidence="0.509">146.31291</tatum><tatum confidence="0.514">146.55524</tatum><tatum confidence="0.725">146.80069</tatum><tatum confidence="0.811">147.04951</tatum><tatum confidence="0.938">147.30194</tatum><tatum confidence="0.762">147.55665</tatum><tatum confidence="0.809">147.81248</tatum><tatum confidence="0.714">148.06762</tatum><tatum confidence="0.887">148.32106</tatum><tatum confidence="0.964">148.5727</tatum><tatum confidence="0.917">148.82309</tatum><tatum confidence="0.884">149.07311</tatum><tatum confidence="0.891">149.32278</tatum><tatum confidence="0.765">149.57296</tatum><tatum confidence="0.888">149.8243</tatum><tatum confidence="0.929">150.07653</tatum><tatum confidence="0.928">150.32938</tatum><tatum confidence="0.916">150.58261</tatum><tatum confidence="0.928">150.83556</tatum><tatum confidence="0.923">151.08762</tatum><tatum confidence="0.955">151.33967</tatum><tatum confidence="0.945">151.59172</tatum><tatum confidence="1.0">151.84376</tatum><tatum confidence="0.933">152.09643</tatum><tatum confidence="1.0">152.34847</tatum><tatum confidence="0.872">152.6005</tatum><tatum confidence="0.961">152.85253</tatum><tatum confidence="1.0">153.10455</tatum><tatum confidence="0.937">153.35657</tatum><tatum confidence="0.951">153.60859</tatum><tatum confidence="1.0">153.86061</tatum><tatum confidence="0.952">154.11262</tatum><tatum confidence="1.0">154.36462</tatum><tatum confidence="0.925">154.61663</tatum><tatum confidence="0.94">154.86863</tatum><tatum confidence="1.0">155.12062</tatum><tatum confidence="0.957">155.37261</tatum><tatum confidence="0.983">155.6246</tatum><tatum confidence="1.0">155.87659</tatum><tatum confidence="0.917">156.12857</tatum><tatum confidence="1.0">156.38028</tatum><tatum confidence="1.0">156.63199</tatum><tatum confidence="1.0">156.88307</tatum><tatum confidence="0.994">157.13415</tatum><tatum confidence="1.0">157.38522</tatum><tatum confidence="0.917">157.63628</tatum><tatum confidence="0.993">157.88734</tatum><tatum confidence="0.933">158.13839</tatum><tatum confidence="0.942">158.38943</tatum><tatum confidence="0.953">158.64047</tatum><tatum confidence="0.952">158.8915</tatum><tatum confidence="0.923">159.14252</tatum><tatum confidence="0.963">159.39417</tatum><tatum confidence="0.998">159.64581</tatum><tatum confidence="1.0">159.89746</tatum><tatum confidence="0.996">160.14911</tatum><tatum confidence="0.999">160.40076</tatum><tatum confidence="0.89">160.6524</tatum><tatum confidence="0.918">160.90405</tatum><tatum confidence="1.0">161.15596</tatum><tatum confidence="0.957">161.40787</tatum><tatum confidence="0.969">161.65977</tatum><tatum confidence="1.0">161.91168</tatum><tatum confidence="0.939">162.16269</tatum><tatum confidence="1.0">162.41307</tatum><tatum confidence="0.961">162.66345</tatum><tatum confidence="0.918">162.91446</tatum><tatum confidence="1.0">163.1652</tatum><tatum confidence="0.975">163.41594</tatum><tatum confidence="0.975">163.66668</tatum><tatum confidence="1.0">163.91742</tatum><tatum confidence="0.944">164.16815</tatum><tatum confidence="1.0">164.41888</tatum><tatum confidence="0.999">164.66962</tatum><tatum confidence="1.0">164.92035</tatum><tatum confidence="0.943">165.17107</tatum><tatum confidence="1.0">165.42143</tatum><tatum confidence="0.901">165.67268</tatum><tatum confidence="1.0">165.92419</tatum><tatum confidence="1.0">166.1766</tatum><tatum confidence="0.972">166.42964</tatum><tatum confidence="0.884">166.68242</tatum><tatum confidence="0.914">166.93493</tatum><tatum confidence="0.939">167.18655</tatum><tatum confidence="0.884">167.43692</tatum><tatum confidence="0.874">167.68755</tatum><tatum confidence="0.899">167.93781</tatum><tatum confidence="0.967">168.18897</tatum><tatum confidence="0.919">168.44076</tatum><tatum confidence="0.885">168.69228</tatum><tatum confidence="0.957">168.94355</tatum><tatum confidence="0.988">169.19482</tatum><tatum confidence="1.0">169.4461</tatum><tatum confidence="0.93">169.69739</tatum><tatum confidence="1.0">169.94868</tatum><tatum confidence="1.0">170.19997</tatum><tatum confidence="0.948">170.45127</tatum><tatum confidence="0.877">170.70258</tatum><tatum confidence="0.9">170.95389</tatum><tatum confidence="0.872">171.20521</tatum><tatum confidence="0.872">171.45653</tatum><tatum confidence="0.806">171.70875</tatum><tatum confidence="0.846">171.96133</tatum><tatum confidence="0.857">172.21428</tatum><tatum confidence="0.841">172.4676</tatum><tatum confidence="0.823">172.72065</tatum><tatum confidence="0.929">172.9728</tatum><tatum confidence="0.872">173.22369</tatum><tatum confidence="0.949">173.47484</tatum><tatum confidence="0.796">173.72563</tatum><tatum confidence="1.0">173.97694</tatum><tatum confidence="1.0">174.22851</tatum><tatum confidence="0.918">174.48046</tatum><tatum confidence="0.833">174.73213</tatum><tatum confidence="0.809">174.98355</tatum><tatum confidence="0.835">175.23319</tatum><tatum confidence="0.919">175.48194</tatum><tatum confidence="0.563">175.73007</tatum><tatum confidence="0.545">175.97907</tatum><tatum confidence="0.399">176.22835</tatum><tatum confidence="0.747">176.47824</tatum><tatum confidence="0.491">176.72902</tatum><tatum confidence="0.435">176.98068</tatum><tatum confidence="0.913">177.23387</tatum><tatum confidence="0.781">177.48631</tatum><tatum confidence="0.832">177.73928</tatum><tatum confidence="0.73">177.99215</tatum><tatum confidence="0.967">178.24554</tatum><tatum confidence="0.874">178.4992</tatum><tatum confidence="0.934">178.75349</tatum><tatum confidence="0.885">179.00878</tatum><tatum confidence="0.846">179.26417</tatum><tatum confidence="0.831">179.51877</tatum><tatum confidence="0.914">179.77283</tatum><tatum confidence="0.861">180.02574</tatum><tatum confidence="1.0">180.27711</tatum><tatum confidence="0.905">180.52786</tatum><tatum confidence="0.978">180.77824</tatum><tatum confidence="0.931">181.02888</tatum><tatum confidence="1.0">181.27979</tatum><tatum confidence="0.91">181.53095</tatum><tatum confidence="1.0">181.78301</tatum><tatum confidence="0.928">182.03444</tatum><tatum confidence="1.0">182.28676</tatum><tatum confidence="0.928">182.53846</tatum><tatum confidence="1.0">182.79015</tatum><tatum confidence="0.999">183.04248</tatum><tatum confidence="1.0">183.29481</tatum><tatum confidence="0.931">183.54715</tatum><tatum confidence="1.0">183.79949</tatum><tatum confidence="0.969">184.05184</tatum><tatum confidence="1.0">184.3042</tatum><tatum confidence="0.919">184.55656</tatum><tatum confidence="1.0">184.80893</tatum><tatum confidence="0.987">185.0604</tatum><tatum confidence="1.0">185.31125</tatum><tatum confidence="0.962">185.56236</tatum><tatum confidence="1.0">185.81283</tatum><tatum confidence="0.947">186.06357</tatum><tatum confidence="1.0">186.31431</tatum><tatum confidence="0.923">186.56504</tatum><tatum confidence="1.0">186.81577</tatum><tatum confidence="1.0">187.0665</tatum><tatum confidence="1.0">187.31723</tatum><tatum confidence="0.968">187.56796</tatum><tatum confidence="1.0">187.81868</tatum><tatum confidence="0.953">188.0694</tatum><tatum confidence="1.0">188.32075</tatum><tatum confidence="0.914">188.57247</tatum><tatum confidence="0.99">188.82455</tatum><tatum confidence="0.968">189.07637</tatum><tatum confidence="1.0">189.32729</tatum><tatum confidence="0.977">189.57759</tatum><tatum confidence="0.99">189.82726</tatum><tatum confidence="0.859">190.07719</tatum></analysis></response>
|
@@ -0,0 +1,2 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<response version="3"><status><code>0</code><message>Success</message></status><query><parameter name="api_key">ACUHDSIWZSTDVWVHP</parameter><parameter name="id">music://id.echonest.com/~/TR/TRLFPPE11C3F10749F</parameter></query><analysis><tempo confidence="0.723">120.163</tempo></analysis></response>
|
@@ -0,0 +1,2 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<response version="3"><status><code>0</code><message>Success</message></status><query><parameter name="api_key">5ZAOMB3BUR8QUN4PE</parameter><parameter name="id">music://id.echonest.com/~/TR/TRLFPPE11C3F10749F</parameter></query><analysis><time_signature confidence="0.064">4</time_signature></analysis></response>
|
Binary file
|
@@ -0,0 +1,60 @@
|
|
1
|
+
$:.unshift File.dirname(__FILE__)
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
require "echonest"
|
5
|
+
|
6
|
+
include SpecHelper
|
7
|
+
|
8
|
+
describe Echonest::Response do
|
9
|
+
before do
|
10
|
+
@success = Echonest::Response.new(<<EOM)
|
11
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
12
|
+
<response version="3">
|
13
|
+
<status>
|
14
|
+
<code>0</code>
|
15
|
+
<message>Success</message>
|
16
|
+
</status>
|
17
|
+
<query>
|
18
|
+
<parameter name="api_key">5ZAOMB3BUR8QUN4PE</parameter>
|
19
|
+
<parameter name="id">music://id.echonest.com/~/AR/ARH6W4X1187B99274F</parameter>
|
20
|
+
</query>
|
21
|
+
<artist>
|
22
|
+
<name>Radiohead</name>
|
23
|
+
<id>music://id.echonest.com/~/AR/ARH6W4X1187B99274F</id>
|
24
|
+
<foreign_id>music://id.echonest.com/5ZAOMB3BUR8QUN4PE/AR/1</foreign_id>
|
25
|
+
<familiarity>0.96974159665</familiarity>
|
26
|
+
</artist>
|
27
|
+
</response>
|
28
|
+
EOM
|
29
|
+
|
30
|
+
@failure = Echonest::Response.new(<<EOM)
|
31
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
32
|
+
<response version="3">
|
33
|
+
<status>
|
34
|
+
<code>1</code>
|
35
|
+
<message>Invalid API key</message>
|
36
|
+
</status>
|
37
|
+
<query>
|
38
|
+
<parameter name="api_key">XXXXXX</parameter>
|
39
|
+
<parameter name="id">music://id.echonest.com/~/AR/ARH6W4X1187B99274F</parameter>
|
40
|
+
</query>
|
41
|
+
</response>
|
42
|
+
EOM
|
43
|
+
end
|
44
|
+
|
45
|
+
it "should return status" do
|
46
|
+
@success.status.code.should eql(0)
|
47
|
+
@success.status.message.should eql('Success')
|
48
|
+
@success.success?.should be_true
|
49
|
+
@success.xml.find('/response/artist/name').first.content.should eql('Radiohead')
|
50
|
+
|
51
|
+
@failure.status.code.should eql(1)
|
52
|
+
@failure.status.message.should eql('Invalid API key')
|
53
|
+
@failure.success?.should be_false
|
54
|
+
end
|
55
|
+
|
56
|
+
it "should return query" do
|
57
|
+
@success.query[:id].should eql('music://id.echonest.com/~/AR/ARH6W4X1187B99274F')
|
58
|
+
@success.query[:api_key].should eql('5ZAOMB3BUR8QUN4PE')
|
59
|
+
end
|
60
|
+
end
|
data/spec/spec.opts
ADDED
data/spec/spec_helper.rb
ADDED
metadata
ADDED
@@ -0,0 +1,119 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: ruby-echonest
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.6
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- youpy
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
|
12
|
+
date: 2009-10-11 00:00:00 +09:00
|
13
|
+
default_executable:
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
16
|
+
name: libxml-ruby
|
17
|
+
type: :runtime
|
18
|
+
version_requirement:
|
19
|
+
version_requirements: !ruby/object:Gem::Requirement
|
20
|
+
requirements:
|
21
|
+
- - ">="
|
22
|
+
- !ruby/object:Gem::Version
|
23
|
+
version: "0"
|
24
|
+
version:
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: httpclient
|
27
|
+
type: :runtime
|
28
|
+
version_requirement:
|
29
|
+
version_requirements: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: "0"
|
34
|
+
version:
|
35
|
+
description: An Ruby interface for Echo Nest Developer API
|
36
|
+
email: youpy@buycheapviagraonlinenow.com
|
37
|
+
executables: []
|
38
|
+
|
39
|
+
extensions: []
|
40
|
+
|
41
|
+
extra_rdoc_files:
|
42
|
+
- README.rdoc
|
43
|
+
- ChangeLog
|
44
|
+
files:
|
45
|
+
- README.rdoc
|
46
|
+
- ChangeLog
|
47
|
+
- Rakefile
|
48
|
+
- spec/api_spec.rb
|
49
|
+
- spec/echonest_spec.rb
|
50
|
+
- spec/fixtures/get_bars.xml
|
51
|
+
- spec/fixtures/get_beats.xml
|
52
|
+
- spec/fixtures/get_duration.xml
|
53
|
+
- spec/fixtures/get_end_of_fade_in.xml
|
54
|
+
- spec/fixtures/get_key.xml
|
55
|
+
- spec/fixtures/get_loudness.xml
|
56
|
+
- spec/fixtures/get_metadata.xml
|
57
|
+
- spec/fixtures/get_mode.xml
|
58
|
+
- spec/fixtures/get_sections.xml
|
59
|
+
- spec/fixtures/get_segments.xml
|
60
|
+
- spec/fixtures/get_start_of_fade_out.xml
|
61
|
+
- spec/fixtures/get_tatums.xml
|
62
|
+
- spec/fixtures/get_tempo.xml
|
63
|
+
- spec/fixtures/get_time_signature.xml
|
64
|
+
- spec/fixtures/sample.mp3
|
65
|
+
- spec/response_spec.rb
|
66
|
+
- spec/spec.opts
|
67
|
+
- spec/spec_helper.rb
|
68
|
+
- lib/echonest/api.rb
|
69
|
+
- lib/echonest/element/bar.rb
|
70
|
+
- lib/echonest/element/beat.rb
|
71
|
+
- lib/echonest/element/loudness.rb
|
72
|
+
- lib/echonest/element/section.rb
|
73
|
+
- lib/echonest/element/segment.rb
|
74
|
+
- lib/echonest/element/tatum.rb
|
75
|
+
- lib/echonest/element/value_with_confidence.rb
|
76
|
+
- lib/echonest/response.rb
|
77
|
+
- lib/echonest/version.rb
|
78
|
+
- lib/echonest.rb
|
79
|
+
has_rdoc: true
|
80
|
+
homepage: http://github.com/youpy/ruby-echonest
|
81
|
+
licenses: []
|
82
|
+
|
83
|
+
post_install_message:
|
84
|
+
rdoc_options:
|
85
|
+
- --title
|
86
|
+
- ruby-echonest documentation
|
87
|
+
- --charset
|
88
|
+
- utf-8
|
89
|
+
- --opname
|
90
|
+
- index.html
|
91
|
+
- --line-numbers
|
92
|
+
- --main
|
93
|
+
- README.rdoc
|
94
|
+
- --inline-source
|
95
|
+
- --exclude
|
96
|
+
- ^(examples|extras)/
|
97
|
+
require_paths:
|
98
|
+
- lib
|
99
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: "0"
|
104
|
+
version:
|
105
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
106
|
+
requirements:
|
107
|
+
- - ">="
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: "0"
|
110
|
+
version:
|
111
|
+
requirements: []
|
112
|
+
|
113
|
+
rubyforge_project: ruby-echonest
|
114
|
+
rubygems_version: 1.3.5
|
115
|
+
signing_key:
|
116
|
+
specification_version: 3
|
117
|
+
summary: An Ruby interface for Echo Nest Developer API
|
118
|
+
test_files: []
|
119
|
+
|