BACKGROUND

To listen to the radio, a listener typically tunes a receiver to a particular frequency (e.g., an AM or FM frequency, or a satellite frequency) and listens to music, news, or other audible content being broadcasted on that frequency by a radio station. The radio station generates programs of audible content that are transmitted to all listeners simultaneously. These programs may be generated in advance, or may be generated in real-time or in an ad hoc fashion. In some cases, this can lead to situations where there is a thematic or emotional mismatch between individual units of the audible content that make up the playlist. Or, the playlist may inadvertently contain material that could be offensive to particular listeners, or could be considered insensitive based on current events.

SUMMARY

The embodiments herein disclose various mechanisms for generating playlists such that the audible content referenced therein has some form of thematic association or is arranged to be of an approximate length. For instance, music, news, and/or advertising content may be selected based on a particular user's preferences or information known about that user. At least some of these units of audible content may be selected based on properties of preceding or following units so that there is thematic continuity from unit to unit of the playlist.

In some cases, this may mean that an attribute of an audio file containing music (e.g., an artist name, a song title or lyrical content) may be used to choose an audio file containing a story (e.g., a news story). Conversely, the content of an audio file containing a story may be used to choose an audio file containing music. In a playlist, a reference to the audio file containing the story may be ordered before or after a reference to the audio file containing music.

Accordingly, a first example embodiment may involve, possibly based on a profile associated with a client device, a server device selecting an audio file containing music. The client device and the server device may be in communication with one another by way of a wide-area network, and the client device may include an audio player application. Possibly based on an attribute associated with the audio file containing the music, the server device may select an audio file containing a story. The server device may generate a playlist for the client device, where the playlist includes (i) a reference to the audio file containing the music, and (ii) a reference to the audio file containing the story. The server device may transmit the playlist to the client device over the wide area network. Reception of the playlist at the client device may cause the audio player application to retrieve and play out each of the audio file containing the music and the audio file containing the story.

A second example embodiment may involve, possibly based on a profile associated with a client device, a server device selecting a text file containing a story. The client device and a server device may be in communication with one another by way of a wide-area network, and the client device may include an audio player application. Possibly based on text within the text file containing the story, the server device may select an audio file containing music. An automatic text-to-speech system may convert the text file containing the story to an audio file containing the story. The server device may generate a playlist for the client device, where the playlist includes (i) a reference to the audio file containing the music, and (ii) a reference to the audio file containing the story. The server device may transmit the playlist, over the wide area network, to the client device. Reception of the playlist at the client device may cause the audio player application to retrieve and play out each of the audio file containing the music and the audio file containing the story.

In other cases, an audio file a story may be parsed or scanned for keywords (e.g., after processing by an automatic speech-to-text system). Based on the presence or absence of certain keywords, a mood of the story (e.g., happiness, sadness, humor, tragedy) may be determined. In some embodiments, a semantic analysis may be performed on the story in part or as a whole, and the mood of the story may be based on this analysis.

An audio file containing music may be chosen such that the audio file has the same or a similar mood, or at least a mood that is based on the mood of the story. Conversely, a mood associated with an audio file containing music may be used to choose an audio file containing a story. In a playlist, a reference to the audio file containing the story may be ordered before or after a reference to the audio file containing music.

Thus, a third example embodiment may involve a server device obtaining an audio file containing a story. A client device and the server device may be in communication with one another by way of a wide-area network, and the client device may include an audio player application. Possibly based on an attribute associated with the audio file containing the story and/or a sematic analysis of the story, the server device may determine a mood of the story. Possibly based on the mood of the story, the server device may select an audio file containing music, where the audio file containing the music is associated with an attribute that is indicative of the mood. The server device may generate a playlist for the client device, where the playlist includes (i) a reference to the audio file containing the music, and (ii) a reference to the audio file containing the story. The server device may transmit the playlist, over the wide area network, to the client device. Reception of the playlist at the client device may cause the audio player application to retrieve and play out each of the audio file containing the music and the audio file containing the story.

