EleonoreMizo / pedalevite

Pédale Vite — DIY multi-FX pedalboard for guitar/bass/etc.
http://ldesoras.free.fr/doc/articles/pedale-vite/pedale-vite.html
Do What The F*ck You Want To Public License
95 stars 7 forks source link

Onset Detector 2 is currently disabled because not so good #1

Open mikelange49 opened 4 years ago

mikelange49 commented 4 years ago

Hi Eleonore.

Congrats for your hard work, looks very impressive !

I'm a plugin developer and I'm interessed in the time-based method from Luca Turchet's "Hard Real-Time Onset Detection of Percussive Sounds".

I'd like to know why you disabled it ("because not so good").

Thanks. Mickael

EleonoreMizo commented 4 years ago

Hi mikelange49,

Actually I’m quite disappointed with all the onset detectors I tried so far (there are a few other ones I didn’t commit). They miss a stroke here and there, or emit false positives. I haven’t tried much the spectral-based ones because of the additional latency and much higher CPU load. Only the first OnsetDetect in the Pedale Vite effect list gives almost usable results. Maybe the other algorithms require an accurate tuning to give their best, but this is problematic as I want to use them with a few different instruments (guitars and bass). Or perhaps they are designed for drums or general-purpose use, and not specifically for plucked string instruments. I tried the time-based Luca Truchet’s algorithm (not the spectral part, I don’t need the exact onset location at the moment) with the numerical constants given in the article and tried to refine the settings, but couldn’t find something working really better than the first OnsetDetect. Maybe I should give it another try.

mikelange49 commented 4 years ago

Hey thanks a lot for your response. I have the same problem. Let me know if you find something better... Cheers

Le dim. 8 nov. 2020 à 10:02, EleonoreMizo notifications@github.com a écrit :

Hi mikelange49,

Actually I’m quite disappointed with all the onset detectors I tried so far (there are a few other ones I didn’t commit). They miss a stroke here and there, or emit false positives. I haven’t tried much the spectral-based ones because of the additional latency and much higher CPU load. Only the first OnsetDetect in the Pedale Vite effect list gives almost usable results. Maybe the other algorithms require an accurate tuning to give their best, but this is problematic as I want to use them with a few different instruments (guitars and bass). Or perhaps they are designed for drums or general-purpose use, and not specifically for plucked string instruments. I tried the time-based Luca Truchet’s algorithm (not the spectral part, I don’t need the exact onset location at the moment) with the numerical constants given in the article and tried to refine the settings, but couldn’t find something working really better than the first OnsetDetect. Maybe I should give it another try.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/EleonoreMizo/pedalevite/issues/1#issuecomment-723548793, or unsubscribe https://github.com/notifications/unsubscribe-auth/AIFKVPK2O37Y2UJ7VHVHMLLSOZNA3ANCNFSM4TI26LNQ .

mikelange49 commented 3 years ago

Hey Eleonore, me again...

I've finally built your pv_osdet2 as a VST plugin. But when I open it in Reaper :

[image: image.png] image

image

then the plugin doesn't seem to run (but I'm not sure).

I put a breakpoint on OnsetDetect2::do_process_block, attach Visual Studio to Reaper, but I never hit it.

Any ideas ?

Thanks, Mickael.

EleonoreMizo commented 3 years ago

Hmm… I think it comes from the VST wrapper. I think I haven’t tested it with effects using only control signals as output yet. I bet it will give you the same issue with pv_osdet. I’ll check this and try to fix it soon.

EleonoreMizo commented 3 years ago

Fixed in 672fb47b07c44cc085048584415426c61475f8c9

mikelange49 commented 3 years ago

Thanks ! It works ! Here's a paper that might interest you on Onset Detection for Guitars and Bass' https://core.ac.uk/download/pdf/45290303.pdf

Regards. PS are you french ? I am... Please feel free to write me at mickael.baudouin@gmail.com

Le ven. 20 nov. 2020 à 18:09, EleonoreMizo notifications@github.com a écrit :

Fixed in 672fb47 https://github.com/EleonoreMizo/pedalevite/commit/672fb47b07c44cc085048584415426c61475f8c9

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/EleonoreMizo/pedalevite/issues/1#issuecomment-731290864, or unsubscribe https://github.com/notifications/unsubscribe-auth/AIFKVPMEPLBV2DMNGP6IAPDSQ2PDJANCNFSM4TI26LNQ .

EleonoreMizo commented 3 years ago

Oui je le suis :) Cet article, que je n’ai que survolé pour l’instant, m’a l’air intéressant, merci beaucoup. Cependant je ne sais pas du tout à quel point il est adapté à du temps réel puisqu’il semble faire la détection dans le domaine spectral. En tout cas, je mets ça sur le coin de la table et je m’y plongerai en détail un peu plus tard, quand j’aurai un moment à y consacrer.

mikelange49 commented 3 years ago

Oui, en effet, mais je pense qu'on peut le mixer avec l'algorithme Time-based de Lucas Turchet comme indiqué dans le pseudo code page 6 de son papier. Comme ça on a le meilleur des deux mondes. Un algorithme time-based pour détecter les onsets au plus tôt (mais avec beaucoup de faux positifs après) et un algorithme spectral-based pour éliminer les faux positifs ensuite (plutôt NINOS en l'occurrence pour la guitare). C'est ce que je suis en train d'essayer de faire en Juce dans mon plugin. Je te tiendrai au courant si ça t'intéresse. Bonne soirée.

Le mar. 1 déc. 2020 à 09:31, EleonoreMizo notifications@github.com a écrit :

Oui je le suis :) Cet article, que je n’ai que survolé pour l’instant, m’a l’air intéressant, merci beaucoup. Cependant je ne sais pas du tout à quel point il est adapté à du temps réel puisqu’il semble faire la détection dans le domaine spectral. En tout cas, je mets ça sur le coin de la table et je m’y plongerai en détail un peu plus tard, quand j’aurai un moment à y consacrer.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/EleonoreMizo/pedalevite/issues/1#issuecomment-736309759, or unsubscribe https://github.com/notifications/unsubscribe-auth/AIFKVPINF46MN34GDFBYK2LSSSSWDANCNFSM4TI26LNQ .