Automatic score following
AssigneeTonara Ltd.
InventorsYair Lavi, Evgeni Begelfor
Life of this patent
Estimating the term…
Abstract
A method for audio processing includes receiving in an electronic processor an audio input from a performance of a musical piece having a score. A two-dimensional state space is defined, including coordinates modeling the performance, each coordinate corresponding to a respective location in the score and a tempo of the performance. For each of a plurality of times during the performance, a probability distribution is computed over the two-dimensional state space based on the audio input. Based on the probability distribution, the performance is matched to the score.
Claims15
A method for audio processing, comprising:
- receiving in an electronic processor an audio input from a performance of a musical piece having a score;
- defining a two-dimensional state space comprising coordinates modeling the performance, each coordinate Xn corresponding to a respective location Ln in the score at a time n and a tempo of the performance αn at time n;
- for each of a plurality of times i during the performance, defining a set of particles {Xi,Wi} having respective coordinates Xi=(Li,αi) in the two-dimensional state space and weights Wi corresponding to respective probabilities of the coordinates;
- defining a Hidden Markov Model (HMM) having observable states corresponding to the audio input and hidden states corresponding to the location and the tempo, as specified by the particles;
- iteratively computing at the plurality of the times the respective weights Wi of the particles in the two-dimensional state space based on the audio input;
- and
- matching the performance to the score by computing, at each of the times, a weighted sum over the particles using the respective weights Wi in order to decode the HMM so as to find a current value of Xn, which gives a most likely current location in the score and most likely current tempo.
Audio processing apparatus, comprising:
- an input device, which is configured to provide an audio input from a performance of a musical piece having a score;
- and
- a processor, which is configured to process the audio input using a two-dimensional state space comprising coordinates modeling the performance, each coordinate Xn corresponding to a respective location Ln in the score at a time n and a tempo of the performance αn at time n at the location, such that for each of a plurality of times i during the performance, a set of particles {Xi,Wi} is defined, having respective coordinates Xi=(Li,αi) in the two-dimensional state space and weights Wi corresponding to respective probabilities of the coordinates, and a Hidden Markov Model (HMM) is defined, having observable states corresponding to the audio input and hidden states corresponding to the location and the tempo, as specified by the particles,
- wherein the processor iteratively computes at the plurality of the times the respective weights Wi of the particles in the two-dimensional state space based on the audio input and matches the performance to the score by computing, at each of the times, a weighted sum over the particles using the respective weights Wi in order to decode the HMM so as to find a current value of Xn, which gives a most likely current location in the score and most likely current tempo.
A computer software product, comprising a non-transitory computer-readable medium in which program instructions are stored, which instructions, when read by a processor, cause the processor to receive an audio input from a performance of a musical piece having a score, and to process the audio input using a two-dimensional state space comprising coordinates modeling the performance, each coordinate Xn corresponding to a respective location Ln in the score at a time n and a tempo of the performance αn at time n at the location, such that for each of a plurality of times i during the performance, a set of particles {Xi,Wi} is defined, having respective coordinates Xi=(Li,αi) in the two-dimensional state space and weights Wi corresponding to respective probabilities of the coordinates, and a Hidden Markov Model (HMM) is defined, having observable states corresponding to the audio input and hidden states corresponding to the location and the tempo, as specified by the particles,
- wherein the instructions cause the processor to iteratively compute Wi at the plurality of the times the respective weights Wi of the particles in the two-dimensional state space based on the audio input and to match the performance to the score by computing, at each of the times, a weighted sum over the particles using the respective weights Wi in order to decode the HMM so as to find a current value of Xn, which gives a most likely current location in the score and most likely current tempo.
Dependencies are inferred from the claim text.