I have been tweaking a pitch tracking system for quite a while now. I find that [sigmund~] with the "notes" argument to be more accurate at detecting the attack of a tone produced on an electric guitar (versus bonk~). Anyone else find this?
Ricky
Pitch (Attack) Tracker - Bonk~ vs. Sigmund~
I have been tweaking a pitch tracking system for quite a while now. I find that [sigmund~] with the "notes" argument to be more accurate at detecting the attack of a tone produced on an electric guitar (versus bonk~). Anyone else find this?
Ricky
I tend to use the bang (and pitch value) output of [fiddle~] a lot to drive events from a microphone. I feel it chooses more musical transients than [bonk~] possibly due to it being created for the purpose of pitch-tracking a violin. It's also good to set the amount of pitch variance and vibrato between events.
So, yes I would agree with you, although I can't remember why I chose [fiddle~] over [sigmund~]
I was also told [sigmund~] was the more superior tracker? Maybe that information is false. I haven't played around with [fiddle~] in over a year.
@ricky said:
I was also told [sigmund~] was the more superior tracker? Maybe that information is false. I haven't played around with [fiddle~] in over a year.
You're probably right - http://lists.puredata.info/pipermail/pd-list/2009-12/074710.html
How it easy is it to get bangs out of it? It outputs pitch and an envelope right? I guess you could use the change in pitch value. [fiddle~] outputs a bang on attack which is pretty useful.
They seem to be pretty similar anyway, although my needs haven't required extremely precise pitch tracking yet.
I should probably look into [sigmund~] more to be honest. This seems to outline some of the differences http://lists.puredata.info/pipermail/pd-list/2009-12/074709.html
@Jwif said:
How it easy is it to get bangs out of it? It outputs pitch and an envelope right? I guess you could use the change in pitch value. [fiddle~] outputs a bang on attack which is pretty useful.
It's really simple. Just use the "notes" argument:
[sigmund~ notes] Will bang MIDI pitch every time a new tone is detected
|
[t b]
Done. Obviously, you can tighten it up by scaling env as an amplitude threshold, and also by configuring other arguments like maxfreq, maxpower etc. (check the help file).
Hello everybody:
I remember when I made a pitch tracker that katjav told me that fiddle~ doesn't like switch~. Here is the thread with patch attached (I recommend version 3 at the bottom of the thread).
http://puredata.hurleur.com/sujet-5120-detector-patch-needed-switch-object
I hope you find it useful.
Sumidero
Debian Stretch on Lenovo T450i, Lexicon Omega.
Pd-vanilla 0.49.0-3~bpo9+1 (installed from repo)
What do you mean by more accurate? Are you referring to the timing of the transients or determining what is or isn't a transient?
I might be talking a bit out of my ass here, I believe [bonk~]'s algorithm is based more on finding sudden spectral changes (i.e. amount and distribution of energy in the signal) than on harmonic relationships, so it is more likely better suited for non-pitched sounds (i.e. percussion). [sigmund~ notes] is likely looking for harmonic relationships in the spectrum, so transitions in pitch that may not have particularly strong transients with a "noisier" spectrum, such as guitar hammer-ons, will still get picked up by [sigmund~] but may go unnoticed by [bonk~].
I'm not sure if you're replying to something I've said but I'll assume you are.
By 'musical transients' I meant pitched input sources (and their respective onsets). Instruments, voice, etc... I agree that [bonk~] is better suited for percussive sounds.
Maybe an example will help explain what I intended to say:
In some cases I want to, in realtime, fill several arrays with content from a microphone. Now I have no idea of what the said content is going to be beforehand but I know it has to be useful (i.e. intelligible and sound good when processed). From experimentation it seems that [bonk~] while useful for triggering buffer recordings will also trigger erroneously (for this case) on other sounds such as coughs, clicks, general short sounds. This means that a buffer of maybe 1 or 2 seconds has a few ms of a transient sound and the rest noise, which isn't great.
Using [fiddle~] and [sigmund~] on the other hand means that more likely than not the buffer is filled with 'useful' material. Such as someone speaking, a motorbike or an instrument. I find these objects are good at giving me onset points for longer, interesting sounds from a microphone.
Btw, I think you're right that [bonk~] is based on calculating the distribution of energy in the frequency spectrum. It's tricky however to adjust the frequency bins for the right frequency range, say 300-3000Hz for human voices. IIRC I think the default is 11? You need to do quite a lot of adjustment to get the right number of bins and make sure they start from the correct position and set the bandwidth accordingly. Even after doing that [bonk~] still would go crazy on sounds we didn't want. In end the [fiddle~] was a cleaner solution.
p.s. I may be talking out my arse as well
@Jwif said:
I'm not sure if you're replying to something I've said but I'll assume you are.
Ha, sorry, the question was directed at Ricky's original post. The rest was just my two cents.
@Maelstorm said:
What do you mean by more accurate? Are you referring to the timing of the transients or determining what is or isn't a transient?
The latter, and I reckon you are correct that [bonk~] may be better for more percussive or more complex source sounds.
@Maelstorm said:
@Jwif said:
I'm not sure if you're replying to something I've said but I'll assume you are.
Ha, sorry, the question was directed at Ricky's original post. The rest was just my two cents.
Ahh cool, no worries.
Oops! Looks like something went wrong!