Melomics API Handbook

Similar documents
ENDNOTE WEB WHAT IS ENDNOTE WEB? Getting started guide. Setting up an EndNote Web account. Library

Introduction to EndNote X7

Introduction to EndNote X8

La Salle University MUS 150 Art of Listening Final Exam Name

Device Management Requirements

G-Stomper Timing & Measure V Timing & Measure... 2

administration access control A security feature that determines who can edit the configuration settings for a given Transmitter.

The Elements of Music. A. Gabriele

5620 SERVICE AWARE MANAGER. NTP Driver Version Guide

Getting started with Mendeley

Web Services Reliable Messaging TC WS-Reliability 1.1

EndNote X6 Workshop Michigan State University Libraries

The following example shows creating an instance of the Files View, name FILES, version view called "MyFiles".

EM7680 TV Streamer powered by LibreELEC Kodi

User Manual for ICP DAS WISE Monitoring IoT Kit -Microsoft Azure IoT Starter Kit-

5620 SAM SERVICE AWARE MANAGER. SMM GNE Driver Version Guide

Introduction to Mendeley

GANZ Bridge Powered by

a start time signature, an end time signature, a start divisions value, an end divisions value, a start beat, an end beat.

EM7580 TV Streamer powered by OpenELEC Kodi

EndNote X8 Workbook. Getting started with EndNote for desktop. More information available at :

Analyzer Documentation

CSC475 Music Information Retrieval

InPlace User Guide for Faculty of Arts, Education and Social Sciences Staff

Mendeley. By: Mina Ebrahimi-Rad (Ph.D.) Biochemistry Department Head of Library & Information Center Pasteur Institute of Iran

Elements of Music. How can we tell music from other sounds?

EndNote Online Getting Started Workbook

La Salle University. I. Listening Answer the following questions about the various works we have listened to in the course so far.

EndNote X7. Contents.

Introduction to EndNote Online

KEPServerEX IoTGateway to Azure IoT Hub. Initial Setup and Configuration

OMA Device Management Server Delegation Protocol

y POWER USER MUSIC PRODUCTION and PERFORMANCE With the MOTIF ES Mastering the Sample SLICE function

T : Internet Technologies for Mobile Computing

Cisco StadiumVision Defining Channels and Channel Guides in SV Director

Autotask Integration Guide

Bradford College Library Service

Chapter 3 The Wall using the screen

ITU-T J.205. Corrigendum 1 (01/2013)

MultiQ Digital signage template system for widescreen monitors

Using EndNote X7 to Manage Bibliographies on a Mac!

Grande2Go FAQs. 1. What is Grande2Go?

OBS Studio Installation / Settings

Using EndNote X7 for Windows to Manage Bibliographies A Guide to EndNote for Windows by Information Services Staff of UTS Library

Using EndNote X4 to Manage Bibliographies

EndNote X7 Mac CSU User Manual

Bradford College Library Service

Fibe TV Reference Guide

Getting started with music theory

Endnote Workbook with exercises

The Administrator s Guide to using EndNote online

Nielsen Local Monthlies API Release 1.0 Documentation

Welcome to Fetch. Home screen. Everything you do on your Fetch Mini starts from this Main Menu screen.

WASD PA Core Music Curriculum

UNIT 1: QUALITIES OF SOUND. DURATION (RHYTHM)

The Million Song Dataset

Neuratron AudioScore. Quick Start Guide

5620 SAM SERVICE AWARE MANAGER AAA GNE Driver Version Guide

EndNote for Mac. User Guide. UTS Library University of Technology Sydney UTS CRICOS PROVIDER CODE 00099F

D-BOX in SMPTE/DCI DCP

How to Describe a Sound Trademark in an Application (in the form of a staff)

2. Get a free Adobe ID at adobe.com (Click Sign In (top right corner), click Get an Adobe ID, fill in the form and click Sign Up)

Ref. Ares(2017) /03/2017. Synthetic Handbook for IoT Testbeds. IoT Lab. European Research Project

PDF ED SHEERAN PERFECT NOTES ARCHIVE

Music Representations

Swinburne University of Technology

INTRODUCTION TO ENDNOTE X4

