Page 2 of 2

Re: creating trigger from bad sound acoustic bass drum (tric

Posted: Tue Apr 25, 2017 4:12 pm
by barry.beattie
DVDdoug wrote:I assume you have a multitrack recording? It seems like the "simplest thing" would to "play" the synthesizer. You'd be done in 40 minutes (well, maybe a little longer if you don't get it perfect the 1st time).
Yes, each part of the drumkit, in fact, every instrument of the live event has been reduced to it's individual WAV file, all starting from the same point.

However, I'm unsure what you mean by ' "play" the synthesizer' - the Alesis D4 is a drum module - just full of samples of drum kits. It's biggest claim to fame is that it takes up to 12 triggers to fire a separate drum in each kit. Perfect for using with electronic pads as triggers, tricky - but possible - using microphones, and a P.I.T.A using a recording of live drums.
DVDdoug wrote: There is a drum-replacement program called DRUMAGOG.
On first glance it looks similar to what I'm trying to use. The difference is I'm trying to do it with the tools I have available.
DVDdoug wrote:Or with a DAW, you could simply program a new kick-drum (after time-aligning the existing recording to the grid).
I'm not using a DAW for mix, I'll be using a TASCAM product ... AFTER ... each WAV file is as good as I can get it using Audacity. Besides, this was recorded live. There is no click track, there is no "Exact" timing. This is a recording of real people playing real instuments.

Re: creating trigger from bad sound acoustic bass drum (tric

Posted: Tue Apr 25, 2017 5:25 pm
by steve
Those 'double hits' where the second hit is louder than the initial hit are likely to be a problem whatever we do.
Even with a 'sample and hold', the initial hit will be sampled (and held), then the signal will step up to the level of the second hit.

Here's some code for you to experiment with:

Code: Select all

(setf hold 0.05) ;seconds

(let ((block (truncate (* hold *sound-srate*)))
      (step (truncate (* hold 0.25 *sound-srate*))))
  (sim (s-rest 1)
    (at-abs hold
      (cue (snd-avg *track* block step op-peak)))))
As you can see, it's based around the SND-AVG function which is documented here: http://www.cs.cmu.edu/~rbd/doc/nyquist/ ... l#index692
Increasing the 'step' size will tend to smooth the waveform. When 'step = block' the waveform will ramp up and down.
'Step' may be decreased as low as 1 sample, but the effect then becomes extremely slow.
As you might expect, 'hold' is the duration (in seconds) that the peak level is held.

Re: creating trigger from bad sound acoustic bass drum (tric

Posted: Tue Apr 25, 2017 6:11 pm
by Trebor
barry.beattie wrote:ATTACHMENTS
drum_kick_tst.wav (1.88 MiB)
This pattern is consistent ...
Use biiggest peak as trigger, then time-shift -20ms (if you must).png
Use biiggest peak as trigger, then time-shift -20ms (if you must).png (33.17 KiB) Viewed 371 times
So you could set the threshold to use the largest peak as the trigger, then time-shift the track backwards by 20ms.
[ I don't think you'll actually notice a difference after 20ms time-shift ].


Differentiating using "slope" also creates the biggest peak where you want it, without having to time-shift ...

Code: Select all

(multichan-expand #'slope *track*)
differentiation (using 'slope') also creates the biggest peak where you want it.gif
click on this animation to see it in its entirety
differentiation (using 'slope') also creates the biggest peak where you want it.gif (346.77 KiB) Viewed 369 times
but that method is unnecessarily complex.

Re: creating trigger from bad sound acoustic bass drum (tric

Posted: Wed Apr 26, 2017 12:14 am
by barry.beattie
I'll try a bit of experimentation with these ideas but in the meantime I've had a thought along a different line...

All complex waveforms are simply multiple sine waves interacting in and out of phase with each other. For a drum that's very obvious as the drum skin has it's initial movement and then has interference patterns of the movement of the skin causing the overtones.

I tried a steep HPF at 4kHz to see if the "clack" of the beater hitting the skin could give me something clean... maybe I should try a very LPF to get rid of 2nd and 3rd harmonics?

Just thinking out loud...