Register or Login To Download This Patent As A PDF
| United States Patent Application |
20120023405
|
| Kind Code
|
A1
|
|
HYMAN; DAVID
|
January 26, 2012
|
DYNAMIC CONTROL OF SONG FREQUENCY IN A PLAYLIST PROVIDED THROUGH A MUSIC
SERVICE
Abstract
A method includes inputting a seed data through a media interface
associated with a music service on a music device. The seed data is a
driver of creation of a playlist associated with the music service. The
method also includes dynamically controlling a frequency of songs
associated with the seed data in the playlist through a user interface of
the media interface. The frequency of songs is a number of primary songs
and a number of secondary songs in the playlist.
| Inventors: |
HYMAN; DAVID; (Kensington, CA)
|
| Assignee: |
Mog, Inc.
Berkeley
CA
|
| Serial No.:
|
272222 |
| Series Code:
|
13
|
| Filed:
|
October 13, 2011 |
| Current U.S. Class: |
715/716 |
| Class at Publication: |
715/716 |
| International Class: |
G06F 3/01 20060101 G06F003/01 |
Claims
1. A method comprising: inputting a seed data through a media interface
associated with a music service on a music device, the seed data being a
driver of creation of a playlist associated with the music service; and
dynamically controlling a frequency of songs associated with the seed
data in the playlist through a user interface of the media interface, the
frequency of songs being a number of primary songs and a number of
secondary songs in the playlist, and the dynamic control including:
determining a set of at least one of primary songs and secondary songs
based on the frequency obtained through the user interface, the primary
songs being directly related to the seed data and the secondary songs
being indirectly related to the seed data; transmitting metadata
associated with the at least one of the primary songs and the secondary
songs to be rendered on the playlist; and providing a capability to
stream the at least one of the primary songs and the secondary songs
through the media interface on the music device.
2. The method of claim 1, comprising controlling the frequency of the
primary songs and the secondary songs in the playlist through a slider on
the user interface having an axis across which the slider is configured
to be moved.
3. The method of claim 1, further comprising: caching information
associated with the at least one of the primary songs and the secondary
songs; and updating the cached information when at least one of: the
frequency of songs associated with the seed data is changed through the
media interface and the seed data is changed through the media interface.
4. The method of claim 1, wherein the primary songs are associated with
an artist and the secondary songs are associated with at least one
another artist similar to the artist associated with the primary songs,
and the method further comprises: determining the secondary songs based
on at least one of: a popularity of the at least one another artist among
users of the music service, a chart popularity, a time frame of the
artist associated with the primary songs, a genre of the artist
associated with the primary songs and a collaboration between the at
least one another artist and the artist associated with the primary
songs.
5. The method of claim 3, comprising dynamically changing the seed data
during the rendering of the playlist by utilizing a song of the at least
one of the primary songs and the secondary songs as a new seed data.
Description
CLAIM OF PRIORITY
[0001] This is a continuation application of US Utility Application Ser.
No. 12/703,801 titled "SYSTEM AND METHOD OF GENERATING A PLAYLIST BASED
ON A FREQUENCY RATIO" filed on Feb. 11, 2010.
FIELD OF TECHNOLOGY
[0002] This disclosure relates generally to music service(s) and, more
particularly, to a method, an apparatus and/or a system of dynamically
controlling song frequency in a playlist provided through a music
service.
BACKGROUND
[0003] A user of a music service (e.g., Apple.RTM.'s iTunes.RTM.,
Napster.RTM., Rhapsody.RTM.) on a music device (e.g., mobile phone,
laptop, desktop computer, portable media player) may purchase one or more
song(s) and/or possess streaming access thereto. In the case of a
streaming access to songs through the music service, the user may have
the option to generate a playlist based on an input data provided
therefrom. For example, the user may input an artist (e.g., The Beatles)
of preference, and a playlist including the artist (e.g., The Beatles)
and/or other related artists may be rendered through the media interface.
The user may not prefer one or more of the other related artists, but
still may have to go through the inconvenience of listening to songs of
the aforementioned one or more of the other related artists. Alternately,
the user may have to switch playlist(s) or vary the playlist through
inputting another data. The user may, therefore, be unable to find a
playlist dominated by songs of his/her preference, leading to frustration
with the music service.
SUMMARY
[0004] Disclosed are a method, an apparatus and/or a system of dynamically
controlling song frequency in a playlist provided through a music
service.
[0005] In one aspect, a method includes inputting a seed data through a
media interface associated with a music service on a music device. The
seed data is a driver of creation of a playlist associated with the music
service. The method also includes dynamically controlling a frequency of
songs associated with the seed data in the playlist through a user
interface of the media interface. The frequency of songs is a number of
primary songs and a number of secondary songs in the playlist.
[0006] The dynamic control of the frequency of songs includes determining
a set of primary songs and/or secondary songs based on the frequency
obtained through the user interface. The primary songs are directly
related to the seed data and the secondary songs are indirectly related
to the seed data. The dynamic control also includes transmitting metadata
associated with the primary songs and/or the secondary songs to be
rendered on the playlist, and providing a capability to stream the
primary songs and/or the secondary songs through the media interface on
the music device.
[0007] The methods and systems disclosed herein may be implemented in any
means for achieving various aspects, and may be executed in a form of a
machine-readable medium embodying a set of instructions that, when
executed by a machine, cause the machine to perform any of the operations
disclosed herein. Other features will be apparent from the accompanying
Drawings and from the Detailed Description that follows.
BRIEF DESCRIPTION OF THE VIEWS OF DRAWINGS
[0008] Example embodiments are illustrated by way of example and not
limitation in the figures of the accompanying drawings, in which like
references indicate similar elements and in which:
[0009] FIG. 1 is a schematic view of a music interface, according to one
or more embodiments.
[0010] FIG. 2 is a schematic view of communication between a music device
rendering the music interface of FIG. 1 and a music server, according to
one or more embodiments.
[0011] FIG. 3A is a schematic view of a selection tool associated with the
music interface of FIG. 1, according to one or more embodiments.
[0012] FIG. 3B is a schematic view of generation of a playlist based on
the position of a slider on the selection tool associated with the music
interface of FIG. 1, according to one or more embodiments.
[0013] FIG. 4 is a process flow diagram detailing operations involved in a
method of dynamically controlling song frequency in a playlist provided
through a music service, according to one or more embodiments.
[0014] Other features of the present embodiments will be apparent from the
accompanying Drawings and from the Detailed Description that follows.
DETAILED DESCRIPTION
[0015] Example embodiments, as described below, may be used to provide a
method, a system and/or an apparatus of dynamically controlling song
frequency in a playlist provided through a music service. Although the
present embodiments have been described with reference to specific
example embodiments, it will be evident that various modifications and
changes may be made to these embodiments without departing from the
broader spirit and scope of the various embodiments.
[0016] FIG. 1 shows a media interface 100, according to one embodiment. In
one or more embodiments, media interface 100 may be used to select and
play songs based on a selection criterion. In one or more embodiments,
media interface 100 may be installed on a data processing device (e.g., a
computing device, a mobile phone) after appropriate file(s) being
downloaded through a computer network (e.g., Internet) and/or through a
machine-readable medium (e.g., Compact Disc (CD), Digital Video Disc
(DVD)). Alternately, in one or more embodiments, media interface 100 may
be launched after loading an appropriate website of a music service
(e.g., a streaming music service) associated therewith and
selecting/searching for desired music/songs. In one or more embodiments,
the songs may be selected based on a seed data provided to the user. In
one or more embodiments, the seed data may include but is not limited to
a seed artist, a seed album and a seed song.
[0017] It is obvious that the seed data discussed above may be the driver
of playlist creation associated with a user of media interface 100. In
one or more embodiments, the user may obtain a playlist and/or search for
desired albums/songs by inputting the seed data such as artist/band name
(e.g., The Beatles, Bob Dylan), genre (e.g., rock, reggae), album name
(e.g., Abbey Road (as associated with The Beatles), Highway 61 Revisited
(as associated with Bob Dylan)), a playlist (e.g., a top 40 playlist) and
a time frame (e.g., 1950s, 1960s). Selection based on other parameters is
also within the scope of the exemplary embodiments. Alternately, in one
or more embodiments, the user may be presented playlist(s),
artist(s)/album(s) arranged in an order (e.g., alphabetically), genre(s),
time frame(s) etc. (or, in other words, seed data) to enable selection of
desired music thereof.
[0018] In one or more embodiments, the user may enter the seed data
through a user interface (e.g., a user interface 208 as illustrated in
FIG. 2) of media interface 100. The seed data may be input (e.g., through
a virtual keyboard, as shown in FIG. 1, in the case of a touchscreen, or,
manually) through artist name or song display 110, and displayed on a
seed data display 102. Non-touchscreen forms of inputting seed data is
within the scope of the exemplary embodiments. Alternately, in one or
more embodiments, user interface 208 may present the seed data to the
user to enable selection of the desired music thereof, as discussed
above. In one or more embodiments, once the seed data (e.g., artist
and/or song) is entered and a playlist is created, media interface 100
may present the user with a slider 108 configured to enable control of a
frequency of music associated with the seed data in the playlist (e.g.,
playlist 104) created.
[0019] The frequency of music associated with the seed data may be a
percentage of primary songs (e.g., primary songs 190, 192 and 194) in the
playlist (e.g., playlist 104), with the remaining songs being secondary
songs (e.g., secondary songs 196, 198). In an example embodiment shown in
FIG. 1, primary songs may be songs of an artist/band (e.g., The Beatles),
and secondary songs may be songs of other artists/bands similar to the
artist/band associated with the primary songs. In one or more
embodiments, the user may be provided a capability to control the
frequency of music associated with the seed data in a playlist (e.g.,
playlist 104) associated therewith through sliding slider 108 along an
axis of a selection tool 106.
[0020] In one or more embodiments, when a user inputs the seed data, a
client module (e.g., client module 210 of FIG. 2) associated with media
interface 100 (media interface 100 shown as being rendered on (e.g.,
through a web browser) a music device 200 (e.g., a computing device, a
mobile phone)) may send a request to a music server (e.g., music server
204 of FIG. 2) through the input seed data. In one or more embodiments,
based on the position of slider 108 on selection tool 106 and the input
seed data, music server 204 may be configured to provide a playlist 104
to music device 100. In one or more embodiments, playlist 104 may include
one or more primary song(s) and one or more secondary song(s), a number
of each of which is according to the position of slider 108 on selection
tool 106 (or, alternately, frequency ratio).
[0021] In one or more embodiments, the frequency ratio (e.g., associated
with a number of primary songs and a number of secondary songs) may be
evaluated by a selection tool module (not shown) of frequency module 212,
based on the position of slider 108 on selection tool 106. For example,
when slider 108 is near the center of selection tool 106, the selection
tool module may be configured to select an approximately equal number of
primary songs and secondary songs associated with the seed data. When
slider 108 is at an approximate starting position (e.g., 90% towards the
side of "same artist," as shown in FIG. 1) on the axis of selection tool
106, a playlist including more of primary songs (e.g., 90% primary songs)
and less of secondary songs (e.g., 10% secondary songs) may be generated.
When slider 108 is at an approximate ending position (e.g., 90% towards
the side of "mostly similar artist(s)," as shown in FIG. 1), a playlist
including more of secondary songs (e.g., 90% secondary songs) and less of
primary songs (e.g., 10% primary songs) may be generated.
[0022] In the example scenario of the seed data being The Beatles, slider
108 being at the starting position of the axis thereof may generate an
entire playlist (e.g., playlist 104) of songs of The Beatles. When slider
108 is at the ending position of the axis thereof, the playlist may
entirely include songs of artists similar to The Beatles, without any
actual song of The Beatles. Sliding slider 108 across the axis may
dynamically change the contents of the playlist in accordance with the
frequency ratio. 90% close to the starting position may lead to the
playlist including 90% of songs of The Beatles and 10% of songs similar
to The Beatles. 90% close to the ending position may lead to the playlist
including 10% of songs of The Beatles and 90% of songs similar to The
Beatles.
[0023] In one or more embodiments, the similarity between the primary
songs and the secondary songs may be based on parameters such as
popularity of artist/song(s) among users of the cloud music service
(e.g., accessed through media interface 100), chart popularity, genre,
time frame, collaboration(s) between artists etc., producer(s) etc. Other
parameters are within the scope of the exemplary embodiments. In the
example case of The Beatles being the seed data, the "mostly similar
artist(s)" may be chosen based on popularity of the "similar artists"
among the users of the cloud music service (e.g., accessed through media
interface 100), similar artists of "The British invasion" (an example of
genre) started by The Beatles (e.g., The Rolling Stones, The Kinks, The
Hollies), cover versions (e.g., by Richie Havens), 1960s (example of time
frame), collaborators with members of The Beatles (e.g., Yoko Ono with
John Lennon) etc. Algorithms associated with determining songs of similar
artists are known to one skilled in the art and, therefore, discussion
associated therewith is skipped for the sake of brevity and convenience.
[0024] In one or more embodiments, slider 108 may be a preferred selection
tool 106 to adjust the frequency ratio. Slider 108 may be preferable to a
knob, because of an ease of adjustment thereof, when compared to a knob.
For example, a user that is travelling (e.g., running, driving a car) may
have an easier time to visually locate and adjust slider 108 rather than
rotate a knob. However, selection
tools other than slider 108 are within
the scope of the exemplary embodiments.
[0025] FIG. 2 shows communication between a music device 200 and a music
server 204 through a computer network (e.g., network 202), according to
one embodiment. In one or more embodiments, a user may access media
interface 100 through music device 200. Examples of music device 200 may
include but is not limited to a mobile phone, a portable media player and
a computing device (e.g., a laptop, a desktop computer). In one or more
embodiments, the user may request for songs through user interface 208 of
media interface 100 (e.g., by searching for seed data as discussed with
regard to FIG. 1). Alternately, in one or more embodiments, a song may be
selected from a list of seed data presented to the user, as discussed
above.
[0026] In one or more embodiments, client module 210 of music device 200
may communicate a request associated with the user to music server 204
through network 202. In one or more embodiments, network 202 may include
but is not limited to a Local Area Network (LAN), Internet and satellite
communication network.
[0027] In one or more embodiments, music server 204 may process the
request associated with the user to fetch the appropriate song(s) from a
database 206. In one or more embodiments, database 206 may be resident on
music server 204 and/or one or more other servers. In one or more
embodiments, the one or more other servers (not shown) may be coupled to
music server 204 through a computer network (e.g., again, network 202).
In one or more embodiments, music server 204 may also include a frequency
module 212 configured to evaluate the frequency ratio based on the
position of slider 108 on selection tool 106, the position being
determined through the user. In one or more embodiments, database 206 may
include a master repository of songs and/or metadata (e.g., artist name,
album name, producer name, record label) associated therewith. In one or
more embodiments, the master repository of songs on database 206 may be
tagged with the aforementioned metadata from one or more other servers.
Further, in one or more embodiments, music server 204 may be configured
to provide the songs obtained from database module 206 to music device
200 through network 202.
[0028] Consider an example scenario of slider 108 being exactly halfway
between "same artist" and "mostly similar artist(s)." Now, based on the
position of slider 108, frequency module 212 may be configured to
communicate a request on behalf of the user to music server 204. Music
server 204 (and/or one or more other servers) may provide streaming
access to a song or a list of songs, in accordance with the seed data
associated with the request, to music device 200 through media interface
100. Metadata associated with the song or the list of songs may also be
transmitted to music device 200 from database 206 and/or one or more
other servers. The aforementioned metadata may be translated into song
information (e.g., primary song information, secondary song information)
and rendered on playlist 104. Depending on the frequency ratio (here, 50%
primary songs and 50% secondary songs) based on the position of slider
108, pointers to memory location(s) associated with the primary songs
(e.g., 50 primary songs) and/or the secondary songs (e.g., 50 secondary
songs) on music server 204 and/or one or more other server(s) may be
stored in a cache (not shown) associated with the user (e.g., in cloud
storage). Alternately, the set of 100 songs (50 primary songs and 50
secondary songs) may be stored in the cache. While one song is being
rendered through media interface 100, the user may possess the capability
to click another song in the playlist to view details thereof. The user
may also "skip" the song to be listened in accordance with an order and
"jump" to another song in the playlist.
[0029] When the user double-clicks on a song in playlist 104, the new song
may become the seed for a new playlist, depending on the position of
slider 108. When the user single-clicks on the song in playlist 104, the
new song may be played instantly without changing playlist 104. Other
implementation(s) thereof are within the scope of the exemplary
embodiments. When the new song becomes the seed for a new playlist
creation, the cache including pointers to memory location(s) may be
dynamically updated with the new set of primary song(s) and/or secondary
song(s). Again, obviously the number of primary songs and secondary songs
may be controlled through sliding the position of slider 108 on selection
tool 106. Whenever the position of slider 108 changes, the cache may be
dynamically updated with information associated with new primary song(s)
and/or new secondary song(s).
[0030] It is obvious that slider 108 may be utilized with other sliders to
provide variety and user-defined characteristics to playlist 104. In one
or more embodiments, again, the choice of the appropriate primary song(s)
and/or the secondary song(s) may be based on algorithm(s) that consider
factors such as popularity among users in the cloud service environment,
genre relation, time frame etc.
[0031] FIG. 3A shows selection tool 106, according to one embodiment. In
one or more embodiments, selection tool 106 may include an axis 310 to
enable the user to control a frequency ratio of primary song(s) and
secondary song(s) by sliding slider 108 thereacross. For example, the
user may slide slider 108 to a position A 302, a position B 304 and/or a
position C 306 on the axis (e.g., axis 310) of selection tool 106. Based
on the position of slider 108, the frequency ratio of the primary song(s)
and the secondary song(s) may be automatically adjusted through
appropriate instructions executing on a processor and a playlist (e.g.,
playlist 104) may be generated.
[0032] In the example embodiment shown in FIG. 3A, for position A 302, a
playlist including 90% primary songs and 10% secondary songs may be
generated. For position B 304, a playlist including 50% primary songs and
50% secondary songs may be generated and for position C 306, a playlist
including 90% secondary songs and 10% primary songs may be generated.
[0033] FIG. 3B shows generation of a playlist based on the position of
slider 108 on selection tool 106, according to one embodiment. In one or
more embodiments, a user may be provided a list of seed data (e.g.,
artist, album, song, etc.) for selection. In one or more embodiments,
based on the seed data selected by the user, the primary song(s) in
database 206 may be determined through appropriate instructions executing
on a processor. In one or more embodiments, the identified primary
song(s) in database 206 may be stored in primary song module 324.
Further, in one or more embodiments, the user may be provided a streaming
access to the primary song(s) in database 206. In one or more
embodiments, based on the seed data (and/or the primary song(s)),
secondary song(s) similar to the primary song(s) may be identified in
database 206. In one or more embodiments, the identified secondary
song(s) in database 206 may be stored in secondary song module 326.
Further, in one or more embodiments, the user may be provided a streaming
access to the secondary song(s). It is obvious that the primary song(s)
and/or secondary song(s) may be located in one or more other server(s).
[0034] In one or more embodiments, an artist associated with a secondary
song may be different from an artist associated with a primary song. In
one or more embodiments, the primary song(s) and the secondary song(s)
may be blended in playlist 104 according to a frequency ratio provided by
a position module 312. In one or more embodiments, as discussed above,
the frequency ratio may be selected by sliding slider 108 to a desired
point along a vertical, a diagonal and/or a horizontal axis on selection
tool 106. In one or more embodiments, based on the position of slider
108, position module 312 may evaluate the frequency ratio and blend the
primary song and the secondary song in accordance therewith. In an
example embodiment, for position A 302 (e.g., as illustrated in FIG. 3A),
position module 312 may evaluate the frequency ratio as 90% primary songs
and 10% secondary songs; for position B 304, position module 312 may
evaluate the frequency ratio as 50% primary songs and 50% secondary
songs; for position C 306, position module 312 may evaluate the frequency
ratio as 10% primary songs and 90% secondary songs.
[0035] In one or more embodiments, playlist module 230 may generate a
playlist (e.g., playlist 104) of songs based on the frequency ratio
selected by the user. In one or more embodiments, the generated playlist
(e.g., playlist 104) may then be displayed on music device 200 through
media interface 100.
[0036] In one or more embodiments, frequency module 212 may execute on
music device 200 instead of music server 204. All locations of
constituent elements in FIGS. 1-3 are merely for illustrative purposes
and do not serve to limit interpretations of exemplary embodiments. It is
obvious that the user may save playlist 104 in a "cloud" associated
therewith.
[0037] FIG. 4 is a process flow diagram detailing operations involved in a
method of controlling a frequency of songs associated with a seed data in
a playlist 104 provided through a music service, according to one or more
embodiments. In one or more embodiments, operation 402 may involve
inputting a seed data through media interface 100 associated with the
music service on music device 200, the seed data being a driver of
creation of playlist 104 associated with the music service. In one or
more embodiments, operation 404 may involve dynamically controlling a
frequency of songs associated with the seed data in playlist 104 through
user interface 208 of media interface 100. In one or more embodiments,
the frequency of songs may be a number of primary songs and a number of
secondary songs in the playlist.
[0038] In one or more embodiments, the dynamic control of operation 404
may include determining a set of primary songs and/or secondary songs
based on the frequency obtained through user interface 208. In one or
more embodiments, the primary songs may be directly related to the seed
data and the secondary songs may be indirectly related to the seed data.
In one or more embodiments, the dynamic control of operation 404 may also
include transmitting metadata associated with the primary songs and/or
the secondary songs to be rendered on playlist 104, and providing a
capability to stream the primary songs and/or the secondary songs through
media interface 100 on music device 200.
[0039] Although the present embodiments have been described with reference
to specific example embodiments, it will be evident that various
modifications and changes may be made to these embodiments without
departing from the broader spirit and scope of the various embodiments.
For example, the various devices and modules described herein may be
enabled and operated using hardware circuitry (e.g., CMOS based logic
circuitry), firmware, software or any combination of hardware, firmware,
and software (e.g., embodied in a machine readable medium). For example,
the various electrical structures and methods may be embodied using
transistors, logic gates, and electrical circuits (e.g., application
specific integrated (ASIC) circuitry and/or Digital Signal Processor
(DSP) circuitry).
[0040] In addition, it will be appreciated that the various operations,
processes, and methods disclosed herein may be embodied in a
machine-readable medium and/or a machine accessible medium compatible
with a data processing system (e.g., a computer device). Accordingly, the
specification and drawings are to be regarded in an illustrative rather
than a restrictive sense.
* * * * *