[linux-audio-dev] Re: Software controller for homemade edrums

Olivier Guilyardi ml at xung.org
Wed Jun 8 19:48:39 UTC 2005


Hi Ben,

Ben Loftis wrote:
>>From: Olivier Guilyardi <ml at xung.org>
>>Okay, so I now have an idea of what convolution is. Your little piece of
>>software is very nice, very easy to understand. I used three samples : a
>>bassdrum, a snare drum, and a short guitar chord. I plugged the output
>>of one of my pads into jack_convolve's input and its output into the
>>alsa_pcm playback.
>>
>>Both the bassdrum and the chord sounded quite nice. But the snare drum
>>sounded like very far away. I guess this comes from the silence at the
>>end of this sample.
>>
>>What exactly happens with these "response files" ? Should I use very
>>simple samples, like a sine wave with no silence ? Shouldn't convolving
>>be coupled with trigerring ? I mean : hitting the pad would start the
>>sample playback, and the convolving engine would use both this sample
>>playback and the pad signal to produce its output. In this case,
>>jack_convolve would then need one output and two inputs :
>>- one for the pad signal,
>>- and one for the "response signal", that is : the sample playback that
>>started right when the pad got hit
>>
>>Is this possible, or do I misunderstand convolution here ?
> 
> 
> Olivier, I think the next step is to run jack_convolve, and connect the 
> soundcard input directly into jack_convolve's input using qjackctl.  then 
> connect the output of jack_convovle to the soundcard's outputs.  
> (jack_convolve may already do this for you, I can't check just this moment)

Well, sorry if I did not explained myself correctly but that's exactly what I 
did (please see the first paragraph above).

> Now when you hit a pad, it should be "convolved" with the response signal 
> giving you something different than the simple "click" of the input signal.

> I'm very interested to see how this works out (I suggested this path to 
> Olivier, I hope it's not totally worthless :) ).  It could be a way to build 
> a cheap, responsive electronic drum kit that preserves the nuances of the 
> input signal.  I wonder if this is how the Korg Wavedrum worked?

And, as I said above, it did work better with some samples than with others, 
but: it works :-)

Here are three example of what it sounds like, using a modified guitar chord 
sample as response file :

1 - For this one I softly hit the edge of the pad continuously, and the middle 
of the edge harder once at the beginning of the measure :
http://samalyse.com/labs/edrum/audio/beat.ogg

2 - Playing faster ("rolling") with this one :
http://samalyse.com/labs/edrum/audio/roll.ogg

3 - Using a pen to hit and scratch the surface. The rubber surface, made of 
several layers of bike tube makes it possible to obtain an interesting sound 
(the input level was not high enough for this one, so I normalized it afterward, 
it could sounds much better I think) :
http://samalyse.com/labs/edrum/audio/scratch.ogg

As you may see, scratching seems to work fine in here :-)

By the way, Ben, what do you think of my idea of coupling triggering with 
convolution, as stated in my previous mail (above, third paragraph) ? Here's a 
diagram to further describe this idea :

pad signal ----> trigger detection ----> sample playback -----
    |                                                         |
    |                                                         |
    ------------------------------------->   convolution  <----
                                                 |
                                                 |
                                                 +--> output

Would this be possible ?

--
   og



More information about the Linux-audio-dev mailing list