Spoken words analyzer
AssigneeSpotify AB
InventorsTahora H. Nazer, Tristan Jehan
Life of this patent
Estimating the term…
Abstract
A lyrics analyzer generates tags and explicitness indicators for a set of tracks. These tags may indicate the genre, mood, occasion, or other features of each track. The lyrics analyzer does so by generating an n-dimensional vector relating to a set of topics extracted from the lyrics and then using those vectors to train a classifier to determine whether each tag applies to each track. The lyrics analyzer may also generate playlists for a user based on a single seed song by comparing the lyrics vector or the lyrics and acoustics vectors of the seed song to other songs to select songs that closely match the seed song. Such a playlist generator may also take into account the tags generated for each track.
Claims36
A method, comprising:
- receiving a plurality of tracks at an information storage and retrieval platform via an electronic communication from a datastore of tracks, the plurality of tracks including spoken words;
- extracting n topics summarizing the spoken words of the plurality of tracks, each topic consisting of a plurality of words found together within the spoken words of the plurality of tracks, where n is an integer;
- receiving a seed track from among the plurality of tracks;
- receiving, for at least one of the plurality of tracks, a seed track lyrics vector;
- calculating a similarity score for each of the plurality of tracks to the seed track, based on their respective n-dimensional lyrics vectors, thereby generating a plurality of similarity scores, wherein calculating the similarity score for at least one of the plurality of tracks further includes calculating the similarity between the lyrics vector of the seed track and the lyrics vector of at least one of the plurality of tracks;
- predicting, based on the n-dimensional lyrics vectors, a set of track tags for each of the plurality of tracks;
- identifying one or more similar track tags from among the set of track tags for each of the plurality of tracks;
- and
- generating a playlist of tracks based on the plurality of similarity scores and the one or more similar track tags.
A method, comprising:
- receiving a plurality of tracks at an information storage and retrieval platform via an electronic communication from a datastore of tracks, the plurality of tracks including spoken words;
- extracting n topics summarizing the spoken words of the plurality of tracks, each topic consisting of a plurality of words found together within the spoken words of the plurality of tracks, where n is an integer;
- generating, for each of the plurality of tracks, an n-dimensional lyrics vector using a generative statistical model based on the association of the spoken words of the track with the n topics, thereby generating a plurality of n-dimensional lyrics vectors;
- receiving a seed track from among the plurality of tracks;
- calculating a similarity score for each of the plurality of tracks to the seed track, based on their respective n-dimensional lyrics vectors, thereby generating a plurality of similarity scores;
- predicting, based on the n-dimensional lyrics vectors, a set of track tags for each of the plurality of tracks;
- identifying one or more similar track tags from among the set of track tags for each of the plurality of tracks;
- obtaining, for each track of the plurality of tracks, track metadata including:
- (i) at least one tag based on a playlist title, (ii) a title, (iii) an album identifier, (iv) an artist name, (v) a value representing popularity, (vi) a plurality of audio features, (vii) one or more genres, (viii) a sentiment score, or (ix) any combination of (i), (ii), (iii), (iv), (v), (vi), (vii) and (viii);
- and
- generating a playlist of tracks based on the plurality of similarity scores and the one or more similar track tags.
A system, comprising:
- a computer-readable memory storing executable instructions;
- and
- one or more processors in communication with the computer-readable memory, wherein, when the one or more processors execute the executable instructions, the one or more processors perform:
- receiving a plurality of tracks at an information storage and retrieval platform via an electronic communication from a datastore of tracks, the plurality of tracks including spoken words;
- extracting n topics summarizing the spoken words of the plurality of tracks, each topic consisting of a plurality of words found together within the spoken words of the plurality of tracks, where n is an integer;
- generating, for each of the plurality of tracks, an n-dimensional lyrics vector using a generative statistical model based on the association of the spoken words of the track with the n topics, thereby generating a plurality of n-dimensional lyrics vectors;
- receiving a seed track from among the plurality of tracks;
- receiving, for at least one of the plurality of tracks, a seed track lyrics vector;
- calculating a similarity score for each of the plurality of tracks to the seed track, based on their respective n-dimensional lyrics vectors, thereby generating a plurality of similarity scores, wherein calculating the similarity score for at least one of the plurality of tracks further includes calculating the similarity between the lyrics vector of the seed track and the lyrics vector of at least one of the plurality of tracks;
- predicting, based on the n-dimensional lyrics vectors, a set of track tags for each of the plurality of tracks;
- identifying one or more similar track tags from among the set of track tags for each of the plurality of tracks;
- and
- generating a playlist of tracks based on the plurality of similarity scores and the one or more similar track tags.
A system, comprising:
- a computer-readable memory storing executable instructions;
- and
- one or more processors in communication with the computer-readable memory, wherein, when the one or more processors execute the executable instructions, the one or more processors perform:
- receiving a plurality of tracks at an information storage and retrieval platform via an electronic communication from a datastore of tracks, the plurality of tracks including spoken words;
- extracting n topics summarizing the spoken words of the plurality of tracks, each topic consisting of a plurality of words found together within the spoken words of the plurality of tracks, where n is an integer;
- generating, for each of the plurality of tracks, an n-dimensional lyrics vector using a generative statistical model based on the association of the spoken words of the track with the n topics, thereby generating a plurality of n-dimensional lyrics vectors;
- receiving a seed track from among the plurality of tracks;
- calculating a similarity score for each of the plurality of tracks to the seed track, based on their respective n-dimensional lyrics vectors, thereby generating a plurality of similarity scores;
- predicting, based on the n-dimensional lyrics vectors, a set of track tags for each of the plurality of tracks;
- identifying one or more similar track tags from among the set of track tags for each of the plurality of tracks;
- obtaining, for each track of the plurality of tracks, track metadata including:
- (i) at least one tag based on a playlist title, (ii) a title, (iii) an album identifier, (iv) an artist name, (v) a value representing popularity, (vi) a plurality of audio features, (vii) one or more genres, (viii) a sentiment score, or (ix) any combination of (i), (ii), (iii), (iv), (v), (vi), (vii) and (viii);
- and
- generating a playlist of tracks based on the plurality of similarity scores and the one or more similar track tags.
A non-transitory computer-readable medium having stored thereon one or more sequences of instructions for causing one or more processors to perform:
- receiving a plurality of tracks at an information storage and retrieval platform via an electronic communication from a datastore of tracks, the plurality of tracks including spoken words;
- extracting n topics summarizing the spoken words of the plurality of tracks, each topic consisting of a plurality of words found together within the spoken words of the plurality of tracks, where n is an integer;
- generating, for each of the plurality of tracks, an n-dimensional lyrics vector using a generative statistical model based on the association of the spoken words of the track with the n topics, thereby generating a plurality of n-dimensional lyrics vectors;
- receiving a seed track from among the plurality of tracks;
- receiving, for at least one of the plurality of tracks, a seed track lyrics vector;
- calculating a similarity score for each of the plurality of tracks to the seed track, based on their respective n-dimensional lyrics vectors, thereby generating a plurality of similarity scores, wherein calculating the similarity score for at least one of the plurality of tracks further includes calculating the similarity between the lyrics vector of the seed track and the lyrics vector of at least one of the plurality of tracks;
- predicting, based on the n-dimensional lyrics vectors, a set of track tags for each of the plurality of tracks;
- identifying one or more similar track tags from among the set of track tags for each of the plurality of tracks;
- and
- generating a playlist of tracks based on the plurality of similarity scores and the one or more similar track tags.
A non-transitory computer-readable medium having stored thereon one or more sequences of instructions for causing one or more processors to perform:
- receiving a plurality of tracks at an information storage and retrieval platform via an electronic communication from a datastore of tracks, the plurality of tracks including spoken words;
- extracting n topics summarizing the spoken words of the plurality of tracks, each topic consisting of a plurality of words found together within the spoken words of the plurality of tracks, where n is an integer;
- generating, for each of the plurality of tracks, an n-dimensional lyrics vector using a generative statistical model based on the association of the spoken words of the track with the n topics, thereby generating a plurality of n-dimensional lyrics vectors;
- receiving a seed track from among the plurality of tracks;
- calculating a similarity score for each of the plurality of tracks to the seed track, based on their respective n-dimensional lyrics vectors, thereby generating a plurality of similarity scores;
- predicting, based on the n-dimensional lyrics vectors, a set of track tags for each of the plurality of tracks;
- identifying one or more similar track tags from among the set of track tags for each of the plurality of tracks;
- obtaining, for each track of the plurality of tracks, track metadata including:
- (i) at least one tag based on a playlist title, (ii) a title, (iii) an album identifier, (iv) an artist name, (v) a value representing popularity, (vi) a plurality of audio features, (vii) one or more genres, (viii) a sentiment score, or (ix) any combination of (i), (ii), (iii), (iv), (v), (vi), (vii) and (viii);
- and
- generating a playlist of tracks based on the plurality of similarity scores and the one or more similar track tags.
Dependencies are inferred from the claim text.