U.S. patent application number 13/272222 was filed with the patent office on 2012-01-26 for dynamic control of song frequency in a playlist provided through a music service.
This patent application is currently assigned to Mog, Inc.. Invention is credited to DAVID HYMAN.
Application Number | 20120023405 13/272222 |
Document ID | / |
Family ID | 44354503 |
Filed Date | 2012-01-26 |
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
|
Family ID: |
44354503 |
Appl. No.: |
13/272222 |
Filed: |
October 13, 2011 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
12703801 |
Feb 11, 2010 |
|
|
|
13272222 |
|
|
|
|
Current U.S.
Class: |
715/716 |
Current CPC
Class: |
G06F 16/635 20190101;
G06F 16/683 20190101; G06F 16/639 20190101; G06F 16/68
20190101 |
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.
* * * * *