Page 1 of 1

Piezo output filtering

PostPosted: Sat Nov 21, 2009 10:46 pm
by sgaforbes
Hi,

I recently bought and constructed a megadrum with the intention of using it as part of a project. After speaking to my project supervisor he suggested building my own brain/controller would get me more marks and be more useful to me. So, I've tried to build a very simple interface using an Arduino board and some basic signal filtering/conditioning circuitry. I can't seem to find a way to overcome multiple triggers from strike of my drum pad. I've tried playing with resistor values in my sample and hold circuit, and various algorithms for sampling on the Arduino but i'm still coming up against the same problem.

Basically I was wondering how the megadrum goes about doing this? I read on another thread that it makes use of DSP on the ATmega644. More specifically I was wondering if you could shed some light on the DSP code/algorithm that is used for that?

My main problems with the Arduino setup are that -

Firstly, I want to use the interface as part of a drum playing analysis package, so I want to be able to look at things like ghost notes and flams etc, right through to buzz rolls and other rapid trigger exercises. With my Arduino board though, because I have the threshold set relatively low (to allow ghost notes to be detected), an accented strike of my drum pad results in two or three readings, as the voltage settling time is too long.

Basically if anyone could shed any light on this I would be appreciative.

Cheers

Re: Piezo output filtering

PostPosted: Sun Nov 22, 2009 11:16 am
by Firelord
One simple method would be to cancel sampling for a specified amount of time after a peak trigger signal value is obtained.

Also, MegaDrum does not use DSP, rather exploiting the ADC of the MCU.

Re: Piezo output filtering

PostPosted: Tue Dec 14, 2010 4:03 am
by kupooglop
Get a good software midi sequencer package. The stuff you are trying to do is why they exist.

Re: Piezo output filtering

PostPosted: Fri Jan 07, 2011 11:40 am
by dm9876
as well as firelords suggestion this link provides some good experimental information on filtering the signal in the electrical domain which could make the programming easier

http://leucos.lstilde.org/wp/2009/06/pi ... ditioning/

Dean