Go Back   Cockos Incorporated Forums > REAPER Forums > REAPER Bug Reports

Reply
 
Thread Tools Display Modes
Old 10-10-2017, 01:48 PM   #1
explodingPSYCH
Human being with feelings
 
Join Date: Sep 2015
Posts: 302
Default Render Length (bug or user error?) (NO BUG)

I'm trying to render seamless loops and I'm running into a lot of issues after I've confirmed the loop on playback in Reaper.

Initially it had to do with some plugins I hadn't printed, but now I'm finding issues with the length of the rendered wav being varied.

I've been able to modify the length it renders (either slightly longer or shorter than the what the region is dictating) via the following:

-deactivating all plugins on master track (seems to increase the length from shorter than the region to longer than the region)

-offline verses online seems to go from slightly longer to a little bit longer than region length

-requesting a sample rate and block size seems to have varied it slightly as well, though I'm less sure about this.

-Extreme HQ resampling from 48k to 44.1k also seems to vary the length.

I have yet to get the correct length from region rendering in this file, though my other files seem to work fine.

Could I be doing something wrong? To test I am taking the rendered wav and putting them in a new file with the same BPM and dropping them in and checking the grid.

The attached picture is maximum zoom, so we are dealing with very low amounts of time. Maybe a sample or two. But it matters as I am trying to get seamless loops.
Attached Images
File Type: png render lengths.png (4.9 KB, 294 views)

Last edited by explodingPSYCH; 10-10-2017 at 02:46 PM.
explodingPSYCH is offline   Reply With Quote
Old 10-10-2017, 07:05 PM   #2
Dstruct
Human being with feelings
 
Join Date: Jul 2006
Posts: 12,480
Default

Time selection, render regions and items can have sub-sample lenght. Rendered files only can have lenghts of whole samples.


Snap/grid settings: "Snap to project sample rate" can help in this case.
Dstruct is offline   Reply With Quote
Old 10-10-2017, 07:15 PM   #3
explodingPSYCH
Human being with feelings
 
Join Date: Sep 2015
Posts: 302
Default

Quote:
Originally Posted by Dstruct View Post
Time selection, render regions and items can have sub-sample lenght. Rendered files only can have lenghts of whole samples.


Snap/grid settings: "Snap to project sample rate" can help in this case.
Thanks for the answer. It gives me something to go on... I'm surprised that this would be the case though. It creates an inaccurate representation of what's being rendered.

Why would deactivating the VSTs on my master channel be changing the length?
explodingPSYCH is offline   Reply With Quote
Old 10-10-2017, 07:20 PM   #4
Dstruct
Human being with feelings
 
Join Date: Jul 2006
Posts: 12,480
Default

This shouldn't happen. REAPER should always render files according to the render region/time selection lenght (file lenght = rounded to nearest whole sample).
Dstruct is offline   Reply With Quote
Old 10-10-2017, 07:27 PM   #5
explodingPSYCH
Human being with feelings
 
Join Date: Sep 2015
Posts: 302
Default

Quote:
Originally Posted by Dstruct View Post
This shouldn't happen. REAPER should always render files according to the render region/time selection lenght (file lenght = rounded to nearest whole sample).
I agree wholeheartedly! I just can't figure out what is happening with these files. As pictured... I've been unable to reproduce the correct file length of a 66bpm loop by taking the rendered loop and putting it in a new 66bpm file and trying to loop it.

Also, to be fair, I'm not actually sure how long these variations in length are. It's max zoom, and I'm assuming each dot is a sample. I could be wrong though.
explodingPSYCH is offline   Reply With Quote
Old 10-10-2017, 07:31 PM   #6
Dstruct
Human being with feelings
 
Join Date: Jul 2006
Posts: 12,480
Default

As I said:

Quote:
Originally Posted by Dstruct View Post
Snap/grid settings: "Snap to project sample rate" can help in this case.
+ Project settings:

"Force project tempo ... to occur on whole samples"


In this case you'll almost never run into these "sub-sample" lenght problems.


But: You can't have "66" BPM in this case. Project tempo will be rounded to "66.xxx" BPM.



To check the lenght differences you can set the ruler to "Samples".
Dstruct is offline   Reply With Quote
Old 10-10-2017, 07:46 PM   #7
explodingPSYCH
Human being with feelings
 
