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 ?
Regards
--
og