C8188 C8000 1/10. digital audio modular processing system. 4 Channel AES/EBU I/O. features. block diagram. 4 balanced AES inputs

USING ENDNOTE X4: ADVANCED SKILLS

PulseCounter Neutron & Gamma Spectrometry Software Manual

Editing EndNote Output Styles Rosemary Rodd 5/23/ Configuring EndNote at the University Managed Cluster sites

YOUR LIBRARY YOUR. Using EndNote online. Table of Contents

Library Guide to EndNote Online

University of Cambridge Computing Service EndNote Basic (Online) for Bibliographies Rosemary Rodd 23 May 2014

OSPI-Developed Performance Assessment. A Component of the Washington State Assessment System. The Arts: Music. Cartoon Soundtrack.

Using EndNote Online: health

VCE Music Style and Composition

IMSERC NMR MANUAL 05: Manual Operation of Agilent NMR Spectrometers (Chem350 Interface)

Anchor Standard 2: Students will be able to notate musical patterns (rhythmic and tonal) to represent an understanding of musical sounds.

Defining and Labeling Circuits and Electrical Phasing in PLS-CADD

Positive Attendance. Overview What is Positive Attendance? Who may use Positive Attendance? How does the Positive Attendance option work?

Anchor Standard 2: Students will be able to notate musical patterns (rhythmic and tonal) to represent an understanding of musical sounds.

Chapter 2--Rhythm. Student: 1. The regular pulse in music is called the A. beat B. meter C. tempo D. rhythm E. measure

INSTRUCTIONS TO CANDIDATES

3rd Grade Music Music

AUTODOME IP 4000 HD / AUTODOME IP 5000 HD / AUTODOME IP 5000 IR. en Software Manual

Federation Bells Composer s Guide - Monday, July 01, Federation Bells Composers Manual

Welcome to Fetch. Handy Tips 4. Watching Live TV 6. Using the TV Guide 8. Recording TV 10. Managing your Recordings 14. Watching Catch-Up TV on TV 18

Getting started with EndNote X7

The University of Texas

Deliverable D8.4 Synthetic Handbook for IoT testbeds

Using RefWorks Write-N-Cite for Mac v.2.5

VMware Pulse IoT Center 1.1 Release Notes

SmartScore Quick Tour

Music Study Guide. Moore Public Schools. Definitions of Musical Terms

Written Piano Music and Rhythm

Music Curriculum Map

Effects of Civil War Pathfinder

EndNote for Mac. EndNote for PC. User Guide. UTS Library University of Technology Sydney UTS CRICOS PROVIDER CODE 00099F

GENERAL EDUCATION AND TRAINING CREATIVE ARTS MUSIC ASSESSMENT TASK NOVEMBER 2015 GRADE 8

Transcription:

Melomics API Handbook versión 1.1 April 13, 2013 Melomics Media Inc. Melomics API Handbook 1

Melomics API Handbook Introduction Access To API and Authentication Understanding API methods responses Searching for songs Searching for users Searching for user's public playlists OAuth authentication API Calls Table Introduction This document describes version 1.0 of Melomics API, which allows you to access its repository of musical contents (available in Melomics browser). By using the methods providing by the Melomics API you will be able to browse contents from your app. In addition, Melomics API also provides methods for accessing to the public content of Melomics users such as their public song lists. In order to a better understanding about how this API works some code example are shown and explained. The used format is JSON and the base URL for API endpoints is: http://melomics.com/api/... Access To API and Authentication To access the version 1.0 of Melomics API you do not need any API key due to the calls can be accomplished in an anonymously way. Understanding API methods responses The Melomics API returns data in JSON format, which contains information about songs, users or lists of song (playlists). Here is an example of response for songs labeled with tag "piano". The call will return a list with all the songs matching instrument piano. Melomics API Handbook 2