Join Date: Sep 2015
Posts: 302
Default

Quote:
Originally Posted by Dstruct View Post
As I said:



+ Project settings:

"Force project tempo ... to occur on whole samples"


In this case you'll almost never run into these "sub-sample" lenght problems.


But: You can't have "66" BPM in this case. Project tempo will be rounded to "66.xxx" BPM.



To check the lenght differences you can set the ruler to "Samples".
This is great info to have, but introduces a problem. Nothing in my file is on the grid anymore! I have a fairly complex project and I think it might be a lot of work to readjust all my loops and edits if the grid has now changed.


I wonder how Ableton manages to render perfect loops from it's grid...
explodingPSYCH is offline   Reply With Quote
Old 10-10-2017, 07:49 PM   #8
Dstruct
Human being with feelings
 
Join Date: Jul 2006
Posts: 12,480
Default

You should do this for new projects at least.
Dstruct is offline   Reply With Quote
Old 10-10-2017, 07:51 PM   #9
explodingPSYCH
Human being with feelings
 
Join Date: Sep 2015
Posts: 302
Default

Quote:
Originally Posted by Dstruct View Post
You should do this for new projects at least.
AGREED!
explodingPSYCH is offline   Reply With Quote
Old 10-10-2017, 08:02 PM   #10
Dstruct
Human being with feelings
 
Join Date: Jul 2006
Posts: 12,480
Default

For the current project you can make audio items to loop properly on grid via:

"Loop section of item source" function

(draw timeselection of the part you wanna loop -> "Loop section of item source").
Dstruct is offline   Reply With Quote
Old 10-11-2017, 01:52 PM   #11
explodingPSYCH
Human being with feelings
 
Join Date: Sep 2015
Posts: 302
Default

Would this issue relate at all to the variance I've seen in the audio information starting "late" in my rendered wavs? Picture attached
Attached Images
File Type: png render start times.png (15.8 KB, 194 views)
explodingPSYCH is offline   Reply With Quote
Old 10-11-2017, 01:55 PM   #12
Dstruct
Human being with feelings
 
Join Date: Jul 2006
Posts: 12,480
Default

Hard to tell from this screenshot.
Dstruct is offline   Reply With Quote
Old 10-11-2017, 02:07 PM   #13
explodingPSYCH
Human being with feelings
 
Join Date: Sep 2015
Posts: 302
Default

Quote:
Originally Posted by Dstruct View Post
For the current project you can make audio items to loop properly on grid via:

"Loop section of item source" function

(draw timeselection of the part you wanna loop -> "Loop section of item source").


I'm not familiar with "loop section of item source, but I was able to manually modify my current session to fit on the new grid, at least for the purposes of creating a clean loop. The problem is that it is still rendering incorrect lengths

My project settings are 48k and force tempo to whole samples is selected. I then render, using extreme setting to resample the wav to 44.1k, which is required for the final project. The BPM is 66, or in this case 66.001. I then take the rendered wav and load it in a new session at 66bpm. I set the sample rate for the project to 44.1k and to force tempo to whole samples.

The wav is now too short. (When the project is set to 48k, the wave is too long).

Also my tempo continues to read 66bpm, but my math tells me that 66bpm shouldn't fall evenly on 44.1k. Maybe I did my math wrong, but either way I'm unsure how to go about getting a clean loop from one file to another in this way.
explodingPSYCH is offline   Reply With Quote
Old 10-11-2017, 02:11 PM   #14
Dstruct
Human being with feelings
 
Join Date: Jul 2006
Posts: 12,480
Default

Your time selection or render region obviously has a lenght with sub sample offset. Make sure it's snapping to whole sample.
Dstruct is offline   Reply With Quote
Old 10-11-2017, 02:15 PM   #15
Dstruct
Human being with feelings
 
Join Date: Jul 2006
Posts: 12,480
Default

Quote:
Originally Posted by explodingPSYCH View Post
I'm not familiar with "loop section of item source
With this function you can create audio items that loop perfectly on grid even if the lenght of the item has sub sample offset.
Dstruct is offline   Reply With Quote
Old 10-11-2017, 02:19 PM   #16
explodingPSYCH
Human being with feelings
 
