AUTOMATIC HIERARCHICAL CATEGORIZATION OF MUSIC BY METADATA
A method, performed by software executing on the processor of a portable music playback device, that automatically files tracks according to hierarchical structure of categories to organize tracks in a logical order. A user interface is utilized to change the hierarchy, view track names, and select tracks for playback or other operations. The user interface uses an overlapping hierarchy of categories. A song title can be accessed in multiple different ways by starting with different categories. A preferred embodiment of the invention uses the top-level categories “Albums”, “Artists”, “Genres” (or styles), and “Play Lists”. Within the Albums category are names of different albums of songs stored in the device. Within each album are the album tracks, or songs, associated with that album. Navigation is performed by presenting a sequence of display screens for each level of the hierarchy.
Latest Creative Technology Ltd Patents:
This application is a continuation of application Ser. No. 11/033,465, entitled AUTOMATIC HIERARCHICAL CATEGORIZATION OF MUSIC BY METADATA, and filed on Jan. 10, 2005, which is a continuation of application Ser. No. 09/755,723, entitled AUTOMATIC HIERARCHICAL CATEGORIZATION OF MUSIC BY METADATA, and filed on Jan. 5, 2001, now U.S. Pat. No. 6,928,433, the specification of which is incorporated herein by reference for all purposes. This application is related to application Ser. No. 09/755,629, entitled “System for Selecting and Playing Songs in a Playback Device with a Limited User Interface,” now abandoned (Atty. Docket No. 17002-020800); and application Ser. No. 09/755,367, entitled “Audioplayback Device with Power Savings Storage Access Mode,” issued as U.S. Pat. No. 6,590,730 (Atty. Docket No. 17002-022400), all filed Jan. 5, 2001, the disclosures of which are incorporated herein by reference in their entirety.
BACKGROUND OF THE INVENTIONToday, portable consumer electronic devices are more powerful than ever. For example, small, portable music playback devices can store hundreds, even thousands, of compressed songs and can play back the songs at high quality. With the capacity for so many songs, a playback device can store many songs from different albums, artists, styles of music, etc.
Music jukeboxes implemented in software executed by a digital computer and portable MP3 and CD players both provide facilities for forming playlists. For example, the OOZIC player, distributed by the assignee of the present application, runs on a host PC and has a playlist feature that allows selection of tracks from the PC's hard disk to be included in the playlist.
As storage capacity increases and songs are compressed to shorter file lengths the number of songs that can be stored increases rapidly. Major problems facing the consumer are organizing and accessing the tracks.
Typically, portable devices have a user interface including a small screen and buttons. Such a display screen might be, e.g., 1″×2″. This small display size is necessary because of the physical size of the device which is typically carried in the hand. The small size also limits the number, size, shape, and types of user input controls that can be mounted on the device. For example, a few pushbuttons are usually provided to perform all of the device's control functions. Using such a compact user interface to navigate and select among hundreds of songs is inefficient and often frustrating. The display screen can only show a few song titles at one time, and the limited controls make it difficult for a user to arbitrarily select, or move among, the songs.
The creation of playlists is one technique to organize the playing of songs. A set of songs can be included in a playlist which is given a name and stored. When the playlist is accessed, the set of songs can be played utilizing various formats such as sequential play or shuffle.
However, the creation of playlists itself becomes problematic as the number of songs increases, since the user often arbitrarily selects songs from a large number of tracks to form a playlist. This selection mechanism: can be fairly tedious; does not necessarily produce playlists that are of interest to the user over the course of time; may not remain up-to-date if new songs are added that logically fit into a previously created playlist (e.g. “Favorites by Band X” might become out of date if a new favorite by Band X is added after the playlist was created); and leads to “lost” songs that are not members of any playlist.
Accordingly, improved techniques for organizing and grouping tracks useful in a portable music player are needed. Further, it is desirable to provide a user interface suitable for a small device. The user interface should allow a user to efficiently navigate among, and select from, many items stored in the device.
SUMMARY OF THE INVENTIONThe present invention provides an efficient user interface for a small portable music player. The invention is suitable for use with a limited display area and small number of controls to allow a user to efficiently and intuitively navigate among, and select, songs to be played. By using the invention, very large numbers of songs can be easily accessed and played.
One aspect of the invention includes an overlapping hierarchy of categories. Categories include items that can also be included in other categories so that the categories “overlap” with each other. Thus, a song title can be accessed in multiple different ways by starting with different categories. For example, a preferred embodiment of the invention uses the top-level categories “Albums”, “Artists”, “Genres” (or styles), and “Play Lists”. Within the Albums category are names of different albums of songs stored in the device. Within each album are the album tracks, or songs, associated with that album. Similarly, the Artists category includes names of artists which are, in turn, associated with their albums and songs. The Genre category includes types of categories of music such as “Rock”, “Hip Hop”, “Rap”, “Easy Listening”, etc. Within these sub-categories are found associated songs. Finally, the “Play Lists” category includes collections of albums and/or songs which are typically defined by the user.
Advantageous use is made of the overlapping hierarchy to allow the user to quickly designate a song for playback. The device uses three “soft” pushbuttons that have assignable functions. The interface maintains consistent button functionality whenever possible and uses uniform command names and operations on different types of items so that the interface is more intuitive. For example, the user can open and queue both albums and songs with predictable results.
The interface also provides for multiple functions for a single control. For example, a “Play” button can act, in a first function, to play a currently-selected song. The Play button can act, in a second function, to cycle through different playback modes. The modes can be, e.g., (1) playback of songs from a hard disk; (2) playback of music from a radio receiver built into the device; and (3) playback of voice messages. The first function for the Play button can be activated by momentarily depressing the Play button for a short period of time. The second function is invoked by depressing the Play button for a longer period of time whereupon the device cycles through the different modes. Other ways of invoking the functions are possible such as where the second function is automatically entered from a powered-down state.
In one embodiment, the invention provides a method for selecting songs to be played in an electronic audio device, wherein the device includes a display and one or more user input controls, wherein songs are organized into categories, albums, wherein songs and albums are associated with artist names. The method includes steps of displaying categories on the display; accepting signals from a user input control to select a category; displaying one or more songs in the selected category on the display; accepting signals from a user input control to select a displayed song; and entering selected songs into a playlist queue, wherein the device plays back songs in the playlist queue.
According to one aspect of the present invention, a technique is provided for organizing tracks on a portable music player by automatically filing tracks in a hierarchical order based on attributes of the tracks.
According to another aspect of the invention, metadata is associated with each track that is used to automatically define the track's appropriate place in the hierarchy.
According to another aspect of the invention, the hierarchy is displayed on the portable music player so that a user can traverse the organizational hierarchy to find individual tracks or find playlists composed of logical groups of tracks.
According to another aspect of the invention, the hierarchy is derived by using metadata associated with the audio content that was obtained through any source of metadata (e.g. CDDB metadata, id3v2 metadata, other obtainable metadata) and subsequently stored with or alongside the file that stores the track.
According to another aspect of the invention, a file is formatted so that an unaltered track is stored as file data and information about the track is stored in file attribute files.
Other features and advantages of the invention will be apparent in view of the following detailed description and appended drawings.
A preferred embodiment of the invention will now be described in the context of a portable personal player that plays audio files stored in memory. The files may be in MP3, wav. or other digital formats.
In the presently described embodiment, users are able to see the tracks on their player in some organized fashion other than as a single list of tracks. As will be described in more detail below, in one embodiment tracks are sorted utilizing a tree structure having branches labeled according to types of metadata associated with the tracks
For example, a track recorded as “Golden Slumbers” by the Beatles that appears on their album “Hey Jude” might appear as a track under the album “Abbey Road” as well as a track under the list of tracks by the Beatles. It might appear as a track under the genre “Pop Rock” as well as “Songs from the 60's.” Furthermore, the organization can have more complex hierarchies. For example, the category of “Pop Rock” might contain subcategories “British Musicians,” “American Musicians” and “Other Musicians”. In all cases, the track is automatically filed into all appropriate locations without requiring user interaction.
In the currently defined embodiment, a tree structure is defined by a file having the following structure.
The first line of a TreeDef.inf file contains a version number:
V1.0
Each subsequent line (at least in v1.0) contains lines of the following format:
CATEGORY_NAME|TRACK_TYPE_MASK|CATEGORY_STRUCTURE
CATEGORY_NAMEs are the top-level names of the branch under which tracks are sorted. They include things like “Album,” “Artist,” “Voice Tracks,” “All Tracks,” etc.
TRACK_TYPE_MASKs tell which types of tracks are to be filed under this particular branch. The actual value is a hexadecimal numerical value (in ‘0x’ format, e.g. 0x01) generated by ORing the following flags together as appropriate:
So, for example, the “Album” branch has a TRACK_TYPE_MASK of kTTSong, because only songs are filed under that branch, but the “All Tracks” branch has a TRACK_TYPE_MASK of (kTTSong|kTTVoice|kTTBook).
Other elements might be added to tTrackType (e.g. kTTVideo) as appropriate.
CATEGORY_STRUCTUREs tell how to file the songs based on their metadata information. The CATEGORY_STRUCTURE is a string of characters that tell, from left to right, the order of hierarchy. The characters come from the following enum constants:
Thus, a CATEGORY_STRUCTURE of LN tells to create a subcategory that is a list of Albums, each of which contains a list of Tracks.
In total, a line like:
Album|0x01|LN
Says to create a branch called “Album” which contains tracks of type kTTSong organized first by album name, and then by track name.
The following is an example of a tree definition file similar (though not identical) to the hierarchy presented in the Nomad Jukebox product (the ‘B’ before each FileTag was used to identify that these are basic tags so that we wouldn't run out of letters in the alphabet as we included more complex metadata—thus each group of two letters represents a level in the hierarchy):
The tree definition file that would specify the hierarchy shown in
The first line identifies the version of the tree definition file.
The second line defines the “Albums” branch. The first part of the line, “Albums” defines the name of the branch. The second part, “0x01,” defines that all musical tracks should be categorized on this branch. The third part, “BLBN,” defines that the branch lists first the names of all albums (BL) and then tracks on those albums (BN).
The third line defines the “Artists” branch. The first part of the line “Artists” defines the name of the branch. The second part, “0x01,” defines that all musical tracks should be categorized on this branch. The third part, “BCBMBN,” defines that the branch lists first the names of all countries where artists in this collection come from (BC) and under those items, the artists' names (BM), and then tracks by those artists (BN).
In consumer products the tree define file is not edited directly but through a user interface, one example of which is depicted in
An embodiment of the invention is utilized in the Nomad® Jukebox, manufactured by the assignee of the present invention, and described more fully in the copending application, filed on the same date as the present application, entitled “System for Selecting and Playing Songs in a Playback Device with a Limited User Interface,” (Attny. Docket No. 17002-020800).
In a preferred embodiment, metadata is associated with each track and includes such information as title, genre, artist name, type, etc. In the preferred embodiment, software stored in a portable player and executed by the onboard processor automatically files each track in the correct category utilizing the associated metadata and the tree define file. The program code can be stored in any computer readable medium including magnetic storage, CD ROM, optical media, or digital data encoded on an electromagnetic signal.
Thus, the user is automatically provided with a powerful and flexible tool for organizing and categorizing the tracks stored on the portable player.
If the tracks are formatted in MP3 format the metadata can be stored in ID3 tags included in the MP3 file. In one embodiment of the invention, the tracks are stored in alternate file format including file data and file attributes. The file data is the music track itself and the file attributes part of the file includes fields of arbitrary size which are used to store metadata characterizing the track stored as the file data. Again this metadata includes information about the track such as title, genre, artist name, type, etc.
There are several advantages to using the alternate file format. Metadata of types not easily included in an ID3 tag can be utilized. Further, the original track format is not changed, so that error correction data such as checksums are valid. Finally, any file format can be used (e.g. WAV, WMA, etc.) because the metadata is stored separately, and thus audio formats that have limited support for metadata can still be stored on the portable player in native format without transcoding. The formatted files are formed by software stored in the portable music player and executed by an on-board processor.
The metadata for each track is utilized to file each track, using the categories defined in the hierarchical structure as described above, without any input from the user.
A particular embodiment of a file format will now be described. All tracks are created with some set of attributes as shown below:
Definition of TrackInfo Data Field
These attributes can be subsequently changeable via a host application, running on a personal computer connected to the portable music player.
Also, the hierarchical catalog of tracks can be used to form playlists in a structured manner. For example, if a user wants to hear Jazz and Blues the entire sub-categories can be selected to form one playlist.
An alternative hierarchical catalog generation technique will now be described. In this alternative embodiment, at system startup and as tracks are added or changed, the hierarchy is generated as an in-memory tree structure. Each track is added to the tree using the categories ALBUM, ARTIST and GENRE.
The following example shows the algorithm for adding a track. For clarity, only the attributes used by the tree are shown.
The following function is executed to build the in-memory memory tree.
Build Tree( )For each track,
Add Track To Category(Album, Track)
Add Track To Category(Artist, Track)
Add Track To Category(Genre,Track)
End of Build TreeAs noted above, a preferred embodiment of the present invention is incorporated into a product manufactured and distributed by Creative Technology, Ltd. The product is called the “NOMAD Jukebox.” The following description describes further details of the display screens and interface controls.
In
Three soft buttons are located at 108; including buttons 110, 112 and 114. The specific command, or function, that any of the soft buttons perform when depressed is indicated by the label in soft button function description region 106. Thus, the function of soft button 112 (as shown in
The other eight buttons on device 100 perform essentially the same functions at all times. In other words, they are not subject to function changes according to soft button function description area 106. These buttons include Library button 116, EAX and System button 118, Skip Backward button 120, Play button 122, Stop button 124, Skip Forward button 126, Scroll Up button 128 and Scroll Down button 130. However, as discussed below, these buttons (or any type of controls used with the device) can include alternate functionality that is invoked in different ways.
The device uses visual cues, or indicators, in the display. When an item is highlighted it indicates that the item is the “current” item, or currently-selected item, which is susceptible to be operated on by a subsequent user action—such as playback, or expansion of the item. In
Icons are used to provide additional visual cues for an item. In
In
Note that in library category screen 150 ALBUMS is currently highlighted. By depressing soft button 112 of
Lists screen 154 is displayed as a result of a user opening the Albums category of library category screen 150. Lists screen 154 shows items within the Albums category such as commercial albums of multiple songs from a record label, pre-made lists or collections created by a user, or other predefined lists or collections of songs or recordings.
In
Returning to
Details screen 158 shows information about the selected song including the name of the song, album (or list) name containing the song; the track number, if applicable, and track duration. Note that other information can be included. The user can preview the song, close the Details screen to return to the Tracks screen or queue the song on the play list queue.
The device provides the ability to “preview” audio files even while a current song, or playlist, is being played. When a user chooses to preview an audio file, the audio file is played for about 10 seconds while any currently-played file or playlist is suspended. After previewing is complete, the suspended file or playlist resumes playback. In other embodiment, the preview duration can vary, or be stopped by user selection.
In
Similar to albums, the category of artists 162 includes names of artists, or performers, of songs. Each artist name is associated with one or more songs in the database. Playlists 164 includes names of playlists. These are collections of songs that can be defined by the user, the device manufacturer, or others. Each playlist can be associated with one or more songs. Genres 166 includes various styles of music which are associated with one or more songs in the database. Note that items can exist without being associated with a song. Also, items can be associated with other items as where an artist name is associated with the albums containing the songs that the artist has created.
Although not shown in
In
Screen 186 shows the result of selecting the Go! command. A list of albums is displayed with the matched album centered and selected. The user can close, open or queue the album as discussed above.
In
Screen 202 illustrates details of an item on the active queue list. Items are placed onto the active queue list by selecting the “Queue” command when an album, song, track, or other item is selected, as discussed above. For example, screen 204 shows the active queuelist where the track “Jukebox Demo” is selected. By invoking the “Details” command screen 202 is brought up to show details of the Jukebox Demo track.
As shown in screen 202, the Detail screen shows what track number the selected track is, which album the track is from; the creator, or copyright owner, of the track, and the title of the track. Additionally, the details for an item on the queue list also show playback settings. These are shown by two-letter abbreviations at the bottom of the screen. The settings are as show in Table I, below.
These settings have their common meanings, as is known in the art. Note that the setting 4S is not shown in screen 202 as it is not currently active.
In
Once device 300 is coupled to host system 302, a user of host system 302 can launch a bridge interface to allow for the transfer of files between device 300 and host system 302. In a preferred embodiment, once the bridge interface is launched, the controls of device 300 are inoperable. The user interface of host system 302 is used to operate the bridge interface to transfer files.
The invention has now been described with reference to the preferred embodiments. Alternatives and substitutions will now be apparent to persons of skill in the art.
Claims
1. (canceled)
2. A method of receiving inputs to play one or more music tracks stored in a portable media player having a display, the stored tracks having associated metadata of first, second and third types, and wherein said metadata is stored in a hierarchy in a computer readable media of the portable media player, wherein each level of a plurality of levels of the hierarchy corresponds to a respective type of the metadata, comprising the steps of:
- in response to a first user input, displaying categories in the first level of the stored hierarchy;
- in response to a second user input selecting a first category, displaying sub-categories within the second level of the stored hierarchy; and
- in response to a third user input selecting a first sub-category, displaying tracks in the third level of the stored hierarchy.
3. The method of claim 2, wherein at least one of the stored tracks is included within more than one of the categories.
4. The method of claim 2, further comprising the step of in response to a fourth user input, playing at least one of the displayed tracks.
5. A method of accessing music tracks stored in a portable media player having a display, comprising the steps of:
- establishing a hierarchical tree structure defining a plurality of categories of tracks in a first level, a plurality of sub-categories of tracks in a second level, and a plurality of tracks in a third level, the hierarchical tree structure stored in memory in the portable media player;
- displaying a list of categories in a first screen on the display;
- receiving a first user input selecting one of the displayed categories;
- accessing through the tree structure the sub-categories belonging to the selected category;
- displaying the accessed sub-categories in a second screen on the display;
- receiving a second user input selecting one of the displayed sub-categories;
- accessing through the tree structure the tracks belonging to the selected sub-category;
- displaying the accessed tracks belonging to the selected sub-category;
- receiving a third user input; and
- playing one or more of the displayed tracks in response to the third user input.
6. The method of claim 5, wherein the list of categories comprises at least artist, album and user.
7. The method of claim 5, wherein receipt of the first user input results in an automatic transition from the first screen to the second screen.
8. A portable media player, comprising:
- a computer readable medium comprising a plurality of stored musical tracks having associated metadata;
- a processor;
- a computer readable medium having data stored therein that defines a hierarchical organization of the plurality of stored musical tracks, the hierarchical organization organizing said tracks in reference to a plurality of categories and a plurality of sub-categories, and wherein each of said tracks appears in one or more categories, and further appears in at least one sub-category;
- a computer-readable medium containing instructions that when executed by the processor of the portable media player, perform operations comprising, providing a user interface to facilitate access to tracks of said plurality of musical tracks through use of the stored hierarchical organization, including, displaying a list of the categories of the stored hierarchical organization; receiving a first user input selecting one of the listed categories; displaying a list of the stored sub-categories of the stored hierarchical organization that belong to the selected category; receiving a second user input selecting one of the sub-categories; displaying the tracks of the selected sub-category; receiving a third user input; and playing one or more of the displayed tracks in response to the third user input.
9. The portable media player of claim 8, wherein at least one track is associated with multiple sub-categories.
10. The portable media player of claim 8, wherein at least one track is associated with multiple categories.
11. A method of controlling a portable media player including a display and a computer readable medium comprising a plurality of stored musical tracks having associated metadata, comprising the steps of:
- storing a multi-level tree structure in memory of the portable media player, the stored hierarchical tree structure defining a plurality of categories of the stored tracks, wherein each track of said plurality of tracks is assigned to at least one category in response to the metadata associated with that track;
- displaying a list of the categories of the stored multi-level tree structure in a first display screen;
- receiving a first user input selecting one of the displayed categories;
12. The method of claim 11, wherein the stored information belonging to the selected category comprises at least one track; and wherein the step of accessing through the multi-level tree structure the stored information belonging to the selected category comprises displaying the tracks belonging to the selected category.
13. The method of claim 11, wherein the stored information belonging to the selected category comprises at least one sub-category, and wherein the step of accessing through the multi-level tree structure the stored information belonging to the selected category comprises:
- displaying the sub-categories belonging to the selected category in a second display screen;
- receiving a second user input selecting one of the displayed sub-categories; and displaying the tracks belonging to the selected sub-category in a third screen.
Type: Application
Filed: Feb 17, 2011
Publication Date: Dec 22, 2011
Applicant: Creative Technology Ltd (Singapore)
Inventors: Ron Goodman (Santa Cruz, CA), Howard N. Egan (Capitola, CA), David Bristow (Bainbridge Island, WA)
Application Number: 13/029,856
International Classification: G06F 3/048 (20060101);