Methods, systems and computer program products for detecting musical notes in an audio signal
AssigneeZenph Studios, Inc.
InventorsJohn Q. Walker, II, Peter J. Schwaller, Andrew H. Gross
Life of this patent
Estimating the term…
Abstract
Methods, system and/or computer program products for detection of a note include receiving an audio signal and generating a plurality of frequency domain representations of the audio signal over time. A time domain representation is generated from the plurality of frequency domain representations. A plurality of edges are detected in the time domain representation and the note is detected by selecting one of the plurality of edges as corresponding to the note based on characteristics of the time domain representation.
Claims40
A method for detection of a note, comprising:
- generating a plurality of frequency domain representations of an audio signal over time;
- generating a time domain representation from the plurality of frequency domain representations;
- detecting a plurality of edges in the time domain representation;
- and
- detecting the note by selecting one of the plurality of edges as corresponding to the note based on characteristics of the time domain representation,
- wherein detecting a plurality of edges in the time domain representation includes:
- processing the time domain representation through a first type of edge detector to provide first edge detection data;
- processing the time domain representation through a second type of edge detector, different from the first type of edge detector, to provide second edge detection data;
- and
- wherein detecting the note includes selecting one of the plurality of edges as corresponding to the note based on the first edge detection data and the second edge detection data.
A method for detection of a note, comprising:
- generating a plurality of sets of frequency domain representations of an audio data signal over time, each of the sets being associated with a different pitch;
- generating a plurality of time domain representations from the respective sets of frequency domain representations, each of the time domain representations being associated with one of the different pitches;
- detecting a plurality of edges in at least one of the time domain representations;
- and
- detecting the note by selecting one of the plurality of edges as corresponding to the note based on characteristics of the at least one of the time domain representation, including:
- calculating characterizing parameters associated with one of the time domain representations for a time period associated with one of the detected plurality of edges in the one of the time domain representations. including calculating a measure of smoothness of the one of the time domain representations;
- and
- detecting the note based on the calculated characterizing parameters of the time domain representation, and
- wherein calculating a measure of smoothness comprises:
- calculating a logarithm of the one of the time domain representations for at least a portion of the time period;
- calculating a running average function of the logarithm of the one of the time domain representations;
- and
- comparing the calculated logarithm and running average function to provide the measure of smoothness.
A method for detection of a note, comprising:
- generating a plurality of sets of frequency domain representations of an audio data signal over time, each of the sets being associated with a different pitch;
- generating a plurality of time domain representations from the respective sets of frequency domain representations, each of the time domain representations being associated with one of the different pitches;
- detecting a plurality of edges in at least one of the time domain representations;
- and
- detecting the note by selecting one of the plurality of edges as corresponding to the note based on characteristics of the at least one of the time domain representation, including:
- calculating characterizing parameters associated with one of the time domain representations for a time period associated with one of the detected plurality of edges in the one of the time domain representations;
- and
- detecting the note based on the calculated characterizing parameters of the time domain representation;
- wherein detecting a note further comprises calculating characterizing parameters associated with one of the edge detection signals corresponding to the one of the time domain representations for a time period associated with the one of the detected plurality of edges and wherein detecting the note further comprises detecting the note based on the calculated characterizing parameters of the edge detection signal, and wherein the characterizing parameters associated with one of the edge detection signals corresponding to the one of the time domain representations include at least one of a maximum magnitude, a magnitude at a first predetermined time offset in each direction from the maximum magnitude time, a magnitude at a second predetermined time offset, different from the first predetermined time offset, in each direction from the maximum magnitude time or a width of the edge detection signal from a peak magnitude point in each direction without a change in slope direction.
A method for detection of a note, comprising:
- generating a plurality of sets of frequency domain representations of an audio data signal over time, each of the sets being associated with a different pitch;
- generating a plurality of time domain representations from the respective sets of frequency domain representations, each of the time domain representations being associated with one of the different pitches;
- detecting a plurality of edges in at least one of the time domain representations;
- and
- detecting the note by selecting one of the plurality of edges as corresponding to the note based on characteristics of the at least one of the time domain representation, wherein detecting the note comprises, for a detected edge:
- determining if another of the plurality of detected edges occurring at about a same time as the detected edge corresponds to a pitch associated with a bleed of the pitch associated with the time domain representation of the detected edge;
- and
- discarding a lower magnitude one of the detected edge and the another of the plurality of detected edges if the another of the plurality of detected edges is determined to be associated with a bleed of the pitch associated with the time domain representation of the detected edge.
A method for detection of a note, comprising:
- generating a plurality of sets of frequency domain representations of an audio data signal over time, each of the sets being associated with a different pitch;
- generating a plurality of time domain representations from the respective sets of frequency domain representations, each of the time domain representations being associated with one of the different pitches;
- detecting a plurality of edges in at least one of the time domain representations;
- and
- detecting the note by selecting one of the plurality of edges as corresponding to the note based on characteristics of the at least one of the time domain representation, wherein detecting the note comprises, for a detected edge, determining if others of the plurality of detected edges having a common associated time of occurrence as the detected edge correspond to a harmonic of the pitch associated with the time domain representation of the detected edge and further comprises at least one of the following:
- determining that the detected edge is more likely to correspond to the note when it is determined that other of the plurality of detected edges correspond to a harmonic;
- determining that the detected edge is less likely to correspond to the note when it is determined that none of the other of the plurality of detected edges correspond to a harmonic;
- and
- determining that the detected edge is less likely to correspond to the note when it is determined that the detected edge corresponds to a harmonic of another of the plurality of detected edges.
A method for detection of a note, comprising:
- generating a plurality of sets of frequency domain representations of an audio data signal over time, each of the sets being associated with a different pitch;
- generating a plurality of time domain representations from the respective sets of frequency domain representations, each of the time domain representations being associated with one of the different pitches;
- detecting a plurality of edges in at least one of the time domain representations;
- and
- detecting the note by selecting one of the plurality of edges as corresponding to the note based on characteristics of the at least one of the time domain representation, including:
- calculating characterizing parameters associated with one of the time domain representations for a time period associated with one of the detected plurality of edges in the one of the time domain representations;
- and
- detecting the note based on the calculated characterizing parameters of the time domain representation, wherein detecting the note comprises, for the one of the detected plurality of edges, determining whether the detected edge corresponds to noise rather than a note based on the characterizing parameters associated with the one of the time domain representations and discarding the detected edge when it is determined to correspond to noise, wherein determining whether the detected edge corresponds to noise comprises:
- determining if the characterizing parameters associated with the one of the time domain representations satisfy corresponding threshold criteria;
- weighting the characterizing parameters associated with the one of the time domain representations determined to satisfy their corresponding threshold criteria based on assigned weighting values for the respective characterizing parameters;
- summing the weighted characterizing parameters;
- and
- determining that the detected edge correspond to noise when the summed weighted characterizing parameters fail to satisfy a threshold criterion.
A method for detection of a note, comprising:
- generating a plurality of sets of frequency domain representations of an audio data signal over time, each of the sets being associated with a different pitch;
- generating a plurality of time domain representations from the respective sets of frequency domain representations, each of the time domain representations being associated with one of the different pitches;
- detecting a plurality of edges in at least one of the time domain representations;
- and
- detecting the note by selecting one of the plurality of edges as corresponding to the note based on characteristics of the at least one of the time domain representation, including:
- calculating characterizing parameters associated with one of the time domain representations for a time period associated with one of the detected plurality of edges in the one of the time domain representations;
- and
- detecting the note based on the calculated characterizing parameters of the time domain representation, wherein detecting the note comprises, for the one of the detected plurality of edges, determining whether the detected edge corresponds to noise rather than a note based on the characterizing parameters associated with the one of the time domain representations and discarding the detected edge when it is determined to correspond to noise, wherein detecting the note further comprises:
- comparing peak magnitudes of retained detected edges to peak magnitudes of adjacent discarded detected edges from a same time domain representation;
- and
- retaining the adjacent discarded detected edges if they have a greater magnitude that their corresponding retained detected edges.
A method for detection of a note, comprising:
- generating a plurality of frequency domain representations of an audio signal over time;
- generating a time domain representation from the plurality of frequency domain representations;
- calculating a measure of smoothness of the time domain representation;
- and detecting the note based on the measure of smoothness, wherein calculating a measure of smoothness comprises:
- calculating a logarithm of the time domain representation;
- calculating a running average function of the logarithm of the time domain representation;
- and
- comparing the calculated logarithm and running average function to provide the measure of smoothness.
Dependencies are inferred from the claim text.