A fourth example embodiment may involve a server device obtaining an audio file containing music. A client device and the server device may be in communication with one another by way of a wide-area network, and the client device may include an audio player application. Possibly based on an attribute associated with the audio file containing the music, the server device may determine a mood of the music. Possibly based on the mood of the music, the server device may select an audio file containing a story. An attribute associated with the audio file containing the story, and/or a semantic analysis of the story, may be indicative of the mood. The server device may generate a playlist for the client device, where the playlist includes (i) a reference to the audio file containing the music, and (ii) a reference to the audio file containing the story. The server device may transmit, over the wide area network, the playlist to the client device. Reception of the playlist at the client device may cause the audio player application to retrieve and play out each of the audio file containing the music and the audio file containing the story.

In further embodiments, a client device may be retrieving and playing out audio files from a playlist generated by a server device. In response to an input received by the client device, the client device may determine that the playout should end in a certain amount of time. For instance, a user may have activated a timer function at the client device such that the client device is to terminate playout in a particular number of minutes. In response to this input, the client device may instruct the server device to generate a new playlist that ends after approximately the particular number of minutes. The server device may generate and provide this new playlist to the client device, and the client device may begin retrieving and playing out audio files from the new playlist. In some embodiments, the timer may be a sleep timer and audio files referenced by the new playlist may be selected and/or arranged so that they are conducive to sleep. In other embodiments, the timer may measure the amount of time remaining until a destination is reached, or until an event occurs (e.g., the arrival or a bus or train, or the beginning of an appointment).

Accordingly, a fifth example embodiment may involve a server device generating a first playlist for a client device. The first playlist may include references to a first plurality of audio files in a first specified order. Playout of the first plurality of audio files may have a first duration. The client device and the server device may be in communication with one another by way of a wide-area network, and the client device may include an audio player application. The server device may transmit, over the wide area network, the first playlist to the client device. Reception of the first playlist at the client device may cause the audio player application to retrieve and play out at least some of the first plurality of audio files in the first specified order. Possibly while the client device is playing out a current audio file of the first plurality of audio files, the server device may receive an instruction from the client device. Possibly in response to receiving the instruction, the server device may generate a second playlist. The second playlist may include references to a second plurality of audio files in a second specified order, where playout of the second plurality of audio files may have a second duration that is less than the first duration. The server device may transmit, over the wide area network, the second playlist to the client device. Reception of the second playlist at the client device may cause the audio player application to retrieve and play out the second plurality of audio files in the second specified order.

In a sixth example embodiment, an article of manufacture may include a non-transitory computer-readable medium, having stored thereon program instructions that, upon execution by a computing device, cause the computing device to perform operations in accordance with the first, second, third, fourth, and/or fifth example embodiments.

In a seventh example embodiment, a computing device may include at least one processor, as well as memory and program instructions. The program instructions may be stored in the memory, and upon execution by the at least one processor, cause the computing device to perform operations in accordance with the first, second, third, fourth, and/or fifth example embodiments.

In an eighth example embodiment, a system may include various means for carrying out each of the operations of the first, second, third, fourth, and/or fifth example embodiments.

Although examples described herein attribute certain acts to certain devices, any device or devices could perform those acts. For instance, some or all of the acts attributed to a “server device” above could be performed by different server devices and/or a client device.

These as well as other embodiments, aspects, advantages, and alternatives will become apparent to those of ordinary skill in the art by reading the following detailed description, with reference where appropriate to the accompanying drawings. Further, it should be understood that this summary and other descriptions and figures provided herein are intended to illustrate embodiments by way of example only and, as such, that numerous variations are possible. For instance, structural elements and process steps can be rearranged, combined, distributed, eliminated, or otherwise changed, while remaining within the scope of the embodiments as claimed.

