String pluck detector??

Started by markusw, March 07, 2007, 06:15:54 AM

Previous topic - Next topic

markusw

Hey all,

I would need a detector that reliably detects a plucked string even with fast runs and when notes are played legato.
Any ideas are highly appreciated!  :)

So far I tried it with a fw rectifier -> low-pass-filter (to avoid ripple of the envelope) -> opamp buffer -> high pass filter (470 nF in series followed by 10k to Vref) to remove DC component of the envelope -> comparator

Works quite fine. With faster runs some notes are skipped though.  :(


Regards,

Markus

markusw

Oops, didn't search that properly the last time  :icon_redface: Always searched for "pick detector"  ;)

Found this one http://www.diystompboxes.com/smfforum/index.php?topic=9546.msg57393#msg57393

Any comments on the AMS-100 "pluck detector" ?

Regards,

Markus

Processaurus

Thats a different thing then you want, even though it is very cool and unusual.  That makes a voltage that gets larger the faster you play, rather then making a reliable pulse every time you hit a note.

It seems like its possible to get a pretty good fast trigger from guitar, even though I've honestly never played anything that could do it right.  Despite the challenges, it could rely on a few things, since it is guitar specific, rather than a general music device.  A new note played on clean guitar played with a pick is a quick increase in volume, every time.  If you could monitor whether the volume increases quickly, like you were doing with a comparator, but also monitor how much it got louder relative to where it was an instant before the note, you could create a kind of floating threshold control to weed out little increases in volume from finger noise or envelope ripple.  Hammer ons and finger picking might be forfeit, though.

A cheap and dirty way to do it is to make a pick out of a conductive material and run a wire from that to the pedal, so when it touches the strings it will ground something and make a pulse with a one shot type circuit.  That would probably be bulletproof, and very fast responding too.  might be a fun mad scientist thing to rig up...

markusw

Hey Processaurus,

thanks for your tips. A conductive pick detector for sure would be an interesting option!
Think I will first try it the conventional way though  ;)
Just browsed briefly through this "Device" issue and as far as I understood the AMS-100 has a pluck detector. Will have to read more thouroughly this eve to really understand how it works.

Markus

Mark Hammer

The pluck detector is what you might call a "macro event".  When you pick a note or chord, that initiates an approximately DC envelope voltage that corresponds to the vibrating string's amplitude over time.  The trigger extractor compares the amplitude of that signal to some preset threshold assumed to correspond to what would be there IF a string had been deliberately plucked (rather than simply brushed against or inadvertently vibrating in sympathy because the damn PA is too loud).  If the envelope exceeds that critical threshold, the unit/circuit puts out a single pulse of a specific voltage and of a specific duration.  That pulse corresponds to roughly what a traditional analog mono synth keyboard would have put out, and it is the "note event indicator" that starts all the other balls rolling, such as the envelope generators that make the sound fade in or the filters sweep.

The "pluck detector" circuit in DEVICE is a kind of "accumulator" in the sense that it allows these individual pulses to continue to charge up a cap.  The voltage on that cap becomes the sum total of the various pulses within any given period of time, minus whatever leakage occurs.  Think of it like a bank account.  The leakage is what your food, rent, utilities, incidentals cost, and the incoming pulses are the pay from all the pickup gigs you're able to get.  If you get a lot of work in a short period of time, then the incoming far exceeds the outgoing and your account statement is higher.  If the gigs are only sporadic, then the bank account rises momentarily when a cheque comes in, only to dribble out again because of those ongoing and unavoidable costs.

So, if you play faster, AND the picking is clean enough to generate a trigger pulse each time you pick a string, then those individual triggers are summed by the pluck follower to produce a control voltrol roughly proportional to the speed of your playing.  If you only pick a note now and then, or don't pick clean and hard enough to generate a new trigger for each of the notes you are producing from the guitar (e.g., by hammering on, or doing two-handed fretting), then very little will accumulate in the pluck follower.

That's why I call it a "macro event".  It corresponds to what is going on, in general.

One of the very best envelope followers and trigger extractors I've ever used is Harry Bissell's.  Exquisitely responsive, though a couple of notches up from most conventional envelope followers in terms of circuitry and parts count.  Worth it, though.  Definitely worth it.

