Tags: posts polarity-music Bitwig Note-Grid Sequencer Tutorial Bitwig-5.1

Building a Drum Sequencer in Bitwig

Tutorial | Dec 14, 2023

In this video, I built a step sequencer that can generate drum patterns with different note ranges and accents. I explained how to use a threshold to determine which steps trigger a drum hit, and demonstrated how to adjust the velocity, gate length, and accentuation of the patterns. The sequencer allows for creative possibilities with polyrhythms and can be used to generate unique drum patterns for music production.

You can watch the Video on Youtube - support me on Patreon

I recently worked on building another sequencer, adding to my extensive experience with step sequencers over the years. Here's a summary of my latest project:

Overall, this project was a complex but rewarding endeavor, showcasing the power of Bitwig Studio for crafting intricate drum sequences and rhythms.

Questions & Answers

Maybe you dont watch the video, here are some important takeaways:

What is the main concept behind this drum sequencer?

The main concept behind this drum sequencer is to create a step sequencer that can generate drum hits and melodies. It allows switching between melody mode and drum mode, and each drum hit is assigned to a different note, avoiding simultaneous triggers for different drums.

How is the threshold feature implemented in this sequencer?

The threshold feature is implemented by comparing the values of each step to a threshold line. The values that exceed the threshold line are considered triggers and used to generate gates for the drum hits. The threshold line is fixed at the zero line to distinguish between steps above and below the threshold.

What other features does this drum sequencer include?

In addition to the threshold and gate generation, this drum sequencer includes velocity control, accentuation, and flaming (fast repetition of triggers) features. The velocity of each drum hit is determined by the step modulator values, accentuation can be applied to specific steps, and flaming can be introduced to create rhythmic variations.

How can this drum sequencer be used to create drum patterns?