Example http://melomics.com/api/songs/?q=%23instrument:piano Response { "songs":[ { "author":{ "artistname":"melomics", "avatar": "https://secure.gravatar.com/avatar/e92c4472c967de848b7958c6c2f53c0d?d=identicon&rg", "description":"<p><strong>melomics</strong>isthefirstcomputerthathasmastered humanmusicallanguage.</p>\n\n<p>withmorethanabillionsongs,itsproductionconstitutesthe biggestcollectionofmusicintheworld,andthemaincontributionto<strong>melomics</strong> catalogue.</p>\n", "email":"", "id":"5527d30c-25af-46e5-8707-0428741afb4a", "lang":"en", "name":"", "payment":{ "email":"melomics.spain@gmail.com" "permalink":"melomics", "showemail":false, "surname":"", "uri":"@melomics", "username":"melomics" "description":"", "duration":276000, "entities":{ "midi":{ "price":-1.0 "mp3":{ Melomics API Handbook 3

"price":-1.0 "pdf":{ "price":-1.0 "xml":{ "price":-1.0 } "image":"/mexels/ebb39b729b-78a4-4591-bc13-640d72c47b33", "like":null, "locked":false, "songid":"ebb39b729b-78a4-4591-bc13-640d72c47b33", "numlikes":0, "owner":{ "artistname":"melomics", "avatar": "https://secure.gravatar.com/avatar/e92c4472c967de848b7958c6c2f53c0d?d=identicon&rg", "description":"<p><strong>melomics</strong>isthefirstcomputerthathasmastered humanmusicallanguage.</p>\n\n<p>withmorethanabillionsongs,itsproductionconstitutesthe biggestcollectionofmusicintheworld,andthemaincontributionto<strong>melomics</strong> catalogue.</p>\n", "email":"", "id":"5527d30c-25af-46e5-8707-0428741afb4a", "lang":"en", "name":"", "payment":{ "email":"melomics.spain@gmail.com" "permalink":"melomics", "showemail":false, "surname":"", "uri":"@melomics", "username":"melomics" "permalink":"8", "tags":[ "effect:gliss", "effect:trill", "tempo:66bpm", "instrument:piano", "effect:grace" ], Melomics API Handbook 4

"title":"8", "totalprice":-1.0, "type":"song", "uri":"@melomics/8", "visibility":"public" } {...} {...} {...} (otherlistedsongs) ], } "more":false Song Attributes Attribute Description Example value author song author See Author attributes buy song available for sale (boolean) True description description My favourite song download song available for downloading (boolean) False duration duration in milliseconds 276000 entities available formats for the song See Entity attributes image image associated to the song /mexels/ebb39b729b 78a4 4591 bc 13 640d72c47b33 locked lock state (boolean) False songid string ID ebb39b729b 78a4 4591 bc13 640 d72c47b33 Melomics API Handbook 5

numlikes number of like hits 48 owner song owner See Owner attributes permalink permalink of the song 85 tags information related to song See Tag attributes title song title Happy bells totalprice price for the song (dollars) 4.00 type item type song uri uniform resource identifier for the song @melomics/8 visibility visibility for other users Public Author Attributes Attribute Description Example value artistname author artist name Melomics avatar author avatar url https://secure.gravatar.com/avatar/e9 2c4472c967de848b7958c6c2f53c0 d?d=identicon&rg description author description Melomics is the first computer that has mastered human musical language. email author email melomics@melomics.com id author ID 5527d30c 25af 46e5 8707 042874 1afb4a lang author language en name author name Melomics Melomics API Handbook 6

permalink permalink of the author 8 showemail show or hide author email False surname author surname Comp uri uniform resource identifier for the autho@melomics username author username Melomics Entity attributes Attribute Description Example value midi.midi format 5527d30c.mid mp3.mp3 format 5527d30c.mp3 pdf.pdf format 5527d30c.pdf xml.xml format 5527d30c.xml midi, mp3, pdf and xml attributes Attribute Description Example value buy format available for sale (boolean) True download format available for downloading (boolean) True price price of the format $1.00 Melomics API Handbook 7

Owner Attributes Attribute Description Example value artistname owner artist name Melomics avatar owner avatar url https://secure.gravatar.com/avat ar/e92c4472c967de848b7958 c6c2f53c0d?d=identicon&rg description owner description Melomics hosts the largest repository of professional music. email owner email melomics@melomics.com id owner ID 5527d30c 25af 46e5 8707 04 28741afb4a lang owner language en name owner name Melomics permalink permalink of the owner 8 showemail show or hide owner email False surname owner surname Comp uri uniform resource identifier for th @melomics author username owner username Melomics Tag attributes Attribute Description Example value Melomics API Handbook 8

