Crop Patternlength(S) To Length In Time Of Selected Sample

Fucking hell m8, that is amazingly quick! Will try it out, cheers!

Just fixed a little bug with the BPM. Re-download it if you need to.

Just updated it to v1.01.

Added a third button Set BPM which keeps the original pattern length, but adjusts the song BPM so that the sample length matches the pattern length.

Not what you originally asked for, but I figured it would be useful anyway :)

I was planning to do some kind of Tempo Calculator tool with all sorts of useful calculations, so this is actually good practise!

Your update works perfect here!


wat? Another update :) oooh smart function, could be useful yeah.

Ha, this is a great tool!


Cheers :D

Very interesting idea from Jonas, so cheers to him also for suggesting it!

It turned into a very nifty little thing indeed. I think it makes perfect sense to roll this functionality into my other Pattern Resizer tool, and then beef that up with some other super nifty pattern mangling tempo wizardry. Woo!

Great tool when making remixes :)

Brilliant tool!

More ideas:
To detect dynamically changes in tempo, and inserting bpm pattern commands. :dribble:
When you play an instrument live, without metronome you often change tempo dynamically. Increasing/decreasing tempo all the time to create the correct “feeling”. Sometimes very subtile, other times very obvious.
Would be great to convert this to bpm changes all the way through the pattern, so that its easy to track on top of this.
You would have to manually tell where beats are. Could be done in the sample editor by selecting the start of each beat? Or move the sample loop marker to the correct location for one beat at a time?
I guess if renoise ever got a slicer tool or some other multi marker tool in the sampleeditor, this could be much easier done in one go.
Another option is to manually tap the tempo along with the recording you just did, and then convert the tapping to BPM’s, either directly by tapping a button(like the TempoTap tool bantai already made ?) , or you can record a new "tapping tempo sample that is easier to analyze directly and convert to BPM’s.

“tappable” tempo track which smooths out bpm changes is a cool idea. generally it’s hard to deal with fluctuating tempos in sequencers.

impressive how fast this was done!

Fluctuating tempos = swing/groove.

awesome tool indeedgreat job

the xrnx is a macro for this? where do i place it and how do i utilize it?


simply download the file and drag&drop it on Renoise.

complete help here

amazing! thank u!

Just tried this out.

Have to add to the chorus of Great Tool!

Edit: could a mod move this to the XRNX forum?

I’m actually going to start dedicated new threads for the handful of random tools like this which I’ve posted recently, just so they all have a proper home that is easy to find. When I eventually feel happy that they’re working well enough, then I’ll also post them to

Cool, thanks

hm the results are a bit bizar but correct , It seems that the tool always chooses this bizarre numbered pattern length , when trying to calculate BPM and pattern length combined
I loaded a loop, executed 'set pattern length and bpm , the result was a suggested bpm of 120.7 and an unusual pattern lentgh of 43 , altough it did loop correctly , the bpm was not exact because of the pattern length and it was a regular 4/4 beat of 180 bpm .
Otherwise , great tool for calculating bpm, but combined with pattern it gives some strange results

I think you have misunderstood the purpose of the tool a little bit.

The tool does not make any attempt to analyse the content of the sample in order to calculate its tempo or number of beats, etc. The first two functions ‘Set Pattern Length’ and ‘Set Pattern Length & BPM’ simply take the duration of the sample in seconds, and then try to make the pattern length fit that duration as closely as possible. Your song’s BPM and LPB is important here because it will be used as the basis for calculating the number of patterns lines required for the sample to fit into a whole pattern.

For example… let’s say I have a sample that is 1 second in duration.

  • 1 second == 4 pattern lines @ 60 BPM / 4 LPB
  • 1 second == 5 pattern lines @ 75 BPM / 4 LPB
  • 1 second == 8 pattern lines @ 120 BPM / 4 LPB
  • 1 second == 16 pattern lines @ 240 BPM / 4 LPB


If your sample is a weird length like 1.173 seconds, then it probably won’t fit exactly into a whole number of pattern lines, so this is why the tool will also take your starting BPM and then try to adjust it slightly to make everything fit.

The last function ‘Set BPM’ sort of works in reverse. If you manually set your pattern length to 16 lines and you have a sample with a duration of 1 second, then the tool will calculate whatever BPM is necessary to make 1 second fit exactly into 16 lines.

Does this make sense?

Going back to your example of using a sample that is 180 BPM… if you actually set the song to 180 BPM before using my tool, then it should calculate a more sensible pattern length for you. It really just depends what you start off with.

Updated for Renoise 2.7: