Intelligent Personalisation

The Audiogum Platform allows explicit and implicit tracking user taste allowing likes and dislikes of various target types such as artists, genres, albums, songs, playlists, internet radio, podcasts and more.

The taste profile can be built explicitly by gathering user likes / dislikes through a graphical or voice user interface or asking user permissions to examine a phone music library content.

The types supported as a target for the taste profile are returned in GET /v1/config along with other configuration items - for example:

GET /v1/config

{
  "services": [ ... ],
  "countrycode": "gb",
  :
  "tastetypes": ["album",
                 "artist",
                 "audiobook",
                 "author",
                 "genre",
                 "internetradio",                 
                 "playlist",
                 "podcast",
                 "podcastepisode",
                 "radioplaylist",
                 "single",
                 "song",
                 "user"]
}

APIPurpose
POST /v1/user/tasteAdds items to the taste profile by ID or content service reference.
POST /v1/user/taste/namesAdds items to the taste profile by name - useful for "liking" items found on a USB disk or in a phone library.
POST /v1/user/taste/import/{service}Adds artists to the user's taste profile when data is available from the specified service.

As the taste profile builds, recommendations, statistics and different "cuts" on how to play the unique aspects of the profile become available. These APIs can be used to create info-graphics for the user or to offer different ways to play music the user will like.

APIPurpose
GET /v1/user/playmecutsGets suggested dynamic playlists that dissect the taste profile.
GET /v1/user/recommended/{type}/{service}Gets recommendations of a specified type of content from the requested service based on the user's taste profile. Service configuration includes a recommendtypes key that lists the types that can be recommended for a service.
GET /v1/user/tasteGets the taste profile including basic statistics on types.
GET /v1/user/taste/tags/{tagtype}Gets a view on the taste profile by a specific tag type such as era or location.
GET /v1/user/viewsLists configured views (these can be customised for your experience). Views allow grouping of content to reduce API hits and are useful for display on a home page or recommendations page within an app for example.
GET /v1/user/views/{viewname}Returns results in various 'buckets' depending on view configuration; examples include favourite artists and recommended content.

Examples of playing music based on the taste profile are shown on the playback page.