Skip to content

Some examples of using a particle filter to improve musical pitch estimation

Notifications You must be signed in to change notification settings

ddahlbom/particlepitch

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 

Repository files navigation

Particle Pitch

Two scripts for showing how the addition of a simple note transition model to a template-matching pitch model, by way of a particle filte, can improve pitch estimates. The example used here is a synthesized rendition of the opening phrase of the first fugue from Bach's Die Kunst der Fuge. Added noise causes the simple pitch model to produce octave confusions. The first model uses a simple discrete state space Hidden Markov Model (HMM) with hand-coded state (note) transition probabilities. The second example, a switching Hidden Markov Model + Linear Dynamic System model (in David Barber's terminology), allows for a continuous range of possible pitch frequencies and uses a continous probability distribution for note transitions. Samples outputs shown below.

(1) Signal and "Ground Truth" Signal and GT

(2) Naive estimate (template matching only) naive

(3) HMM estimate HMM

(4) Reset-HMM-LDS estimate Reset-HMM-LDS

References.

Barber, David (2012). Bayesian Reasoning and Machine Learning. (Cambridge University Press, Cambridge).

About

Some examples of using a particle filter to improve musical pitch estimation

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages