Announcing the new InDepthAnalysisResult.segmentData
GraphQL field, deprecating InDepthAnalysisResult.segments
, an updated overview of our classifiers and a GraphQL query builder.
New Track Segment GraphQL Fieldโ
We added a new GraphQL field segmentData
to our InDepthAnalysisResult
type. It will replace the old InDepthAnalysisResult.segments
field which is now deprecated. We recommend you to switch over and use InDepthAnalysisResult.segmentData
.
In addition to restructuring how the data is exposed it now also exposes the voice and genre classifier results for each segment.
You can find a quick overview over all the new types at the end of the changelog.
GraphQL Query Builderโ
We also got a lot of feedback from people new to GraphQL about being overwhelmed with writing queries and grasping what data we expose. Because of this we are proud to present you our new GraphQL Query Builder. You can easily select a list of classifiers you need or want to check out. We generate a GraphQL Query out of the selected classifiers that can be executed using GraphiQL or against a test data set. The latter allows peeking into the data without having to care about setting up an integration or handle authentication. Check it out ๐
Classifier Overviewโ
We also added a new overview of all public classifiers available through the Cyanite.ai GraphQL API. You can find the list here.
New GraphQL Typesโ
Here is an overview over all new available fields and types on our GraphQL API.
type InDepthAnalysisResult {
"""
The classifier results on a track segment level. Useful if you want to have a deeper insight into a track over time.
"""
segmentData: AnalysisSegmentData!
moodMeanScores: [AnalysisMoodMeanScore!]!
}
"""
Describes the mood classifier result over time.
"""
type AnalysisSegmentDataMoodScore {
"""
The mood type identifier.
"""
type: String!
"""
Human readable mood type.
"""
name: String!
"""
The confidence of the classifier, for the given mood type, mapped to the index of the timestamp on `AnalysisSegmentData`.
"""
values: [Float!]!
}
"""
Describes the voice classifier results over time, mapped to the index of the timestamps.
"""
type VoiceSegmentScores {
"""
Scores for female voice, mapped to the index of the timestamp.
"""
female: [Float]!
"""
Scores for instrumental, mapped to the index of the timestamp.
"""
instrumental: [Float]!
"""
Scores for male voice, mapped to the index of the timestamp.
"""
male: [Float]!
}
"""
Describes the mood classifier result over time.
"""
type AnalysisSegmentDataGenreScore {
"""
The genre identifier.
"""
type: String!
"""
Human readable genre.
"""
name: String!
"""
The confidence of the classifier, for the given mood type, mapped to the index of the timestamp on `AnalysisSegmentData`.
"""
values: [Float!]!
}
"""
Describes the classifier result over time.
"""
type AnalysisSegmentData @public {
"""
The timestamp of each segment.
"""
timestamps: [Float!]!
"""
Mood classifier scores over time.
"""
moodScores: [AnalysisSegmentDataMoodScore!]!
"""
Genre classifier scores over time.
"""
genreScores: [AnalysisSegmentDataGenreScore!]!
"""
The valence for each segment, mapped to the index of the timestamp.
"""
valence: [Float!]!
"""
The arousal for each segment, mapped to the index of the timestamp.
"""
arousal: [Float!]!
"""
The voice segment scores for each segment, mapped to the index of the timestamp.
"""
voiceScores: VoiceSegmentScores!
}
type AnalysisMoodMeanScore {
type: String!
name: String!
value: Float!
}