markusw

Hey Mark,

thanks a lot for the clarification  :) (thanks to Processaurus too  ;) ).
Am I correct that I could simply just take the part that generates the trigger pulses for my "pluck detector"? Should be the part with the slow and fast filter I assume?
Are there any other circuits that would do the trick? I just need a pulse for each pluck. It should however be fast enough to work with faster note runs.

Thanks a lot in advance!


Markus
 


moosapotamus

moosapotamus.net
"I tend to like anything that I think sounds good."

Mark Hammer

The "trick" in getting a decent, reliable, valid and usable trigger from a guitar string is that the circuit needs to be adaptable and context-sensitive.  What ought to count as another note/strum played will vary all the time.  Indeed, many of our natural playing styles involves converting one picked note to another or simply using another fret as a way of mimicking another lightly picked note.  In such instances, the previous note will note have died out completely, and the new note is not different enough in level that it would necessarily register as a plucked note.  Certainly its initial transient is not robust enough to stand up and out against things like normal finger gliss as you move your finger along the string from here to there.  So, the sort of circuit that a great trigger detector needs to be is one that can perform the same sort of decision the human ear/brain does, and recognize that a new note has been moved to based on the detected end of the last one.  That, of course, relies on pitch-tracking and comparisons between two adjacent pitches.  Traditional trigger extractors (including Ray Wilson's that Charlie linked to) only make use of overall amplitude information; if its a big enough shift in amplitude then it must be a new note.

Another way of solving the problem has been to split the pickup such that the range of what each separate coil has to pay attention to is reduced.  Assisting with this is the use of harmonics instead of fundamentals as a means of identifying new notes.  So, if I use the content above 2khz for my low E, and identify new notes based on some sort of coherent harmonic content, then I may be able to set my trigger threshold low enough that many of the various random sources of pickup noise will be safely ignored and ignorable.

Harry Bissell's envelope follower is nice because there is normally a tradeoff between speed of response and ripple.  The faster it can react to sudden transients, the more likely it is to also react to slight deviations in amplitude as the note dies out (including any beats produced by things like localized string wear from frets).  When that envelope voltage is used to control things, they can sound bad and almost distorted (certainly people's initial suspicion is that there is something distorting).  If you do things to reduce that ripple, it generally results in the follower not being able to respond very quickly.  Since the trigger extractor doesn't put out a trigger pulse until the envelope voltage rises above the critical threshold, you end up with trigger delay on the order of several milliseconds, which can often be enough to throw off your timing.  What his envelope follower accomplishes is that it reacts fast enough to permit trigger extraction at speeds that don't interfere with normal playing, while successfully managing the potential for ripple. Best of both worlds. I played Harry's guitar synth, made from a G-Vox divided pickup (very similar to GK-1/2/3) mounted on an Ibanez überstrat, and you never really felt like you were playing a synth.  You felt like you were playing a guitar.  THAT is a good envelope ollower and trigger extractor.

markusw

Charlie, Mark, thanks a lot for your help!!  :)

Some more questions  ;)

The "Bissell follower" sounds very promising!
IIRC it  works with a couple of parallel stages. Mark, do you remember how many stages were in that synth you played??

Regards,

Markus


Meanderthal

 Hmmmm... I remember Morley had... something with a plectrum and a wire going to the giant chrome... whatever it was. I can't remember what it was called or what it did, but they have made many of their schematics available for download on their site.

Jeez, that ain't very helpful, is it? Sorry, it's all I have...
I am not responsible for your imagination.

moosapotamus

Hey Markus, what's the application that you want to use this for?

I think the "unnatural" response that Mark is talking about is something that a lot of folks who use guitar/bass synth-type pedals and effects have just come to accept. Even though tracking is typically marginal, you can also adapt your playing style to get musical sounds out of these kinds of effects.

~ Charlie
moosapotamus.net
"I tend to like anything that I think sounds good."

toneman

Quote from: Mark Hammer on March 07, 2007, 02:44:17 PM
The "trick" in getting a decent, reliable, valid and usable trigger from a guitar string is that the circuit needs to be adaptable and context-sensitive. ....... So, the sort of circuit that a great trigger detector needs to be is one that can perform the same sort of decision the human ear/brain does, and recognize that a new note has been moved to based on the detected end of the last one. 

