Extract Groove from Drum Loops in Bitwig
Tutorial | Mar 21, 2022
In this video, I discussed how to extract grooves from drum loops. I showed how a Transient Control can be used to detect transients within the drum loop, and then how that signal can be routed through a Note Grid and converted into a gate signal. I then discussed a more complicated method which involves creating a chain device, putting an audio receiver and transient controls in each band and using a node receiver to grab the signal from each band. I also discussed a solution to preserving note lengths when using the clock quantizer. Finally, I showed how the resulting signal can be delayed to create unique grooves.
You can watch the Video on Youtube - support me on Patreon
Summary #
So to recap my last video about extracting grooves from drum loops, I want to dive deeper into what else you can do with this technique. Over the weekend, we had some great suggestions from ex ISO and others on my channel on how to refine the process. Let's take the classic ‘Think Break’ drum loop, which I’ve pitched up slightly for copyright reasons, and extract the groove. In my previous video, we used the Note Grid, but this time, we’ll use Transient Control. Transient Control detects transients much better than an envelope follower, and it also has a sidechain input, which allows us to grab the audio directly from the first track.
Think of it like using the ‘Funky Drummer’ loop; we grab that, but instead of an audio track, we’re using an instrument track. This allows us to treat it as a detection tool, not as an audio effect. By bringing in audio from the first track, we mute it so we only get the transients, and then we adjust the timing to generate a gate signal, which helps pinpoint the transients. From here, we insert the Note Grid, and we’re analyzing the audio without playing it. The signal we detect from the first track is fed into the FX Grid, where we use a value slider or knob, modulated by the attack modulator. This gives us a gate signal, which we can manipulate to create an uneven, organic rhythm from the original drum loop.
Next, we use a clock quantizer, syncing the groove to the nodes we put into the Note Grid, while also providing an option to disable the quantizer and switch between previewing the original and quantized grooves. By playing around with the play state of the transport, we can get some dynamic control over the groove creation.
For those of you who enjoy complexity, the next trick pushes the boundaries. Instead of just using the Transient Control and Note Grid, we’ll create a more intricate setup with a chain device and an audio receiver, allowing us to grab audio from the first track and filter it into three bands—low, mid, and high. We add a transient control to each band, paired with its own Note Grid, detecting transients in each frequency range. We then route the notes manually using node receivers for each band, effectively allowing us to sync different elements like kicks, snares, and hi-hats to the corresponding frequency bands.
To make things more intuitive, we can use a channel filter to limit the node ranges for each band, so only specific notes (like kicks, snares, and hi-hats) are triggered based on the frequency of the transient detection. This allows us to synchronize each part of the drum loop with the different frequency bands, creating a dynamic, multi-layered rhythm that’s fully customizable. If you want even more control, you can swap the FX3 for a peel filter or spectral filter to focus on specific bands.
Now, while this isn't as straightforward as a typical DAW feature like in Ableton Live, where you can simply right-click to sync grooves, the beauty of this method is that it allows for complete flexibility. You can analyze any signal and route it to any destination, making this a powerful tool for synchronizing anything to anything.
Before we wrap up, I want to show you a small solution for longer gate signals. Let’s say your bassline has longer notes compared to the short hits of your drum loop. The clock quantizer might shorten these notes too much, so we need to preserve the original gate length. By using a latch in the quantized input preset, the note-ons are quantized to the drum loop, but the note-offs remain unquantized, keeping the original gate length intact. This way, the rhythm stays tight, but the musical phrasing of the original bassline is preserved.
By combining techniques like note repeats, note delays, and clock quantizing, you can create some truly creative and complex grooves, all based on the rhythmic feel of your drum loop
Transcription #
This is what im talking about in this video. The text is transcribed by AI, so it might not be perfect. If you find any mistakes, please let me know.
You can also click on the timestamps to jump to the right part of the video, which should be helpful.
[00:00.000] So to recap my last video about extracting grooves from drum loops
[00:04.200] I want to show you what else you can do because we had some some ideas over the weekend by ex ISO and others on my channel
[00:13.760] How to use this even better. So for instance, we have your drum loop, which is the think break
[00:21.600] I pitched it up a bit for copyright reasons and
[00:24.840] And we want to extract the groove from that. So instead of using a Note Grid like in my last example, this time we use the transient control
[00:34.840] And transient control basically detects
[00:38.140] Transients better than just the envelope follower and also the transient control features here this side chain inputs we can
[00:46.840] Grab directly the audio here
[00:48.840] From the first track. So think about the funky drummer, which is the drum loop. So we grab that and now we have here audio track
[00:58.240] Which is not correct. We want to have an instrument track still because we just want to use this not as an audio effect. We want to use it as an
[01:07.340] Detection transient detection device. So now we get the audio in here from the first track
[01:13.340] We can even mute the first track and we still get here all the transients and we can dial down here the timing even more
[01:23.940] Because we just want you know a gate signal to
[01:29.140] That we know that we have a transient there. So inside that Xbox here we can use the Note Grid
[01:34.540] This one. So now we have the audio going through into this here and only analyzing. So there is no audio happening on the second track
[01:48.540] It's just analyzing the first track and giving us here basically the attack
[01:52.740] Timing and we go into the fx grid here or not a Note Grid and use a value slider or knob and we can modulate this with the attack
[02:06.740] Modulator here, right?
[02:08.740] So now we have a signal inside the grid
[02:13.740] Which is exactly what we are detecting here with the transient control on the track one on the drum loop.
[02:19.740] And we can this then, of course,
[02:24.740] Convert into a gate signal pretty easily with this one here.
[02:31.740] I can see we have all the small little gate signals happening here. We can go down into this is 30131.6. So we can go down to 30 seconds.
[02:44.740] I don't want that. So yeah, we have a nice clock signal here, which is pretty uneven, but it's an organic drum loop.
[02:57.740] And then we use a clock quantizer like a my elastic sample and we use this as a clock clock source.
[03:05.740] And then we can pass through here our original maybe move this down here.
[03:14.740] You can see it better.
[03:17.740] So this drum loop is our clock source and it's quantizing basically the nodes we are putting in here into the Note Grid.
[03:25.740] So now that we have this, we can create inside here our instrument, which is XO.
[03:34.740] Go for a kick drum, snare drum, I had a percussion thing made in a drum loop.
[04:05.740] Oh yeah, another thing we can do is that we actually disable the clock quantizer here with the select.
[04:19.740] And use a play thing here. So every time we hit play on the transport here, we get the quantized signal.
[04:32.740] And when it's stopped, then we use the original signal so we can select here.
[04:40.740] And can preview what we are doing because when it's stopped, there's no quantizing signal, no quantized signal, no group source.
[04:51.740] And on the second track, there's no gate signal passing through the Note Grid.
[04:55.740] So we need to here this small little select box. So we are selecting between the stop state and the play state of the transport.
[05:26.740] So the next trick is doing basically the same, but much more complicated.
[05:32.740] And a lot of people actually like to do simple things more complicated in a more complicated way because why not, right?
[05:39.740] So instead of using the transit control here with the Note Grid inside of it, we just drag here the XO out and just maybe.
[05:49.740] Yeah, we can still use that, I think.
[05:54.740] We can still use this here.
[05:57.740] So we use this inside here. So what we do is we create a chain device here just to wrap everything into a container called this detector.
[06:08.740] Inside the detector, we use an audio receiver.
[06:13.740] We get audio from the first track here. So three.
[06:17.740] So now we have here the audio signal just from above.
[06:22.740] Inside here, we filter into three bands. So we have low mid and top band.
[06:29.740] And we put, of course, a transient control into each of these devices here.
[06:35.740] And we also disabled here the side chain input. We don't because we don't need it.
[06:39.740] We get the signal in here from from the audio receiver, which grabs the audio from top.
[06:47.740] Then we have a Note Grid inside here. Okay.
[06:51.740] So now we can just put this here.
[06:55.740] I hate this.
[06:57.740] In here.
[06:59.740] And in here.
[07:01.740] So we have now transit control into each box.
[07:04.740] And each transient control has a Note Grid.
[07:06.740] Getting that text from each band, right?
[07:10.740] So now we can close this here.
[07:13.740] And now we have the problem that all the nodes coming from the piano roll here playing our pattern goes right through the detector or pass through without going through the Note Grid.
[07:26.740] Or actually, it goes into the Note Grid, but it doesn't come out here of the audio boxes.
[07:31.740] So we have to do this manually by using a node receiver.
[07:40.740] And grab here basically what's inside the low box and the mid box in the high box.
[07:46.740] We go here XO detector chains chain multi a band FX three low transient control FX Note Grid.
[07:55.740] So this is the first node from, or this is the detector signal band.
[07:59.740] Or this is the detector signal basically from the low band.
[08:03.740] We have to do this here again.
[08:05.740] And here we need to disable mute because we want to let these nodes pass through this device here.
[08:12.740] So we have to disable the mute here.
[08:14.740] And here we get the mid signal.
[08:16.740] So detector chains chains multi band FX mid fancy control FX Note Grid.
[08:22.740] Done.
[08:23.740] Next one XO detector chains chain multi band FX high transient control FX Note Grid.
[08:31.740] So now we basically grab here from each band, each generated or synchronized signal for each band from the group source here on top.
[08:43.740] So this should be working.
[08:44.740] So what we can do now is that these node receivers here are firing basically on all, yeah, on all nodes at the same time.
[08:59.740] So we can also limit these nodes to a specific range.
[09:03.740] So we want to only let's say synchronize C C1 C C sharp one and maybe D1 only to the signal which is analyzed in the low box, right.
[09:18.740] So something like this.
[09:20.740] So we can do this by just using here inside these boxes.
[09:26.740] This is the low signal.
[09:28.740] We can call this low.
[09:29.740] This is mid.
[09:34.740] This is high.
[09:37.740] Inside the box here, we use a channel filter on that channel filter and node node filter.
[09:46.740] Of course, we have to set manually here all the filters all the time.
[09:51.740] Not filter, there it is.
[09:57.740] And you can say we only want to have here everything from C1 to C C sharp one or C sharp to C sharp one, this one.
[10:11.740] Something like this and then you can limit this here to different ranges.
[10:22.740] D12.
[10:25.740] I don't know.
[10:27.740] I think the heights are even already.
[10:29.740] Yeah, the movement when you move your certain device inside the chain and it moves the offset of the viewpoint that's completely messing me up sometimes.
[10:52.740] Put this in here.
[10:53.740] E12.
[10:58.740] Maybe something like this.
[11:02.740] So now the kick drum is synchronized to the low band.
[11:08.740] The snare is synchronized to the mid band and the heights are synchronized to the top band.
[11:38.740] Perfect.
[11:50.740] Nice, faintly drum loops.
[11:54.740] So it's perfectly, it's probably not perfect, but you get the idea how this works, you can make this as complicated as you want, you can go down to single bands, maybe also instead using the FX3, you can use the peel.
[12:20.740] The peel filter they can also use spectral filter in here and go to special bands and just use this as a clock signal.
[12:35.740] So the message here is it's not like an out of the box experience like in able to live where you just right click and synchronize or whatever you do there.
[12:50.740] Here you can basically analyze the signal in a way you want and route the signal to anything you want so you can synchronize anything to anything.
[13:00.740] So at the end of this video, I want to show you a small little solution for when you have longer gate signals as an input.
[13:09.740] For instance, here we still use the funky drummer or the think break as a source for the clock and we have your bass line which kind of has longer notes than just these short drums and drum hits here.
[13:22.740] So we have kind of this bass sound and when you use our detector thing here, obviously all these notes become pretty short.
[13:37.740] So the problem here is that the clock quantizer doesn't preserve the gate length. We have the clock quantizer and it synchronizes perfectly the note on but it also puts in the note off from the clock quantizer or from the clock signal.
[13:55.740] You can see we have pretty short clock signal here in the clock signal every time it switches off switches also the note length off from the original signal.
[14:07.740] So we have to kind of preserve the original gate length of our note clip here.
[14:13.740] So we only want to quantize the note on every time here and the note offs are basically unquantized by the original.
[14:21.740] So I want to show you a small solution to this and how I did this in my quantized input preset.
[14:28.740] Before we got all these quantizers and I did this by using a latch and here we go with the clock quantizer only in the one input here in the one check which means the clock quantizer only decides when to switch on a note.
[14:47.740] And when we switch off this is decided by the original signal and we need to comparison here for that.
[14:56.740] I don't know if it's the right method but this is how I did it.
[15:01.740] So every time this is zero or this original signal is zero which means we switch just the note off then we get the signal and you can see here we play no notes so it's yes.
[15:16.740] And then we need a repeater.
[15:19.740] So we need to repeat this multiple times every five milliseconds to switch this off.
[15:26.740] So every time the clock quantizer wants to switch something on this gets immediately deleted by the gate repeater here when the original note is off.
[15:37.740] So note offs are decided by our baseline clip and note ons are quantized to what we get from the drum loop.
[15:49.740] So this should work.
[15:51.740] And now we have a preserved gate length.
[16:01.740] And now I can show you here that it also works with maybe no repeats.
[16:10.740] Get me some repeats here switch this off so this sounds are sounds without.
[16:16.740] And with the quantizer synchronized to the drum loop.
[16:46.740] So kind of with the repeaters here with the note repeats and this quantizing or synchronizing or clock quantizing method to the drum loop we get a nice rhythms what baseline.
[17:02.740] From the original drum loop which is nice nice thing to do.
[17:06.740] We can also delay here the signal a bit with the note delay by maybe two two beats which just offsets the baseline a bit.
[17:16.740] So we have the same groove but it's just two beats offset.
[17:19.740] So you can kind of get creative with this one to have nice little grooves in your baseline from your drum loop.