[Done 2.7] Render To Sample -6Db Solution

There has been lots of discussion whether the -6db in render to sample is ok or not and usually the opinion has been that it’s there to avoid clipping.

Avoiding clipping is good, but avoiding clipping and not altering volume is even better - so could we have an option to automatically amplify rendered samples in +6db in sample properties?

Would solve all the problems imo.

Auto-normalizing ? I’m no expert but normalizing should only be done when necessary since it amplifies noise and artifacts as well.
Besides, you’re not supposed to mix at full volume so the way it works atm should be loud enough for any instrument.

is there no way of just being able to turn it off ? just create and 6db headroom button in the sample view ?

I think you may have misunderstood the original post.

He’s talking about the fact that when you use the render to sample feature, the newly created sample will have a gain reduction of roughly -6.021 dB. This is something that has been discussed and questioned a lot of times in the past (here and here, for example), which I would personally like to see disabled (or at least be optional), but something we just have to live with for the moment.

You can compensate for this reduction by setting Amplify to +6.021 dB in the sample properties of the newly created render, which non-destructively boosts it back up to the level of the original sound.

For example:

Original sample:

After capturing from the pattern using render to sample:

The necessary gain boost to restore the render back to the original level:

Couldn’t we simply always do this without option. This will not clip samples but simply play it back at the original volume. Should always be safe to do this?

If so, why haven’t we thought of this before? ;)

I could be mistaken, but I think it has been mentioned before in the past, during one of the many other threads discussing this issue.

I think it could cause even more confusion for users if it was just blindly applied to all situations.

Here’s a quick example: I’m a new user and I want my song to sound a bit louder, so I raise the master volume to +3 dB. I use the render to sample feature to capture something from a pattern I’ve made, and then Renoise automatically sets this new sample to +6.021 dB. When that is combined with my higher master volume, this new sample is now playing louder than the original sample itself. I am now confused as hell and cannot understand why this is happening, even though the new sample looks physically quieter in the sample editor, and I probably completely missed the gain boost in the sample properties since it was applied automatically. Etc.

Anyway… I’ve made my feelings known before regarding this headroom issue. I personally feel that these kind of workarounds and fixes only end up causing more confusion and problems in the end. This problem of “why is my rendered sample so quiet?” is one of the most common recurring posts here on the forum. It is clearly confusing a lot of new users, and even frustrating quite a lot of veteran users who already know about it.

Perhaps it’s time to sit down and re-evaluate the general approach here?

As I’ve said in the past, I think we should stop trying to babysit people here, and let the signal path be truly 1:1 in terms of gain. For better or for worse, users need to understand that if things are too loud then they will clip. We should let the gain be 1:1, and then just set the default master volume to a much lower value to keep things ‘safe’ for new users.

But what is the general approach?

I’ve always just normalized samples after the fact, never really thought about it. Can’t understand why so many people are hung up on this. I guess it’s a bug?

Can’t you just do two passes on render? 1) Render 2) Normalize

Where 2) is a checkmark in the interface?

Currently there appears to be a -6dB gain reduction on every track. So even though the track level shows 0dB, it’s actually outputting at -6dB. I believe Taktik has said that this was intended to help prevent clipping, because if all tracks were really outputting at 0dB and you were using fully normalised samples/instruments, then things would overload and clip like hell very quickly. This is perfectly understandable, and I even agree that such a safety measure is a good idea, just not necessarily implemented in this exact way.

What I’d like to see instead is true 1:1 gain, meaning that when I have a track set to 0dB then it is truly outputting at 0dB. If I play a normalised sample through a track and then use render to sample, what I should get back from that is a new sample that is also normalised to the exact same level as the input. The relationship should be 1:1. If a track clips, then it will be entirely my own fault, but either way I want a track to output exactly what I have put into it, and to not have such obfuscated/hidden gain reductions that only lead to further confusion.

In order to help prevent clipping for new users, the default track level could still be set to -6dB to essentially behave as it does now, but it should be possible to raise the track level up to true 0dB if they choose to.

The problem with normalising (assuming we mean normalise to 0dB, as Renoise’s sample editor does) is that it will not always be correct.

For example: Let’s say I have a sample playing on a track which is not fully normalised to 0dB, rather it’s actually only peaking at -3dB. Now I use the render to sample feature which produces a new sample that has a -6dB gain reduction. The -3dB and -6dB combined mean the new sample is peaking at -9dB.

If I were to use the normalise/maximise feature in Renoise’s sample editor, the sample will be boosted to peak at 0dB, which would be incorrect, since the result would then be +3dB louder than the original sample itself. To avoid this, I would have to use the adjust volume feature instead and input the correct gain boost manually, which is pretty cumbersome.

If the track itself was simply outputting at true 0dB to begin with, then render to sample would have given me a perfect 1:1 copy of what I wanted in the first place.

Edit: Changed all the 6.021dB’s to 6dB’s, just for the sake of clarity.

How about a checkbox to the preferences to choose whether to have the gain reduction on or off based on personal preferences, I personally probably would have it on but having an option is always better. Also the Render to sample normalization option would be useful too.

Alright, well I’m convinced. I’m with dBlue then.

+100000 %

thank you!!!

+1 for dblue’s approach. Current way gets even more cumbersome when lots of stuff needs to be rendered as selections and exported (like in sound design).

+100 Coz it’s so confused now. And it’s not so obvious to set Amplify +6.021. And, please - make some dB marks (the top level meter at least), coz now it’s not informative (like Amiga’s Octamed pretty but useless level bars :rolleyes: )

Yes, please, this is a sane request, because right now I sometimes have problems understanding what is happening when doing mixing… And why does renoise have that -6db rule at first place? I am a relative newbie, so I don’t know how does it have worked before. I know that some applications are using pan law of -3db and -6db, but I have never seen a software that have -6 db gain reduction, this is something new to me…

Just wanna say it’s great to see someone take their time to explain something so throughly that it’s impossible not to understand :)
Great effort DBlue!

what taktik said

Aha, thank you! Well, when I read it, it looks quite reasonable, I have been used to do gain settings myself… interesting concept for sure.

I have read the comments that explain the behaviour but I have to disagree to the fullest.
the -6db rendering is a disaster .
Should be optional or removed completely.
I have resampled something 3 times and not to have to adjust the mix I had to use 3 gainer dsp’s set to + 6.021 db to get it close to the original mix. It’s stops the workflow.

Is the problem here caused by whatever you select is rendered from the Master Channel, not just a sum of the tracks selected? And why would you want your render to by processed by any inserts on the Master.

Absolutely agree to CLAPZ. This thing must be “optional”.