Harry Bissell's envelope follower is nice because there is normally a tradeoff between speed of response and ripple.  The faster it can react to sudden transients, the more likely it is to also react to slight deviations in amplitude as the note dies out..... What his envelope follower accomplishes is that it reacts fast enough to permit trigger extraction at speeds that don't interfere with normal playing, while successfully managing the potential for ripple.
Best of both worlds. I played Harry's guitar synth, made from a G-Vox divided pickup (very similar to GK-1/2/3) mounted on an Ibanez überstrat, and you never really felt like THAT is a good envelope follower and trigger extractor.

Just for the H of it, i googled "pluck detector"-
came up with these.......

http://www.sweetwater.com/store/detail/Prophesy/
....a guitar processor with "patent-pending", "pluck detection"  ??   Hmmmmmmm(?)
            (Maybe a fancy envelope follower??)   (like multi-band??)    ;)   ;)
            (Maybe they patented Bissell's circuit?????)

and this----
http://www.dafx.ca/proceedings/papers/p_025.pdf

and this----
http://www.cnmat.berkeley.edu/ICMC2000/pdf/pickup.pdf

not really related, but interesting reading................. (yawn)

Now, go back to Device1-1, page 9.
re-look at IC4A,B,C,D.....look familiar? ???
can U say...self....adaptive....comparator? ???
It's even got a LED   :icon_exclaim:

U R confusing amplitude with frequency.
When U pluck, it's the amplitude.
If U want pitch tracking, it's the frequency.
The Envelope Follower is the simplist form of "pluck" detection.   One Pluck, please.  Only one.
To detect a pluck On Top of a sustained signal...now, that's what I'm talking about.
And, BTW, Markus want's this for a bass note @ 30HZ  :o
And, Mark: using a  hexaphonic pickup is "cheating"    :icon_biggrin:
(but, hey, that's what I use on my RolandReady Strat  ) 8)

stay adaptable  ;)
T



  • SUPPORTER
TONE to the BONE says:  If youTHINK you got a GOOD deal:  you DID!

markusw

Quote from: moosapotamus on March 07, 2007, 09:47:26 PM
Hey Markus, what's the application that you want to use this for?

I think the "unnatural" response that Mark is talking about is something that a lot of folks who use guitar/bass synth-type pedals and effects have just come to accept. Even though tracking is typically marginal, you can also adapt your playing style to get musical sounds out of these kinds of effects.

~ Charlie

Basically, I need it it as a side chain for switching a PLL based thingy. So, ideally it should detect each pluck no matter if you play fast runs or play notes legato.

QuoteTo detect a pluck On Top of a sustained signal...now, that's what I'm talking about.

Exactly!  :)

QuoteAnd, BTW, Markus want's this for a bass note @ 30HZ

Actually, I almost gave up on the idea of using a PLL with Bass.  ;)
It's too slow. For guitar it's somehow OK.

QuoteNow, go back to Device1-1, page 9.
re-look at IC4A,B,C,D.....look familiar?
can U say...self....adaptive....comparator?

As far as I understood the IC4A,B,C,D  part is two lp filters, one has a slower attack than the other. The two filter outputs are sent to a comparator which - again as far as I understood - should   
Quotedetect a pluck On Top of a sustained signal...
Please correct me if I'm wrong.

Don't know if this or the "Bissell follower" would be better for my purpose...

Thanks a lot for your help!  :)

Markus

toneman

Quote from: markusw on March 08, 2007, 01:44:49 AM
Quote from: moosapotamus on March 07, 2007, 09:47:26 PM
Hey Markus, what's the application that you want to use this for?
~ Charlie

Basically, I need it it as a side chain for switching a PLL based thingy.
So, ideally it should detect each pluck no matter if you play fast runs or play notes legato.

QuoteTo detect a pluck On Top of a sustained signal...now, that's what I'm talking about.

Exactly!  :)

QuoteAnd, BTW, Markus want's this for a bass note @ 30HZ

Actually, I almost gave up on the idea of using a PLL with Bass.  ;)
It's too slow. For guitar it's somehow OK.

WHAT???   :icon_eek:

  • SUPPORTER
