Zero-crossing based pitch tracking

Hey there … it’s been a while since I tinkered with a daisy seed and I’m not sure when I’ll get to it again. But anyway - I thought maybe this might be nice to play around with for some of you: I created a very simple pitch tracker abstraction that should be compatible with heavy … you can check it out here:

2 Likes

Neat! can you explain a bit what “zero-crossing based” means exactly?

It’s actually quite trivial: a “zero-crossing” is the moment when a signal crosses value 0. In DSP, that it is the moment when a sample has a different sign than the previous sample (from - to +, which is an upward zero-crossing - or similarly: + to - for downwards)

this patch continuously measures the time passed between the last 2 upward zero-crossings, converts it to pitch in Hz and outputs it on signal rate.

does this make sense? let me know if i should try to give more detailed explanations!

1 Like