The drum sequencer can be used to create drum patterns by assigning different drum hits to the step modulator steps, adjusting the velocity, accentuation, and flaming settings, and modifying the step sizes. The resulting drum patterns can be recorded into a piano roll or saved as presets for different genres or patterns.


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:00] [Music]
[00:00:15] Another day, another sequencer and I built a lot of step sequencers over the
[00:00:20] years. There's also some sequencer I built last year here, 2022 I think, this
[00:00:28] version 2, version 1, 2022 in August last year and the drum sequence that we want to
[00:00:36] build today is kind of similar to this one here except that this one is also
[00:00:40] generating melodies. You can switch this here from a melody mode into a drum mode.
[00:00:46] So you have a different note range and here we generate basically drum hits by using a
[00:00:52] step mode for gate generation and velocity generation but then we switch basically the
[00:00:59] pads, the drum pads by using here another step mode. So we change the notes and then
[00:01:06] for each drum hit here you use a different note which means you don't have triggers at the same
[00:01:14] time for kick and snare, right? You never have two drum hits at the same time. You have for each
[00:01:20] trigger you have a different drum pad. Sometimes you want exactly that and there was also inspiration
[00:01:26] by using drum brain here because someone in my comments asked me this if I could
[00:01:32] replicate this inside of Bitwig studio and drum brain here for Max for Life works in this way
[00:01:38] that you have here for each drum pad, bass drums, snare drum and so on. You can generate a sequence
[00:01:46] and you can generate individual sequences also here. There's a generate all button. You have
[00:01:52] accentuation where you can accentuate certain notes, certain drum hits and also flaming here
[00:02:00] which is just a fast repetition of triggers. So we can do this here inside of the grid kind of
[00:02:07] easily. So I want to show you this here. We use a note grid for that, just a pure one and
[00:02:16] make sure you have actually voices on mono, voice stacking off and you can see all the rest of
[00:02:21] the settings, maybe device phase length one bar is important and we don't need here actually a
[00:02:26] note input because we want to generate notes from within the grid and we do this by using a step
[00:02:34] modulator and we call this here gate velocity because we want to change or we want to generate
[00:02:43] actually gates with this and also we use the bars here, the value of these bars for the velocity
[00:02:48] setting. So just randomize here and let's bring this into the grid by using a value knob.
[00:02:54] It's velocity.
[00:02:59] Maybe make this blue and then modulate this here with that. Okay, so to actually see if there is
[00:03:09] a gate happening, if there's a jump from here to here, we need to get the values and we need to
[00:03:15] compare these values. The question is probably why. So if we use an oscilloscope here and we hook
[00:03:24] this up, we play, we get all these values here from the step mod in here. So for the grid actually,
[00:03:36] this is not a trigger here. A trigger for the grid is actually when there is a value above 0.5.
[00:03:42] So everything that's not above 0.5 here gets not recognized as a trigger. That's the first
[00:03:49] and everything that's above 0.5 is the same trigger. So for the grid, it looks like this,
[00:03:54] right? It's just a line. So we need to distinguish between these steps here and the only thing we
[00:04:01] can do to distinguish between the steps is actually to compare the values. And I show you this here
[00:04:08] quickly by using just the delay. So we delay the signal by just a very, very small amount,
[00:04:16] 0.05 milliseconds. So it's very small. And then we just compare this here with the math module
[00:04:26] on the logic. Yeah, this one. So when the current value is different than the value
[00:04:33] 0.05 milliseconds before, then you probably progressed from one step to the other because
[00:04:41] there's values change, right? So that's very distinguished between that. So if we hook this up,
[00:04:48] you can see we are almost getting for all bars now a trigger. Of course, if you have here something
[00:04:54] like this where two values are the same, you can see we have now here basically just one gate. It's
[00:05:00] one joint gate. That's maybe a problem, but most of the times you have different values. If you
[00:05:07] were to hit randomize, you have different values for each step anyway. It's pretty rarely that you
[00:05:12] have the same exact value. You need to hit the spot really, really precise to get the same value.
[00:05:20] So now that we can distinguish between these value settings here and can generate some gates,
[00:05:26] we could usually just output here this, but that's not all. We have to combine it with something
[00:05:32] different because we want to implement a threshold. And I'll show you this, what I mean with that.
[00:05:37] We actually need the value of threshold. So we call this here threshold.
[00:05:47] And yeah, so we have here these values coming from the step mode, right? And this maybe a screen
[00:05:54] brings in. So we have here one, zero. And we want to use this as a threshold and only these values
[00:06:03] that go or exceed the screen line we want to use as a trigger. And the more we go up,
[00:06:10] the less bars or steps we actually get because not all steps are bigger than the threshold, right?
[00:06:16] So we need to find out first which value is bigger and use a min max for that.
[00:06:23] And this is the second value and this is the first value. So the min max here gives you,
[00:06:31] let's go to couple, the min max value gives you the signal back that is bigger than the other
[00:06:39] signal. So if the gates signal here is bigger than the threshold, then I get the gates signal.
[00:06:45] And if the threshold is bigger than the gate signal, then I get the threshold thing, right?
[00:06:50] So now you can see we have here this line is basically the threshold line. And these bumps
[00:06:55] in here are basically these bars that are bigger than the threshold line. So this is how we get this.
[00:07:02] Then there's a problem here, when you change the threshold, you can see the line goes down
[00:07:07] and the more and more bars are revealed, which is nice. But we don't want to have the threshold
[00:07:14] line actually moving across here. We want to stick or glue the threshold line to the zero line here.
[00:07:22] So we do this by using a subtract and just subtracting everything that we get from the
[00:07:27] min max and exactly subtract to the threshold lines. And now everything is basically here at the
[00:07:33] zero line. If you pull the threshold all the way up, we are up here and none of these bars are
[00:07:42] actually peaking above the threshold. So you can see we have just the other threshold line.
[00:07:46] And the more we go down, the more and more bars are actually pushed above zero DB here
[00:07:53] or the zero line and the more and more bars are revealed, right? So now that we have this,
[00:07:59] we need to actually create gates from that. And we do this by using a seal. A seal is basically
[00:08:08] it rounds the values. It rounds everything up to the next integer. As you can see on the left side
[00:08:14] rounds all this middle values up to the next integer. And this is zero here. And this is one.
[00:08:19] Everything is in between is basically a float. So if we use a seal here, basically everything is
[00:08:29] pushed up against the ceiling above the one line. So everything is basically now a trigger or can be
[00:08:35] used as a trigger. Maybe use purple also here. So now what we want to do is we want to use
[00:08:43] basically our first trigger signal here, which triggers all the time for all bars.
[00:08:49] Compare it to actually what's going above the threshold line. And this is only here, the purple
[00:08:56] ones, right? So we have to compare this with the end. And we compare it to the purple one.
[00:09:07] So this is basically gives us now the trigger, but only these triggers that are above the threshold
[00:09:14] line. So if the bar is peaking above threshold, is there actually a bar happening? Yes, both
[00:09:21] is true, then give us a trigger. And we can now use this as an output here to trigger something.
[00:09:28] Probably C1, because that's where the kick drum pad is usually. So now we have implemented here
[00:09:36] a threshold and we also extract gates from this step mod here. We can kind of progress with the
[00:09:45] velocity settings because we want to use actually the step mod value here as a velocity setting.
[00:09:54] To put this in here, you can see we have different velocities. And if we trigger here,
[00:09:59] we use this value. If we trigger here, we use this value. So basically, we trigger with these
[00:10:03] step mod bars and we also change the velocity for that. And we probably also want to use a
[00:10:10] sample and hold for that. And we want to trigger this here with the gates. And what we also want
[00:10:19] to do is then to use a gate length, a gate length module, because you can see your triggers are
[00:10:27] pretty short. If you record this into the piano roll, you can do this here shortly. So let's do
[00:10:34] an instrument track, record and then choose the note grid as an output here. Let's record.
[00:10:43] You can see the triggers here are very, very short notes, right? You can barely see it,
[00:10:49] because the gate length is very, very short. So we introduce your gate length module.
[00:10:57] And we also use a macro for that. Make it short, modulated by, let's say, 1000. I think this should
[00:11:07] be enough. So we can change the length of the note generation, right? Instrument, record,
[00:11:15] note grid output, just record here. You can see the notes are now have a specific length, which is
[00:11:22] cool. Can do it even longer if you want to. Maybe 1000 something like this. Okay, so now that we
[00:11:32] have this, we also want to, let's see, we have accentuation. Yeah, we want to accentuate. So
[00:11:42] what we do with this is basically we introduce here and attenuate so we can scale the velocity.
[00:11:49] I'm not sure if I should actually listen to it first to have an idea what I actually do here.
[00:11:54] Let's use a drum machine and load in a drum kit and use one of my
[00:12:04] auto levelers here to bring up the volume.
[00:12:17] Yeah, we also want to have a macro here of the special, of course.
[00:12:20] Racial, bam.
[00:12:27] Maybe use a snare for that.
[00:12:42] Let's generate something new.
[00:12:48] So it's basically not a threshold. It's actually the intensity knob of
[00:12:58] like in live, like I said in live by Excel and audio. So we can increase the density of the
[00:13:09] sequence. Oh, yeah, the gate length is also important, of course.
[00:13:21] Okay, so basically this bar here has a velocity of the maximum value. So I think in media it's
[00:13:34] one out of 27. So the maximum value, so we want to scale this down a bit. So we use a macro here for
[00:13:42] that. Scale, scale velocity and we modulate this as a scale velocity. Maybe make this blue.
[00:13:59] So if you see this here in the oscilloscope, looks like this.
[00:14:11] Right, we use the values here from the step mod, but they are not going up to one because we
[00:14:22] scale everything down. We pull this all the way up to 100%. You can see now
[00:14:27] that's the full range of the velocity here. So maybe bring this down to 50%.
[00:14:35] And then introduce another step mod and this one is actually used for the accentuation. So we want
[00:14:42] to accentuate certain steps and maybe we don't want to do this here on a 16 step scale. So maybe
[00:14:48] only four steps and only the first step here is accentuate the full scale and then the other steps
[00:14:54] are going down. And maybe we also use here the hi-hats. And then we use here, let's say a bias,
[00:15:06] maybe bias and we modulate this by 100%. So we offset basically everything that comes after that.
[00:15:15] So we scale everything down and then we move it up or down on a scale on the range here.
[00:15:23] Maybe I make this faster, 16 steps.
[00:15:27] Can you hear it? Are we accentuated?
[00:15:37] This is the original velocity setting and then we accentuate everything here on the first
[00:15:47] speed every four steps. So this may be important for hi-hat patterns and for
[00:16:00] all kinds of patterns. It's actually a crucial macro and we call this accentuate and then
[00:16:08] go to zero here and then we modulate this by 100%.
[00:16:14] So we can change the accentuation of everything.
[00:16:17] Put this there. And maybe we want to have this here.
[00:16:26] Generate this and maybe also we want a step mod to
[00:16:35] flame to introduce some flaming and we do this by using, let me see,
[00:16:42] repeat, get repeat here. And you probably want to switch this on or off.
[00:16:50] Actually, we want to have this here.
[00:17:02] Put this there. Okay. And then we want to change the,
[00:17:13] actually we can change the repeating setting here with the bars also.
[00:17:19] So maybe let's do this.
[00:17:28] And we need here to switch this on.
[00:17:32] And we need different lengths just to hear it.
[00:17:54] That's probably the nice length.
[00:17:57] Okay. So now this is all on all the time. So
[00:18:06] let's use a value for that. Let's compare it here with the math.
[00:18:15] So I do basically the same thing we did in a recent video.
[00:18:22] I say when the value is above zero, right, then give me here a trigger and we use this
[00:18:28] to switch this on. So when everything here is at zero, we're actually using just a
[00:18:32] non repeated version. And if there's a small amount here of value, then we switched the
[00:18:38] second version and then we take over here with this bar and use it to change the repeating
[00:18:44] milliseconds here, right?
[00:18:49] Flame. It's flam or flame. I think it's flam, right? Flame is something different.
[00:18:57] Doesn't matter.
[00:18:59] Maybe make this faster here.
[00:19:05] And we need to modulate this of course.
[00:19:11] [Music]
[00:19:15] [Music]
[00:19:25] [Music]
[00:19:35] [Music]
[00:19:45] So we can change the flame with this or the flam with this.
[00:19:50] So I think I kind of implemented all these settings here. You can generate now one line.
[00:19:56] You can change the velocity. You have x saturation. Maybe the preset for house and
[00:20:02] what's the preset actually here.
[00:20:05] I think you have some patterns. House breaks. I can't implement that here, but it's actually
[00:20:14] not that hard. You can maybe save presets for that. Create in here some kind of pattern for house
[00:20:21] and breaks and then save it as a different preset. But this kind of is it. It's already pretty
[00:20:28] complex here. I don't want to do that complex, but I wanted also to have all the features in there.
[00:20:34] So this is basically just for one line or for one drum pad here. And to extend this now,
[00:20:42] we also use a macro here for the note.
[00:20:44] Note. So we start at C1, which is the kick drum here. And then we go up just by 12
[00:20:56] semitones. So one octave. So we can change the note here.
[00:21:00] [Music]
[00:21:11] Maybe use a different setting here. Processed. Let me see this one.
[00:21:16] So drum sequencer. I don't know how to call it yet, but just put this here into a note of x layer.
[00:21:29] And I just use here control and g on the drum sequencer. And then we have basically here the
[00:21:36] kick drum. And this would be the snare. Want to generate your different pattern, of course.
[00:21:43] And we have a different note.
[00:21:45] [Music]
[00:22:03] Kick drum maybe on the first beat.
[00:22:05] [Music]
[00:22:19] Maybe accentuation here.
[00:22:20] [Music]
[00:22:25] Then go on here to the hi hat.
[00:22:27] [Music]
[00:22:43] Let's go to four.
[00:22:44] [Music]
[00:22:49] This is the open hi hat, right?
[00:22:50] [Music]
[00:23:08] And here we have, let's go for some rides maybe.
[00:23:13] [Music]
[00:23:33] You can also make this a bit easier. You can say I want to have only four steps here of five or eight.
[00:23:39] Right. And then you draw in your preferred positions.
[00:23:41] [Music]
[00:23:48] Very slow. Just down.
[00:23:49] [Music]
[00:23:55] And then now the biggest interesting part is what you can't do inside of drum brain here.
[00:24:02] Is you can reduce the step size. So you can say the hi hats are cool, but they should not repeat all
[00:24:11] the time with the pattern. So you change the step length here. And then you have kind of
[00:24:15] polymeters or poly rhythms this way. [Music]
[00:24:30] And also if you have a different step size here for the gates and still a, you know,
[00:24:37] straight rhythm eight steps here, you don't repeat the accent actually on the drum
[00:24:43] trigger here itself. So you have also moving accentuations. So the accentuation is maybe
[00:24:50] exactly on the beat grid. It's completely straight, but your drums trigger at certain
[00:24:55] different points. So it becomes interesting because you can say if the snare is actually
[00:25:01] not on the grid where it should be, then it's not accentuated and it's not that loud, right? So
[00:25:08] ghost notes become actually ghost notes because they are not on the main, on the main, you know,
[00:25:15] four, two and four grid. So it can be also interesting to have your straight accentuations
[00:25:22] and like odd numbers for the triggers.
[00:25:33] Oh, that's the right.
[00:25:48] [Music]
[00:25:56] Maybe this did the right not so loud. So we pull us down on the scaling.
[00:26:00] That's the right. So we can also bring in here some toms.
[00:26:10] [Music]
[00:26:24] So tone one
[00:26:24] some chill
[00:26:29] [Music]
[00:26:44] If you find some drum grooves you like, like I said, you can record it to another track
[00:26:48] or just save it as a preset. It's also possible, of course. And yeah, you can save them a preset
[00:26:55] for breaks and how it's like you have here. And this one a drop down for that. We can also
[00:27:03] exchange here maybe for something different.
[00:27:06] [Music]
[00:27:19] Oh, that's the 808.
[00:27:22] Nice 80s feel. Maybe the kick drum is too busy to bring up the threshold.
[00:27:35] This here
[00:27:44] this is the clap.
[00:27:47] So let's record this here to an instrument track.
[00:27:56] Note the fixed layer output.
[00:28:02] And you can see we have now here also triggers
[00:28:07] for some elements at the same time, which is not possible with my old drum sequencer.
[00:28:13] And maybe you want exactly that.
[00:28:15] Should be playing up pretty fine if I disable this.
[00:28:24] Yeah, so I disabled this here and I used the note clip. We just gonna play it back.
[00:28:31] So yeah, that's my idea for this to replace drum brain by
[00:28:42] what did this M Gantt. I think it's a free one, free preset anyway.
[00:28:50] So yeah, I put this in the description below so you can download it so you have to
[00:28:54] you don't have to build it. And yeah, make sure you also check out all my other sequences I made
[00:29:00] here on this channel. There are some cool ones on there. I still use up the day. Like I said,
[00:29:08] this one here. See when sir, let me see step sequence of verse verse two I use all the time.
[00:29:17] It's pretty nice on the polymer.
[00:29:20] Yeah, maybe bring in this shape and we can use now a number for the index. We can use pressure for
[00:29:29] the modulation amount here. And everything is taken care of in here. Also can bring down the
[00:29:37] notes here to five steps or five different notes, randomized this. This is the root note.
[00:29:43] On the loosing reverb on that. Delay two.
[00:30:00] Auto level on that.
[00:30:06] There you have it. New idea for track.
[00:30:21] Maybe check out the new super method.
[00:30:29] For.
[00:30:39] Oh yeah. Also interesting.
[00:31:09] Because we have here this threshold thing, right, we can use this on a global modulator
[00:31:14] and can scale everything up. We can say we want to have less of all these notes.
[00:31:36] We can slowly bring in these patterns.
[00:31:40] So there there's a lot of possibilities you can try out with this. I think it's an interesting
[00:31:52] interesting patch you can do. Like I said, it's in the description below. Leave a like if you like
[00:31:58] the video. Subscribe to the channel and I'll see you in the next video. Thanks for watching and bye.