effect Effect of the song tremolo instrument Musical instrument used to perform th piano song style Musical style for a song electronica substyle Musical substyle for a song dance tempo Represent the speed of the song in 100 bpms Beat Steady pulse of the song. quaternary Dynamics The loudness of softness of the song forte Texture Complexity of the song monophonic Pagination As shown above, a search usually returns a list of songs. You can limit how many items you retrieve as well as the number of items listed per page by using the followings parameters: _from: determines the item from which the search starts to show results. For instance, imagine that a search returns 100 songs but you consider that 40 songs are sufficient. By using _from=60 the search will only display the items between 60 and 100. size: items per page. It can take values from 1 to 10 (default is 10). Melomics API Handbook 9

Searching for songs One of the most common things to do with the Melomics API is to search songs matching given parameters. These search parameters can be owner, instrument, style, duration, etc. Songs can be identified by id as well. Searching for songs can take several forms, which are shown as following: Searching by id The easiest way to search for a song is by id. You need to add the id at the end of the call. http://melomics.com/api/songs/[id] Example: http://melomics.com/api/songs/jf96ecdeea-1d59-4b3f-8d81-38a664f8afb3 Response: { "author":{ "artistname":"melomics", "avatar": "https://secure.gravatar.com/avatar/e92c4472c967de848b7958c6c2f53c0d?d=identicon&rg", "description":"<p><strong>melomics</strong>isthefirstcomputerthathasmasteredhuman musicallanguage.</p>\n\n<p>withmorethanabillionsongs,itsproductionconstitutesthebiggest collectionofmusicintheworld,andthemaincontributionto<strong>melomics</strong> catalogue.</p>\n", "email":"", "id":"5527d30c-25af-46e5-8707-0428741afb4a", "lang":"en", "name":"", "payment":{ "email":"melomics.spain@gmail.com" "permalink":"melomics", "showemail":false, "surname":"", "uri":"@melomics", "username":"melomics" "description":"", "duration":359000, Melomics API Handbook 10

