Message: 10
Date: Wed, 08 Jun 2005 15:57:23 +0200
From: Olivier Guilyardi <ml(a)xung.org>
Subject: Re: [linux-audio-dev] Re: Software controller for homemade
edrums
To: "The Linux Audio Developers' Mailing List"
<linux-audio-dev(a)music.columbia.edu>
Message-ID: <42A6F943.4080606(a)xung.org>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Hi Florian,
Florian Schmidt wrote:
For quick tests without libDSP you can tweak the
jack_convolve Makefile
a little:
uncomment the
#COMPILE_FLAGS += -DC_CMUL
line and remove "-ldsp" from the LINK_FLAGS line. This will use an
unoptimized C complex multiplication implementation. jack_convolve will
use around 10-20% more cpu than with the libDSP implementation.
It did compile. I also needed to remove the #include <dsp/dspop.h> in
convolve.c
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)
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?
-Ben