Chopping Up Breakbeats

Here is one method I’ve used in the past. It’s not perfect - no method really is - but maybe it’ll give you a better idea of how to get what you want.

Let’s imagine that we have a perfectly timed drumloop which is 4 beats long (and contains 16th notes in this example). If we were to apply the sample offset command to it, the results would look something like this:

00 C-400 .. 0900  
01 C-400 .. 0910  
02 C-400 .. 0920  
03 C-400 .. 0930  
04 C-400 .. 0940  
05 C-400 .. 0950  
06 C-400 .. 0960  
07 C-400 .. 0970  
08 C-400 .. 0980  
09 C-400 .. 0990  
0A C-400 .. 09A0  
0B C-400 .. 09B0  
0C C-400 .. 09C0  
0D C-400 .. 09D0  
0E C-400 .. 09E0  
0F C-400 .. 09F0  

That’s fine for a “straight” loop which has no swing/groove in it, but it’s not very useful for live breaks because the kicks, snares, highhats, etc. probably fall on imprecise sample offset positions.

So let’s take a live break such as funkydrummer, amen, etc., something with a bit of swing to it. By examining the break in Renoise’s sample editor we can find the correct (or as close as possible) sample offset positions of all the hits within the loop. If we reconstruct the loop once more it might look something like this:

00 C-400 .. 0900  
01 C-400 .. 0911  
02 C-400 .. 0922  
03 C-400 .. 0930  
04 C-400 .. 0941  
05 C-400 .. 0950  
06 C-400 .. 0962  
07 C-400 .. 0971  
08 C-400 .. 0980  
09 C-400 .. 0992  
0A C-400 .. 09A1  
0B C-400 .. 09B0  
0C C-400 .. 09C2  
0D C-400 .. 09D1  
0E C-400 .. 09E2  
0F C-400 .. 09F1  

So now we’re triggering the correct points in the live break but the original groove of the break has been quantized/lost in the fixed pattern structure.

Now it’s time to put the groove back in there by using the note delay command. Before this I first set my song to speed 12 or 16. Speed 16 will give you “perfect” results since there are 16 divisions inbetween 0900 and 0910, 0910 and 0920, etc., therefore allowing you to delay the note by the exact same value to match the sample offset, but speed 12 is totally fine too and will be simpler to deal with in terms of the overall bpm.

00 C-400 .. 0900  
01 C-400 D1 0911  
02 C-400 D2 0922  
03 C-400 .. 0930  
04 C-400 D1 0941  
05 C-400 .. 0950  
06 C-400 D2 0962  
07 C-400 D1 0971  
08 C-400 .. 0980  
09 C-400 D2 0992  
0A C-400 D1 09A1  
0B C-400 .. 09B0  
0C C-400 D2 09C2  
0D C-400 D1 09D1  
0E C-400 D2 09E2  
0F C-400 D1 09F1  

Wherever we had a sample offset value such as 0941, we take that last digit and delay the note by the same amount. This means the drum sounds are being triggered at the correct point AND the correct time to maintain the groove. Now you can easily speed up your song and the drum groove should be maintained.

Like I said, this method is not perfect. It doesn’t work well if you’re trying to slow down the bpm. Also, since we’re using speed 12 (or 16) which forces us to (at least) double our bpm, you lose some flexibility if you plan to automate the bpm using the F0xy command since that can currently only go up to F0FF which is 255bpm.

Anyway, hope this helps a little bit at least. If it doesn’t make sense I will do a demo song when I get home later tonight.

.

wow thats a lot of trouble to maintain the original groove of a sample, respect :) I’d probably just use another app if I’d need this kind of thing…use renoise for the crazy over the top jungle programming!

f… , 9… , d. , groovesettings and/or simply cutting up samples leaving some random space before the attacks are sufficient for groove, why would you want to perfectly imitate the groove of an original break in the first place?
Like a2n3d7y said, if so make a .rex file out of the break and load it up in a vsti like kontakt.

Yeah. Honestly I hardly ever bother doing it either, just once in a while. But wormjar kept asking so I figured I would chime in :)

Bottom line: It’s impractical but possible.

im glad you did

but could you just explain why the first bit of code you posted is different from the last bit of code?

hope im not being stupid but … wouldnt they sound exactly the same? :unsure:

EDIT: sorry i got your question wrong… :)

Sorry if I ramble a bit here…

When played back at the original bpm of the breakbeat, yes, they would actually sound the same. But let’s take a closer look…

As mentioned before (and we’re probably kicking a dead horse here, but bear with me), in most live breakbeat samples the hits do not always fall perfectly on 0900, 0910, 0920, etc., there’s usually some swing or groove in there which causes sounds to be slightly off. Here is a screenshot of the first snare hit in the “funkydrummer” loop:

Notice that the snare is nowhere near 0940 where you might expect it to be (in a perfectly quantised drumloop). So if you are triggering the snare with the command 0940 you are actually triggering the silence before the snare, and then the snare itself plays shortly after a small delay. But as your song’s bpm increases, this small delay/inaccuracy actually becomes more of a problem, getting “larger” as the bpm increases, and eventually things will get quite sloppy. In other words, as the bpm increases the snare hit will be heard later and later, eventually becoming totally out of time.

So that’s no good. We want the sounds in the loop to be triggered on time no matter what our song bpm is, so we need to make the sample offset commands more accurate.