"entities":{ "midi":{ "price":-1.0 "mp3":{ "price":-1.0 "pdf":{ "price":-1.0 "xml":{ "price":-1.0 } "image":"/mexels/jf96ecdeea-1d59-4b3f-8d81-38a664f8afb3", "like":null, "locked":false, "songid":"jf96ecdeea-1d59-4b3f-8d81-38a664f8afb3", "numlikes":0, "owner":{ "artistname":"melomics", "avatar": "https://secure.gravatar.com/avatar/e92c4472c967de848b7958c6c2f53c0d?d=identicon&rg", "description":"<p><strong>melomics</strong>isthefirstcomputerthathasmastered humanmusicallanguage.</p>\n\n<p>withmorethanabillionsongs,itsproductionconstitutes thebiggestcollectionofmusicintheworld,andthemaincontributionto <strong>melomics</strong>catalogue.</p>\n", "email":"", "id":"5527d30c-25af-46e5-8707-0428741afb4a", "lang":"en", "name":"", "payment":{ "email":"melomics.spain@gmail.com" "permalink":"melomics", "showemail":false, "surname":"", "uri":"@melomics", "username":"melomics" Melomics API Handbook 11

} "permalink":"7", "tags":[ "effect:trill", "effect:tremolo", "tempo:120bpm", "effect:mordent", "tempo:52bpm", "instrument:violin", "instrument:piano", "tempo:68bpm", "effect:grace", "effect:pizzicato" ], "title":"7", "totalprice":-1.0, "type":"song", "uri":"@melomics/7", "visibility":"public" Searching by parameters Searching by id is important, but not necessarily that interesting. The power of the Melomics API comes through the possibility of searching for songs in some other ways. For instance, you may be looking for songs which is performed with a specific instrument or belongs to a specific style. http://melomics.com/api/songs/?q=[query] This call returns a list of songs matching the given parameters. By default, results are ordered by relevance measured as the success of matching. The example below searches for songs related to instrument piano. http://melomics.com/api/songs/?q=%23instrument:piano You can also use the boolean connectives and, or and not, even parentheses. The example below will return songs related to instrument violin excluding those related to piano. http://melomics.com/api/songs/?q=not%20%23instrument:piano%20and%20%23instrument:violin And this call search for songs whose owner is Melomics and its duration is between 2:30 and 4:40: Melomics API Handbook 12

http://melomics.com/api/songs/?q=%23username:melomics%20and%20[2:30-4:40] As commented above many parameters can be used in order to make sure the search is as accurate as possible. Below, the available query parameters (all optional) are described: Parameter Description Owner Instrument Style Substyle User who is the owner of the song Musical instrument used to perform the song su as piano, violin, flute, etc. Musical style for a song Musical substyle for a song Tempo Represent the speed of the song such as 100 bpm, 108 bpm, etc... Duration Beat Dynamics Desired duration in [mm:ss] format of matchi song. To search songs of a specific duration us [duration]. By default songs are given som slack: They are allowed to be up to 10 second shorter or longer than the specified duration. Yo can also use [duration_1 duration_2] if you wa to search in a duration range. Steady pulse of the song such as 4/4, quaternary etc... The loudness or softness of the song such as f, f fff, etc... Effect Effect of the song such as slap, tremolo, etc... Texture Complexity of the song Melomics API Handbook 13

Searching for users http://melomics.com/api/users/[username] This call returns information about the user [username]. Searching for user's public playlists An user can group songs into lists. These lists receive the name of playlists, which can be identified by id and shared to the world. Melomics API provide methods for searching these user s public playlists. An user can only add songs that he owns to a playlist and a song can belong to multiple playlists. Listing all the public playlists of specific user http://melomics.com/api/users/[username]/playlists This call returns a list with all the public playlists for the user [username]. Pagination parameters (_from, size) can be used to customize the way in which results are displayed. Searching for a specific public playlist of an user http://melomics.com/api/users/[username]/playlists/[playlistid] This call returns a list with songs belonging to the playlist [playlist] for the user [username]. In this case, pagination parameters (_from, size) can also be used to customize the way in which results are displayed. Searching for user's public content http://melomics.com/api/users/[username]/contents/[permalink] This call returns the public content (playlist or playlist list) that the user [username] owns by using the specific permalink [permalink] for this content. Melomics API Handbook 14

OAuth authentication Melomics API uses the protocol OAuth 1.0 (RFC 6749) in order to authenticate users. The API keys can be obtained at https://melomics.com/oauth/developer (you can follow the link from your profile s page). Since the API keys are unique for each user, the provided description should be general enough to cover your purposes as a developer, and not to reflect a specific application. Once you got the keys, they won t be active until whitelisted. Temporary credential request (RFC section 2.1) https://melomics.com/api/oauth/initiate Out of band (oob) configuration is supported Resource owner authorization (RFC section 2.2) https://melomics.com/oauth/authorize A callback could be provided to cover rejection and errors: https://melomics.com/oauth/authorize?...&error_callback=[uri]&... In case of error, the browser is redirected to error_callback providing a parameter callback_status=<errorcode+ description>. Access token request (RFC section 2.3) https://melomics.com/api/oauth/token Melomics API Handbook 15

Extra requirements: The noncetoken must be an alphanumeric string with length between 20 and 30 characters: [a-za-z0-9]{20,30} HMAC SHA1 signature method is preferred. Melomics API Handbook 16

API Calls Table API call Args Return Description /songs q _from size { songs: [song], more: bool } Return a list with the songs matching given parameters (i.e: owner, instrument, style, duration, etc...) /songs/[id] song Return information about the song with given id /songs/[id]/like { like, numlikes } Return information of likes of the song with given id [POST] /songs/[id]/like like: true/false {} if ok Put or remove a song from favorites (OAuth login required) /users/[username] user (json): {... } Return information about the user [username] /users/[username]/contents/[permalink] user (json): {... } Return information about the public content [permalink] for the user [username] /users/[username]/playlists q _from size playlists: [{ from to... }] Return a list with information about the public playlists for user [username] /users/[username]/playlists/[playlistid] q _from size playlists: [{ from to... }] Return information about the public playlist [playlistid] for user [username] Melomics API Handbook 17