New Tool (2.7, 2.8): Track Freezing

Thanks. I’ve made a new thread for the batch rendering tool here.

Yes it’s definately possible and I understand about reverb trails etc.

However, you are then restricted as you cannot reorder patterns.

I’ll add it as an option (e.g. render Track to single sample) in the next few days.

Awesome, mxb. Thanks a lot. I noticed this also affect trails of instruments of course.

Brilliant!

why is the new frozen sample set to 6db?

Renoise does this automatically when using Render Selection To Sample, in order to compensate for the amount of track headroom you have set in Song Settings.

Next step is auto-sync the freezed pattern-sample to pattern length, than auto-apply slicing and run dblue’s ‘slices to pattern’ script ( New Tool (2.7 & 2.8): Slices To Pattern ) to have the freezed sample cut-up in the pattern again.

:drummer:

but I have 0dB headroom in song settings.

Ah, my bad. I just took a closer look at mxb’s script code and the 6dB boost is actually hard-coded in there. Something for mxb to address in a later version of this tool, I guess.

also, it would be good if frozen track copied vol & pan both pre & post from original track

cool! B)

mxb,
A big reason for using this is the potential ability to freeze hardware instruments. Would you please make it render in realtime if a line-in device is present in the dsp chain?

This will be incorporated into the next version, which should be arriving ‘soon’.

However, as the sample will be launched from the first pattern, if this pattern plays again later in the song sequence the sample will restart at that point.

This is not the required behaviour, so the tool will do a quick check to identify if the pattern in sequencer slot 1 is re-used later and if so will abort and instruct the user how to work around it (duplicate first pattern and make it unique).

There doesn’t appear to be any script access to track headroom value so the value is hard coded to Renoises default setting. There isn’t anything I can really do about this, sorry!

The volume and panning would then then ‘stack up’ (accumulate). i.e. If a track is panned hard right at -18db, then this will be observed in the rendering (the render will only have audio in the right channel and at -18db).

Setting the frozen track to 0db, center panning will result in the same output as the original track.

Good idea! I’ll look into adding this also.

As a general note, thanks for all the positive feedback :)

double post

@mxb: you just did a double post. (you beat me to it!)

(thanks for the revisions/explanations, this is a great tool)

I wouldn’t mind having a version/option that replaces the original track with the freezed content.

Version 1.1 has just been uploaded to the tools page and is currently awaiting moderator testing and approval.

This version adds the features suggested in this thread.

When Freeze Track is selected, a dialog now appears prompting the user for the following options:

  • Render mode - Pattern based or linear
  • Priority - Low / Realtime / High
  • Sample rate - 44100Hz / 48000Hz / 88200Hz / 96000Hz
  • Bitdepth - 16bit / 24bit / 32bit
  • Interpolation - Cubic / Arguru’s sinc
  • Delete source track - Yes / No
  • Headroom compensation - 0 - 12dB (default is 6db to match the default Renoise setting)

Hope this covers off everything requested so far.

Enjoy!

What about realtime/offline rendering?

Either the linear mode isn’t working or the pattern mode, but it renders pattern by pattern in all cases.
Multi-track selection mode wouldn’t be a wrong thing either, in case some instrument plugins are routed to other tracks than the track that contains the notes for it.

And a minor correction:

  
 -- We can only load 120 'notes' worth of patterns  
 if #renoise.song().patterns > 119 then  
 renoise.app():show_error("Sorry, track freezing currently only supports up to 120 patterns.")  
 return  
 end  
  

You can load 256 samples if you would use the layering as well.

Cheers!

If you choose low or high you are already automatically doing “offline” rendering.

Are you copying Send devices over to the new track?

People need to be aware that if they were using a Signal Follower on the original track this will affect things assuming it was controlling a parameter on another track. Only way around this would be, in the even of their being a Signal Follower (with destination outside of original track, although this could be achieved through a Hydra) is to then copy the original track including DSP chain. Then delete all DSPs after the Signal Follower (except any Hydras just in case) then add a Gainer with -inf at the end to silence output.

Second point is probably far too much to worry about with this tool and best people consider the fact they may be using the track for more than it’s own audio themselves!