TONE to the BONE says:  If youTHINK you got a GOOD deal:  you DID!

markusw

Quote from: toneman on March 08, 2007, 10:39:11 AM


WHAT???   :icon_eek:



Hey T,

what does the "WHAT???  :icon_eek:" refer to?

Maybe I'll give it a try with bass again once the whole mess works. At the moment I'm testing it with guitar.
Everything gets so damned slow, not only the PLL but also e.g. the envelope follower I'm using at the moment for triggering....

Markus

toneman

WHAT?  referred to this:
"Actually, I almost gave up on the idea of using a PLL with Bass.  Wink
It's too slow. For guitar it's somehow OK."

Just when I've been looking into buying a Ibanez 4string bass guitar   :(
Well, will still buy it.  Can't check em out until Fri or sunday.
Looking at 2 ibanez's.
then use 2 harmonizers.  1st shifts up one octave; 2nd shifts that up another octave.
;)

I see U actually said "almost"    :D

amplitude isn't slow.
it's frequency(determination) that's slow.
so the pluck thingie should be do-able
IMO

BTW, i've got some "node errrors" in the simulations(?)
LTC says it's "missing n010"....but even this changes.
Still, bottom line: it's "missing" one node, so sim won't run(?)
will email for some insight on how to find and correct.
afn
T
:)
  • SUPPORTER
TONE to the BONE says:  If youTHINK you got a GOOD deal:  you DID!

markusw

QuoteJust when I've been looking into buying a Ibanez 4string bass guitar   
Well, will still buy it.  Can't check em out until Fri or sunday.
Looking at 2 ibanez's.

QuoteI see U actually said "almost"   

Yup, almost but not yet  ;)  Right now after some more tweaking it seems possible again.  :)
For bass you'll need some dry signal for the punch anyway. So a bit of latency could still be OK.

Quoteit's frequency(determination) that's slow.
so the pluck thingie should be do-able
IMO

Would be cool!!  8)

Strange error you got in LTC..
Maybe send me the file so I can check?

Regards,

Markus




Eb7+9

Quote from: markusw on March 08, 2007, 01:44:49 AM
Basically, I need it it as a side chain for switching a PLL based thingy. So, ideally it should detect each pluck no matter if you play fast runs or play notes legato.

QuoteTo detect a pluck On Top of a sustained signal...now, that's what I'm talking about.

Exactly!  :)

have you considered throwing Slew detection at it ?! 

... worse case, in a legato run where the general "envelope" sizes don't change too much there will still be some increased slewing at the front of plucks and hammer-ons - in fact a double time differentiation might be in order ... it's guaranteed that slewing within a physical string based signal will be monotonically decreasing in time following "any" sort of attack - that's what would allow the triggering to work without confusion ... with clear plucks it would be even easier because of the increase in rate differences - ie., more amplitude at a given frequency = higher SR (dV/dT) ... you only need a differentiator or two, DC averaging and a threshold detector to make it happen

the question that would remain is whether/which type of other noises would compete with those "rates" ... just an idea

JC

markusw

Quote from: Eb7+9 on March 08, 2007, 03:08:03 PM
have you considered throwing Slew detection at it ?! 

... worse case, in a legato run where the general "envelope" sizes don't change too much there will still be some increased slewing at the front of plucks and hammer-ons - in fact a double time differentiation might be in order ... it's guaranteed that slewing within a physical string based signal will be monotonically decreasing in time following "any" sort of attack - that's what would allow the triggering to work without confusion ... with clear plucks it would be even easier because of the increase in rate differences - ie., more amplitude at a given frequency = higher SR (dV/dT) ... you only need a differentiator or two, DC averaging and a threshold detector to make it happen

the question that would remain is whether/which type of other noises would compete with those "rates" ... just an idea

JC


Thanks a lot for your tip!  :)
Sounds very logic! Only problem is I don't have an idea on slew detection. Will have to do some googling.
Basically, you mean to differentiate the guitar signal or the envelope once or twice ?   :icon_redface:

Regards,

Markus

StephenGiles

Please forgive me but I still cannot grasp what you are trying to achieve.
"I want my meat burned, like St Joan. Bring me pickles and vicious mustards to pierce the tongue like Cardigan's Lancers.".