Join Date: Sep 2015
Posts: 302
Default

Quote:
Originally Posted by Dstruct View Post
Your time selection or render region obviously has a lenght with sub sample offset. Make sure it's snapping to whole sample.
Everything indicates that my region is on the grid. I've zoomed all the way in.
explodingPSYCH is offline   Reply With Quote
Old 10-11-2017, 02:21 PM   #17
Dstruct
Human being with feelings
 
Join Date: Jul 2006
Posts: 12,480
Default

Don't know then. Can't reproduce this. My renderings don't have this problem. Is your project play rate set to 1.0?
Dstruct is offline   Reply With Quote
Old 10-11-2017, 03:47 PM   #18
explodingPSYCH
Human being with feelings
 
Join Date: Sep 2015
Posts: 302
Default

Quote:
Originally Posted by Dstruct View Post
Don't know then. Can't reproduce this. My renderings don't have this problem. Is your project play rate set to 1.0?
I was able to get the correct legnth if I set the Project sample rate to 44.1k, which reverts it back to 66bpm even.

This shouldn't be required though right? I thought the idea was if I'm resampling from a project rate of 48k to 44.1k during render that it then only has to resample one "wav" where as doing it this way is resampling each individual wav.

Is the original sample rate determining the length of the render file no matter what it's resampled to?
explodingPSYCH is offline   Reply With Quote
Old 10-11-2017, 03:52 PM   #19
Dstruct
Human being with feelings
 
Join Date: Jul 2006
Posts: 12,480
Default

Maybe you should record your screen to video to show it.
Dstruct is offline   Reply With Quote
Old 10-11-2017, 03:55 PM   #20
explodingPSYCH
Human being with feelings
 
Join Date: Sep 2015
Posts: 302
Default

Quote:
Originally Posted by Dstruct View Post
For the current project you can make audio items to loop properly on grid via:

"Loop section of item source" function

(draw timeselection of the part you wanna loop -> "Loop section of item source").
I couldn't get this to do anything. I see it under the "Items" pull down menu, but when I select an amount of time over one or more waves (So that they are highlighted)

Is this function different from checking "loop item source"? If so, then I'm already doing that where it's appropriate. Many of the tracks are not continuous loops. I've taken sections that pass through the end of the loop point and copied/pasted them to the start of the loop, using crossfades to place them seamlessly.
explodingPSYCH is offline   Reply With Quote
Old 10-11-2017, 04:08 PM   #21
Dstruct
Human being with feelings
 
Join Date: Jul 2006
Posts: 12,480
Default

