EP4616301A1 - Content management for media systems - Google Patents
Content management for media systemsInfo
- Publication number
- EP4616301A1 EP4616301A1 EP22826501.3A EP22826501A EP4616301A1 EP 4616301 A1 EP4616301 A1 EP 4616301A1 EP 22826501 A EP22826501 A EP 22826501A EP 4616301 A1 EP4616301 A1 EP 4616301A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- list
- content items
- content
- computing device
- collaborative playlist
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/60—Information retrieval; Database structures therefor; File system structures therefor of audio data
- G06F16/63—Querying
- G06F16/638—Presentation of query results
- G06F16/639—Presentation of query results using playlists
Definitions
- the various embodiments relate generally to entertainment systems, and more specifically, to techniques for managing content for media systems.
- a feature of personal speakers that is growing in popularity is a “party mode,” in which multiple personal speakers can communicatively couple together to form an ad hoc network of speakers that synchronizes together and outputs audio content as one speaker system.
- the party mode can be coordinated and controlled via a mobile device. Content is output from the mobile device to the network of speakers.
- An issue with party mode for speakers arises when multiple users would like to provide content for playback on the network of speakers, such as when different users, each of which has different mobile devices, uses different audio content providers, and/or has different audio content preferences.
- a drawback of conventional party mode for speakers is that the network of speakers can only output content from one mobile device at a time. When the network of speakers is outputting content from only one device at a time, the content preferences of the other users are neglected.
- a response to this drawback is a “barge in” feature, where another user can stop output of content from the device of a first user and begin output of content from his or her own device.
- this “barge in” feature does not address the underlying issue of content preferences of other users being neglected when the content is provided from only one device at a time. Further, this “barge in” feature can cause undesirable conflict between the users trying to control the content being output through the network of speakers, which can result in an unpleasant listening experience in cases when the “barge in” feature results in no songs being streamed to completion.
- Various embodiments of the present disclosure set forth a computer-implemented method for managing content in a media system include, at a first computing device, generating a first list of content items, obtaining a second list of content items associated with a second computing device, generating a collaborative playlist based on the first list and the second list, and causing at least one content item included in the collaborative playlist to be output via one or more output devices.
- At least one technical advantage of the disclosed techniques relative to the prior art is that, with the disclosed techniques, multiple users and devices can collaborate together to provide content for playback on using a coordinated media system. Another advantage is that content in the playlist is ordered based on the content preferences of multiple users. Accordingly, the more preferred content amongst the multiple users is played earlier in the playlist and/or played more frequently, and thus more likely to be played than content later in the playlist.
- FIG. 1 is a block diagram of a computer system configured to implement one or more aspects of the various embodiments
- FIG. 2 illustrates a coordinated audio system, according to one or more aspects of the various embodiments
- FIG. 3 illustrates an example of a collaboratively generated playlist for a coordinated audio system, according to one or more aspects of the various embodiments
- FIG. 4 illustrates another example of a collaboratively generated playlist for a coordinated audio system, according to one or more aspects of the various embodiments
- FIG. 5 illustrates yet another example of a collaboratively generated playlist for a coordinated audio system, according to one or more aspects of the various embodiments
- FIG. 6 is a flow chart of method steps for generating a collaborative playlist for a coordinated audio system, according to one or more aspects of the various embodiments;
- FIG. 7 is another flow chart of method steps for generating a collaborative playlist for a coordinated audio system, according to one or more aspects of the various embodiments.
- FIG. 8 is yet another flow chart of method steps for generating a collaborative playlist for a coordinated audio system, according to one or more aspects of the various embodiments.
- the disclosed techniques are equally applicable to video content and/or other types of content items.
- the techniques could be used in a coordinated media system to manage and output a playlist of video content items for display using one or more video output devices, such as one or more televisions and/or computer displays
- the video content items could be video content items stored on a computing device and/or provided by one or more video content providers, such as YouTube, TikTok, Vimeo, Twitch, Veoh, paid content providers, and/or the like.
- FIG 1 illustrates a computer system 100 configured to implement one or more aspects of the various embodiments.
- computer system 100 includes, without limitation, one or more computing devices 180-1 to 180-M (which are also collectively referred to as computing device(s) 180 or generically as computing device 180), input devices 122, output devices 124, audio output device(s) 126, network(s) 160, audio device network 162, and media content services 170.
- a computing device 180 e.g.. computing device 180-1) includes, without limitation, one or more processing units 102, I/O device interface 104, network interface 106, interconnect 112 (e.g., abus), storage 114, and memory 116.
- Memory 116 stores output device manager application 150 and media content application 152.
- Processing unit(s) 102 and memory 116 can be implemented in any technically feasible fashion.
- any combination of processing unit(s) 102 and memory 116 can be implemented as a stand-alone chip or as part of a more comprehensive solution that is implemented as an application-specific integrated circuit (ASIC), a system-on-a-chip (SoC), and/or the like.
- ASIC application-specific integrated circuit
- SoC system-on-a-chip
- Processing unit(s) 102, I/O device interface 104, network interface 106, storage 114, and memory 116 can be communicatively coupled to each other via interconnect 112.
- the one or more processing unit(s) 102 can include any suitable processor, such as a central processing unit (CPU), a graphics processing unit (GPU), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA), a tensor processing unit (TPU), any other type of processing unit, or a combination of multiple processing units, such as a CPU configured to operate in conjunction with a GPU.
- processors such as a central processing unit (CPU), a graphics processing unit (GPU), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA), a tensor processing unit (TPU), any other type of processing unit, or a combination of multiple processing units, such as a CPU configured to operate in conjunction with a GPU.
- each of the one or more processing unit(s) 102 can be any technically feasible hardware unit capable of processing data and/or executing software applications and modules.
- Storage 114 may include non-volatile storage for applications, software modules, and data, and can include fixed or removable disk dnves, solid state drives, secure digital and other flash memory devices, and CD-ROM, DVD-ROM, Blu-Ray, HD-DVD, or other magnetic, optical, solid state storage devices, and/or the like.
- Memory 116 can include a random access memory (RAM) module, a flash memory unit, or any other type of memory unit or combination thereof
- RAM random access memory
- the one or more processing unit(s) 102, I/O device interface 104, and network interface 106 are configured to read data from and write data to memory 116.
- Memory 116 includes various software programs and modules (e.g.. an operating system, one or more applications) that can be executed by processing unit(s) 102 and application data (e.g.. data loaded from storage 114) associated with said software programs
- one or more databases 142 are loaded from storage 114 into memory 116.
- Databases 142 include application, user data, media content, etc. that are associated with one or more applications that can be executed by processing unit(s) 102.
- computing device 180 is communicatively coupled to one or more networks 160.
- Network(s) 160 can be any technically feasible type of communications network that allows data to be exchanged between computing device 180 and other systems or devices, such as a server, a cloud computing system, or other networked computing device or system (e.g.. media content service(s) 170).
- network 160 can include a wide area network (WAN), a local areanetwork (LAN), a wireless network (e.g.. a Wi-Fi network, a cellular data network, an ad hoc network), and/or the Internet, among others.
- Computing device 180 can connect with network(s) 160 via network interface 106.
- network interface 106 is hardware, software, or a combination of hardware and software, which is configured to connect to and interface with network(s) 160.
- network interface 106 facilitates communication with other devices or systems via one or more standard and/or proprietary protocols (e.g., Bluetooth, a proprietary protocol associated with a specific manufacturer, etc.)
- Media content service(s) 170 includes one or more computerized services configured to provide (e.g.. distribute) media content to devices (e.g.. to computing devices 180).
- Examples of media contents service(s) 170 include Spotify, Apple Music, Pandora, YouTube Music, Amazon Music, Tidal, Deezer, and/or the like.
- Media or media content as used herein includes, without limitation, audio content (e.g.. spoken and/or musical audio content, audio content files, streaming audio content, audio track of avideo, and/orthe like) and/or video content.
- Examples of media content service(s) 170 include, without limitation, media content streaming services, digital media content sellers, media servers (local and/or remote), and/or the like.
- media content service(s) 170 also store profile data associated with computing device 180 and/or a user associated with computing device 180.
- User profile data includes, without limitation, a media content library for the user within a media content service 170, user demographic data, user preferences data regarding media content, user-created and/or automatically generated playlists of media content, and/or the like.
- User preferences data includes, without limitation, media content consumption data, expressed or implicit preferences of the user, and/or the like.
- the media content consumption data can include how many times a media content item or a playlist is played, how many times a media content item is played from start to end, how many times a media content item is skipped immediately or skipped before completion, how many times a media content item was looped or repeated, which predefined playlists are played, a day of the week and a time of day a media content item is played, a day of the week and a time of day media content items of a genre is played, how many times a media content item is played recently (e.g.. in the last week, in the last month), and/or the like.
- the expressed or implicit preferences of the user can include a “thumbs up”, an upvote, “+1” vote, a “like”, and/or the like (e.g., a vote for playing a media content item) or a “thumbs down”, a downvote, a “-1” vote, a “dislike”, and/or the like (e g., a vote for not playing the media content item) for various media content items, ratings and/or rankings of media content items in his or her media content library, clickstream data, and/or the like.
- at least some of a profile data is stored (e.g., cached) at computing device 180 (e.g., in databases 142).
- the profile data is displayed in a user interface of media content application 152 and/or using an output device 124.
- a media content service 170 can host individual user accounts of respective users and store respective user profile data.
- media content services 170 can also aggregate user profile data to generate non-personalized aggregate data, such as aggregate media content consumption data and/or aggregate preferences data (e.g.. how many times a media content item is played across users of media content service 170, upvotes vs. downvotes of a media content item by users of media content service 170, etc.).
- media content services 170 also aggregate user profile data across multiple computing devices 180, such as when a user or users access a same media content service 170 from multiple computing devices (e.g.
- Input devices 122 include one or more devices capable of providing input. Examples of input devices 122 include, without limitation, a touch-sensitive surface (e.g.. a touchpad), a microphone, a touch-sensitive screen, buttons, knobs, dials, a keyboard, a pointing device (e.g.. a mouse, a stylus), and/or the like.
- Output devices 124 include one or more devices of providing output. Examples of output devices 124 include, without limitation, a display device, haptic devices, and/or the like.
- display devices include, without limitation, LCD displays, LED displays, OLED displays, AMOLED displays, touch-sensitive displays, transparent displays, projection systems, and/orthe like.
- input devices 122 and/or output devices 124 may include devices capable of both receiving input and providing output, such as a touch-sensitive display, and/orthe like.
- Audio output device(s) 126 include one or more devices capable of outputting sound. Audio output device(s) 126 include, without limitation, portable speakers, bone conduction speakers, shoulder worn and shoulder mounted headphones, glasses mounted speakers, around-neck speakers, Bluetooth, true wireless stereo (TWS) headphones or other wireless headphones, and/or the like. In some embodiments, an audio output device 126 can be coupled to computing device 180 via I/O device interface 104 and/or network interface 106 by wire or wirelessly in any technically feasible manner (e.g.. Universal Serial Bus (USB), Bluetooth, ad hoc Wi-Fi).
- USB Universal Serial Bus
- audio output device(s) 126 also include computing, communications, and/or networking capability.
- an audio output device 126 can also include one or more processing units similar to processing unit(s) 102, memory and/or storage, and a network interface similar to network interface 106.
- An audio output device 126 can communicatively couple with one or more other audio output devices 126 and/or with one or more computing devices 180 via the network interface, and optionally store data.
- multiple audio output devices 126-1 to 126-N (which are also collectively referred to as audio output device(s) 126 or generically as audio output device 126) communicatively couple with each other and/orthe computing device(s) 180 to form a coordinated media or audio system.
- a coordinated media audio system is an ad hoc network of one or more media output devices, such as an ad hoc network of one or more audio output device(s) 126 communicatively coupled with each other and communicatively coupled with one or more computing devices 180 via an audio device network 162.
- Ad hoc networks of audio output device(s) 126 and computing device(s) 180 include any number of one or more audio output device(s) 126 and any number of one or more computing device(s) 180.
- an ad hoc network includes only one audio output device 126, two or more audio output devices 126 supplied by a user, two or more audio output devices 126 provided by two or more users in any combination (e.g., one user providing on audio output device 126, a second user providing two or more audio output devices 126, and/or a third user not providing any audio output device 126), and/or the like.
- an ad hoc network includes only one computing device 180, a same user providing two or more computing devices 180 (e.g., a smartphone and a tablet), two or more users each providing their own computing device 180, and/or the like.
- the ad hoc network is formed in a private space (e.g., a home, a dormitory room, a backyard, and/or the like) and/or a public space (e.g., a common space in a dormitory, a park, a public venue, and/or the like).
- Audio device network 162 is typically a wireless network such as a Wi-Fi network, an ad hoc Wi-Fi network, a Bluetooth network, and/or the like.
- the audio output devices 126 in the coordinated audio system operate in a “party mode.”
- audio output devices 126 output media content received from a computing device 180 via audio device network 162.
- the audio output devices 126 output the media content in a synchronized or near-synchronized manner.
- the coordinated audio system is initiated from one of computing device(s) 180 via output device manager application 150.
- computing device 180-1 is communicatively coupled to audio output device(s) 126
- computing device 180-1 can send a media content item to audio output devices 126 to be synchronously output by audio output devices 126.
- the coordinated audio system is described in further detail in FIG. 2.
- Memory 116 includes an output device manager application 150 and one or more media content applications 152.
- Output device manager application 150 and media content application 152 are stored in and loaded into memory 116 from storage 114.
- media content application 152 outputs (e.g.. decodes for playback) locally stored media content (e.g.. stored in storage 114) and/or media content from media content service(s) 170 via audio output device(s) 126 and/or output device(s) 124.
- Media content application 152 also collects and/or generates user profile data, including for example media content consumption data and preferences data.
- Media content application 152 also can communicate with media content service(s) 170 to obtain (e.g., purchase, rent, and/or subscribe to download, stream, or otherwise retrieve) media content for output and/or storage at one of computing devices 180, to upload user profile data to a corresponding user account at one of the media content service(s) 170, download user profile data associated with a user of any of computing device 180(s) from any of media content service(s) 170, and/or the like.
- a media content application 152 is associated with, and can access, a specific media content service 170 (e.g. Spotify app for Spotify service, Apple Music app for Apple Music service, etc.).
- Output device manager application 150 facilitates management of audio output devices 126. While a computing device 180 is communicatively coupled to audio output device(s) 126, a user can, via output device manager application 150, perform management functions for audio output device(s) 126, including but not limited to monitoring a status (e.g.. battery level, volume level, firmware version, etc.) of audio output device(s) 126, configuring settings of audio output device(s) 126 (e.g.. equalization settings), updating a firmware of audio output devices 126, and/or the like.
- a status e.g. battery level, volume level, firmware version, etc.
- configuring settings of audio output device(s) 126 e.g. equalization settings
- updating a firmware of audio output devices 126 e.g. equalization settings
- the preferences from users are aggregated across computing devices 180 in any of the aforementioned forms including upvoting, downvoting, averaging and/or the like to form the audio output level and/or audio equalization curve applied to media content sent to audio output device(s) 126.
- output device manager application 150 can interface with media content application(s) 152 (e.g., via an application programming interface (API)) to cause or otherwise facilitate the sending of media content by media content application(s) 152 to audio output device(s) 126 and/or to obtain data associated with media content application(s) 152, including but not limited to media content library information and/or user profile data.
- API application programming interface
- output device manager application 150 facilitates creation and management of the coordinated audio system.
- a user can, via output device manager application 150, command an audio output device 126 to join the coordinated audio system, thereby creating the coordinated audio system.
- the user can configure an individual audio output device 126 and/or configure the coordinated audio system, modify (e.g., add or remove audio output device (s) 126) or terminate the coordinated audio system, and perform other management functions associated with the coordinated audio system.
- output device manager application 150 can generate a playlist of media content to be sent by media content application(s) 152 to audio output device(s) 126.
- Output device manager application 150 can generate the playlist based on explicit inputs by users and/or user profile data from computing device(s) 180 in the coordinated audio system, further details of which are described below.
- FIG. 2 illustrates a coordinated audio system 200, according to one or more aspects of the various embodiments.
- Coordinated audio system 200 includes multiple audio output devices 126-1 through 126-N (e.g.. speakers) communicatively coupled together via audio device network 162.
- Coordinated audio system 200 further includes computing devices 180-1 thru 180-M, communicatively coupled together via audio device network 162.
- a computing device 180 is communicatively coupled to zero or more audio output devices 126.
- Communications in coordinated audio system 200 can use standard and/or proprietary protocols.
- computing devices 180 can communicate with audio output devices 126 and with each other using standard protocols (e.g.. Bluetooth, Wi-Fi), and audio output devices 126 can communicate with each other using standard or proprietary protocols (e.g.. Bluetooth, a proprietary protocol associated with a specific manufacturer)
- audio output devices 126 that communicate with each other using a proprietary protocol are audio output devices 126 from the same manufacturer (e.g.. speakers of the same brand).
- one of the computing devices 180 is a leader or coordinator computing device for coordinated audio system 200
- the computing device 180 from which coordinated audio system 200 is initiated can be made the leader or coordinator device, and the leader or coordinator role can be passed to another computing device 180 by user command or request.
- the coordinator device is automatically assigned, such as when the coordinator device is the only computing device 180 with access to a sole media content service 170 or locally stored media file that is to play next on the collaborative playlist.
- coordinated audio system 200 is further described below with computing device 180-3 as the coordinator computing device, although any of the other computing device 180 could be the coordinator computing device.
- audio output devices 126 output audio corresponding to the same media content received from one source at a time. That is, a given source sends a media content item to the audio output device(s) 126, and each of the audio output device(s) 126 outputs audio correspondmg to that media content item.
- a computing device 180 transmits the data corresponding to the media content item to a first audio output device 126, and then the first audio output device transmits the data to the other audio output device(s) 126. In some embodiments, the computing device 180 transmits the data corresponding to the media content item to two or more of the audio output device(s) 126.
- two or more of the computing devices 180 communicate among themselves to decide which of the computing devices 180 is to send the data corresponding to the media content item to the first audio output device 126 or all of the audio output devices 132.
- the media content item is transmitted from one computing device 180 to the cloud (e.g., one of the media content service(s) 170) and then the cloud transmits the data corresponding to the media content item to the first audio output device 126 or to two or more of the audio output devices 126
- two or more of the computing devices 180 communicate among themselves to decide which of the computing devices 180 is to send the data corresponding to the media content item to the cloud
- audio output devices 126 output audio corresponding to a media content item from one computing device 180 at a time
- the multiple computing devices 180 can collaborate on the selection of media content items for output to audio output devices 126.
- individual content lists 206-1 thru 206-M e.g., a playlist of media content items
- Content lists 206-1 thru 206-M are aggregated into a collaborative playlist 210 of media content to output to audio output devices 126.
- computing device 180-3 sends the collaborative playlist 210 to the other computing devices 180 so that users of the other computing devices can review the collaborative playlist 210 and/or express preferences for each of the media content items in the collaborative playlist 210.
- a media content item in collaborative playlist 210 can be sent to audio output devices 126 from the coordinator computing device 180-3 or from the computing device 180 whose content list 206 included the media content item.
- collaborative playlist 210 can be saved for later use and/or used as a basis for a collaborative playlist to be generated at a later time. Generation of collaborative playlists are described in further detail below.
- Content lists 206 can be generated based on user inputs (e.g . a user manually adds a media content item to a content list) and/or automatically based on user profile data (e.g.. user preferences, a playlist for a user, a list of “liked” songs, a list of most played songs).
- user profile data e.g.. user preferences, a playlist for a user, a list of “liked” songs, a list of most played songs.
- computing devices 180-1 thru 180-M include preferences data 208-1 thru 208-M, respectively, associated with a user of the computing device.
- one or more media content items can be suggested based on preferences data 208 and added to content list 206.
- media content items in collaborative playlist 210 can be ordered based on user inputs and/or user profile data (e.g.. preferences data 208).
- a user can interact with coordinated audio system 200 via output device manager application 150 at the computing device 180
- the user at the coordinator computing device 180-3 can manage coordinated audio system 200 via output device manager application 150.
- a user can add media content to content list 206 and/or remove media content from content list 206.
- Output device manager application 150 can also determine one or more media content suggestions based on one or more inputs (e.g.. user inputs, user profile data, etc.) and add those suggestions to content list 206.
- Output device manager application 150 at the coordinator computing device 180-3 can obtain (e.g...
- output device manager application 150 at the coordinator computing device 180-3 can direct the output device manager application 150 at the coordinator computing device 180-3 or the output device manager application at another computing device 180 to cause a media content item to be sent to the audio output devices 126 for output.
- output device manager application 150 at the coordinator computing device 180-3 can direct output device manager application 150 at computing device 180-2 to send that media content item to the audio output devices 126.
- FIG. 3 illustrates an example of a collaboratively generated playlist for a coordinated audio system, according to one or more aspects of the various embodiments.
- FIG. 3 shows content lists 306-1 thru 306-L associated with respective multiple computing devices (e.g.. computing devices 180).
- Each content list 306 lists media content manually added by a user to the list
- content list 306- 1 includes Content Items A, B, and F added by a first user to content list 306-1
- content list 306-2 includes Content Items C and E added by a second user to content list 306-2
- content list 306-L includes Content Item B and Content Item D added by a third user to content list 306-L.
- a collaborative playlist 310 can be generated by output device manager application 150 at a coordinator computing device by aggregating content lists 306. Accordingly, collaborative playlist 310 includes Content Items A thru F.
- the content items in collaborative list 310 can be ordered based on one or more criteria.
- One criterion is a timestamp when a media content item is added to a content list 306.
- Content Items A thru F can be ordered within collaborative playlist 310 based on the timestamps when Content Items A thru F were added to their corresponding content lists 306, and Content Items A thru F are output in that order.
- Other criteria for ordering can include alphabetical order by title or artist, or random order.
- users can upvote or downvote the media content items in collaborative playlist 310, and the media content items are ordered based on the tallies of upvotes and downvotes. For example, media content items are ordered based on upvote -to -do wnvote differential, with the items with the larger differential placed earlier in collaborative playlist 310.
- the upvote/downvote criterion for ordering media content items can be used in conjunction with other criteria (e.g., items are ordered on the upvote -to -do wnvote differential with timestamp of addition to a content list being a tiebreaker). More generally, media content items based on user profile data fe.g..
- user preferences data associated with the media content items; the user preferences data indicates preferences for media content items amongst users in a coordinated audio system. Upvotes and downvotes by users is but one example of user preferences data based on which the media content items in collaborative playlist 310 can be ordered.
- multiple criteria e.g., number of plays, number of playlists in which media content item is included, etc.
- the criteria can be aggregated into a score or ranking using, for example, a weighted score function where the criteria are weighted by respective predefined weights.
- FIG. 4 illustrates another example of a collaboratively generated playlist for a coordinated audio system, according to one or more aspects of the various embodiments.
- FIG. 4 shows content lists 402-1 thru 402-L associated with respective multiple computing devices (e.g.. computing devices 180).
- Each content list 402 lists media content manually added by a user to the list.
- content list 402-1 includes Content Item A added by a first user to content list 402-1
- content list 402-2 includes Content Items C and E added by a second user to content list 402-2
- content list 402-L includes Content Item D added by a third user to content list 402-L.
- media content items added to a content list are seed content items based on which one or more content item suggestions can be determined.
- FIG. 1 media content items added to a content list are seed content items based on which one or more content item suggestions can be determined.
- Output device manager application 150 at a respective computing device determines one or more content item suggestions based on the seed content item(s) at the corresponding content list. For example, for content list 402-1, based on seed Content Item A, output device manager application 150 determines suggested Content Items B, F, and H. Content list 406-1 includes seed Content Item A and suggested Content Items B, F, and H. Similarly, for content list 406-2, Content Items G and K are suggested based on seed Content Items C and E. For content list 406-L, Content Items I and J are suggested based on seed Content Item D.
- the determination of suggested content items can be performed using any technically feasible technique including soliciting suggested content items from one of the media content services 170 or using a playlist function provided by one of the media content services 170.
- the feature of determining suggested content items is referred to as “create a radio station” or “create a playlist” based on one or more media content items.
- a collaborative playlist 410 can be generated from content lists 406, with seed and suggested content items, in a similar manner as collaborative playlist 310 above. Further, media content items in collaborative playlist 410 can be ordered based on similar criteria as those described above with respect to collaborative playlist 310.
- an output device manager application 150 can determine additional suggested media content items based on media content items in collaborative playlist 410 and add those suggested content items to collaborative playlist 410. Additionally and/or alternatively, each of the seed content items in content lists 402 can be received at a the coordinator computing device and the aggregated content lists 402 can then be used as seed content to generate the additional media content items to extend collaborative playlist 410.
- FIG. 5 illustrates yet another example of a collaboratively generated playlist for a coordinated audio system, according to one or more aspects of the various embodiments.
- FIG. 5 shows preferences data 508-1 thru 508-L associated with respective multiple computing devices (e.g., computing devices 180).
- Each preferences data 508 includes preferences data associated with a user of the corresponding computing device.
- output device manager application 150 can determine one or more suggested media content items and add those suggested media content items to a content list 506 at the corresponding computing device.
- content list 506-1 is generated with Content Items A, B, F, and H; Content Items A, B, F, and H are suggested content items determined based on preferences data 508-1.
- content list 506-2 is generated with Content Items C, E, G, and K; Content Items C, E, G, and K are suggested content items determined based on preferences data 508-2.
- Content list 506-L is generated with Content Items D, I, and J; Content Items D, I, and J are suggested content items determined based on preferences data 508-L.
- a collaborative playlist 510 can be generated from content lists 506 in a similar manner as collaborative playlist 310 or 410 above. Further, media content items in collaborative playlist 510 can be ordered based on similar criteria as those described above with respect to collaborative playlist 310 or 410.
- an output device manager application 150 can determine additional suggested media content items based on media content items in collaborative playlist 510 and/or any of multiple content lists 506 and/or preferences data 508 and add those suggested content items to collaborative playlist 510. Additionally and/or alternatively, each of the preference data 508 can be received at the coordinator computing device and the preference data 508 can be aggregated and then used as aggregate preference data used to generate the collaborative playlist 510.
- a collaborative playlist for a coordinated audio system can be generated based on content items manually added by users and/or automatically determined by output device manager application(s) 150.
- Suggested content items can be determined based on seed content items and/or user profile data.
- Media content items in the collaborative playlist can be ordered based on one or more criteria associated with user profile data or manual upvoting and downvoting.
- collaborative playlists can be generated at and/or shared to a remote system (e.g.. a cloud system)
- a remote system e.g. a cloud system
- user profile data and/or content lists associated with a coordinated audio system can be uploaded to a cloud system, where a collaborative playlist associated with the coordinated audio system is generated and downloaded to one or more of the computing devices in the coordinated audio system.
- Any portion of the collaborative playlist generation, ordering and storage may be performed on one or more computing devices, in the cloud, or even on one or more processors housed within an audio output device 126.
- FIG. 6 is a flow chart of method steps for generating a collaborative playlist for a coordinated audio system, according to one or more aspects of the various embodiments
- the method steps are described with respect to the systems and examples of FIGs. 1-5, persons skilled in the art will understand that any system configured to perform the method steps, in any order, falls within the scope of the various embodiments..
- one of more of the steps of the method in FIG. 6 can be omitted and/or additional steps (not shown) may also be performed.
- a method 600 begins at step 602, where an output device manager application obtains one or more inputs selecting one or more content items for a first list.
- output device manager application 150 can receive inputs from a user manually adding one or more media content items to a corresponding content list content list 206-3).
- the output device manager application obtains a second list of one or more content items from a second device.
- Output device manager application 150 obtains a content list (e.gheli 206-2) from another computing device (e.g., computing device 180-2) in the coordinated audio system and/or any of the content lists 206, 306, 406, and/or 506.
- the output device manager application generates a collaborative playlist that includes content items from the first list and the second list.
- output device manager application 150 generates a collaborative playlist 210 that includes media content items from content lists 206-3, 206-2, and other content lists 206 in the coordinated audio system.
- collaborative playlist 310 is generated by aggregating content lists 306.
- the output device manager application orders the content items in the collaborative playlist based on one or more criteria.
- Output device manager application 150 orders the media content items in collaborative playlist (e g , collaborative playlists 210, 310, 410 and/or 510) in an output or playback order based on one or more criteria including, for example, timestamps when the media content items are added to a corresponding content list, upvotes and downvotes for the media content items, and preferences data associated with the media content items.
- the output device manager application 150 can order the media content items in collaborative playlist using any of the techniques described herein.
- the output device manager orders the media content items by selecting a combination of one or more methods in a predetermined manner.
- the preferences for a user for ordering media content in the collaborative playlist is selected by choosing one or more methods from a list using input device 122 or GUI running on computing device 180 of the coordinator device or other device.
- the output device manager application causes output of the media content items in the collaborative playlist via one or more audio output devices.
- Output device manager application 150 at coordinator computing device 180-3 can direct media content application(s) 152 at computing device 180-3 to send the media content items in collaborative playlist 210 to audio output devices 126 in coordinated audio system 200.
- output device manager application 150 at coordinator computing device 180-3 can direct media content application(s) 152 at respective computing devices 180 to send the media content items in their respective content lists 206 to audio output devices 126.
- the order in which the media content items in collaborative playlist 210 are sent to audio output devices 126 is based on the order determined during step 608.
- method 600 can return to step 602, as further content items are be added to content lists while media content items in the collaborative playlist are being output, and thus method 600 can be repeated to update the collaborative playlist accordingly.
- step 604 can be repeated multiples times for each of the computing devices providing a list of content items for the coordinated audio system and step 606 can generate the collaborative playlist further based on these additional lists of content items.
- items from content lists 206 can be added and removed from collaborative playlist 210 in step 606, or the influence of their user preference data can be correspondingly added or removed from the ordering of the media in the collaborative playlist at step 608 or the influence of their suggested playback level and audio equalization can be correspondingly added or removed.
- FIG. 7 is another flow chart of method steps for generating a collaborative playlist for a coordinated audio system, according to one or more aspects of the various embodiments.
- the method steps are described with respect to the systems and examples of FIGs. 1-5, persons skilled in the art will understand that any system configured to perform the method steps, in any order, falls within the scope of the various embodiments.
- one of more of the steps of the method in FIG. 7 can be omitted and/or additional steps (not shown) may also be performed.
- a method 700 begins at step 702, where an output device manager application obtains one or more inputs selecting a seed content item or seed content items.
- output device manager application 150 can receive inputs from a user manually adding one or more seed content items to a corresponding content list (e.g.. any of content lists 506).
- the output device manager application 150 determines one or more suggested content items based on the seed content item or seed content items.
- Output device manager application 150 can determine one or more suggested media content items based on the seed content item. For example, in FIG. 4, Content Items B, F, and H are suggested from seed Content Item A.
- the output device manager application generates a first list of content items that includes the seed content item and the suggested content items.
- Output device manager application 150 can add the seed content item and the suggested content items to the corresponding content list.
- content list 402-1 includes seed Content Item A and suggested Content Items B, F, and H.
- Step 708 the output device manager application obtains a second list of one or more content items from a second device.
- Step 708 is similar to step 604 of method 600 above.
- the output device manager application generates a collaborative playlist that includes content items from the first list and the second list.
- the output device manager application orders the content items in the collaborative playlist based on one or more criteria.
- the output device manager application causes output of the media content items in the collaborative playlist via a network of audio output devices. Steps 710, 712, and 714 are similar to steps 606, 608, and 610, respectively, of method 600
- method 700 can return to step 702, as further seed content items can be manually added to content lists and/or additional computing devices join or leave the coordinated audio system while media content items in the collaborative playlist are being output, and thus method 700 can be repeated to update the collaborative playlist accordingly.
- the suggested content items can be used as seed content items for determining additional suggested content items.
- step 708 can be repeated multiples times for each of the computing devices providing lists content items for the coordinated audio system.
- Step 710 can then generate collaborative playlist further based on these additional lists of content items.
- steps 702, 704 and 706 can be repeated multiples times for each of the computing devices providing seed content items forthe coordinated audio system. In some embodiments, only steps 702, 704, and 706 are performed for all computing devices 180, and step 708 is omitted to form an automatically generated collaborative playlist.
- FIG. 8 is yet another flow chart of method steps for generating a collaborative playlist for a coordinated audio system, according to one or more aspects of the various embodiments.
- the method steps are described with respect to the systems and examples of FIGs. 1-5, persons skilled in the art will understand that any system configured to perform the method steps, in any order, falls within the scope of the various embodiments.
- one of more of the steps of the method in FIG. 8 can be omitted and/or additional steps (not shown) may also be performed.
- a method 800 begins at step 802, where an output device manager application obtains preferences data associated with a user.
- output device manager application 150 obtains preferences data 208-3 associated with a user of computing device 180-3.
- Output device manager application 150 can obtain preferences data 208-3 through media content application 152.
- the output device manager application determines one or more suggested content items based on the preferences data.
- Output device manager application 150 at computing device 180-3 can determine one or more suggested media content items based on preferences data 208-3. For example, in FIG. 5, Content Items A, B, F, and H are suggested from preferences data 508-1.
- the output device manager application generates a first list of content items that includes the suggested content items.
- Output device manager application 150 can add the suggested content items to the corresponding content list.
- content list 506-1 includes suggested Content Items A, B, F, and H.
- Step 808 the output device manager application obtains a second list of one or more content items from a second device.
- Step 808 is similar to step 604 of method 600 above.
- the output device manager application generates a collaborative playlist that includes content items from the first list and the second list.
- the output device manager application orders the content items in the collaborative playlist based on one or more criteria.
- the output device manager application causes output of the media content items in the collaborative playlist via a network of audio output devices. Steps 810, 812, and 814 are similar to steps 606, 608, and 610, respectively, of method 600.
- method 800 can return to step 802, as further preferences data becomes available and/or as additional computing devices join or leave the coordinated audio system while media content items in the collaborative playlist are being output, and thus method 700 can be repeated to update the collaborative playlist accordingly.
- step 808 can be repeated multiple times for each of the computing devices providing lists content items for the coordinated audio system.
- Step 810 can then generate the collaborative playlist further based on the additional preferences data and/or lists of content items.
- steps 802, 804 and 806 can be repeated multiples times so that multiple computing devices can provide preferences data for the formation of a list of content items for the coordinated audio system.
- steps 802, 804, and 806 are performed for all computing devices 180, and step 808 is omitted to form a fully automatically generated collaborative playlist.
- both manually added and automatically generated content items from one or more computing devices 180 form the collaborative playlist.
- multiple computing devices and output devices are coupled together to form a coordinated media system.
- the computing devices collaborate to generate a list of content for output on the output devices.
- Content can be added to a list manually by a user at each computing device, and the lists of content from the computing devices are combined into a collaborative playlist.
- the order of output from the collaborative playlist can be determined based on time at which the content is added to a list and/or preferences of the users associated with the content in the collaborative playlist.
- the manually added content in the collaborative playlist can also be used to determine content suggestions that can be added to the collaborative playlist.
- content for the collaborative playlist can be determined and/or ordered based on the content consumption data of the users.
- At least one technical advantage of the disclosed techniques relative to the prior art is that, with the disclosed techniques, multiple users and devices can collaborate together to provide content for playback on using a coordinated media system. Another advantage is that content in the playlist is ordered based on the content preferences of multiple users. Accordingly, the more preferred content amongst the multiple users is played earlier in the playlist and/or played more frequently, and thus more likely to be played than content later in the playlist.
- a computer-implemented method for managing content in a media system includes, at a first computing device generating a first list of content items, obtaining a second list of content items associated with a second computing device, generating a collaborative playlist based on the first list and the second list, and causing at least one content item included in the collaborative playlist to be output via one or more output devices.
- one or more non-transitory computer-readable storage media including instructions that, when executed by one or more processors at a first computing device, cause the one or more processors to perform the steps of generating a first list of content items, obtaining a second list of content items associated with a second computing device, generating a collaborative playlist based on the first list and the second list, and causing at least one content item included in the collaborative playlist to be output via one or more output devices.
- generating the collaborative playlist of content items further comprises determining one or more suggested content items based on the first content item and adding the one or more suggested content items to the first list.
- generating the first list of content items comprises obtaining user profile data associated with a user of the first computing device, determining one or more suggested content items based on the user profile data, and adding the one or more suggested content items to the first list.
- the user profile data comprises media content consumption data and preferences data.
- causing the at least one content item included in the collaborative playlist to be output via the one or more output devices comprises causing the first computing device or the second computing device to send the at least one content item included in the collaborative playlist to the one or more output devices.
- a computing device comprises a memory storing an application and one or more processors that, when executing the application, is configured to generate a first list of content items, obtain a second list of content items associated a second computing device, generate a collaborative playlist by aggregating the first list and the second list, and cause at least one content item included in the collaborative playlist to be output via one or more output devices.
- aspects of the present embodiments may be embodied as a system, method or computer program product. Accordingly, aspects of the present disclosure may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, microcode, etc .) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “module,” a “system,” or a “computer.” In addition, any hardware and/or software technique, process, function, component, engine, module, or system described in the present disclosure may be implemented as a circuit or set of circuits. Furthermore, aspects of the present disclosure may take the form of a computer program product embodied in one or more computer readable medium(s) having computer readable program code embodied thereon.
- the computer readable medium may be a computer readable signal medium or a computer readable storage medium.
- a computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing.
- a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
- each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s).
- the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
Techniques for managing content in a media system include a computer-implemented method for managing content in an audio system include, at a first computing device, generating a first list of content items, obtaining a second list of content items associated with a second computing device, generating a collaborative playlist based on the first list and the second list, and causing at least one content item included in the collaborative playlist to be output via one or more output devices.
Description
CONTENT MANAGEMENT FOR MEDIA SYSTEMS
BACKGROUND
Field of the Various Embodiments
[0001] The various embodiments relate generally to entertainment systems, and more specifically, to techniques for managing content for media systems.
Description of the Related Art
[0002] With the proliferation of mobile devices smart phones), demand for portable, personal
speakers has also increased. Personal speakers allow a user to have a speaker for enjoying audio content on the go that provides better audio quality than the speaker(s) included in a mobile device. A feature of personal speakers that is growing in popularity is a “party mode,” in which multiple personal speakers can communicatively couple together to form an ad hoc network of speakers that synchronizes together and outputs audio content as one speaker system. The party mode can be coordinated and controlled via a mobile device. Content is output from the mobile device to the network of speakers.
[0003] An issue with party mode for speakers arises when multiple users would like to provide content for playback on the network of speakers, such as when different users, each of which has different mobile devices, uses different audio content providers, and/or has different audio content preferences. A drawback of conventional party mode for speakers is that the network of speakers can only output content from one mobile device at a time. When the network of speakers is outputting content from only one device at a time, the content preferences of the other users are neglected. A response to this drawback is a “barge in” feature, where another user can stop output of content from the device of a first user and begin output of content from his or her own device. However, this “barge in” feature does not address the underlying issue of content preferences of other users being neglected when the content is provided from only one device at a time. Further, this “barge in” feature can cause undesirable conflict between the users trying to control the content being output through the network of speakers, which can result in an unpleasant listening experience in cases when the “barge in” feature results in no songs being streamed to completion.
[0004] As the foregoing illustrates, what is needed are more effective techniques for managing content for output by a media system.
SUMMARY
[0005] Various embodiments of the present disclosure set forth a computer-implemented method for managing content in a media system include, at a first computing device, generating a first list of content items, obtaining a second list of content items associated with a second computing device, generating a collaborative playlist based on the first list and the second list, and causing at least one
content item included in the collaborative playlist to be output via one or more output devices.
[0006] Further embodiments provide, among other things, one or more non-transitory computer- readable media and systems configured to implement the method set forth above.
[0007] At least one technical advantage of the disclosed techniques relative to the prior art is that, with the disclosed techniques, multiple users and devices can collaborate together to provide content for playback on using a coordinated media system. Another advantage is that content in the playlist is ordered based on the content preferences of multiple users. Accordingly, the more preferred content amongst the multiple users is played earlier in the playlist and/or played more frequently, and thus more likely to be played than content later in the playlist. These technical advantages provide one or more technological improvements over prior art approaches.
BRIEF DESCRIPTION OF THE DRAWINGS
[0008] So that the manner in which the above recited features of the various embodiments can be understood in detail, a more particular description of the inventive concepts, briefly summarized above, may be had by reference to various embodiments, some of which are illustrated in the appended drawings. It is to be noted, however, that the appended drawings illustrate only typical embodiments of the inventive concepts and are therefore not to be considered limiting of scope in any way, and that there are other equally effective embodiments.
[0009] FIG. 1 is a block diagram of a computer system configured to implement one or more aspects of the various embodiments;
[0010] FIG. 2 illustrates a coordinated audio system, according to one or more aspects of the various embodiments;
[0011] FIG. 3 illustrates an example of a collaboratively generated playlist for a coordinated audio system, according to one or more aspects of the various embodiments;
[0012] FIG. 4 illustrates another example of a collaboratively generated playlist for a coordinated audio system, according to one or more aspects of the various embodiments;
[0013] FIG. 5 illustrates yet another example of a collaboratively generated playlist for a coordinated audio system, according to one or more aspects of the various embodiments;
[0014] FIG. 6 is a flow chart of method steps for generating a collaborative playlist for a coordinated audio system, according to one or more aspects of the various embodiments;
[0015] FIG. 7 is another flow chart of method steps for generating a collaborative playlist for a
coordinated audio system, according to one or more aspects of the various embodiments; and
[0016] FIG. 8 is yet another flow chart of method steps for generating a collaborative playlist for a coordinated audio system, according to one or more aspects of the various embodiments.
DETAILED DESCRIPTION
[0017] In the following description, numerous specific details are set forth to provide a more thorough understanding of the various embodiments. However, it will be apparent to one of skilled in the art that the inventive concepts may be practiced without one or more of these specific details.
[0018] Although the following disclosure is described primarily with respect to the output of audio content using an ad hoc network of audio output devices, the disclosed techniques are equally applicable to video content and/or other types of content items. For example, the techniques could be used in a coordinated media system to manage and output a playlist of video content items for display using one or more video output devices, such as one or more televisions and/or computer displays The video content items could be video content items stored on a computing device and/or provided by one or more video content providers, such as YouTube, TikTok, Vimeo, Twitch, Veoh, paid content providers, and/or the like.
[0019] FIG 1 illustrates a computer system 100 configured to implement one or more aspects of the various embodiments. As shown, computer system 100 includes, without limitation, one or more computing devices 180-1 to 180-M (which are also collectively referred to as computing device(s) 180 or generically as computing device 180), input devices 122, output devices 124, audio output device(s) 126, network(s) 160, audio device network 162, and media content services 170. A computing device 180 (e.g.. computing device 180-1) includes, without limitation, one or more processing units 102, I/O device interface 104, network interface 106, interconnect 112 (e.g., abus), storage 114, and memory 116. Memory 116 stores output device manager application 150 and media content application 152. Processing unit(s) 102 and memory 116 can be implemented in any technically feasible fashion. For example, and without limitation, in various embodiments, any combination of processing unit(s) 102 and memory 116 can be implemented as a stand-alone chip or as part of a more comprehensive solution that is implemented as an application-specific integrated circuit (ASIC), a system-on-a-chip (SoC), and/or the like. Processing unit(s) 102, I/O device interface 104, network interface 106, storage 114, and memory 116 can be communicatively coupled to each other via interconnect 112.
[0020] The one or more processing unit(s) 102 can include any suitable processor, such as a central processing unit (CPU), a graphics processing unit (GPU), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA), a tensor processing unit (TPU), any other type of processing unit, or a combination of multiple processing units, such as a CPU configured to operate in
conjunction with a GPU. In general, each of the one or more processing unit(s) 102 can be any technically feasible hardware unit capable of processing data and/or executing software applications and modules.
[0021] Storage 114 may include non-volatile storage for applications, software modules, and data, and can include fixed or removable disk dnves, solid state drives, secure digital and other flash memory devices, and CD-ROM, DVD-ROM, Blu-Ray, HD-DVD, or other magnetic, optical, solid state storage devices, and/or the like.
[0022] Memory 116 can include a random access memory (RAM) module, a flash memory unit, or any other type of memory unit or combination thereof The one or more processing unit(s) 102, I/O device interface 104, and network interface 106 are configured to read data from and write data to memory 116. Memory 116 includes various software programs and modules (e.g.. an operating system, one or more applications) that can be executed by processing unit(s) 102 and application data (e.g.. data loaded from storage 114) associated with said software programs
[0023] In some embodiments, one or more databases 142 are loaded from storage 114 into memory 116. Databases 142 include application, user data, media content, etc. that are associated with one or more applications that can be executed by processing unit(s) 102.
[0024] In some embodiments, computing device 180 is communicatively coupled to one or more networks 160. Network(s) 160 can be any technically feasible type of communications network that allows data to be exchanged between computing device 180 and other systems or devices, such as a server, a cloud computing system, or other networked computing device or system (e.g.. media content service(s) 170). For example, network 160 can include a wide area network (WAN), a local areanetwork (LAN), a wireless network (e.g.. a Wi-Fi network, a cellular data network, an ad hoc network), and/or the Internet, among others. Computing device 180 can connect with network(s) 160 via network interface 106. In some embodiments, network interface 106 is hardware, software, or a combination of hardware and software, which is configured to connect to and interface with network(s) 160. In some embodiments, network interface 106 facilitates communication with other devices or systems via one or more standard and/or proprietary protocols (e.g., Bluetooth, a proprietary protocol associated with a specific manufacturer, etc.)
[0025] Media content service(s) 170 includes one or more computerized services configured to provide (e.g.. distribute) media content to devices (e.g.. to computing devices 180). Examples of media contents service(s) 170 include Spotify, Apple Music, Pandora, YouTube Music, Amazon Music, Tidal, Deezer, and/or the like. Media or media content as used herein, includes, without limitation, audio content (e.g.. spoken and/or musical audio content, audio content files, streaming audio content, audio track of avideo, and/orthe like) and/or video content. Examples of media content service(s) 170 include, without limitation, media content streaming services, digital media content sellers, media servers (local
and/or remote), and/or the like. More generally, media content services 170 include one or more computer systems (e.g., a server, a cloud computing system, a networked computing system, a distributed computing system, etc.) for storing and distributing media content. Computing device 180 can communicatively couple with media content service(s) 170 via network(s) 160 and download and/or stream media content from media content services 170. In some embodiments, any of the computing devices 180 can also serve as a media content service, such as when media content has been previously purchased by a user of computing device 180 and the media content is stored locally (e.g., in storage 114 and/or memory 116) and/or stored remotely (e.g., in cloud storage).
[0026| In some embodiments, media content service(s) 170 also store profile data associated with computing device 180 and/or a user associated with computing device 180. User profile data includes, without limitation, a media content library for the user within a media content service 170, user demographic data, user preferences data regarding media content, user-created and/or automatically generated playlists of media content, and/or the like. User preferences data includes, without limitation, media content consumption data, expressed or implicit preferences of the user, and/or the like. The media content consumption data can include how many times a media content item or a playlist is played, how many times a media content item is played from start to end, how many times a media content item is skipped immediately or skipped before completion, how many times a media content item was looped or repeated, which predefined playlists are played, a day of the week and a time of day a media content item is played, a day of the week and a time of day media content items of a genre is played, how many times a media content item is played recently (e.g.. in the last week, in the last month), and/or the like. The expressed or implicit preferences of the user can include a “thumbs up”, an upvote, “+1” vote, a “like”, and/or the like (e.g., a vote for playing a media content item) or a “thumbs down”, a downvote, a “-1” vote, a “dislike”, and/or the like (e g., a vote for not playing the media content item) for various media content items, ratings and/or rankings of media content items in his or her media content library, clickstream data, and/or the like. In some embodiments, at least some of a profile data is stored (e.g., cached) at computing device 180 (e.g., in databases 142). In some embodiments, the profile data is displayed in a user interface of media content application 152 and/or using an output device 124. A media content service 170 can host individual user accounts of respective users and store respective user profile data. In some embodiments, media content services 170 can also aggregate user profile data to generate non-personalized aggregate data, such as aggregate media content consumption data and/or aggregate preferences data (e.g.. how many times a media content item is played across users of media content service 170, upvotes vs. downvotes of a media content item by users of media content service 170, etc.). In some embodiments, media content services 170 also aggregate user profile data across multiple computing devices 180, such as when a user or users access a same media content service 170 from multiple computing devices (e.g. a laptop computer, a smartphone, a desktop computer, a smart watch, and/or the like).
[0027] Input devices 122 include one or more devices capable of providing input. Examples of input devices 122 include, without limitation, a touch-sensitive surface (e.g.. a touchpad), a microphone, a touch-sensitive screen, buttons, knobs, dials, a keyboard, a pointing device (e.g.. a mouse, a stylus), and/or the like. Output devices 124 include one or more devices of providing output. Examples of output devices 124 include, without limitation, a display device, haptic devices, and/or the like. Examples of display devices include, without limitation, LCD displays, LED displays, OLED displays, AMOLED displays, touch-sensitive displays, transparent displays, projection systems, and/orthe like. Additionally, input devices 122 and/or output devices 124 may include devices capable of both receiving input and providing output, such as a touch-sensitive display, and/orthe like.
[0028] Audio output device(s) 126 include one or more devices capable of outputting sound. Audio output device(s) 126 include, without limitation, portable speakers, bone conduction speakers, shoulder worn and shoulder mounted headphones, glasses mounted speakers, around-neck speakers, Bluetooth, true wireless stereo (TWS) headphones or other wireless headphones, and/or the like. In some embodiments, an audio output device 126 can be coupled to computing device 180 via I/O device interface 104 and/or network interface 106 by wire or wirelessly in any technically feasible manner (e.g.. Universal Serial Bus (USB), Bluetooth, ad hoc Wi-Fi).
[0029] In various embodiments, audio output device(s) 126 also include computing, communications, and/or networking capability. For example, an audio output device 126 can also include one or more processing units similar to processing unit(s) 102, memory and/or storage, and a network interface similar to network interface 106. An audio output device 126 can communicatively couple with one or more other audio output devices 126 and/or with one or more computing devices 180 via the network interface, and optionally store data.
[0030| In various embodiments, multiple audio output devices 126-1 to 126-N (which are also collectively referred to as audio output device(s) 126 or generically as audio output device 126) communicatively couple with each other and/orthe computing device(s) 180 to form a coordinated media or audio system. A coordinated media audio system, as used herein, is an ad hoc network of one or more media output devices, such as an ad hoc network of one or more audio output device(s) 126 communicatively coupled with each other and communicatively coupled with one or more computing devices 180 via an audio device network 162. Ad hoc networks of audio output device(s) 126 and computing device(s) 180 include any number of one or more audio output device(s) 126 and any number of one or more computing device(s) 180. In some embodiments, an ad hoc network includes only one audio output device 126, two or more audio output devices 126 supplied by a user, two or more audio output devices 126 provided by two or more users in any combination (e.g., one user providing on audio output device 126, a second user providing two or more audio output devices 126, and/or a third user not providing any audio output device 126), and/or the like. Additionally, in some embodiments, an ad hoc
network includes only one computing device 180, a same user providing two or more computing devices 180 (e.g., a smartphone and a tablet), two or more users each providing their own computing device 180, and/or the like. In some embodiments, the ad hoc network is formed in a private space (e.g., a home, a dormitory room, a backyard, and/or the like) and/or a public space (e.g., a common space in a dormitory, a park, a public venue, and/or the like). Audio device network 162 is typically a wireless network such as a Wi-Fi network, an ad hoc Wi-Fi network, a Bluetooth network, and/or the like. In some embodiments, the audio output devices 126 in the coordinated audio system operate in a “party mode.”
[0031] In the coordinated audio system, audio output devices 126 output media content received from a computing device 180 via audio device network 162. The audio output devices 126 output the media content in a synchronized or near-synchronized manner. In some embodiments, the coordinated audio system is initiated from one of computing device(s) 180 via output device manager application 150. For example, while computing device 180-1 is communicatively coupled to audio output device(s) 126, computing device 180-1 can send a media content item to audio output devices 126 to be synchronously output by audio output devices 126. The coordinated audio system is described in further detail in FIG. 2.
[0032] Memory 116 includes an output device manager application 150 and one or more media content applications 152. Output device manager application 150 and media content application 152 are stored in and loaded into memory 116 from storage 114. In operation, media content application 152 outputs (e.g.. decodes for playback) locally stored media content (e.g.. stored in storage 114) and/or media content from media content service(s) 170 via audio output device(s) 126 and/or output device(s) 124. Media content application 152 also collects and/or generates user profile data, including for example media content consumption data and preferences data. Media content application 152 also can communicate with media content service(s) 170 to obtain (e.g., purchase, rent, and/or subscribe to download, stream, or otherwise retrieve) media content for output and/or storage at one of computing devices 180, to upload user profile data to a corresponding user account at one of the media content service(s) 170, download user profile data associated with a user of any of computing device 180(s) from any of media content service(s) 170, and/or the like. In some embodiments, a media content application 152 is associated with, and can access, a specific media content service 170 (e.g.. Spotify app for Spotify service, Apple Music app for Apple Music service, etc.).
[0033] Output device manager application 150 facilitates management of audio output devices 126. While a computing device 180 is communicatively coupled to audio output device(s) 126, a user can, via output device manager application 150, perform management functions for audio output device(s) 126, including but not limited to monitoring a status (e.g.. battery level, volume level, firmware version, etc.) of audio output device(s) 126, configuring settings of audio output device(s) 126 (e.g.. equalization settings), updating a firmware of audio output devices 126, and/or the like. In some embodiments, the
preferences from users are aggregated across computing devices 180 in any of the aforementioned forms including upvoting, downvoting, averaging and/or the like to form the audio output level and/or audio equalization curve applied to media content sent to audio output device(s) 126. In some embodiments, output device manager application 150 can interface with media content application(s) 152 (e.g., via an application programming interface (API)) to cause or otherwise facilitate the sending of media content by media content application(s) 152 to audio output device(s) 126 and/or to obtain data associated with media content application(s) 152, including but not limited to media content library information and/or user profile data.
[0034] Further, in some embodiments, output device manager application 150 facilitates creation and management of the coordinated audio system. A user can, via output device manager application 150, command an audio output device 126 to join the coordinated audio system, thereby creating the coordinated audio system. Within output device manager application 150, the user can configure an individual audio output device 126 and/or configure the coordinated audio system, modify (e.g., add or remove audio output device (s) 126) or terminate the coordinated audio system, and perform other management functions associated with the coordinated audio system. Further, output device manager application 150 can generate a playlist of media content to be sent by media content application(s) 152 to audio output device(s) 126. Output device manager application 150 can generate the playlist based on explicit inputs by users and/or user profile data from computing device(s) 180 in the coordinated audio system, further details of which are described below.
[0035] FIG. 2 illustrates a coordinated audio system 200, according to one or more aspects of the various embodiments. Coordinated audio system 200 includes multiple audio output devices 126-1 through 126-N (e.g.. speakers) communicatively coupled together via audio device network 162. Coordinated audio system 200 further includes computing devices 180-1 thru 180-M, communicatively coupled together via audio device network 162. Within coordinated audio system 200, a computing device 180 is communicatively coupled to zero or more audio output devices 126.
[0036] Communications in coordinated audio system 200 can use standard and/or proprietary protocols. For example, computing devices 180 can communicate with audio output devices 126 and with each other using standard protocols (e.g.. Bluetooth, Wi-Fi), and audio output devices 126 can communicate with each other using standard or proprietary protocols (e.g.. Bluetooth, a proprietary protocol associated with a specific manufacturer) In some embodiments, audio output devices 126 that communicate with each other using a proprietary protocol are audio output devices 126 from the same manufacturer (e.g.. speakers of the same brand).
[0037] In some embodiments, one of the computing devices 180 is a leader or coordinator computing device for coordinated audio system 200 The computing device 180 from which coordinated
audio system 200 is initiated can be made the leader or coordinator device, and the leader or coordinator role can be passed to another computing device 180 by user command or request. In some embodiments, the coordinator device is automatically assigned, such as when the coordinator device is the only computing device 180 with access to a sole media content service 170 or locally stored media file that is to play next on the collaborative playlist. For ease of understanding, coordinated audio system 200 is further described below with computing device 180-3 as the coordinator computing device, although any of the other computing device 180 could be the coordinator computing device.
[0038] In coordinated audio system 200, audio output devices 126 output audio corresponding to the same media content received from one source at a time. That is, a given source sends a media content item to the audio output device(s) 126, and each of the audio output device(s) 126 outputs audio correspondmg to that media content item. In some embodiments, a computing device 180 transmits the data corresponding to the media content item to a first audio output device 126, and then the first audio output device transmits the data to the other audio output device(s) 126. In some embodiments, the computing device 180 transmits the data corresponding to the media content item to two or more of the audio output device(s) 126. In some embodiments, two or more of the computing devices 180 communicate among themselves to decide which of the computing devices 180 is to send the data corresponding to the media content item to the first audio output device 126 or all of the audio output devices 132. In some embodiments, the media content item is transmitted from one computing device 180 to the cloud (e.g., one of the media content service(s) 170) and then the cloud transmits the data corresponding to the media content item to the first audio output device 126 or to two or more of the audio output devices 126 In some embodiments, two or more of the computing devices 180 communicate among themselves to decide which of the computing devices 180 is to send the data corresponding to the media content item to the cloud
[0039] While audio output devices 126 output audio corresponding to a media content item from one computing device 180 at a time, the multiple computing devices 180 can collaborate on the selection of media content items for output to audio output devices 126. In some embodiments, at each computing device 180, individual content lists 206-1 thru 206-M (e.g., a playlist of media content items) for output in coordinated audio system 200 can be generated. Content lists 206-1 thru 206-M are aggregated into a collaborative playlist 210 of media content to output to audio output devices 126. In some embodiments, computing device 180-3 sends the collaborative playlist 210 to the other computing devices 180 so that users of the other computing devices can review the collaborative playlist 210 and/or express preferences for each of the media content items in the collaborative playlist 210. A media content item in collaborative playlist 210 can be sent to audio output devices 126 from the coordinator computing device 180-3 or from the computing device 180 whose content list 206 included the media content item. In some embodiments, collaborative playlist 210 can be saved for later use and/or used as a basis for a collaborative playlist to be generated at a later time. Generation of collaborative playlists are described
in further detail below.
[0040] Content lists 206 can be generated based on user inputs (e.g . a user manually adds a media content item to a content list) and/or automatically based on user profile data (e.g.. user preferences, a playlist for a user, a list of “liked” songs, a list of most played songs). At a computing device 180, a user can add or remove a media content item from the corresponding content list 206 any time. As shown, computing devices 180-1 thru 180-M include preferences data 208-1 thru 208-M, respectively, associated with a user of the computing device. At a given computing device 180, one or more media content items can be suggested based on preferences data 208 and added to content list 206. Further, in some embodiments, media content items in collaborative playlist 210 can be ordered based on user inputs and/or user profile data (e.g.. preferences data 208).
[0041] At a computing device 180 in coordinated audio system 200, a user can interact with coordinated audio system 200 via output device manager application 150 at the computing device 180 For example, the user at the coordinator computing device 180-3 can manage coordinated audio system 200 via output device manager application 150. Further, at a computing device 180, a user can add media content to content list 206 and/or remove media content from content list 206. Output device manager application 150 can also determine one or more media content suggestions based on one or more inputs (e.g.. user inputs, user profile data, etc.) and add those suggestions to content list 206. Output device manager application 150 at the coordinator computing device 180-3 can obtain (e.g.. receive) content lists 206 from the other computing devices 180, generate a collaborative playlist 210 from the content lists 206, share collaborative playlist 210 with output device manager applications 150 at the other computing devices 180, and optionally re-order the media content in collaborative playlist 210 based on one or more inputs (e.g.. user profile data, user preferences). Based on the ordering of the media content in collaborative playlist 210, output device manager application 150 at the coordinator computing device 180-3 can direct the output device manager application 150 at the coordinator computing device 180-3 or the output device manager application at another computing device 180 to cause a media content item to be sent to the audio output devices 126 for output. For example, when output of media content in collaborative playlist 210 reaches a media content item that is included on content list 206-2 on computing device 180-2, output device manager application 150 at the coordinator computing device 180-3 can direct output device manager application 150 at computing device 180-2 to send that media content item to the audio output devices 126.
[0042] FIG. 3 illustrates an example of a collaboratively generated playlist for a coordinated audio system, according to one or more aspects of the various embodiments. FIG. 3 shows content lists 306-1 thru 306-L associated with respective multiple computing devices (e.g.. computing devices 180). Each content list 306 lists media content manually added by a user to the list For example, content list 306- 1 includes Content Items A, B, and F added by a first user to content list 306-1; content list 306-2 includes
Content Items C and E added by a second user to content list 306-2; and content list 306-L includes Content Item B and Content Item D added by a third user to content list 306-L. The inclusion of Content Item B in both content list 306-1 and 306-L indicates that the same content item can be included on multiple playlists. A collaborative playlist 310 can be generated by output device manager application 150 at a coordinator computing device by aggregating content lists 306. Accordingly, collaborative playlist 310 includes Content Items A thru F.
[0043] In some embodiments, the content items in collaborative list 310 can be ordered based on one or more criteria. One criterion is a timestamp when a media content item is added to a content list 306. For example, Content Items A thru F can be ordered within collaborative playlist 310 based on the timestamps when Content Items A thru F were added to their corresponding content lists 306, and Content Items A thru F are output in that order. Other criteria for ordering can include alphabetical order by title or artist, or random order.
[0044] In some embodiments, users can upvote or downvote the media content items in collaborative playlist 310, and the media content items are ordered based on the tallies of upvotes and downvotes. For example, media content items are ordered based on upvote -to -do wnvote differential, with the items with the larger differential placed earlier in collaborative playlist 310. The upvote/downvote criterion for ordering media content items can be used in conjunction with other criteria (e.g., items are ordered on the upvote -to -do wnvote differential with timestamp of addition to a content list being a tiebreaker). More generally, media content items based on user profile data fe.g.. user preferences data) associated with the media content items; the user preferences data indicates preferences for media content items amongst users in a coordinated audio system. Upvotes and downvotes by users is but one example of user preferences data based on which the media content items in collaborative playlist 310 can be ordered In some embodiments, multiple criteria (e.g., number of plays, number of playlists in which media content item is included, etc.) can be aggregated into a score or ranking for purposes of ordering collaborative playlist 310 and/or removing certain media content items from collaborative playlist 310. The criteria can be aggregated into a score or ranking using, for example, a weighted score function where the criteria are weighted by respective predefined weights.
[0045] FIG. 4 illustrates another example of a collaboratively generated playlist for a coordinated audio system, according to one or more aspects of the various embodiments. FIG. 4 shows content lists 402-1 thru 402-L associated with respective multiple computing devices (e.g.. computing devices 180). Each content list 402 lists media content manually added by a user to the list. For example, content list 402-1 includes Content Item A added by a first user to content list 402-1; content list 402-2 includes Content Items C and E added by a second user to content list 402-2; and content list 402-L includes Content Item D added by a third user to content list 402-L.
[0046| In some embodiments, media content items added to a content list are seed content items based on which one or more content item suggestions can be determined. In FIG. 4, the seed content items are indicated in bold text. Output device manager application 150 at a respective computing device determines one or more content item suggestions based on the seed content item(s) at the corresponding content list. For example, for content list 402-1, based on seed Content Item A, output device manager application 150 determines suggested Content Items B, F, and H. Content list 406-1 includes seed Content Item A and suggested Content Items B, F, and H. Similarly, for content list 406-2, Content Items G and K are suggested based on seed Content Items C and E. For content list 406-L, Content Items I and J are suggested based on seed Content Item D. It should be appreciated that the determination of suggested content items can be performed using any technically feasible technique including soliciting suggested content items from one of the media content services 170 or using a playlist function provided by one of the media content services 170. In some embodiments, the feature of determining suggested content items is referred to as “create a radio station” or “create a playlist” based on one or more media content items. A collaborative playlist 410 can be generated from content lists 406, with seed and suggested content items, in a similar manner as collaborative playlist 310 above. Further, media content items in collaborative playlist 410 can be ordered based on similar criteria as those described above with respect to collaborative playlist 310. In some embodiments, if output of media content items in collaborative playlist 410 is reaching the end of the playlist, an output device manager application 150 can determine additional suggested media content items based on media content items in collaborative playlist 410 and add those suggested content items to collaborative playlist 410. Additionally and/or alternatively, each of the seed content items in content lists 402 can be received at a the coordinator computing device and the aggregated content lists 402 can then be used as seed content to generate the additional media content items to extend collaborative playlist 410.
[0047| FIG. 5 illustrates yet another example of a collaboratively generated playlist for a coordinated audio system, according to one or more aspects of the various embodiments. FIG. 5 shows preferences data 508-1 thru 508-L associated with respective multiple computing devices (e.g., computing devices 180). Each preferences data 508 includes preferences data associated with a user of the corresponding computing device. Based on preferences data 508 (or user profile data more generally), output device manager application 150 can determine one or more suggested media content items and add those suggested media content items to a content list 506 at the corresponding computing device. For example, content list 506-1 is generated with Content Items A, B, F, and H; Content Items A, B, F, and H are suggested content items determined based on preferences data 508-1. Similarly, content list 506-2 is generated with Content Items C, E, G, and K; Content Items C, E, G, and K are suggested content items determined based on preferences data 508-2. Content list 506-L is generated with Content Items D, I, and J; Content Items D, I, and J are suggested content items determined based on preferences data 508-L. A collaborative playlist 510 can be generated from content lists 506 in a similar manner as
collaborative playlist 310 or 410 above. Further, media content items in collaborative playlist 510 can be ordered based on similar criteria as those described above with respect to collaborative playlist 310 or 410. In some embodiments, if output of media content items in collaborative playlist 510 is reaching the end of the playlist, or if the playlist is to be extended for any other reason, an output device manager application 150 can determine additional suggested media content items based on media content items in collaborative playlist 510 and/or any of multiple content lists 506 and/or preferences data 508 and add those suggested content items to collaborative playlist 510. Additionally and/or alternatively, each of the preference data 508 can be received at the coordinator computing device and the preference data 508 can be aggregated and then used as aggregate preference data used to generate the collaborative playlist 510.
[0048] Thus, a collaborative playlist for a coordinated audio system can be generated based on content items manually added by users and/or automatically determined by output device manager application(s) 150. Suggested content items can be determined based on seed content items and/or user profile data. Media content items in the collaborative playlist can be ordered based on one or more criteria associated with user profile data or manual upvoting and downvoting.
[0049] While the above description of collaborative playlists presume that the collaborative playlist is generated and stored locally at a computing device and shared with other computing devices within the coordinated audio system, in some embodiments the collaborative playlist can be generated at and/or shared to a remote system (e.g.. a cloud system) For example, user profile data and/or content lists associated with a coordinated audio system can be uploaded to a cloud system, where a collaborative playlist associated with the coordinated audio system is generated and downloaded to one or more of the computing devices in the coordinated audio system. Any portion of the collaborative playlist generation, ordering and storage may be performed on one or more computing devices, in the cloud, or even on one or more processors housed within an audio output device 126.
[0050] FIG. 6 is a flow chart of method steps for generating a collaborative playlist for a coordinated audio system, according to one or more aspects of the various embodiments Although the method steps are described with respect to the systems and examples of FIGs. 1-5, persons skilled in the art will understand that any system configured to perform the method steps, in any order, falls within the scope of the various embodiments.. In some embodiments, one of more of the steps of the method in FIG. 6 can be omitted and/or additional steps (not shown) may also be performed.
[0051] As shown, a method 600 begins at step 602, where an output device manager application obtains one or more inputs selecting one or more content items for a first list. At a computing device (e.g., coordinator computing device 180-3) in a coordinated audio system, output device manager application 150 can receive inputs from a user manually adding one or more media content items to a corresponding content list content list 206-3).
[0052] At step 604, the output device manager application obtains a second list of one or more content items from a second device. Output device manager application 150 obtains a content list (e.g„ 206-2) from another computing device (e.g., computing device 180-2) in the coordinated audio system and/or any of the content lists 206, 306, 406, and/or 506.
[0053] At step 606, the output device manager application generates a collaborative playlist that includes content items from the first list and the second list. At computing device 180-3, output device manager application 150 generates a collaborative playlist 210 that includes media content items from content lists 206-3, 206-2, and other content lists 206 in the coordinated audio system. For example, in FIG. 3, collaborative playlist 310 is generated by aggregating content lists 306.
[0054] At step 608, the output device manager application orders the content items in the collaborative playlist based on one or more criteria. Output device manager application 150 orders the media content items in collaborative playlist (e g , collaborative playlists 210, 310, 410 and/or 510) in an output or playback order based on one or more criteria including, for example, timestamps when the media content items are added to a corresponding content list, upvotes and downvotes for the media content items, and preferences data associated with the media content items. The output device manager application 150 can order the media content items in collaborative playlist using any of the techniques described herein. In some embodiments, the output device manager orders the media content items by selecting a combination of one or more methods in a predetermined manner. In some embodiments, the preferences for a user for ordering media content in the collaborative playlist is selected by choosing one or more methods from a list using input device 122 or GUI running on computing device 180 of the coordinator device or other device.
[0055] At step 10, the output device manager application causes output of the media content items in the collaborative playlist via one or more audio output devices. Output device manager application 150 at coordinator computing device 180-3 can direct media content application(s) 152 at computing device 180-3 to send the media content items in collaborative playlist 210 to audio output devices 126 in coordinated audio system 200. Alternatively, output device manager application 150 at coordinator computing device 180-3 can direct media content application(s) 152 at respective computing devices 180 to send the media content items in their respective content lists 206 to audio output devices 126. The order in which the media content items in collaborative playlist 210 are sent to audio output devices 126 is based on the order determined during step 608.
[0056] In some embodiments, method 600 can return to step 602, as further content items are be added to content lists while media content items in the collaborative playlist are being output, and thus method 600 can be repeated to update the collaborative playlist accordingly. Although not shown in Figure 6, step 604 can be repeated multiples times for each of the computing devices providing a list of
content items for the coordinated audio system and step 606 can generate the collaborative playlist further based on these additional lists of content items. As computing devices 180 enter or leave the coordinated audio system 200, items from content lists 206 can be added and removed from collaborative playlist 210 in step 606, or the influence of their user preference data can be correspondingly added or removed from the ordering of the media in the collaborative playlist at step 608 or the influence of their suggested playback level and audio equalization can be correspondingly added or removed.
[0057] FIG. 7 is another flow chart of method steps for generating a collaborative playlist for a coordinated audio system, according to one or more aspects of the various embodiments. Although the method steps are described with respect to the systems and examples of FIGs. 1-5, persons skilled in the art will understand that any system configured to perform the method steps, in any order, falls within the scope of the various embodiments. In some embodiments, one of more of the steps of the method in FIG. 7 can be omitted and/or additional steps (not shown) may also be performed.
[0058] As shown, a method 700 begins at step 702, where an output device manager application obtains one or more inputs selecting a seed content item or seed content items. At a computing device (e.g.. any of computing devices 180) in a coordinated audio system, output device manager application 150 can receive inputs from a user manually adding one or more seed content items to a corresponding content list (e.g.. any of content lists 506).
[0059] At step 704, the output device manager application 150 determines one or more suggested content items based on the seed content item or seed content items. Output device manager application 150 can determine one or more suggested media content items based on the seed content item. For example, in FIG. 4, Content Items B, F, and H are suggested from seed Content Item A.
[0060] At step 706, the output device manager application generates a first list of content items that includes the seed content item and the suggested content items. Output device manager application 150 can add the seed content item and the suggested content items to the corresponding content list. For example, in FIG. 4, content list 402-1 includes seed Content Item A and suggested Content Items B, F, and H.
[0061] At step 708, the output device manager application obtains a second list of one or more content items from a second device. Step 708 is similar to step 604 of method 600 above.
[0062] At step 710, the output device manager application generates a collaborative playlist that includes content items from the first list and the second list. At step 712, the output device manager application orders the content items in the collaborative playlist based on one or more criteria. At step 714, the output device manager application causes output of the media content items in the collaborative playlist via a network of audio output devices. Steps 710, 712, and 714 are similar to steps 606, 608, and
610, respectively, of method 600
[0063] In some embodiments, method 700 can return to step 702, as further seed content items can be manually added to content lists and/or additional computing devices join or leave the coordinated audio system while media content items in the collaborative playlist are being output, and thus method 700 can be repeated to update the collaborative playlist accordingly. Additionally or alternatively, the suggested content items can be used as seed content items for determining additional suggested content items. Although not shown in Figure 7, step 708 can be repeated multiples times for each of the computing devices providing lists content items for the coordinated audio system. Step 710 can then generate collaborative playlist further based on these additional lists of content items. Although not shown in Figure 7, steps 702, 704 and 706 can be repeated multiples times for each of the computing devices providing seed content items forthe coordinated audio system. In some embodiments, only steps 702, 704, and 706 are performed for all computing devices 180, and step 708 is omitted to form an automatically generated collaborative playlist.
[0064] FIG. 8 is yet another flow chart of method steps for generating a collaborative playlist for a coordinated audio system, according to one or more aspects of the various embodiments. Although the method steps are described with respect to the systems and examples of FIGs. 1-5, persons skilled in the art will understand that any system configured to perform the method steps, in any order, falls within the scope of the various embodiments. In some embodiments, one of more of the steps of the method in FIG. 8 can be omitted and/or additional steps (not shown) may also be performed.
[0065] As shown, a method 800 begins at step 802, where an output device manager application obtains preferences data associated with a user. At a computing device coordinator computing
device 180-3) in a coordinated audio system, output device manager application 150 obtains preferences data 208-3 associated with a user of computing device 180-3. Output device manager application 150 can obtain preferences data 208-3 through media content application 152.
[0066] At step 804, the output device manager application determines one or more suggested content items based on the preferences data. Output device manager application 150 at computing device 180-3 can determine one or more suggested media content items based on preferences data 208-3. For example, in FIG. 5, Content Items A, B, F, and H are suggested from preferences data 508-1.
[0067] At step 806, the output device manager application generates a first list of content items that includes the suggested content items. Output device manager application 150 can add the suggested content items to the corresponding content list. For example, in FIG. 5, content list 506-1 includes suggested Content Items A, B, F, and H.
[0068] At step 808, the output device manager application obtains a second list of one or more
content items from a second device. Step 808 is similar to step 604 of method 600 above.
[0069] At step 810, the output device manager application generates a collaborative playlist that includes content items from the first list and the second list. At step 812, the output device manager application orders the content items in the collaborative playlist based on one or more criteria. At step 814, the output device manager application causes output of the media content items in the collaborative playlist via a network of audio output devices. Steps 810, 812, and 814 are similar to steps 606, 608, and 610, respectively, of method 600.
[0070] In some embodiments, method 800 can return to step 802, as further preferences data becomes available and/or as additional computing devices join or leave the coordinated audio system while media content items in the collaborative playlist are being output, and thus method 700 can be repeated to update the collaborative playlist accordingly. Although not shown in Figure 8, step 808 can be repeated multiple times for each of the computing devices providing lists content items for the coordinated audio system. Step 810 can then generate the collaborative playlist further based on the additional preferences data and/or lists of content items. Although not shown in Figure 8, steps 802, 804 and 806 can be repeated multiples times so that multiple computing devices can provide preferences data for the formation of a list of content items for the coordinated audio system. In some embodiments, only steps 802, 804, and 806 are performed for all computing devices 180, and step 808 is omitted to form a fully automatically generated collaborative playlist. In some embodiments, both manually added and automatically generated content items from one or more computing devices 180 form the collaborative playlist.
[0071] In sum, multiple computing devices and output devices are coupled together to form a coordinated media system. The computing devices collaborate to generate a list of content for output on the output devices. Content can be added to a list manually by a user at each computing device, and the lists of content from the computing devices are combined into a collaborative playlist. The order of output from the collaborative playlist can be determined based on time at which the content is added to a list and/or preferences of the users associated with the content in the collaborative playlist. The manually added content in the collaborative playlist can also be used to determine content suggestions that can be added to the collaborative playlist. Additionally, content for the collaborative playlist can be determined and/or ordered based on the content consumption data of the users.
[0072] At least one technical advantage of the disclosed techniques relative to the prior art is that, with the disclosed techniques, multiple users and devices can collaborate together to provide content for playback on using a coordinated media system. Another advantage is that content in the playlist is ordered based on the content preferences of multiple users. Accordingly, the more preferred content amongst the multiple users is played earlier in the playlist and/or played more frequently, and thus more
likely to be played than content later in the playlist. These technical advantages provide one or more technological improvements over prior art approaches.
[0073] 1. In some embodiments a computer-implemented method for managing content in a media system includes, at a first computing device generating a first list of content items, obtaining a second list of content items associated with a second computing device, generating a collaborative playlist based on the first list and the second list, and causing at least one content item included in the collaborative playlist to be output via one or more output devices.
[0074] 2. The method of clause 1, wherein the one or more output devices comprises a plurality of communicatively coupled audio speakers.
[0075] 3. The method of clause 1 or clause 2, wherein generating the first list of content items comprises receiving one or more user inputs adding one or more first content items to the first list.
[0076] 4. The method of any one of clauses 1-3, wherein generating the collaborative playlist comprises determining one or more suggested content items based on one or more first content items in the first list and adding the one or more suggested content items to the collaborative playlist.
[0077] 5. The method of any one of clauses 1-4, wherein generating the first list of content items comprises obtaining user profile data associated with a user of the first computing device, determining one or more suggested content items based on the user profile data, and adding the one or more suggested content items to the first list.
[0078] 6. The method of any one of clauses 1-5, further comprising ordering a plurality of content items included in the collaborative playlist based on one or more criteria.
[0079] 7. The method of any one of clauses 1-6, wherein the one or more criteria corresponds to respective timestamps associated with when each of the plurality of content items was added to the first list or the second list.
[0080] 8. The method of any one of clauses 1-7, wherein the collaborative playlist includes a first content item, and wherein the one or more criteria comprises at least one of a number of votes for playing the first content item or a number of votes for not playing the first content item.
[0081] 9. The method of any one of clauses 1-8, wherein causing at least one content item included in the collaborative playlist to be output via the one or more output devices comprises causing the first computing device or the second computing device to send the at least one content item included in the collaborative playlist to the one or more output devices.
[0082] 10. In some embodiments, one or more non-transitory computer-readable storage media
including instructions that, when executed by one or more processors at a first computing device, cause the one or more processors to perform the steps of generating a first list of content items, obtaining a second list of content items associated with a second computing device, generating a collaborative playlist based on the first list and the second list, and causing at least one content item included in the collaborative playlist to be output via one or more output devices.
[0083] 11. The one or more non-transitory computer-readable storage media of clause 10, wherein generating the first list of content items comprises receiving one or more user inputs adding a first content item to the first list.
[0084] 12. The one or more non-transitory computer-readable media of clause 10 or clause 11, wherein the steps further comprise ordering content items in the collaborative playlist based on at least one of a number of votes for playing the first content item by one or more users or a number of votes for not playing the first content item by the one or more users
[0085] 13. The one or more non-transitory computer-readable storage media of any one of clauses
10-12, wherein generating the collaborative playlist of content items further comprises determining one or more suggested content items based on the first content item and adding the one or more suggested content items to the first list.
[0086] 14. The one or more non-transitory computer-readable storage media of any one of clauses
10-13, wherein generating the first list of content items comprises obtaining user profile data associated with a user of the first computing device, determining one or more suggested content items based on the user profile data, and adding the one or more suggested content items to the first list.
[0087] 15. The one or more non-transitory computer-readable storage media of any one of clauses
10-14, wherein the user profile data comprises media content consumption data and preferences data.
[0088] 16. The one or more non-transitory computer-readable storage media of any one of clauses
10-15, wherein causing the at least one content item included in the collaborative playlist to be output via the one or more output devices comprises causing the first computing device or the second computing device to send the at least one content item included in the collaborative playlist to the one or more output devices.
[0089] 17. The one or more non-transitory computer-readable media of any one of clauses 10-16, wherein the steps further comprise sending the collaborative playlist to the second computing device.
[0090] 18. In some embodiments, a computing device comprises a memory storing an application and one or more processors that, when executing the application, is configured to generate a first list of content items, obtain a second list of content items associated a second computing device, generate a
collaborative playlist by aggregating the first list and the second list, and cause at least one content item included in the collaborative playlist to be output via one or more output devices.
[0091] 19. The computing device of clause 18, wherein the one or more processors, when executing the application, is further configured to determine one or more suggested content items based on at least one of a first content item included in the first list or user profile data associated with a user and add the one or more suggested content items to the first list.
[0092] 20. The computing device of clause 18 or clause 19, wherein to cause the at least one content item to be output via the one or more output devices, the computing device is configured to send the at least one content item to the one or more output devices or cause the second computing device to send the at least one content item to the one or more output devices.
[0093] Any and all combinations of any of the claim elements recited in any of the claims and/or any elements described in this application, in any fashion, fall within the contemplated scope of the present disclosure and protection.
[0094] The descriptions of the various embodiments have been presented for purposes of illustration, but are not intended to be exhaustive or limited to the embodiments disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments.
[0095] Aspects of the present embodiments may be embodied as a system, method or computer program product. Accordingly, aspects of the present disclosure may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, microcode, etc .) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “module,” a “system,” or a “computer.” In addition, any hardware and/or software technique, process, function, component, engine, module, or system described in the present disclosure may be implemented as a circuit or set of circuits. Furthermore, aspects of the present disclosure may take the form of a computer program product embodied in one or more computer readable medium(s) having computer readable program code embodied thereon.
[0096] Any combination of one or more computer readable medium(s) may be utilized. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM),
an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, a solid state drive (SSD), a secure digital (SD) drive, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
[0097] Aspects of the present disclosure are described above with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the disclosure. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine. The instructions, when executed via the processor of the computer or other programmable data processing apparatus, enable the implementation of the functions/acts specified in the flowchart and/or block diagram block or blocks. Such processors may be, without limitation, general purpose processors, special-purpose processors, application-specific processors, or field-programmable gate arrays.
[0098] The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions
[0099] While the preceding is directed to embodiments of the present disclosure, other and further embodiments of the disclosure may be devised without departing from the basic scope thereof, and the scope thereof is determined by the claims that follow.
Claims
1. A computer-implemented method for managing content in a media system, comprising: at a first computing device: generating a first list of content items; obtaining a second list of content items associated with a second computing device; generating a collaborative playlist based on the first list and the second list; and causing at least one content item included in the collaborative playlist to be output via one or more output devices.
2. The method of claim 1, wherein the one or more output devices comprises a plurality of communicatively coupled audio speakers.
3. The method of claim 1, wherein generating the first list of content items comprises receiving one or more user inputs adding one or more first content items to the first list.
4. The method of claim 1, wherein generating the collaborative playlist comprises: determining one or more suggested content items based on one or more first content items in the first list; and adding the one or more suggested content items to the collaborative playlist.
5. The method of claim 1, wherein generating the first list of content items comprises: obtaining user profile data associated with a user of the first computing device; determining one or more suggested content items based on the user profile data; and adding the one or more suggested content items to the first list.
6. The method of claim 1, further comprising ordering a plurality of content items included in the collaborative playlist based on one or more criteria.
7. The method of claim 6, wherein the one or more criteria corresponds to respective timestamps associated with when each of the plurality of content items was added to the first list or the second list.
8. The method of claim 6, wherein the collaborative playlist includes a first content item, and wherein the one or more criteria comprises at least one of a number of votes for playing the first content item or a number of votes for not playing the first content item.
9. The method of claim 1, wherein causing at least one content item included in the collaborative
playlist to be output via the one or more output devices comprises causing the first computing device or the second computing device to send the at least one content item included in the collaborative playlist to the one or more output devices.
10. One or more non-transitoiy computer-readable storage media including instructions that, when executed by one or more processors at a first computing device, cause the one or more processors to perform the steps of: generating a first list of content items; obtaining a second list of content items associated with a second computing device; generating a collaborative playlist based on the first list and the second list; and causing at least one content item included in the collaborative playlist to be output via one or more output devices.
11. The one or more ncm-transitory computer- readable storage media of claim 10, wherein generating the first list of content items comprises receiving one or more user inputs adding a first content item to the first list.
12. The one or more non-transitory computer- readable media of claim 11, wherein the steps further comprise ordering content items in the collaborative playlist based on at least one of a number of votes for playing the first content item by one or more users or a number of votes for not playing the first content item by the one or more users.
13. The one or more non-transitory computer- readable storage media of claim 11, wherein generating the collaborative playlist of content items further compnses: determining one or more suggested content items based on the first content item; and adding the one or more suggested content items to the first list.
14. The one or more non-transitory computer- readable storage media of claim 10, wherein generating the first list of content items comprises: obtaining user profile data associated with a user of the first computing device; determining one or more suggested content items based on the user profile data; and adding the one or more suggested content items to the first list.
15. The one or more non-transitory computer- readable storage media of claim 14, wherein the user profile data comprises media content consumption data and preferences data.
16. The one or more non-transitory computer- readable storage media of claim 10, wherein causing
the at least one content item included in the collaborative playlist to be output via the one or more output devices comprises causing the first computing device or the second computing device to send the at least one content item included in the collaborative playlist to the one or more output devices.
17. The one or more non-transitory computer- readable media of claim 10, wherein the steps further comprise sending the collaborative playlist to the second computing device.
18. A computing device comprising: a memory storing an application; and one or more processors that, when executing the application, is configured to: generate a first list of content items; obtain a second list of content items associated a second computing device; generate a collaborative playlist by aggregating the first list and the second list; and cause at least one content item included in the collaborative playlist to be output via one or more output devices.
19. The computing device of claim 18, wherein the one or more processors, when executing the application, is further configured to: determine one or more suggested content items based on at least one of a first content item included in the first list or user profile data associated with a user; and add the one or more suggested content items to the first list.
20. The computing device of claim 18, wherein to cause the at least one content item to be output via the one or more output devices, the computing device is configured to: send the at least one content item to the one or more output devices; or cause the second computing device to send the at least one content item to the one or more output devices.
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/US2022/049310 WO2024102120A1 (en) | 2022-11-08 | 2022-11-08 | Content management for media systems |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| EP4616301A1 true EP4616301A1 (en) | 2025-09-17 |
Family
ID=84537569
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| EP22826501.3A Pending EP4616301A1 (en) | 2022-11-08 | 2022-11-08 | Content management for media systems |
Country Status (3)
| Country | Link |
|---|---|
| EP (1) | EP4616301A1 (en) |
| CN (1) | CN120153370A (en) |
| WO (1) | WO2024102120A1 (en) |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US12200285B2 (en) * | 2021-03-10 | 2025-01-14 | Queued Up, Llc | Technologies for managing collaborative and multiplatform media content playlists |
-
2022
- 2022-11-08 WO PCT/US2022/049310 patent/WO2024102120A1/en not_active Ceased
- 2022-11-08 CN CN202280101544.XA patent/CN120153370A/en active Pending
- 2022-11-08 EP EP22826501.3A patent/EP4616301A1/en active Pending
Also Published As
| Publication number | Publication date |
|---|---|
| WO2024102120A1 (en) | 2024-05-16 |
| CN120153370A (en) | 2025-06-13 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US20200201596A1 (en) | Method and system for playback of audio content using wireless mobile device | |
| EP3014617B1 (en) | System, method and devices for bluetooth party-mode | |
| US9537913B2 (en) | Method and system for delivery of audio content for use on wireless mobile device | |
| EP3346712B1 (en) | Systems, methods, apparatus and articles of manufacture to provide a crowd-sourced playlist with guest access | |
| US20140074712A1 (en) | Media distribution system and process | |
| CN104303205A (en) | Methods and systems for ordering and voting on shared media playlists | |
| JP6257707B2 (en) | Content selection and distribution of rights and functions | |
| CN107113465A (en) | The method synchronous for the audiovisual with multiple output devices, apparatus and system | |
| WO2014062633A2 (en) | Displaying a buy/download button based on purchase history | |
| US20120308196A1 (en) | System and method for uploading and downloading a video file and synchronizing videos with an audio file | |
| US12132798B2 (en) | Systems and methods for adjusting storage based on determining content item popularity | |
| US20110276155A1 (en) | Media playback settings for playlists | |
| US9299331B1 (en) | Techniques for selecting musical content for playback | |
| US20130046873A1 (en) | Apparatus and method for producing multimedia package, system and method for providing multimedia package service | |
| US20150373395A1 (en) | Systems And Methods For Merging Media Content | |
| US20170061003A1 (en) | System, method, device and product for compiling aggregated media in a time-based playlist | |
| KR101489211B1 (en) | Method and apparatus for creating a video with photos | |
| WO2024102120A1 (en) | Content management for media systems | |
| WO2024217226A1 (en) | Video producing method and apparatus, device, and storage medium | |
| US20250280046A1 (en) | Service switching within a proximity group within an audio playback application | |
| US20140169759A1 (en) | Systems And Methods For Merging Media Content | |
| WO2024137792A1 (en) | Methods and apparatus for assigning users to virtual world servers based on social connectedness | |
| JP2010211893A (en) | Playlist sharing system and playlist sharing method |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: UNKNOWN |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE |
|
| PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE |
|
| 17P | Request for examination filed |
Effective date: 20250512 |
|
| AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC ME MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
| DAV | Request for validation of the european patent (deleted) | ||
| DAX | Request for extension of the european patent (deleted) |