Automatic hierarchical categorization of music by metadata6928433Abstract 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. Claims 1. A method of selecting at least one track from a plurality of tracks stored in a computer-readable medium of a portable media player configured to present sequentially a first, second, and third display screen on the display of the media player, the plurality of tracks accessed according to a hierarchy, the hierarchy having a plurality of categories, subcategories, and items respectively in a first, second, and third level of the hierarchy, the method comprising: Description BACKGROUND OF THE INVENTION
Each subsequent line (at least in v1.0) contains lines of the following format:
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:
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):
FIG. 1 depicts a hypothetical organization hierarchy. The tree shows how tracks might be listed (as leaves in the tree) after having been organized. Example values for nodes in the tree are shown as well. The same track may appear more than once as a leaf in the tree, as described above, if it fits into multiple categories (e.g. a song that appears on the Abbey Road branch would also appear in the Beatles branch). In the example shown, the first branch contains tracks organized by album. As shown in the example, this music collection contains three tracks from "Abbey Road" and three tracks from "Hits from the 60's". The second branch contains tracks organized by artist, and sub organized by where the artist is from. Thus, a user browsing would first select the "Artists" branch and then choose between "British Artists" and "American Artists". Finally, they would select the particular artist. In the third branch, all tracks are shown. The tree definition file that would specify the hierarchy shown in FIG. 1 is shown in FIG. 2. 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, "0×01," 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, "0×01, " 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). FIG. 3 shows what a user's view of this hierarchy might be if he/she were shown a fully expanded view of the 6-song tree. Notice that each song appears three times, once in each branch. In consumer products the tree define file is not edited directly but through a user interface, one example of which is depicted in FIG. 4. An example of a user interface for viewing songs by category and editing the tree structure is depicted in FIG. 4. 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. FIG. 5 is a schematic diagram of the alternative file format including file data in the form of an MP3 track, and metadata fields for holding data indicating the name of the album the track is from, the name of the song, the genre of the song, and the type of track. A particular embodiment of a file format will now be described. All tracks are created with some set of attributes as shown below:
These attributes can be subsequently changeable via a host application, running on a personal computer connected to the portable music player. FIG. 6 shows a flow chart of an embodiment the process used to build the hierarchical database of tracks. It starts by iterating through each track, and, for each track, iterating through each branch to find if the track belongs on the branch, and, if so, where. In this case, the term track could refer to any content, e.g. a music track, a spoken word track, or even a video track. 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.
FIG. 7 depicts a tree which could result from implementing Build Tree( ) function. Note that "Stardust" does not have any entries for Album or Artist. The host software running on a computer connected to the portable music player could be utilized to add missing attributes to the "Stardust" track and, optionally, edit the title attribute. The Build Tree( ) function would then reinsert this track in the correct location in the tree. FIG. 8 is an embodiment of a user interface according to another embodiment of the invention. In this example the root node is labeled "My Configuration" and the Playlist category has been selected and the Playlist subcategory "Meddle" has been selected. Note that the types of Metadata, in this example, Track Name, Artist, Album, Tempo and Dance, are listed across the top of the screen, and the attribute values for each track are listed in a row across the screen. Various control buttons are displayed to the right of configuration window that facilitate quickly invoking selected processing on a selected track. As 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. FIG. 9 illustrates the NOMAD Jukebox and its user interface controls. In FIG. 9, electronic audio device 100 measures about 5.5"; wide by 5.5"; tall by 1"; thick. Display screen 102 is about 2"; wide by 1"; tall. Display screen 102 includes different regions such as main region 104 and soft button function description region 106. 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 FIG. 9) is "open," the function of soft button 114 is "search" while soft button 110 is currently not assigned a function. 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 button 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 currenty-selected item, which is susceptible to be operated on by a subsequent user action-such as playback, or expansion of the item. In FIG. 1, screen 102 shows that the item, "ALBUMS," is highlighted. The highlighted item can be acted upon by using the soft buttons, or another button, as decribed below. The current item can be changed by using Scroll Up button 128 and Scroll Down button 130 to move the highlight up or down, respectively, throughout a list of displayed items. Icons are used to provide additional visual cues for an item. In FIG. 1, each of the categories has a category icon to the left of it. The category icon, which may not be distinctly visible in the Figure, illustrates a first box connected by lines to additional boxes below the first box. The icon depicts a hierarchy and illustrates the property of categories, i.e., that categories can contain additional categories, songs or other items. FIG. 10 illustrates a sequence of display screens describing how to navigate to lower levels. In FIG. 10, library category screen 150 shows the display as it appears when the user depresses library button 116 of FIG. 9. A preferred embodiment of the device uses 4 first-level categories. These are "Albums", "Artists," "Styles" and "Play Lists". Each of these categories can "contain," or be associated with, other categories, songs, or items. Note that in library category screen 150 ALBUMS is currently highlighted. By depressing soft button 112 of FIG. 9, the "open" command is performed on the highlighted category, as indicated by the labeling of soft button 112 and soft button function description area 152 of FIG. 10. Lists screen 154 is displayed as a result of a user opening Album 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 FIG. 10, lists screen 154 shows each item as a list of songs. This is shown visually by the icon to the left of each item which depicts a miniature list. Possible soft button commands are "Close", "Open" and "Queue". These commands correspond to soft button 110, 112 and 114, respectively. If the user selects the Close command, the display reverts to library category screen 150. If the user selects the Open command, the display shows tracks screen 156. Alternatively, the user can select the Queue command to instruct the device to place all the songs from the selected (i.e., highlighted) list into the play list for eventual playback. Yet another option allows the user to press play button 122 of FIG. 9 to cause any currently-selected songs or a list of songs (e.g., an album) to immediately be played. Returning to FIG. 10, tracks screen 156 shows that a single song called "JukeBox Demo" is in the list. The list is also called JukeBox Demo as shown in lists screen 154. Tracks screen 156 shows possible soft commands assigned to buttons, namely "Close", "Details" and "Queue." The Close button performs the same function as before-it returns the user to the previous screen which, in this case, is lists screen 154. The user can also select the Details command to cause details of the song JukeBox Demo to be displayed in details screen 158 as shown in FIG. 10. The user can select the Queue command by soft butto 114 to enter the selected song into the play list queue. As before, the user can also depress play button 122 of FIG. 9 to cause immediate playback of the selected song. 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. FIG. 11 illustrates associations among items. In FIG. 11, song 168 is one of many songs stored in the device. Categories such as albums 160, artists 162, play lists 164 and genres 166 each include sub-categories. For example, albums 160 includes the names of various albums. Songs are associated with albums, genres and playlists. Such association can be by using pointers, a data structure including items to be associated, etc. "Association" as used herein, includes a first item associated with a second item; and the second item associated with the first item. In other words, albums can be associated with one or more songs in the database of the device so that an utomated search to find all songs associated with an album is easier. The direction of arrow pointers in FIG. 11 is not intended to limit the manner of associations among items in the present invention. 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. 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 FIG. 11, items can have additional information, such as properties, details, etc., associated with the item. For example, a song can have information such a play time, artist name, artist album, copyright owner, etc., associated with the song. FIG. 12 illustrates display screens used to search for a song or other item. In FIG. 12, screen 180 is the initial library screen, as discussed above. If the user invokes the Search command (via the appropriate soft button) with Albums selected then screen 182 is displayed. Note that the search function can be applied to any of the categories. The user can depress the Plus or Minus soft buttons to cycle through the alphabet and change the character in the current location as indicated by the cursor. The cursor position is changed by using the scroll up/scroll down buttons 128 and 130, respectively, of FIG. 9. As each letter is entered the letters are compared and the nearest match of the stored albums' names is displayed as shown in screen 184. When the desired match is displayed the user selects the Go! command. 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. FIG. 13 illustrates details of different items. In FIG. 13, screen 200 illustrates details displayed as a result of selecting the "Details" command from soft button 1A track is selected. Screen 200 shows that details of the track "JukeBox Demo" shows the name of the album that the track resides on, the creator, or copyright owner, of the track, and the playing time of the track. Screen 202 illustrates details of an item on the active queue list. Items are placed onto the active queue list be 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 shown 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. FIG. 14 illustrates the Nomad Jukebox coupled to a host computer system. In FIG. 14, device 300 (e.g., the Nomad Jukebox) is coupled to host system 302. In a preferred embodiment host system 302 is a personal computer, such as an IBM-PC compatible computer. Host sytem 302 includes a user interface having display 304 and user input devices such as keyboard 306 and mouse 308. In other embodiments the host system need not be a full computer system. Any type of processing system having a user interface is possible. For example, it is possible to couple the device to a laptop computer, game console, web-enabled television, or any consumer electronic device or digital platform, in general. The host user interface need not provide a display and can be much more minimal than the keyboard and mouse shown in FIG. 14. A preferred embodiment of the invention uses a Universal Synchronous Bus (USB) connection but any type of connection such as IEEE 1394 (FireWire), Ethernet, Serial Port, etc. can be used. A wireless (i.e., optical or radio frequency) connection can be used. 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 sytem 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.
|
Same subclass Same class Consider this |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