Quote:
Originally Posted by explodingPSYCH View Post
Is this function different from checking "loop item source"?
"loop item source" is just to tell REAPER to loop the item
"loop section" is there to tell REAPER which part needs to be looped (doesn't need to be rounded to whole samples)


Video: https://www.dropbox.com/s/24tqx9xx43...ction.mp4?dl=0
Dstruct is offline   Reply With Quote
Old 10-11-2017, 05:15 PM   #22
explodingPSYCH
Human being with feelings
 
Join Date: Sep 2015
Posts: 302
Default

Here's a Drive link.

https://drive.google.com/drive/u/0/f...WhmT2dmeVUydk0

You'll see me set my settings so that Project = 48k and Render Resamples to 44.1k.

Then I drop the wav into a new session at 66 bpm @ 44.1k
I then adjust to 66.001 bpm as well. (It's hard to see teh BPM in the screen cap. Sorry about that. Not sure why it cut off the botton of the screen)

The wav above it is the wav I rendered with the project set to 44.1k.

Note: the 48 to 44.1k resampled wav is too short at 66bpm, too long at 66.001bpm and at the beginning of the wav, you can see that it's drawn late compared to the other wav!
explodingPSYCH is offline   Reply With Quote
Old 10-11-2017, 05:22 PM   #23
Dstruct
Human being with feelings
 
Join Date: Jul 2006
Posts: 12,480
Default

Video is too blurry.

Why not testing it with a simple project with one track only?
Dstruct is offline   Reply With Quote
Old 10-11-2017, 06:03 PM   #24
explodingPSYCH
Human being with feelings
 
Join Date: Sep 2015
Posts: 302
Default

Quote:
Originally Posted by Dstruct View Post
Video is too blurry.

Why not testing it with a simple project with one track only?
Apparently it takes some amount of time for Google to upgrade the quality of the video. Here's a YT link:

https://www.youtube.com/watch?v=776z...ature=youtu.be

I just rendered another track with just one track and the same thing. I set the grid to 48k, 110bpm, it changes it to 109.999 to match samples.

I render re-sampling to 44.1k and load it into a new session. At 110bpm, it's too long, at 109.999 it's too short.
explodingPSYCH is offline   Reply With Quote
Old 10-11-2017, 06:12 PM   #25
Dstruct
Human being with feelings
 
Join Date: Jul 2006
Posts: 12,480
Default

Your video doesn't help. Obviously a plugin is adding that delay at the beginning of the file. REAPER doesn't do that by itself.
Dstruct is offline   Reply With Quote
Old 10-11-2017, 06:24 PM   #26
explodingPSYCH
Human being with feelings
 
Join Date: Sep 2015
Posts: 302
Default

Quote:
Originally Posted by Dstruct View Post
Your video doesn't help. Obviously a plugin is adding that delay at the beginning of the file. REAPER doesn't do that by itself.
Agreed on the plugins. I'm unaware of why that would be the case, but thought it worth mentioning given that length seems to be varying.

I made the video to illustrate the discrepancy between the region and the rendered file, which you couldn't recreate. Does the video not illustrate the length anomaly?
explodingPSYCH is offline   Reply With Quote
Old 10-11-2017, 06:28 PM   #27
Dstruct
Human being with feelings
 
Join Date: Jul 2006
Posts: 12,480
Default

It does. Must be a plugin. Not sure what your render routing (routing matrix) looks like.
Dstruct is offline   Reply With Quote
Old 10-11-2017, 06:33 PM   #28
explodingPSYCH
Human being with feelings
 
Join Date: Sep 2015
Posts: 302
Default

Quote:
Originally Posted by Dstruct View Post
It does. Must be a plugin. Not sure what your render routing (routing matrix) looks like.
Same result with all plugins disabled on master track. I suppose it's possible that it could be another plugin on an individual track, but it seems like it must be something more directly related to sample rate.

I wonder if my AD/DA's could have anything to do it with.
explodingPSYCH is offline   Reply With Quote
Old 10-11-2017, 06:35 PM   #29
Dstruct
Human being with feelings
 
Join Date: Jul 2006
Posts: 12,480
Default

Single project with just one item (no plugins) does the same?
Dstruct is offline   Reply With Quote
Old 10-12-2017, 02:44 AM   #30
bezusheist
Human being with feelings
 
bezusheist's Avatar
 
Join Date: Nov 2010
Location: Mullet
Posts: 829
Default

Quote:
Originally Posted by explodingPSYCH View Post
Maybe I did my math wrong, but either way I'm unsure how to go about getting a clean loop from one file to another in this way.
you need to make the loop at the target sample rate.

Quote:
Originally Posted by explodingPSYCH View Post
Is the original sample rate determining the length of the render file no matter what it's resampled to?
No...the target sample rate determines file length.
__________________
I like turtles

Last edited by bezusheist; 10-12-2017 at 02:58 AM.
bezusheist is offline   Reply With Quote
Old 10-12-2017, 11:58 AM   #31
explodingPSYCH
Human being with feelings
 
Join Date: Sep 2015
Posts: 302
Default

Quote:
Originally Posted by bezusheist View Post
you need to make the loop at the target sample rate.



No...the target sample rate determines file length.
If the target Sample Rate determines the file length, what explains the change in file length I'm seeing when the project default sample rate is changed? As shown in my video, the target (render setting) sample rate remains fixed at 44.1k

Can you specify what you mean by "make the loop at the target sample rate"? Does this mean that the loop has to be originally recorded and set up at that sample rate? Or can I somehow Resample in rendering to make the loop the target sample rate?

The only way I can SEEM to get the file length to be "correct" on the grid is to resample at the project setting stage.
explodingPSYCH is offline   Reply With Quote
Old 10-12-2017, 12:00 PM   #32
explodingPSYCH
Human being with feelings
 
Join Date: Sep 2015
Posts: 302
Default

Quote:
Originally Posted by Dstruct View Post
It does. Must be a plugin. Not sure what your render routing (routing matrix) looks like.
Delay within the wave can be modified by my buffer size. I believe this side issue is directly related to buffer. Larger buffer size, larger initial delay in waveform. I was unaware of this until now! I thought offline rendering didn't use the buffer for some reason, or at least that it was compensated somehow. Good to know!
explodingPSYCH is offline   Reply With Quote
Old 10-12-2017, 12:02 PM   #33
Dstruct
Human being with feelings
 
Join Date: Jul 2006
Posts: 12,480
Default

Are you using ReaInsert as plugin somewhere?
Dstruct is offline   Reply With Quote
Old 10-12-2017, 12:52 PM   #34
explodingPSYCH
Human being with feelings
 
Join Date: Sep 2015
Posts: 302
Default

Quote:
Originally Posted by Dstruct View Post
Are you using ReaInsert as plugin somewhere?
Nope, I didn't even know what that was until you mentioned it. Cool!
explodingPSYCH is offline   Reply With Quote
Old 10-12-2017, 01:17 PM   #35
explodingPSYCH
Human being with feelings
 
Join Date: Sep 2015
Posts: 302
Default

Quote:
Originally Posted by bezusheist View Post
you need to make the loop at the target sample rate.



No...the target sample rate determines file length.


I don't mean to imply that I doubt that sample rate effects file length, I'm just trying to understand the variance I'm seeing. Worth noting:

I did a test where I rendered a 48k wav and then resampled it in Adobe Audition at it's highest quality. The end point was dramatically shorter than the variance with Reaper's resampling. Picture attached. The top track is Audition's resample, the tracks below are various tests of resampling within reaper.

Even so, neither create a usable loop, which is required for my current project.
Attached Images
File Type: png audition end time.png (16.4 KB, 183 views)
explodingPSYCH is offline   Reply With Quote
Old 10-12-2017, 01:18 PM   #36
Dstruct
Human being with feelings
 
Join Date: Jul 2006
Posts: 12,480
Default

There shouldn't be such differences in lenghts from resampling.

Max 1 sample difference here.
Dstruct is offline   Reply With Quote
Old 10-12-2017, 04:50 PM   #37
explodingPSYCH
Human being with feelings
 
Join Date: Sep 2015
Posts: 302
Default

Quote:
Originally Posted by Dstruct View Post
Single project with just one item (no plugins) does the same?
I render a single track with no vsts, and there is still a VERY slight discrepancy between the length rendered and the original length. It's likely only one sample or so shorter than the original length when rendering from 48k to 44.1k

This makes me think that their could be a relationship between project resampling and VSTs that keeps the rendered wav the correctly length. Whatever VST is causing this issue is not being effected by the resampling in the render stage... even in online rendering.
explodingPSYCH is offline   Reply With Quote
Old 10-12-2017, 05:02 PM   #38
Dstruct
Human being with feelings
 
Join Date: Jul 2006
Posts: 12,480
Default

Quote:
Originally Posted by explodingPSYCH View Post
I render a single track with no vsts, and there is still a VERY slight discrepancy between the length rendered and the original length. It's likely only one sample or so shorter than the original length when rendering from 48k to 44.1k
That's ok.
Dstruct is offline   Reply With Quote
Old 10-12-2017, 05:08 PM   #39
explodingPSYCH
Human being with feelings
 
Join Date: Sep 2015
Posts: 302
Default

Quote:
Originally Posted by Dstruct View Post
That's ok.
Yeah, it shows that the VSTs are doing SOMETHING to the render length. I'll have to hunt around on those to determine which ones are at fault.

EDIT: When rendering only one item with no VSTs, I do get very close to the correct length... for all practical purposes, the correct length. However The only way I can get the correct length with multiple track sand vsts (Even with all master track VSTs offline) is to run the project sample rate at 441 if I want to render to 441

There must be a VST or item somewhere on a track within the project that is somehow causing the length issue.

Last edited by explodingPSYCH; 10-13-2017 at 11:40 AM.
explodingPSYCH is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -7. The time now is 01:57 AM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.