[sdiy] Percussion MIDI controller - again

Magnus Danielson cfmd at bredband.net
Mon Mar 28 17:12:39 CEST 2005


From: Ingo Debus <debus at cityweb.de>
Subject: Re: [sdiy] Percussion MIDI controller - again
Date: Sun, 27 Mar 2005 17:11:07 +0200
Message-ID: <71BFC5CE-9ED2-11D9-A60B-000A9571C136 at cityweb.de>

> 
> Am Freitag, 25.02.05 um 10:03 Uhr schrieb Magnus Danielson:
> 
> >
> >> How do I attach the piezo disks to the tube? I don't think piezos like
> >> to be bent. Is it better to attach them at the sides of the tube, or
> >> flat on some sort of "end cork"? In the former case I think I'd need
> >> some "adaptor" (perhaps made from aluminum) concave on one side,
> >> matching the tube's diameter, and flat on the other.
> >
> > To quote my friend who made the one we tried: "You thermo-glue them on 
> > in the
> > obvious way!". Basically you thermo-glue them on each end.
> 
> 
> Ok, this project is progressing very slowly, but anyway:
> 
> I found a piece of PVC tube, two metres long, and hot-glued one piezo 
> disk to either end, at the sides of the tube. I built two little 
> preamplifier boards (TL072, only one amp used) with a gain of 10 to 
> transmit the signal with low impedance, and attached these to the tube 
> close to the piezos. Their output signals are high-pass filtered 
> (simple RC, 10k/10nF) and offset by about +0.7 volts and fed into a 
> 74HCT14 Schmitt Trigger. I intend to feed the output of the Schmitts 
> into a microprocessor that calculates the time difference.

The piezo-elements we where playing with gave us a signal hitting up to 5-10V
when loaded with high impedance. For those elements I would only buffer the
signal. But then we where feeding it with a fairly high energy impulse, which
you may expect from a drum-stick (which we didn't have available stupidly
enought).

> The output signals of the preamplifiers look just like dampened 
> oscillations, no surprise here. The big problem is, especially when the 
> tube is hit far away from the receiving piezo, that the first peak of 
> the signal isn't always the largest one. I think this is due to 
> dispersion (correct term here?), i. e. parts of the signal are 
> travelling with different speed than the rest.

Dispersion is the correct term here. I don't recall that we had that problem,
but then we had only about a meter of tube, and another aspect is equally
important, the hit needs to be fairly distinct and from a "dull" object, so
that much of the energy comes from the actual hit and not later. This
effectively means that the hitting object is really not flexing a whole lot in
the beginning and alot of high frequency content is sent early out. However,
there will be a smoothing and more energy can come later, but I would
concentrate on the hit itself.

> Thus it can happen that the first peak triggers the Schmitt, or that a later
> peak does this, Since the time between the peaks is in the same order of
> magnitude as the delay (fraction of a millisecond to a few milliseconds) it
> seems impossible to detect the position of the hit by the delay between the 
> two signals.
> As this is meant to be used as a percussion controller, of couse 
> various signal levels are possible, thus with a fixed threshold I can 
> never tell which of the peaks caused the trigger.
> 
> Any ideas how to solve this?
> I thought I could build analog peak detectors and use the peak with 
> maximum amplitude, but if these are two peaks almost of the same 
> amplitude, I'm lost again.

I would not put my trigger levels to high up. The tube is fairly quite, so it
should work. Then, I would use some form of state-machinery such that when
trigger 1 triggs, it will block itself until trigger 2 triggs and vice versa.
When the late trigger hits, the state is cleared and prepared for the next hit.

Anyway, it is not very interesting to find the highest energy as the trigger
condition, but the fastest and when you get the fastest from both
piezo-elements you don't care. Of course you can have a separate peak detector
or some form of energy detector, but that is separate taps after the initial
buffer.

The trigg level should naturally be set by a pot, so one can adapt it for
optimum performance.

In my case, I intend to make CV+gate and possibly some other signal for
modulation.

Cheers,
Magnus



More information about the Synth-diy mailing list