Beatbuddy "swings" with external MIDI clock!

I finally tried sending external MIDI clock with “swing” to the Beatbuddy. Specifically I used my MidiGal (https://midisizer.com/midigal/) running MidiPal software that can send MIDI clock with various grooves applied, including “swing.” The implementation of the “shf” (= shuffle) groove for this device appears to be the classic MPC implementation of delaying every even-numbered 1/16 note (although rather than the 50% (none) to 66% (full triplet timing) range of the MPC, values from 0 (none) to 127 (full triplet)).

Verdict: the Beatbuddy responds in real time to changes in the groove amount! This is huge! When swinging every other 1/16th note, this means that any beats on 1/8th notes remain the same while 1/16th notes move to full triplet timing (or any increment in between).

The next natural question is of course: is it possible to implement swing/shuffle internally on the Beatbuddy running from its own clock? The use of the “sobriety” settings indicate that all sorts of timing/velocity changes can be made on the fly in playback of MIDI patterns. And implementing swing/shuffle would really help the BeatBuddy “groove” for quantized MIDI patterns.

As a conclusion to emphasize the importance of implementing this feature in the Beatbuddy, I will quote liberally from an interview with Roger Linn, inventor of the Linn Drum and MPC, and his thoughts on groove. Note specifically that he believes the most compelling rhythms come not from small random variations in timing but from precise variation from an in-between groove setting for a specific drum pattern and tempo in combination with subtle variations in dynamics.

I would also note that while the Beatbuddy has numerous non-quantized stock patterns recorded from a human drummer, a groove timing adjustment to MIDI clock would allow ANY beat to be swung to a precise degree.

https://www.attackmagazine.com/features/interview/roger-linn-swing-groove-magic-mpc-timing/

"Roger Linn: There are a few factors that have contributed to natural, human-feeling grooves in my drum machines. In order of importance:

  1. Swing.

Swing – applied to quantized 16th-note beats – is a big part of it. My implementation of swing has always been very simple: I merely delay the second 16th note within each 8th note. In other words, I delay all the even-numbered 16th notes within the beat (2, 4, 6, 8, etc.) In my products I describe the swing amount in terms of the ratio of time duration between the first and second 16th notes within each 8th note. For example, 50% is no swing, meaning that both 16th notes within each 8th note are given equal timing. And 66% means perfect triplet swing, meaning that the first 16th note of each pair gets 2/3 of the time, and the second 16th note gets 1/3, so the second 16th note falls on a perfect 8th note triplet. The fun comes in the in-between settings. For example, a 90 BPM swing groove will feel looser at 62% than at a perfect swing setting of 66%. And for straight 16th-note beats (no swing), a swing setting of 54% will loosen up the feel without it sounding like swing. Between 50% and around 70% are lots of wonderful little settings that, for a particular beat and tempo, can change a rigid beat into something that makes people move. And unlike the MPCs, my new Tempest drum machine makes it very easy to find the right swing setting because you can adjust the swing knob in real time while the beat plays. I first introduced swing – as well as recording quantization – in my 1979 drum machine, the LM-1 Drum Computer."

And…

"4. The playback timing should be very accurate.

In my drum machines, I wrote the software in such a way that the notes play exactly at the correct timing location. And for the included drum sounds, I insured that the beginnings of the samples were closely trimmed to minimize any delay at the start. I’ve heard lots of theories over the years about other timing tricks, like introducing random timing variations into the notes of the beat, or delaying the snare on 2 and 4, but I’ve never found these to do much good. In fact, I’d suggest that if the note dynamics and swing are right, then the groove works best when the notes are played at exactly the perfect time slots."

This page has three Soundcloud audio files that demonstrate the difference between 1/8 note and 1/16 note swing. (It also demonstrates that the Korg Volca Beats cannot do 1/16 note swing when receiving sync pulses through its sync port because it only syncs at the 1/8 note pulse level; but it can do 1/16 note swing when slaving externally to MIDI clock),
http://www.singlecellsoftware.com/volca_swing_explained

I guess you could sync the Beat Buddy as a slave to an Adrenalinn?

Should be possible. But it depends what the device outputs for MIDI sync/clock signal. Someone would have to test. Looked up the manual and the internal swing timings are limited: for 1/16th notes you can only choose 0% swing, 100% swing, or 50% swing.

I had an Adrenalinn III for awhile and really liked the tempo-synced effects, but unfortunately I found that it was too unstable for live use and would periodically shut down sound output.

I have an A3, and I have had it slaved from the Beat Buddy, but I hadn’t considered going the other route. I think the problem with implementing swing in BB is that it does not create or manipulate midi; it just plays it, for the midi st part. I suppose firmware could be added to analyze location of beat and delay notes on half or quarter beats. It does, after all, make calculations for fills. So, yeah, maybe we should add this to the feature request list. Who knows?

Yes, my thought is that since the BB plays a “swung” MIDI clock signal perfectly well, it should be relatively easy to implement swing/shuffle internally in the way in has been done since the dawn of MIDI. The firmware does not need to calculate any midi note locations of a file, it simply delays the timing of some of the intermediate clock beats. In the case of classic MPC-style shuffle, you just delay every other 16th note.

Given that there is the existing “sobriety” function that varies both tempo and velocity, there could also be a better implementation of this to “humanize” quantized beats in a more musically useful way. (Although, as Roger Linn states, merely randomizing things is unlikely to actually improve grooves…)

P.s. Can you try to sync the BB to a swung clock from your A3 and see if it works?

That’ll be a project for tomorrow or Friday, but, sure, I’ll give that a shot. It should work.

OK, well, its not responding to the swing from the Adrenalinn. It get the tempo and the start and stop just fine, but I tried it with the A3 set to 16n, 16h and 16S, and the beat doesn’t change in the BB. I was using a Pop 16th (Pop 11) on the BB. Since you were able to get it to repsond to your external clock, I am just assuming that the A3 sends tempo but not the swing.

I posted a request on the features request section. Please feel free to chime in with any clarification or additons that you think are needed.

Thanks for the update! After thinking about my request that you check it out, I of course realized it would tell us more about the A3 than the BB! Well, interesting results in any case.