Render Slices to Phrase Pattern Length Half the Number of Expected Beats

Hi there, I’m having possibly quite a noobish problem in Renoise 3.2.1. I have a sliced sample of a break that consists of 2 bars (8 beats) at 12 LPB. I have the beatsync value set to 96 lines and everything is fine when I playback the whole sample. However, after slicing the sample and clicking “Render slices to phrase” I always get a phrase that only lasts 1 bar, so that the whole 2 bar sample is effectively played twice as quickly. I see that expand seems to (almost) correct this, but I don’t think the offsets are calculated correctly as it sounds like there are gaps between the samples.

I’m sure it’s something obvious that I’ve missed but any help would be greatly appreciated!

I don’t know if this is related to the above, but I’ll mention my quick observation (take with a pinch of salt as this isn’t my area though)…

I have never used the ‘Render slices to phrase’ option myself, as I don’t use phrases. But for the shear sake of it, I did a little test.

I loaded up Renoise and set the pattern length to 48 lines, LPB 4. I then rendered out a blank track sample to the sample editor. Now the sample length is 48 lines long at LPB 4. We can get 12 beats (12*4 = 48) out of that sample/pattern length (agreed?). Now I looked at the value that is filled in next to the ‘Beatsync’ option in the sample editor. It says here 64. Hmm.

I sliced up the blank sample on the exact beats, all 12 of them. Set the render to phrase slices option to 4 LPB and finally rendered out the phrase. The result? A 64 line phrase with the beats ‘stretched’ over that many lines. Is that right, or did you expect a 48 line phrase with the trigger ‘beats’ falling exactly on each 4th line?

Did you try modifying the ‘Beatsync’ value to 48 before you selected ‘Render slices to phrase’?

Yes I did. AFAICT Renoise still gives a 64 line phrase.

I don’t know what to really make of that as I don’t use the slicing/phrases option myself. But I thought it interesting and from that I can understand why people maybe don’t understand the resulting rendered phrase…?

1 Like

What LPB is set in the resulting Phrase itself? Is it the same as the project LPB of 12?

@4tey That’s very odd and pretty counter-intuitive, and is probably linked to the issue I’m having. Intuitively I would have expected the phrase to fit the number of beats in the beatsync, but that does not seem to be the case.

@rainydayshirts I can set the LPB in the resulting phrase using the ‘slicing options’, but the result is always the same in the way that it sets the playback of the sample in terms of real time intervals between slices, i.e. when I play the phrase back it will still fit to 4 beats instead of 8 and hence play twice as fast.

1 Like

Hmmm… I’m having trouble replicating the behavior you’re seeing. I’ll play around with it some more and see if I come up with anything.

Could you upload a project file demonstrating what’s happening? Would make it much easier to try to figure out what’s going on.

@rainydayshirts Sorry for the late reply. Here’s a project file containing an example of what I mean: https://we.tl/t-Nep4x1WmgL (as a new user I can’t upload directly). The instrument “think_modified_1” contains a sample that I want to slice over 8 beats. I’ve set this to sync to 96 lines for 12 LPB, and If I play the sample back in the main editor it works fine. However, if I try to render slices to pattern (with 12 LPB set in the options), it only renders to 48 lines. The same thing happens regardless of the LPB I set in the render options, it’ll only render to a 4 beat pattern.

Hmm. I honestly have no idea why this is happening. I’ll play with it some more and see if I can figure anything out, but hopefully one of the fine folks here in the forum that uses Slices and the Phrase Editor more than me shows up with a solution.

EDIT: your break is 8 and a 1/2 beats at 160 BPM. I believe that’s what causing that slight hang on the last beat if you try to fix it with “Expand.”

EDIT: I used the RuberBand-Aid Tool to time-stretch the sample to 8 beats exactly. renders to Phrase correctly now. I wonder if the sample is an odd length that’s causing rounding errors or something.

Here it is after I did as I say above. I like the sound of the RubberBand algorithm, personally, but it might not work for what you are going for.

slicing_error_test.xrns (337.6 KB)

1 Like

I think the feature is incomplete.
The only mention of it in the manual is a single paragraph.

From my testing, longer audio files will render to shorter phrases (which is counter intuitive)
The menu config Render Slice Options → Lines Per Beat will work only within the bounds set by the length of the audio file.
For example, here are a couple test cases:

CASE A:
Audio file length = 1 second
Render Slice Options → Lines Per Beat = 4
Output phrase resolution = 64 lines

CASE B:
Audio file length = 1 second
Render Slice Options → Lines Per Beat = 32
Output phrase resolution = 512 lines

CASE C:
Audio file length = 60 seconds
Render Slice Options → Lines Per Beat = 4
Output phrase resolution = 4 lines

CASE D:
Audio file length = 60 seconds
Render Slice Options → Lines Per Beat = 32
Output phrase resolution = 32 lines

Effectively, the only way to set the resolution of the rendered phrase is by setting the length of the input audio file. This is regardless of the number of slices.

It seems like the coding underlying the feature is incomplete.
Feature could be made much more powerful with additional config, such as the phrase’s resulting line resolution.

FYI

Oddly, the longer the file, the fewer lines rendered and vice versa.
A really short 1 second audio file renders to a phrase with 512 lines!

2 Likes

@rainydayshirts Unfortunately I can’t open that file on my version of renoise (3.2.1 on linux). The break is definitely 8 beats, maybe it has rendered incorrectly in your version, but thanks for that I will try RubberBand-Aid. The problem with expand is that it only expands by integer number of lines, it doesn’t take offset into account, so there will always be a discrepancy, especially if the offset is large.

@asafebgi That is really interesting. I would have assumed that the LPB would be totally independent of the audio file length. After some testing, I’ve come to the conclusion that render slices to phrase only works as expected if you want the phrase to fit over 4 beats and that the BPM in renoise is the same as the sample. To test this I had a sliced 8 beat drum loop originally at 170BPM, I then rendered slices to phrase, which as expected produced a 4 beat phrase. With tempo set at 170 BPM, each sample was played back with shortened intervals over those 4 beats. However, if I set the tempo to 85 BPM, the phrase plays the full 8 beat phrase correctly at the original sample tempo of 170 BPM! As you say I think the feature is very incomplete. In conclusion I can only use it for 4 beat phrases when the tempo in Renoise is the same as the sample tempo.