[sdiy] Envelope attack smoothing for drum question

Brian Willoughby brianw at audiobanshee.com
Sat Aug 22 07:53:39 CEST 2020


Thank you very much, Adam, for sharing that comment and link.

Ever since I read the EM article in 1987, I've been fascinated with MIDI timing. Unfortunately, I lost the article for decades, and I felt like accuracy was never good enough. Whatever the equipment could do, I felt like it needed more. In product designs, I would push for tighter timing. I didn't have actual numbers, though, because I couldn't find the reference. Recently, I happened upon a photocopy of the article that I'd made, which thankfully has the EM issue at the bottom of each page. I still have my Polyphony and Electronic Musician subscription issues, so I've "reconnected" with that inspiring article.

These numbers from Nichols, of 0.25 ms, and Klett, of 0.1 ms, put things into a more concrete perspective. That gives something to strive for that others have confirmed. Great to know about Inner Clock Systems as a resource. I believe I've seen the site before, but not these quotes that you pointed out. Thanks again.


There's another aspect to consider besides timing accuracy, and that's latency.

The last controller I designed strove for a latency of 1 ms. By the time interface and software processing overhead was added in, it's probably more like 2 ms or maybe 3 ms of total latency between physical event and sound. However, the most important aspect is that the latency be 100% consistent.

The human mind, during a musical performance, can completely adjust for a constant latency. There are specific exceptions, but largely it's as if the latency isn't even there. We unconsciously correct for it. But that cannot occur when the latency is random. Getting back to the 0 to 9 ms delay, that would be unworkable for a second reason. First, there's the fact that the timing range of the feel factor would be overwhelmed by the timing errors. Second, there's the need that the latency between input and output be a fixed offset, which randomness would destroy.

I believe that the venerable TR-808 has a jitter of less than 1.9 ms. The average latency would be 0.8 ms, with a deviation of ±0.8 ms. I would expect a modern drum machine to have jitter less than 0.1 ms based on the Nichols:Klett research.

Brian


On Aug 21, 2020, at 9:02 PM, Adam Inglis (sdiy) <synthdiy at adambaby.com> wrote:
> On 22 Aug 2020, at 1:41 pm, Chromatest J. Pantsmaker <chromatest at azburners.org> wrote:
>> Wow, that's really interesting.  Thanks for sharing!
>> 
>> If the module can't be sorted out, just call it "Funky Drummer"... or... add a switch to turn on the "funky".  :-)
> 
> Roger Nichols, spurred on by working with Steely Dan’s Donald Fagen, developed the Wendel Drum Replacement system that had a trigger time of 30 microseconds. DF used to have digital delays on all the drum sounds and shift them around by 0.1 ms increments until he was happy!
> 
> 
> There’s more info here
> https://www.innerclocksystems.com/research
> 
> A
> 
> On Fri, Aug 21, 2020 at 8:10 PM Brian Willoughby <brianw at audiobanshee.com> wrote:
>> 9 milliseconds would be an order of magnitude worse than a good drummer.
>> 
>> According to an article by Michael Stewart, from the October 1987 issue of Electronic Musician magazine, even a few milliseconds is enough to change the feel of a drum track.
>> 
>> At 130 bpm, playing as little as 7 milliseconds ahead gives the music a bit of "snap."
>> 
>> Playing 5 milliseconds behind the beat gives a "groove" feel, and 10 milliseconds is "in the pocket."
>> 
>> Synth bass is only about 2 or 3 ms behind.
>> 
>> Granted, not every live drummer is good enough to play in the groove or in the pocket, but those that can are consistently five milliseconds behind or ten milliseconds behind, respectively, as is required by the song they're playing. If the kick synth module is randomly 0 to 9 ms off, that's going to destroy the feel. It's hard to say from that article how precise the timing must be. Is a fraction of a millisecond in timing accuracy required? Is only one or two milliseconds of accuracy enough? No matter what, it has to be a small percentage of 5 milliseconds, or else the feel will not be as intended.
>> 
>> 
>> That said, larger delays are also common. Around 35 ms ahead of the beat makes a drummer sound nervous. 22 ms ahead and they have drive. 23 ms behind, and they're perceived as dragging. A drummer who's more than 40 milliseconds early or more than 34 ms behind is going to need to get a day job, or at least some more sleep. The point here is that although it takes several milliseconds of error before the drumming is noticeably "bad," in only take a very small shift for a funky drummer to impact a lot of magic in the sound. It would be a real shame to design a piece of kit for drumming that's going to randomly alter that.
>> 
>> Brian
>> 
>> On Aug 21, 2020, at 3:21 PM, Chromatest J. Pantsmaker <chromatest at azburners.org> wrote:
>> > would a 9ms delay be any worse than a professional human drummer?
>> > 
>> > On Fri, Aug 21, 2020 at 2:28 PM Mattias Rickardsson <mr at analogue.org> wrote:
>> >> Hi Jason,
>> >> 
>> >> On Fri, 21 Aug 2020 at 22:39, Jason Nanna <jasonnanna at gmail.com> wrote:
>> >>> Would delaying the trigger until an oscillator zero-crossing be a simpler way to synchronize?  Assuming a bipolar triangle, I don't think it matters whether it's rising or falling.
>> >> 
>> >> It would probably work, but would introduce undefined delays instead. For a boomy 55 Hz bass drum there could be anywhere between 0 and 9 ms delay, which I'd expect to be audible and untight...?
>> >> 
>> >> /mr
>> >> 
>> >>>>>> On Wed, Aug 19, 2020 at 5:42 PM Didier Leplae via Synth-diy <synth-diy at synth-diy.org> wrote:
>> >>>>>> We are working on an analog drum module that uses a simple envelope created from a trigger to control the amplitude of a triangle oscillator with a basic OTA based VCA.
>> >>>>>>  
>> >>>>>> We are having a problem with a slight clicking sound at the beginning of many of the drum hits. We think this is because the attack of our envelope is so sharp that the beginning of our drum hit looks like a straight jump from 0V to wherever the triangle wave happens to fall. Therefore the click is somewhat random in that it doesn't occur when the triangle happens to be low at the time of attack.
>> >>>>>> 
>> >>>>>> Can anyone suggest a simple way to deal with this, like adding a slight bit of attack time to the envelope? How could this be done without adding too many parts?
>> >>>>>> 
>> >>>>>> Thanks,
>> >>>>>> 
>> >>>>>> Didier
> 




More information about the Synth-diy mailing list