IP Library › Granted Patent US 12,277,163
Granted Patent B2
US 12,277,163 · App. 18/048,799 · Granted Apr 15, 2025

Systems and methods for media playlist generation

Inventors: Paul Lamere (Bath, ME); Zachary Damien Shaw (Arlington, MA); Aaron Paul Harmon (New York, NY); Marcus Daniel Better (Arlington, MA)
Assignee: Spotify AB
G06F16/4387G06F16/432
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,277,163
App. No.
18/048,799
Granted
Apr 15, 2025
Kind
B2
Abstract

The various implementations described herein include methods and devices for identifying and presenting content to users. In one aspect, a method includes providing a domain specific language (DSL) tool to a user of the computing device and receiving a plurality of user inputs via the DSL tool. The plurality of user inputs includes: an input identifying a DSL object corresponding to a media pool; an input identifying a DSL object corresponding to a mutator to be applied to the media pool; and inputs identifying a plurality of DSL objects corresponding to respective objectives for a media set list. The method also includes generating the media set list from the media pool based on the mutator and the objectives and presenting information about the generated media set list to the user.

Claims (60)

1. A method performed at a computing device having one or more processors and memory, the method comprising:

providing a domain specific language (DSL) tool for playlist creation to a user of the computing device;

receiving a plurality of user inputs via the DSL tool, the plurality of user inputs including:

an input identifying a DSL object corresponding to a media pool;

an input identifying a DSL object corresponding to a mutator to be applied to the media pool; and

inputs identifying a plurality of DSL objects corresponding to respective objectives for a playlist, wherein the playlist is an ordered sequence of media items and wherein the objectives include at least one of: an objective for separating tracks by the same artist within the playlist, an objective for avoiding duplicate tracks within the playlist, an objective for listener relevance, or an artist-based objective;

generating the playlist from the media pool, including ordering the sequence of media items, based on the mutator and the objectives; and

presenting information about the generated playlist to the user.

2. The method of claim 1 , further comprising receiving an input identifying a second media pool, wherein the playlist is generated from the media pool and the second media pool.

3. The method of claim 1 , wherein each objective has a corresponding priority attribute.

4. The method of claim 1 , wherein the mutator is one of: a filter, an ordering, or a transformation.

5. The method of claim 1 , wherein the objectives include a first set of objectives for a beginning of the playlist and a second set of objectives for a remainder of the playlist.

6. The method of claim 1 , further comprising:

evaluating the generated playlist; and

providing results of the evaluation to the user.

7. The method of claim 6 , wherein evaluating the generated playlist includes:

identifying a target end user or cohort for the playlist;

generating a personalized playlist for the target end user or cohort based on preferences of the target end user or cohort; and

evaluating the personalized playlist to ensure it meets the objectives.

8. The method of claim 6 , wherein the information about the generated playlist is presented to the user with the results of the evaluation.

9. The method of claim 1 , further comprising, after presenting the generated playlist:

receiving a revision to the objectives from the user; and

in response to receiving the revision, generating and presenting a revised playlist.

10. The method of claim 1 , further comprising receiving narration information from the user for the playlist, wherein the playlist is generated with the narration information.

11. The method of claim 1 , further comprising:

receiving a request to publish the generated playlist; and

in response to receiving the request, publishing the generated playlist to a plurality of end users.

12. The method of claim 1 , further comprising, after publishing the generated playlist:

evaluating usage of the generated playlist; and

presenting usage statistics from the evaluation to the user.

13. A computing device, comprising:

one or more processors;

memory; and

one or more programs stored in the memory and configured for execution by the one or more processors, the one or more programs comprising instructions for:

providing a domain specific language (DSL) tool for playlist creation to a user of the computing device;

receiving a plurality of user inputs via the DSL tool, the plurality of user inputs including:

an input identifying a DSL object corresponding to a media pool;

an input identifying a DSL object corresponding to a mutator to be applied to the media pool; and

inputs identifying a plurality of DSL objects corresponding to respective objectives for a playlist, wherein the playlist is an ordered sequence of media items and wherein the objectives include at least one of: an objective for separating tracks by the same artist within the playlist, an objective for avoiding duplicate tracks within the playlist, an objective for listener relevance, or an artist-based objective;

generating the playlist from the media pool, including ordering the sequence of media items, based on the mutator and the objectives; and

presenting information about the generated playlist to the user.

14. The computing device of claim 13 , wherein the one or more programs further comprise instructions for receiving an input identifying a second media pool, and wherein the playlist is generated from the media pool and the second media pool.

15. The computing device of claim 13 , wherein the mutator is one of: a filter, an ordering, or a transformation.

16. The computing device of claim 13 , wherein the one or more programs further comprise instructions for:

identifying a target end user or cohort for the playlist;

generating a personalized playlist for the target end user or cohort based on preferences of the target end user or cohort; and

evaluating the personalized playlist to ensure it meets the objectives.

17. A non-transitory computer-readable storage medium storing one or more programs configured for execution by a computing device having one or more processors and memory, the one or more programs comprising instructions for:

providing a domain specific language (DSL) tool for playlist creation to a user of the computing device;

receiving a plurality of user inputs via the DSL tool, the plurality of user inputs including:

an input identifying a DSL object corresponding to a media pool;

an input identifying a DSL object corresponding to a mutator to be applied to the media pool; and

inputs identifying a plurality of DSL objects corresponding to respective objectives for a playlist, wherein the playlist is an ordered sequence of media items and wherein the objectives include at least one of: an objective for separating tracks by the same artist within the playlist, an objective for avoiding duplicate tracks within the playlist, an objective for listener relevance, or an artist-based objective;

generating the playlist from the media pool, including ordering the sequence of media items, based on the mutator and the objectives; and

presenting information about the generated playlist to the user.

18. The non-transitory computer-readable storage medium of claim 17 , wherein the one or more programs further comprise instructions for receiving an input identifying a second media pool, and wherein the playlist is generated from the media pool and the second media pool.

19. The non-transitory computer-readable storage medium of claim 17 , wherein the one or more programs further comprise instructions for:

identifying a target end user or cohort for the playlist;

generating a personalized playlist for the target end user or cohort based on preferences of the target end user or cohort; and

evaluating the personalized playlist to ensure it meets the objectives.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 22, 2022
From: LAMERE, PAUL; SHAW, ZACHARY DAMIEN; HARMON, AARON PAUL; BETTER, MARCUS DANIEL
To: SPOTIFY AB
Reel/Frame 061853/0155 →
Continuity (2)
Related Publication 20240134902A1 · Apr 25, 2024
Related Publication 20240232250A9 · Jul 11, 2024
References Cited (7)
US 11681769B2 · Crisp · 2023 [cited by examiner]
US 20070174866A1 · Brown et al. · 2007 [cited by applicant]
US 20130305145A1 · Jackson · 2013 [cited by examiner]
US 20150178280A1 · DiMaria et al. · 2015 [cited by applicant]
US 20160274872A1 · Narayanan et al. · 2016 [cited by applicant]
US 20190129587A1 · Reese et al. · 2019 [cited by applicant]
Create, edit and delete Smart Playlists in Music on Mac, Apple Music User Guide, https://support.apple.com/en-in/guide/music/mus1712973f4/mac. [cited by applicant]