We can see that the snare actually falls on offset 0942, so that’s what we’ll use in the pattern.

Now here’s where it gets a bit weird…

By changing the sample offset commands to make them more accurate, you’re actually removing those delays and quantising them to the normal 16th notes in Renoise’s pattern, essentially “un-grooving” the groove, which of course removes the feeling of the original breakbeat. D’oh!

So this is where the note delay command comes in. By adding the note delay to each hit corresponding to its sample offset value, you are putting the original groove back into the loop - those small delays before the snare is triggered. The difference now is that when you speed up the song bpm, the groove of the loop is also maintained relative to the bpm. The size of delay used by the note delay command is increased/decreased in relation to the song bpm, causing the snare hit to always be slightly delayed, but always delayed by the correct relative amount.

Hope this makes more sense now :)

As I said before, this method is a bit impractical at times, but on breakbeats which have a really “lazy” feeling in them, this method can really help to preserve that feeling. In other breaks it may be very subtle, and perhaps not even worth the hassle, but that’s really up to you and how anal/obsessive you like to be with your tracks :)

.

thanks so much for explaining this, i really appreciate it :)

its taking me a while to get my head round this program but there are lots of helpful people here which is great.

so seeing that you are able to either quantize loose breaks, or keep the original groove despite increasing bpm, it leads me to ask…

why cut up your breaks into single hits? anything to be gained, or is it just a different way of working so you don’t have to use the sample offset command?

It’s just a control thing really. When using the sample offset command on one loop it’s all treated as the same thing. Same instrument envelopes, etc. It’s also an accuracy thing - the sample offset command loses accuracy the longer your loop is since it’s only 256 possible values divided up over the whole loop. This would be remedied if we could define sample offset markers like in Recycle or something, so that rather than relying on 0903 being a fixed position in the sample, it actually triggers sampler marker 03 which could be positioned anywhere in the sample and with the exact precision we want.

But when cutting up the loop into single hits you instantly get a lot more freedom. You can trigger each hit more precisely. You can apply different envelopes to each sound, etc. But one of my favourite benefits is that you can apply different looping to every single hit. Something I like to do is break the loop down and then apply a ping-pong loop to each individual hit, so that I can theoretically play it for as long as I like. This means I can slow the loop down to pretty extreme levels and get some nice results that way.
.

dblue you should create some new additional internal dsp effects for renoise! some rhythmical shananigans or whatever :) please

seconded

I’ve found that to maintain some of the ‘swing’ of a break (which is, lets face it normally just slightly delayed off-16ths) I chop them up into 8ths, rather than 16ths.

So for the amen:

Chop 1: K -
Chop 2: K -
Chop 3: S -
Chop 4: R S
Chop 5: R s
Chop 6: K k
Chop 7: S -
Chop 8: H s

Exactly mate.

Ok cool, but i guess the downside of this is that you then have to recreate the beat exactly from single hits.

I’m using some pretty complex jazz breaks from Buddy Rich and others, and trying to recreate these is a pain in the ass, i’m finding your method with 09xx a lot easier.

that depends on what you cut in pieces. if it’s a drumsolo, you can
rearrange the whole thing anyway you like it, so you can make your
very own complex jazz break instead

ah yeah i realise you can rearrange easily enough, but for actually recreating it exactly as it was played… well i find this hard with some breaks. but maybe its just me. knowing where exactly to use the Dx command to keep the swing etc.

i think i’m overly obssessed with breaks.

That’s the problem I have as well man. It can take ages with a long break like Soul Pride or Apache. I tried the demo of Phatmatik Pro which lets you freely and non-destructively edit marker points, but found it really fiddly (works very nicely though!). If only there were a method that let you combine the control you get with sliced hits with the sequencing style of offsets in Renoise 1.8 :)

totally.

i have phatmatik too and i find it fiddly as well. To be honest i’m not using it at all now as everything is contained in renoise itself that i could need. i might go back and have another go with it though, to see if i can get it to do some stuff i want.

looks like i’m just gonna have to spend some time just getting this break recreation down.

its interesting to see how everyone makes their beats/uses their breaks tho.

using sample offset commands is much more satisfying (for me) than all these vst effects that randomise this stuff for you…

having said that i’m really interested in dblue’s Glitch plug-in, just to see what it can do - but being on mac this isn’t possible.

actually the way i think i’ll work from now on is to cut my break up into smaller sections so i have more accuracy using the sample offset command, and then if i do need to loop any single hits like dblue mentioned, then ill just cut these out and have them as separate instruments or something… (tho i’m sure you can still get the ping pong loop thing just by careful placement of B1 and B0 commands.)

Bumping this thread back up.

Big ups to dblue for dropping the knowledge. Had the exact same question as wormjar posted earlier. I giving up trying to find a quick fix though. Really need to put more effort into my breaks. All this work should pay off soon.

My experience is the opposite.

Also there is the granulisers (check out destroy fx override for example)

to make those 128/128 drumfills and pushing the loops out of sync and back again. Good for drill and bass, new school jungle and Aphex twin clones(Drukqs).

Also you can combine choped up beats with 9xx to make shuffles and places between the numbers in your patterns

to maintain the original groove, open up 2 copies of renoise, open the midi of the break in copy 1, your main tune will be in copy 2, copy+paste the midi hits into the appropriate track in copy 2.

this is a way to import midi files just like in cubase.

i only just started playing around with renoise last night, but this seemed like a way to import midi files