AU9512601A - Data specification and method of retrieval - Google Patents

Data specification and method of retrieval Download PDF

Info

Publication number
AU9512601A
AU9512601A AU95126/01A AU9512601A AU9512601A AU 9512601 A AU9512601 A AU 9512601A AU 95126/01 A AU95126/01 A AU 95126/01A AU 9512601 A AU9512601 A AU 9512601A AU 9512601 A AU9512601 A AU 9512601A
Authority
AU
Australia
Prior art keywords
music
match
ranges
match set
overlap
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
AU95126/01A
Inventor
Zhenya Alexander Yourlo
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from AUPR1983A external-priority patent/AUPR198300A0/en
Application filed by Canon Inc filed Critical Canon Inc
Priority to AU95126/01A priority Critical patent/AU9512601A/en
Publication of AU9512601A publication Critical patent/AU9512601A/en
Abandoned legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

S&FRef: 579909
AUSTRALIA
PATENTS ACT 1990 COMPLETE SPECIFICATION FOR A STANDARD PATENT
ORIGINAL
Name and Address of Applicant: Canon Kabushiki Kaisha 30-2, Shimomaruko 3-chome, Ohta-ku Tokyo 146 Japan Actual Inventor(s): Address for Service: Zhenya Alexander Yourlo 0 0 Spruson Ferguson St Martins Tower,Level 31 Market Street Sydney NSW 2000 (CCN 3710000177) Data Specification and Method of Retrieval Invention Title: ASSOCIATED PROVISIONAL APPLICATION DETAILS [33] Country [31] Applic. No(s) AU PR1983 [32] Application Date 08 Dec 2000 The following statement is a full description of this invention, including the best method of performing it known to me/us:- DO.tI*2 8 o V 2001 JjffiB'^"" 5815c DATA SPECIFICATION AND METHOD OF RETRIEVAL Technical Field of the Invention The present invention relates generally to retrieval of data from databases and, in particular, to retrieval from music repositories. The present invention relates to a method and apparatus for selecting music from a database. The invention also relates to a computer program product including a computer readable medium having recorded thereon a computer program for selecting music from a database.
Background Art Electronically accessible databases are rapidly proliferating, and with this proliferation, arises a problem of how to quickly and efficiently search the databases for desired information. The problem is exacerbated when the databases relate to complex data associated with storage of music.
Pieces of music in a database are typically characterised by meta-data which may include the name of the piece of music and the relevant performer thereof. Furthermore, the meta-data can also include features extracted from the piece of music itself, such as "representative tempos, loudness, pitch and so on.
Retrieval of a piece of music from a music database is relatively simple when, for example, the search relates to the name of the piece itself. Searching by means of characteristic features extracted from the music, however, is far more problematic.
20 Summary of the Invention *It is an object of the present invention to substantially overcome, or at least ameliorate, one or more disadvantages of existing arrangements.
According to a first aspect of the invention, there is provided a method of searching a database, said database containing pieces of music each of which is S* 25 characterised by a corresponding set of values of a feature, the method comprising steps •o of: defining a selection set characterising a desired piece of music by; determining a match set for the desired piece of music, said match set having at least one desired value of the feature; 221101 579909.doc (ii) determining a non-match set for the desired piece of music, said non-match set comprising at least one undesired value of the feature; and (iii) performing an operation on the match set and the non-match set to thereby determine the selection set; comparing the selection set against said each said corresponding set of values of the feature; and ideiitifying a stored piece of music as the desired piece of music if a match is found between values of the selection set and the set of values characterising said stored piece of music.
According to another aspect of the invention, there is provided an apparatus for implementing the aforementioned method.
According to another aspect of the invention there is provided a computer program product including a computer readable medium having recorded thereon a computer program for implementing the method described above.
Brief Description of the Drawings A number of embodiments of the present invention will now be described with reference to the drawings, in which: .Fig. 1 shows a process, comprising a sequence of method steps, for selecting a piece of music from a database; Fig. 2 shows the method step for determination of a user profile in more detail; Fig. 3 illustrates formation of a "match-set", or alternatively, a "non-match set"; Fig. 4 depicts partitioning of a music database; and ooooo Fig. 5 is a schematic block diagram of a general purpose computer upon which Sarrangements described can be practiced.
Detailed Description including Best Mode Where reference is made in any one or more of the accompanying drawings to steps and/or features, which have the same reference numerals, those steps and/or features have for the purposes of this description the same function(s) or operation(s), unless the contrary intention appears.
221101 579909.doc -3- In the context of this specification, the word "comprising" means "including principally but not necessarily solely" or "having" or "including" and not "consisting only of'. Variations of the word comprising, such as "comprise" and "comprises" have corresponding meanings.
Some portions of the description which follows are explicitly or implicitly presented in terms of algorithms and symbolic representations of operations on data within a computer memory. These algorithmic descriptions and representations are the means used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. An algorithm is here, and generally, conceived to be a self-consistent sequence of steps leading to a desired result. The steps are those requiring physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated. It has proven convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like.
It should be borne in mind, however, that the above and similar terms are to be S"associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise, and as apparent from the following, it will be appreciated that throughout the present specification, discussions utilizing terms such as "scanning", "calculating", "determining", "replacing", "generating", "initializing", "outputting", or the like, refer to the action and processes of a computer system, or similar electronic device, that manipulates and transforms data ooooo represented as physical (electronic) quantities within the registers and memories of the computer system into other data similarly represented as physical quantities within the 25 computer system memories or registers or other such information storage, transmission or display devices.
Fig. 1 depicts a process 100, comprising a sequence of method steps for selecting a piece of music from a music database. As will be described, the process 100 can be 221101 579909.doc -4performed once, in relation to a specific feature, or alternately can be performed a number of times successively, in respect of a number of features.
In a step 132, the music database is arranged in a systematic manner, whereby pieces of music stored in the database are categorised and classified in accordance with some systematic scheme. In particular, a scheme is used which makes use ofmeta-data to describe features representative of each piece of music in the database. A typical database arrangement is described in relation to Fig. 4.
Prior to searching in the music database for a piece of music having particular features, it is first necessary to specify the features of interest. This is performed in a step 102 which determines a "user profile" for a particular feature. The user profile can be defined, for example, in terms of tempos which the user particularly enjoys. Thus the user in the present instance likes pieces of music having tempos either of 100 beats per minute (bpm), or pieces of music having a tempo of 110 bpm.
The process 100 is directed in accordance with an arrow 104 from the step 102 to a step 106 which compares the user profile to a corresponding profile of a piece of music from the database. The process 100 is then directed in accordance with an arrow 108 to a S• decision step 118 which tests whether a match has been established between the user i profile and the particular piece of music from the database which is being considered. If a match has not been established, then the process 100 is directed in accordance with a "NO" arrow 120 to a decision step 126, which tests if all the pieces in the database have now been considered. If the database still contains pieces of music which have not been considered, then the process 100 is directed in accordance with a "NO" arrow 128 back to ooooo the comparison step 106.
Returning to the decision step 118, if a match is established between the present 25 user profile and the corresponding profile of the piece of music being considered, then the process 100 is directed in accordance with a "YES" arrow 116 to a decision step 114, which tests whether a match based on further features is desired. If a multi-feature match is desired, then the process 100 is directed in accordance with a "YES" arrow 110 back to the user profile determination step 102, which determines a user profile for a next feature.
221101 579909.doc The process 100 has, thus far, been described in terms of the feature of tempo.
Further features could include, for example, loudness, percussivity, pitch, or other known music features. If the user wishes to perform a multi-feature selection based on a sequence of features, then the process 100 continues from the step 102 using the next selected feature in the sequence. Clearly the multi-feature selection process can be extended to as many features as is desirable, by the user providing a sequence of "YES" responses at the decision step 114. The multi-feature technique allows formation of complex search criteria to support rich user profiles.
Returning to the decision step 126, if the database does not contain any further pieces of music which have not yet been considered, then the process 100 is directed in accordance with a "YES" arrow 124 to a termination step 122. If a match is detected in the decision step 118, and the user does not wish to continue the selection process based upon a further feature, then the process 100 is directed from the decision step 114 in accordance with a "NO" arrow 112 to the termination step 122.
In order to describe the user profile determination step 102 in more detail it is first necessary to provide some background concepts and terminology. Tempo, as an example of a music feature, can be represented as an absolute value, a value range, or a eeeee number of segmented value ranges, such as 10 bpm, 5-10 bpm, or {3-4 bpm, 5-10 bpm} respectively.
20 If two pieces of music are represented by tempos of say 100 bpm and 110 bpm, a eeeee ""number of different methods can be considered for forming a merged tempo specification to be used for subsequent retrieval by similarity.
One such method involves keeping each tempo separate, and creating a set that consists of the union of the individual tempi. An alternative method involves creating a 25 region out of each tempo by adding a tolerance. In this method, if adding the tolerance causes any of the tempi regions to overlap, the regions are merged. A set is then formed of the resulting regions.
These methods can be applied for specification of both a "match set" referred to as and a "non-match" set, referred to as A match-set M is a set containing 221101 579909.doc the specifications of a feature corresponding to items to be included in a user selection. A non-match set NM is a set containing the specifications of a feature corresponding to items to be excluded from a selection. Having formed M and NM, a resulting "selection set" for a feature, referred to as can be formed simply as: S M-NM [1] where the subtraction to be performed is a logical subtraction between set members. This will be explained in more detail in relation to Fig. 3.
This definition for S means that an element of M can be removed by an element in NM.
Turning now to Fig. 2, the user profile determination step 102 of Fig. 1 is described in more detail. Fig. 2 shows the step 102 as a dashed polygon which contains a number of method sub-steps. In a sub-step 200, the user selects pieces of music which serve as source material from which the user profile is to be constructed. In the present example, the user listens to each of the pieces of music. Dependent upon the granularity of the feature characterisation of each piece of music in the database, the user o o i could equivalently, instead of listening to L pieces of music, listen to L segments of a single piece of music.
In a following sub-step 202, the user specifies a particular feature, for example tempo, upon which the present selection is to be performed, and a representative tempo characteristic, or attribute, is extracted from each of the music sources. As previously o:ooo described, each of the L pieces of music can have a number of different characterising tempos, where Thus each of the L pieces of music can be characterised, with **25 reference to each specific feature, by a set containing real numbers or real number ranges.
Thereafter, a decision sub-step 220 tests whether the particular piece of music being considered is "liked" or "disliked". In the event that the user likes the piece of music, the process 102 is directed in accordance with a arrow to a sub-step 204, 221101 579909.doc where the set is defined as a match set M. Accordingly, M has values or ranges, of the feature being considered. Alternatively, if the user expresses a dislike for the particular piece of music being considered, then the process 102 is directed in accordance with a arrow to a sub-step 206. In the sub-step 206, the set is defined as a nonmatch set NM. In this case, NM has undesired values, or ranges of the tempo which characterise the particular piece of"disliked" music.
The process 102 is, iterative, and both the match set M, and the non-match set NM, are built up on a piece-by-piece basis, per piece of music in the L pieces of music.
This iterative process is depicted by the dashed arrows 212 and 214 respectively.
Once all the L pieces of music have been considered to form the match set M and the non-match set NM, the process 102 is directed in accordance arrows 216 and 218 to a sub-step 208. Both the match set M, and the non-match set NM must be completely specified before commencing the sub-step 208. The sub-step 208 produces the "selection set" designated from the match set M and the non-match NM as described in equation In a following sub-step 210, the selection set S is pruned in order to reduce the complexity of the comparing step 106 (see Fig. 1).
Fig. 3 illustrates an exemplary formation 300 of a match set M, a non-match set NM, and a selection set S. A bilateral arrow 302 depicts a numerical range within which S•a particular feature, in the present example tempo, can fall in the example being 20 considered. A number of vertical dashed lines are representative of typical tempos within .oeooi the range 302, the dashed lines having tempo values in underlined italics adjacent thereto.
The particular tempo values depicted alongside the dashed lines are 99 bpm, 99.99 bpm, 101 bpm, 102.01 bpm, 109.9 bpm, and 111.1 bpm.
On a first horizontal axis 304 three rectangles 308, 310 and 316 represent tempo 25 ranges which are present in a number of pieces of music L. The aforementioned rectangles span the tempo ranges 99 to 101 bpm, 99.99 to 102.01 bpm, and 109.9 to 111.1 bpm respectively.
A horizontal axis 318 depicts an initial step whereby the tempo range 308 is extracted, as depicted by a dotted arrow 306, into a match set M. The horizontal axis 318 221101 579909.doc -8thus represents an initial stage in forming the match set M, and at the juncture shown as the horizontal axis 318, the match set M contains a single tempo range 320.
In a subsequent step depicted by a horizontal axis 326, the tempo range 316 on the horizontal axis 304 is added to the match set M as depicted by a dashed arrow 314, the tempo range 316 being depicted as a rectangle 324 on the axis 326. The two tempo ranges 354 and 324 which have been extracted from the tempos on axis 304 do not, in this example, overlap.
The horizontal axis 332 shows how the tempo range 310 is extracted, as shown by a dashed arrow 322, from the horizontal axis 304 and added to the tempo ranges 354 and 324 on axis 326. The results of this final extraction and addition can be seen on the horizontal axis 332. The rectangle 354 on the axis 326 is represented by the rectangles 356 and 358 on the axis 332. The rectangle 324 on the axis 326 is represented by the rectangle 360 on the axis 332. The rectangle 310 on the axis 304 is represented by the rectangles 336 and 338 on the axis 332.
It is seen that "gaps" depicted by arrow pairs in dashed ellipses 328 and 330 have been introduced. Accordingly, the tempo range 356 extends from the tempo 99 bpm to the tempo 99. 98 bpm, while the tempos 336 and 358 extend from 99.99 bpm to 101 bpm.
The tempo range 338 extends from 101.01 bpm to 102.01 bpm. The tempo range 360 extends from 109.9 bpm to 111.1 bpm, no gap introduction having been required in the latter case since no overlap has occurred in this instance. The operations performed as illustrated on the axis 332 show how overlapping tempo ranges are converted to disjoint o oo ranges by the introduction of gaps between tempo ranges, where necessary, to account for overlaps. The size of the introduced gaps depends on the precision required in regard to -sees: the particular feature, with different features displaying different tolerances to these gaps.
25 In the exemplary case shown in Fig. 3, the feature being considered is represented to a *9 maximum precision of two decimal places.
In summary, considering the horizontal axis 332, a match set M has been formed by successive extraction of features, in the present instance tempo ranges, from the set of tempo ranges shown on the axis 304.
221101 579909.doc A horizontal axis 340 shows a single tempo range 342 which, for the sake of simplicity, represents a non-match set NM for the present example.
In order to form the selection set S in accordance with equation the tempo range, ie the non-match set NM 342 is logically subtracted, as depicted by a dashed arrow 334, from the match set M depicted on the horizontal access 332. The effect of this logical subtraction is shown on a horizontal axis 344, which represents the selection set S.
S shows that the tempo range 348 comprises only a single "member", since one of the members 336, 358 of M has been neutralised by the effect of the subtraction of the member 342 of NM depicted by the arrow 334.
The concept of "weight" is a convenient notation for indicating the extent of overlap in a particular range. Accordingly, considering the horizontal axis 332, the range 99.99 bpm to 101 bpm is assigned a weight of 2, since the two rectangles 336 and 358 overlap in that range. The tempo ranges 99 bpm to 99.98 bpm, 101.01 bpm to 102.01 bpm, and 109.9 bpm to 111.1 bpm are each assigned a weight of 1, indicative of the fact that only a single tempo range ie. 356, 338 and 360 respectively, is present in each of those regions. The range 362, which has no tempo set members, is assigned a value of 0 indicating that no set members are present in that range.
oo.o.i The selection of music from the database can thus be described as follows. A set :of features is extracted from a plurality of musical sources. Thereafter, matches and non-matches are selected for a given classification. Then, a weighting is assigned to each of the selections. Thereafter, a classification is formed, closely fitting the "p" matches and non-matches according to their weightings, and based on a subset of the •oooo features extracted from each example. Thereafter, further examples are selected from the plurality of musical sources based on the classification parameters. A new .o *25 example/non-example can be added to either or accordingly. A weighting is then S"assigned to the new non-example or example. Then a classification is formed closely fitting the new matches and non-matches according to their weighting and based on a subset of the features extracted from each example. Finally, further examples are selected from the plurality of musical sources based on the classification parameters.
221101 579909.doc Fig. 3 provided a simple graphical introduction to how match and non-match sets can be used as a basis for searching a database. The following description sections provides more comprehensive detail.
If both the pieces of music, previously considered to be represented by the tempos 100 bpm and 110 bpm are entered into the match set, including a tolerance of 1% on the representative tempos, the result is: 100 bpm 1% tolerance 99 101 bpm where: 1% tolerance -4 is a mapping which transforms the single value 100 to the range 99 101 by adding the tolerance 1% to the value 100 to obtain the upper range limit of 101, and by subtracting the tolerance of 1% from the value 100 to obtain the lower range limit 99.
Similarly, applying the same 1% tolerance mapping to the tempo value 110 bpm results in the resultant tempo range shown in equation as follows: 4 0 09 0 0 0*0 0
SO
0 1% tolerance 110bpm 109.9- 111.1 bpm The match set M can thus be defined as follows: M= 101}, {109.9- 111.1}} ,c 0 0 0 00 0 04 Alternately, if the second piece of music, ie having the tempo 110 bpm is selected into the non-match set NM rather than into the match set M, then M and NM can be expressed as follows: 101}} 221101 579909.doc -11- NM= {{109.9 11.1}} [6] It is noted that if a piece of music is present in both M and NM, the piece is removed from S by the subtraction process. Accordingly, if M and NM are expressed as follows: M= 101}, {109.9- 111.1} [7] NM= {{109.9- 111.1}} [8] Then the resultant selection set is expressed as follows: S= 101}} [9] As a general statement, music to be retrieved comprises those pieces of music whose set representations match S. In practical terms, considering tempo, this means that the tempo corresponding to each of the retrieved pieces of music falls within one of the S. ranges in the selection set.
S.When pieces of music with overlapping feature specifications are considered, in respect to either M, or NM, one of the following options can be adopted. In a first option termed "Option a method can be adopted whereby behaviour is the same as with nonoverlapping feature specifications. In a second option termed "Option each range in M and NM set is given a weighting according to the number of overlaps that occur for the particular region. Option B was adopted in the description relating to Fig. 3. Adoption of Option B means that a given range will be removed from S only if the weighting of the corresponding range in NM is greater or equal to the weighting on the corresponding "range in M.
For example, considering three pieces of music with tempo specifications of (1) 99 101 bpm, 109.9 111.1 bpm and 99.99 102.01 bpm. If the pieces 1, 2 and 3 221101 579909.doc -12are added to.M, then if M is built up progressively in three stages, M will progressively appear as follows using Option B: piece 1 added: M= {{99-101,1}} piece2 added: M= {{99-101,1}, {109.9-111,1}} [11] piece3 added: M= {{99-99.98,1}, {99.99- 101,2} {101.01- 102.01,1}, {109.9- 111.1,1}} [12] where, considering equation the term "99-101" in {99 101,1} means that M comprises the range of tempos from 99 bpm to 101 bpm, and the term which follows thereafter, means that the weight ascribed to the aforementioned range is namely that there is only one set member in the range. Note that this has been described in a preliminary fashion in regard to Fig. 3.
The same equations would result for NM set if the three pieces of music were added to NM. It is noted that the order of addition is not important. It is also noted that although the description has generally been directed to the feature of tempo, the technique *is also applicable to other features.
It is also possible to include binary features within the scheme described. For example, consider a reliable voice feature that is specified as either the presence, or absence of vocals within a particular piece of music, where the term "reliable" in the present context means that the vocals are robustly detectable with a reasonable degree of certainty.
Adding a number of pieces of music to the match set may be expressed as follows: M= [13] 221101 579909.doc 13- Where the first term means that three pieces of music have been selected into M that have vocals, and the term means that two pieces of music that do not have vocals have been added to M.
A resultant no-match set may be expressed as follows: NM= [14] A selection set S, composed by S M NM would be expressed as follows: S= It is seen from S, that there is effectively an equal selection preference for pieces of music containing vocal/non-vocal features, meaning that the user is equally partial to vocal pieces and to non-vocal pieces.
A further property of S as determined by equation is that any portions of NM that do not exist in M are discarded, ie they do not appear in the resultant selection set S.
Accordingly, given M and NM according to the following equations: M: {{100- 101, [16] NM: {{100 101,1}, 10,1}} [17] then S, according to equation is expressed as follows: S•S= [18] Accordingly, it can be seen that that the only influence of the non-match set is to contain/restrict the match set during formation of the selection set. Thus, ranges in NM are subtracted from corresponding ranges in M, however a "negative" range cannot be 221101 579909.doc 14produced in M. It is also noted that the non-match set can contain a null value, in which case the selection set S is equal to the match set M.
After obtaining the selection set S, it is possible to perform a pruning of the selection set S. The pruning can, for example, be performed making use of the feature weightings. This approach can be used provided that the weightings are retained over the construction of the selection set, as is seen, for example in the equations and where S in equation [15] contains the weightings resulting from applying equation to equations [13] and [14].
Pruning can, for example, be performed so as to remove feature ranges for which there is a small weighting, and for which the feature range is small. In order to perform more dramatic pruning, the second requirement can be omitted.
Once an adequately formed selection set S is established, it can be used to determine whether other songs (or pieces of music), satisfy the selection criteria, simply by making a comparison between the extracted features from the song to be tested, and the ranges that form the selection set corresponding to each feature. This is the step 106 in Fig. 1.
In order for a piece of music to match the selection criteria, it should have i corresponding features that fall within the ranges specified by the selection set corresponding to each feature.
There may also be a tolerance applied to range matching, or a biasing made for S°certain feature matches over others.
In order to speed comparison between music and the selection set, it can be useful to form a partitioning of the search data set into ranges for certain features. For oooo• example, a partitioning by tempo can be implemented which defines a maximum tempo 25 to be 125 bpm, and a minimum tempo to be 90 bpm. Searches then only need to be performed for those parts of the partitioned database whose ranges conform to those of the selection set S (ie the searches need only be conducted for those pieces of music whose tempos conform to the tempos defined by the selection set S).
221101 579909.doc Other partitions are possible, and may include optimisation aimed at reducing clusters of music (ie. reducing unbalanced partitioning) which is desirable.
Fig. 4 shows a depiction 400 of a manner in which the music database can be partitioned. In Fig. 4, an apex of the drawing 406 represents a tempo of 125 bpm, which in the present example, is a root branch point from which the database contents are partitioned in regard to tempo. All pieces of music having tempos of less than 125 bpm are depicted by a diagonal leftward line segment 408. All pieces of music in this category which have tempos below 87.5 bpm are represented by a line segment 410, whereas pieces of music having tempos less than 125 bpm but greater than or equal to 87.5 bpm are represented by a line segment 412. A dashed line segment 418 represents pieces of music having tempos greater than or equal to 125 bpm. A dashed line segment 414 branching therefrom represents pieces of music having tempos less than 162.5 bpm, whereas a dashed line segment 416 represents pieces of music having tempos greater than or equal to 162.5 bpm.
Having reference to the step 132 in Fig. 1, it can be appreciated that if the particular search being conducted by the user considers only tempos less than 125 bpm, then the entire right hand side 402 of the database contents can safely be ignored, as it does not conform to the desired tempos. On the other hand, if only tempos less than 87.5 oO*o bpm are of interest to the user, then only elements of the tree 400 lying below the line segment 410 are of interest. Furthermore, if only pieces of music having tempos falling between 90 bpm and 125 bpm are of interest, then the search can be confined to those pieces of music falling on the segment 408. It is thus clear that the arranging step 132 in Fig. 1 can include an initial operation of partitioning the database dependent upon the °oooo particular values of the feature being considered by the user. Database members falling within database partitions which are not of interest to the user can safely be excluded from the search process, thereby reducing the search space for the comparing step 106 in Fig. 1, and making the searching procedure faster and more efficient.
Partitioning is not necessary, and may not be desirable, in small databases. In such cases, a "brute force" search of all members of the database for each and every 221101 579909.doc 16 feature of interest to the user can be a more advantageous approach. In contrast, searching extremely large music databases can advantageously make use of the various techniques described for reducing the search space.
Although an aggressive pruning technique has been described wherein set members with the lowest weights are discarded, other methods of pruning can be used within the scope of the present invention.
It should also be noted that in a multi-feature search, the order of selection of features has a direct impact on the outcome of the search. In the event that the sequence of features does not produce a desired outcome, the order in which features are used in the process described in Fig. 1 can be altered to find a more effective sequence of features to be search. It is also noted that if a particular feature yields a match set M, or a non-match set NM which is either completely full, or complete empty, then this features should be "demoted" in the sequence of features in a multi-feature search.
It is also noted that although the logical operation applied to the match set and the non-match set in the present specification is a simple logical subtraction, other logical manipulations can be applied to these two sets within the scope of the present invention.
It is also noted that although the description has been provided in terms of feature "ranges", the use of feature "point values" can also be used under certain circumstances, and falls within the scope of the present invention.
The present specification also discloses apparatus for performing the operations of the methods. Such apparatus may be specially constructed for the required purposes, or may comprise a general purpose computer or other device selectively activated or ***reconfigured by a computer program stored in the computer. The algorithms and displays presented herein are not inherently related to any particular computer or other apparatus.
o 25 Various general purpose machines may be used with programs in accordance with the teachings herein. Alternatively, the construction of more specialised apparatus to perform the required method steps may be appropriate. The structure of a conventional general purpose computer will appear from the description below.
221101 579909.doc -17- In addition, the present specification also discloses a computer readable medium comprising a computer program for performing the operations of the methods. The computer readable medium is taken herein to include any transmission medium for communicating the computer program between a source and a designation. The transmission medium may include storage devices such as magnetic or optical disks, memory chips, or other storage devices suitable for interfacing with a general purpose computer. The transmission medium may also include a hard-wired medium such as exemplified in the Internet system, or wireless medium such as exemplified in the GSM mobile telephone system. The computer program is not intended to be limited to any particular programming language and implementation thereof. It will be appreciated that a variety of programming languages and coding thereof may be used to implement the teachings of the disclosure contained herein.
The method of selecting music from a database is preferably practiced using a general-purpose computer system 500, such as that shown in Fig. 5 wherein the processes of Figs. 1-3 may be implemented as software, such as an application program executing within the computer system 500. In particular, the steps in the method of selecting music from a database are effected by instructions in the software that are carried out by the computer. The software may be divided into two separate parts; one part for carrying out the methods of selecting music from a database, and another part to manage the user interface between the latter and the user. The software may be stored in a computer S•readable medium, including the storage devices described below, for example. The software is loaded into the computer from the computer readable medium, and then executed by the computer. A computer readable medium having such software or •computer program recorded on it is a computer program product. The use of the So 25 computer program product in the computer preferably effects an advantageous apparatus for selecting music from a database.
The computer system 500 comprises a computer module 501, input devices such as a keyboard 502 and mouse 503, output devices including a printer 515 and a display device 514. A Modulator-Demodulator (Modem) transceiver device 516 is used by the 221101 579909.doc -18computer module 501 for communicating to and from a communications network 520, for example connectable via a telephone line 521 or other functional medium. The modem 516 can be used to obtain access to the Internet, and other network systems, such as a Local Area Network (LAN) or a Wide Area Network (WAN).
The computer module 501 typically includes at least one processor unit 505, a memory unit 506, for example formed from semiconductor random access memory (RAM) and read only memory (ROM), input/output interfaces including a video interface 507, and an I/O interface 513 for the keyboard502 and mouse 503 and optionally a joystick (not illustrated), and an interface 508 for the modem 516. A storage device 509 is provided and typically includes a hard disk drive 510 and a floppy disk drive 511. A magnetic tape drive (not illustrated) may also be used. A CD-ROM drive 512 is typically provided as a non-volatile source of data. The components 505 to 513 of the computer module 501, typically communicate via an interconnected bus 504 and in a manner which results in a conventional mode of operation of the computer system 500 known to those in the relevant art. Examples of computers on which the described arrangements can be practised include IBM-PC's and compatibles, Sun Sparcstations or alike computer systems evolved therefrom.
Typically, the application program is resident on the hard disk drive 510 and o read and controlled in its execution by the processor 505. Intermediate storage of the program and any data fetched from the network 520 may be accomplished using the i semiconductor memory 506, possibly in concert with the hard disk drive 510. In some instances, the application program may be supplied to the user encoded on a CD-ROM or floppy disk and read via the corresponding drive 512 or 511, or alternatively may be read S°by the user from the network 520 via the modem device 516. Still further, the software 25 can also be loaded into the computer system 500 from other computer readable medium including magnetic tape, a ROM or integrated circuit, a magneto-optical disk, a radio or infra-red transmission channel between the computer module 501 and another device, a computer readable card such as a PCMCIA card, and the Internet and Intranets including email transmissions and information recorded on websites and the like. The foregoing is 221101 579909.doc -19merely exemplary of relevant computer readable mediums. Other computer readable media may alternately be used.
The method of selecting music from a database may alternatively be implemented in dedicated hardware such as one or more integrated circuits performing the functions or sub functions of selecting music from a database. Such dedicated hardware may include graphic processors, digital signal processors, or one or more microprocessors and associated memories.
Industrial Applicability It is apparent from the above that the arrangements described are applicable to the music industry.
The foregoing describes only some embodiments of the present invention, and modifications and/or changes can be made thereto without departing from the scope and spirit of the invention, the embodiment(s) being illustrative and not restrictive.
221101 579909.doc

Claims (4)

1. A method of searching a database, said database containing pieces of music each of which is characterised by a corresponding set of values of a feature, the method comprising steps of: defining a selection set characterising a desired piece of music by; determining a match set for the desired piece of music, said match set having at least one desired value of the feature; (ii) determining a non-match set for the desired piece of music, said non-match set comprising at least one undesired value of the feature; and (iii) performing an operation on the match set and the non-match set to thereby determine the selection set; comparing the selection set against said each said corresponding set of values of the feature; and identifying a stored piece of music as the desired piece of music if a match is found between values of the selection set and the set of values characterising said stored piece of music. oi
2. A method of searching a database according to claim 1, wherein the non-match set comprises a null value.
3. A method of searching a database according to claim 1, wherein prior to the comparing step, the method comprises a further step of: partitioning the database into conforming pieces of music and non-conforming 25 pieces of music dependent upon said values of the selection set; and conducting the comparing step only in regard to corresponding sets of values for said conforming pieces of music, thereby reducing a search space for the comparing step.
4. A method of searching a database according to claim 1, wherein: 221101
579909.doc -21- successive iterations of the defining, comparing and identifying steps are performed in regard to a sequence of features, wherein a stored piece of music is identified as the desired piece of music if in each iteration, a match is found between values of a selection set for a feature being considered in said each iteration, and the set of corresponding values characterising said stored piece of music. A method of searching a database according to claim 4, wherein: a comparing step in an iteration is performed only in regard to corresponding sets of values for which a match, with values of the selection set, was found in a preceding iteration, thereby reducing a search space for said each iteration. 6. A method of searching a database according to claim 1, wherein said feature is one of tempo, loudness, pitch, and percussivity. 7. A method of searching a database according to claim 1, wherein: the desired value is one of a desired value range and a desired point value; .i :the undesired value is a corresponding one of an undesired value range and an undesired point value; and the operation comprises a logical subtraction of the non-match set from the match set. 8. A method of searching a database according to claim 1, wherein: the desired value is a desired binary value; :oooi the undesired value is an undesired binary value; and 25 the operation comprises a logical subtraction of the non-match set from the .i match set. 221101 579909.doc 22 9. A method of searching a database according to claim 7, wherein the match set has a first plurality of desired values of the feature forming a second plurality of desired value ranges; and wherein the determining of the match set step comprises steps of: determining overlap ranges among the second plurality of desired value ranges; determining non-overlap ranges between the second plurality of desired value ranges; disjointly decomposing each of said second plurality of desired value ranges into said overlap and said non-overlap ranges; assigning a respective match set weight to each said overlap range dependent upon a number of overlaps between the second plurality of desired value ranges in said each overlap range; and assigning a unity match set weight to said non-overlap ranges if one of said disjointly decomposed second plurality of desired value ranges has been assigned to said non-overlap range; and assigning a zero match set weight to each said non-overlap range if none of said disjointly decomposed second plurality of desired value ranges has been assigned to said see* too. :non-overlap range. 10. A method of searching a database according to claim 7, wherein the non-match set has a third plurality of undesired values of the feature forming a fourth plurality of S"undesired value ranges; and wherein the determining of the non-match set step comprises steps of: t •o determining overlap ranges among the fourth plurality of undesired value ranges; 99**9* determining non-overlap ranges between the fourth plurality of undesired value 25 ranges; disjointly decomposing each of said fourth plurality of undesired value ranges into said overlap and said non-overlap ranges; 221101 579909.doc 23 assigning a respective non-match set weight to each said overlap range dependent upon a number of overlaps between the fourth plurality of undesired value ranges in said each overlap range; and assigning a unity non-match set weight to said non-overlap ranges if one of said disjointly decomposed fourth plurality of undesired value ranges has been assigned to said non-overlap range; and assigning a zero non-match set weight to each said non-overlap range if none of said disjointly decomposed fourth plurality of undesired value ranges has been assigned to said non-overlap range. 11. A method of searching a database according to either one of claims 9 and wherein the logical subtraction of the non-match set from the match set comprises steps of: subtracting respective non-match set weights from corresponding match set weights on a per-overlap range basis; subtracting respective non-match set weights from corresponding match set *weights on a per-non-overlap range basis; and retaining decomposed desired value ranges having non-negative resultant weight values. S12. An apparatus for implementing any one of the aforementioned methods. 13. A computer program product including a computer readable medium having S°recorded thereon a computer program for implementing any one of the methods described 25 above. 14. A method of searching a database substantially as described herein with reference to the accompanying drawings. 221101 579909.doc -24- A method of searching a database substantially as described herein with reference to the accompanying drawings. 16. A computer program product for searching a database substantially as described herein with reference to the accompanying drawings. DATED this 2 2 nd Day of November, 2001 Canon Kabushiki Kaisha Patent Attorneys for the Applicant SPRUSON&FERGUSON 0. o. 9 221101 579909.doc
AU95126/01A 2000-12-08 2001-11-28 Data specification and method of retrieval Abandoned AU9512601A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU95126/01A AU9512601A (en) 2000-12-08 2001-11-28 Data specification and method of retrieval

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
AUPR1983 2000-12-08
AUPR1983A AUPR198300A0 (en) 2000-12-08 2000-12-08 Data specification and method of retrieval
AU95126/01A AU9512601A (en) 2000-12-08 2001-11-28 Data specification and method of retrieval

Publications (1)

Publication Number Publication Date
AU9512601A true AU9512601A (en) 2002-06-13

Family

ID=25641667

Family Applications (1)

Application Number Title Priority Date Filing Date
AU95126/01A Abandoned AU9512601A (en) 2000-12-08 2001-11-28 Data specification and method of retrieval

Country Status (1)

Country Link
AU (1) AU9512601A (en)

Similar Documents

Publication Publication Date Title
US8478781B2 (en) Information processing apparatus, information processing method and program
US11037258B2 (en) Media content processing techniques using fingerprinting and heuristics
Pachet et al. A combinatorial approach to content-based music selection
US20210256056A1 (en) Automatically Predicting Relevant Contexts For Media Items
US20080288255A1 (en) System and method for quantifying, representing, and identifying similarities in data streams
US20070282860A1 (en) Method and system for music information retrieval
EP2159717A2 (en) Hybrid audio-visual categorization system and method
US20070106405A1 (en) Method and system to provide reference data for identification of digital content
Hyung et al. Music recommendation using text analysis on song requests to radio stations
EP1587008A2 (en) Automatic data view generation for a target variable
US20070276733A1 (en) Method and system for music information retrieval
US20090216692A1 (en) Information Processing Apparatus and Method, and Program
Murauer et al. Detecting music genre using extreme gradient boosting
CN108766451B (en) Audio file processing method and device and storage medium
CN108920649A (en) A kind of information recommendation method, device, equipment and medium
CN105279289B (en) Individualized music based on exponential damping window recommends sort method
Hyung et al. Utilizing context-relevant keywords extracted from a large collection of user-generated documents for music discovery
US20080071741A1 (en) Method and an apparatus to perform feature weighted search and recommendation
CN109992694A (en) A kind of music intelligent recommendation method and system
Pachet et al. Improving multilabel analysis of music titles: A large-scale validation of the correction approach
CN102214186A (en) Method and system for displaying object relation
US20050125394A1 (en) Information search apparatus, information search method, and information recording medium on which information search program is recorded
Gurjar et al. Comparative Analysis of Music Similarity Measures in Music Information Retrieval Systems.
Kumar Music Recommendation System Using Machine Learning
Silva et al. MusicOSet: An enhanced open dataset for music data mining

Legal Events

Date Code Title Description
MK1 Application lapsed section 142(2)(a) - no request for examination in relevant period