Skip to main content

Changelog 2021-10-13

· 2 min read
Laurin Quast

New sub-genre classifier, improved genre classifier and an improved similarity search. Removal of deprecated API types.

New Sub-Genre Classifier

The Cyanite API now exposes classifier data for the following sub-genres in addition to our existing genres: bluesRock, folkRock, hardRock, indieAlternative, psychedelicProgressiveRock, punk, rockAndRoll, popSoftRock, abstractIDMLeftfield, breakbeatDnB, deepHouse, electro, house, minimal, synthPop, techHouse, techno, trance, contemporaryRnB, gangsta, jazzyHipHop, popRap, trap, blackMetal, deathMetal, doomMetal, heavyMetal, metalcore, nuMetal, disco, funk, gospel, neoSoul, soul, bigBandSwing, bebop, contemporaryJazz, easyListening, fusion, latinJazz, smoothJazz, country and folk.

You can access the classifier data per track segment (AudioAnalysisV6Segments.subgenre) or as a mean value (AudioAnalysisV6Result.subgenre) for the whole track. In addition the API also expose a taxonomy of the predicted subgenre tags (AudioAnalysisV6Result.subgenreTags).

Please not that we previously already exposed subgenre edm classifier data. The AudioAnalysisV6Result.subgenreEdm fields are now deprecated and instead the new AudioAnalysisV6Result.subgenre field should be used for fetching the sub-genre classifier data. Please migrate to the new fields as we tend to remove the now deprecated fields in the future.

An example GraphQL Query Operation for fetching the subgenre classifier data could look similar to this:

query LibraryTrackQuery($libraryTrackId: ID!) {
libraryTrack(id: $libraryTrackId) {
__typename
... on LibraryTrackNotFoundError {
message
}
... on LibraryTrack {
id
audioAnalysisV6 {
__typename
... on AudioAnalysisV6Finished {
result {
# mean values for the complete track
subgenre {
bluesRock
folkRock
hardRock
# add more subgenres you are interested in here
}
segments {
timestamps
# segment values that can be mnapped to the timestamps
subgenre {
bluesRock
folkRock
hardRock
# add more subgenres you are interested in here
}
}
}
}
}
}
}
}

Check out our classifier overview documentation for more information or the updated query builder.

Improved Genre Classifier

The genre classifiers have been improved to give more accurate results. Furthermore, the country, folk and punk genre are now deprecated and will be removed in the future. Please use the country, folk and punk from the subgenre classifier instead.

The underlying algorithm powering the similarity search has been improved, yielding more accurate and better results when searching for similar tracks based on musical features.

Haven't tried the Similarity Search yet? Get started here!

Removal of old GraphQL API types

The InDepthAnalysis got deprecated in February 2021 in favor of LibraryTrack. We finally completely removed everything InDepthAnalysis related from our GraphQL schema.