Module: Audd
- Defined in:
- lib/audd.rb,
lib/audd/client.rb,
lib/audd/errors.rb,
lib/audd/source.rb,
lib/audd/version.rb,
lib/audd/http_client.rb,
lib/audd/models/model.rb,
lib/audd/response_parser.rb,
lib/audd/recognize_request.rb,
lib/audd/models/error_response.rb,
lib/audd/models/deezer_metadata.rb,
lib/audd/models/spotify_metadata.rb,
lib/audd/models/music_brainz_entry.rb,
lib/audd/models/recognition_result.rb,
lib/audd/models/apple_music_metadata.rb,
lib/audd/models/recognize_success_response.rb,
sig/audd.rbs
Overview
Unofficial Ruby SDK for the AudD music recognition API.
audd = Audd.new("your_token")
result = audd.recognize(file: "clip.mp3").execute!
result&.title
See https://docs.audd.io/ for the API itself.
Defined Under Namespace
Modules: ResponseParser, Source Classes: API, ApiError, AppleMusicMetadata, AuthenticationError, BlockedError, Client, ConfigurationError, ConnectionError, DeezerMetadata, Error, ErrorResponse, HttpClient, InvalidAudioError, InvalidParameterError, InvalidRequestError, Model, MusicBrainzEntry, NeedsUpdateError, NotReleasedError, QuotaError, RateLimitError, RecognitionResult, RecognizeRequest, RecognizeSuccessResponse, SerializationError, ServerError, SpotifyMetadata, StreamLimitError, SubscriptionError, TimeoutError
Constant Summary collapse
- ERROR_CLASSES_BY_CODE =
Maps AudD's numeric error codes onto the classes above. The code list is the enum in the OpenAPI
ErrorResponseschema; 40 has no documented meaning, so it falls through to ServerError along with anything new. { 900 => AuthenticationError, 901 => AuthenticationError, 903 => AuthenticationError, 902 => QuotaError, 904 => SubscriptionError, 905 => SubscriptionError, 50 => InvalidRequestError, 51 => InvalidRequestError, 600 => InvalidRequestError, 601 => InvalidRequestError, 602 => InvalidRequestError, 700 => InvalidRequestError, 701 => InvalidRequestError, 702 => InvalidRequestError, 906 => InvalidRequestError, 300 => InvalidAudioError, 400 => InvalidAudioError, 500 => InvalidAudioError, 610 => StreamLimitError, 611 => RateLimitError, 907 => NotReleasedError, 19 => BlockedError, 31337 => BlockedError, 20 => NeedsUpdateError, 100 => ServerError, 1000 => ServerError }.freeze
- VERSION =
"0.2.0"
Class Method Summary collapse
-
.error_class_for(code) ⇒ Object
Unknown codes are still errors — just not ones we can name.
- .new(api_token) ⇒ Object
Class Method Details
.error_class_for(code) ⇒ Object
Unknown codes are still errors — just not ones we can name.
122 123 124 |
# File 'lib/audd/errors.rb', line 122 def self.error_class_for(code) ERROR_CLASSES_BY_CODE.fetch(code, ServerError) end |
.new(api_token) ⇒ Object
60 61 62 63 64 65 66 |
# File 'lib/audd.rb', line 60 def self.new(api_token) if api_token.nil? raise ConfigurationError, "No AudD api_token given. Get one at https://dashboard.audd.io." end API.new(api_token) end |