Melody retrieval system
First Claim
1. A method for converting a digitized melody into a sequence of notes, comprising:
- segmenting said melody into a series of frames;
computing a spectral energy distribution (SED) indicator for each frame; and
estimating initial breakpoints in said melody based on said SED indicator, said notes being defined between adjacent initial breakpoints.
1 Assignment
0 Petitions
Accused Products
Abstract
A music retrieval system which take an input melody as the query. In one embodiment, changes or differences in the distribution of energy across the frequency spectrum over time are used to find breakpoints in the input melody in order to separate it into distinct notes. In another embodiment the breakpoints are identified based on changes in pitch over time. A confidence level is preferably associated with each breakpoint and/or note extracted from the input melody. The confidence level is based on one or more of: changes in pitch, absolute values of a spectral energy distribution indicator, relative values of the spectral energy distribution indicator, and the energy level of the input melody. The process of matching the input melody with songs in the music database is based on minimizing a cost computation that takes into account errors in the insertion and deletion of notes, and penalizes these errors in accordance with the confidence levels of the breakpoints and/or notes.
-
Citations
62 Claims
-
1. A method for converting a digitized melody into a sequence of notes, comprising:
-
segmenting said melody into a series of frames;
computing a spectral energy distribution (SED) indicator for each frame; and
estimating initial breakpoints in said melody based on said SED indicator, said notes being defined between adjacent initial breakpoints. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21)
-
-
22. Apparatus for converting a digitized melody into a sequence of notes, comprising:
-
means for segmenting said melody into a series of frames;
means for computing a spectral energy distribution (SED) indicator for each frame; and
means for estimating initial breakpoints in said melody based on said SED, said notes being defined between adjacent initial breakpoints. - View Dependent Claims (23, 24, 25, 26)
-
-
27. A method for converting a digitized melody into a sequence of notes, comprising:
-
segmenting said melody into a series of frames;
computing the auto-correlation of each said frame;
estimating the pitch of each said frame based on (i) a pitch period corresponding to a shift where the auto-correlation coefficient associated with the frame is relatively large and (ii) the closeness of the pitch estimate to estimates in one or more adjacent frames; and
estimating breakpoints in said melody based on changes in said pitch estimates, said notes being defined between adjacent breakpoints. - View Dependent Claims (28, 29, 30, 31)
-
-
32. Another aspect of the invention provides a method for identifying breakpoints in a digitized melody, the method comprising:
-
segmenting the melody into a series of frames;
computing the auto-correlation of each frame;
estimating the pitch of each frame based on (i) a pitch period corresponding to a shift where the auto-correlation coefficient associated with the frame is relatively large and (ii) the closeness of the pitch estimate to estimates in one or more adjacent frames;
determining regions of said melody where pitch estimates are likely to be invalid; and
identifying said breakpoints in the melody based on transitions between frames having valid pitch estimates and transitions having invalid pitch estimates. - View Dependent Claims (33, 34, 35, 36)
-
-
37. Apparatus for converting a digitized melody into a sequence of notes, comprising:
-
means for segmenting said melody into a series of frames;
means for computing the auto-correlation of each said frame;
means for estimating the pitch of each said frame based on (i) a pitch period corresponding to a shift where the auto-correlation coefficient associated with the frame is relatively large and (ii) the closeness of the pitch estimate to estimates in one or more adjacent frames;
means for determining regions of said melody where pitch estimates are likely to be invalid; and
means for estimating breakpoints in said melody based on changes in said pitch estimates or transitions between frames having valid pitch estimates and frames having no pitch estimates, said notes being defined between adjacent breakpoints.
-
-
38. A method of retrieving at least one entry from a music database, wherein each said entry is associated with a sequence of pitches and beat durations, said method comprising:
-
receiving a digitized representation of an input melody;
identifying breakpoints in said melody in order to define notes therein, each said notes being delineated by adjacent breakpoints;
assigning a confidence level to each note or each breakpoint;
determining a pitch and beat duration for each note of said melody;
determining a score for each said entry based on a search which minimizes the cost of matching the pitches and beat durations of said melody and said entry, wherein said search considers at least one deletion or insertion error in a selected note of said melody and, in this event, penalizes the cost of matching based on the confidence level of the selected note or a breakpoint associated therewith; and
presenting said at least one entry to a user based on its score. - View Dependent Claims (39, 40, 41, 42)
-
-
43. Apparatus for retrieving at least one entry from a music database, wherein each said entry is associated with a sequence of pitches and beat durations, said apparatus comprising:
-
means for receiving a digitized representation of an input melody;
a melody-to-note conversion subsystem for identifying breakpoints in said melody in order to define notes therein, said subsystem determining a pitch and beat duration for each note of said melody and associating each note or each breakpoint with a confidence level;
a note-matching engine for determining a score for each said entry based on a search which minimizes the cost of matching the pitches and beat durations of said melody and said entry, wherein said search considers at least one deletion or insertion error in a selected note of said melody and, in this event, penalizes the cost of matching based on the confidence level of the selected note or a breakpoint associated therewith; and
an output subsystem for presenting said at least one entry to a user based on its score.
-
-
44. A method of retrieving at least one entry from a music database, wherein each said entry is associated with a sequence of pitches and beat durations, said method comprising:
-
receiving a digitized representation of an input melody;
identifying breakpoints in said melody in order to define notes therein, each said notes being delineated by adjacent breakpoints;
associating a confidence level with each note pertaining to likelihood that said note contains a note insertion error;
determining a pitch and beat duration for each note of said melody;
determining a score for each said entry based on a search which minimizes the cost of matching the pitches and beat durations of said melody and said entry, wherein said search considers at least one insertion error in a selected note of said melody and, in this event, penalizes the cost of matching based on the confidence level associated with the selected note; and
presenting said at least one entry to a user based on its score.
-
-
45. A method of retrieving at least one entry from a music database, wherein each said entry is associated with a sequence of pitches and beat durations, said method comprising:
-
receiving a digitized representation of an input melody;
identifying breakpoints in said melody in order to define notes therein, each said notes being delineated by adjacent breakpoints;
associating a confidence level with each note pertaining to likelihood that said note contains a note deletion error;
determining a pitch and beat duration for each note of said melody;
determining a score for each said entry based on a search which minimizes the cost of matching the pitches and beat durations of said melody and said entry, wherein said search considers at least one deletion error in a selected note of said melody and, in this event, penalizes the cost of matching based on the confidence level associated with the selected note; and
presenting said at least one entry to a user based on its score.
-
-
46. A method for determining confidence levels for breakpoints or notes in a waveform representing a melody, the method comprising:
-
segmenting the waveform into a series of frames, wherein adjacent breakpoints encompass one or more sequential frames;
executing at least two of the following three steps, (a) computing a spectral energy distribution (SED) indicator for each frame, (b) estimating the pitch of each frame, and (c) determining the energy level of each frame, deriving the confidence levels based on at least two of the following three characteristics, (i) the SED indicator, (ii) changes in pitch, and (iii) the energy level. - View Dependent Claims (47, 48)
-
-
49. A method for determining confidence levels for breakpoints or notes in a waveform representing a melody, the method comprising:
-
segmenting the waveform into a series of frames, wherein adjacent breakpoints encompass one or more sequential frames;
computing a spectral energy distribution (SED) indicator for each frame;
estimating the pitch of each frame; and
deriving the confidence levels based on the SED indicator and changes in pitch. - View Dependent Claims (50, 51, 52, 53, 54, 55)
-
-
56. A method for determining confidence levels for breakpoints or notes in a waveform representing a melody, the method comprising:
-
segmenting the waveform into a series of frames, wherein adjacent breakpoints encompass one or more sequential frames;
computing a spectral energy distribution (SED) indicator for each frame;
determining the energy level of each frame; and
deriving the confidence levels based on the SED indicator and the energy level. - View Dependent Claims (57, 58, 59, 60, 61, 62)
-
Specification