Diskop / Render Suggestion

Usual disclaimer: I apologise if this was mentioned already somewhere. I did a few searches and didn’t immediately find anything.

Sometime in the future, I think a nice option for the DiskOp area (specifically the Song section) would be the ability to select multiple song files, then right-click on the selection and choose “render to wav” from the context menu (or simply press the normal Render button). Basically a batch rendering option.

Renoise would then pop up the render options dialog as usual, but it would be slightly modified. An additional option in the “part to render” choices would be an option for the length of time to render in HH:MM:SS. So for example, if you wanted to create some quick previews of a lot of songs, you could easily choose to render only the first 60 seconds of each song, rather than relying on what number of patterns it should be (which will probably be very different in every song anyway).

The destination field would be changed to provide a directory name to render all the wavs in, rather than giving the individual filename. To avoid duplicate files I think the filename of the .wav that is created should be based on the .rns filename, instead of the internal song name. For example, I will often create a song then save several different versions from the same session, resulting in things like mysong1.rns, mysong2.rns, mysong3.rns, etc., but I forget to change the song name so they’re all titled “mysong1”, and would therefore result in several mysong1.wav files. Basing the .wav filename on the .rns filename would easily avoid this situation.

To make the batch rendering actually work smoothly/transparently, some other things would have to be handled automatically by Renoise. For example, Renoise will obviously have to automatically load every song in the selection and work its way through the list. Perhaps loading them into the background and working “silently” somehow, leaving any currently open session intact? (though is not that important really I don’t think).

When loading a song, if there’s an error of some kind which would normally cause a dialog box to appear (such as a missing VST or something), this will have to be ignored and handled automatically. Renoise will simply process the song as well as it can, and do whatever it needs to be able to create the wav. If a VST is missing, it simply won’t be included in the rendered wav, and it will be the user’s fault for not making sure his/her songs and plugins are not correctly up to date. A log file could probably be generated in the same directory as the .wavs for that batch rendering session, which would detail any errors that occured.

While Renoise is rendering a song, the usual progress bar and Stop button should be visible, but probably with a couple of changes. There should be a button for “skip/cancel this song” and also “cancel entire batch job”.

And I think that’s about it really, you get the idea.

Maybe you are working on a whole album of tunes, and you’ve finally tweaked all the .rns files just the way you like them. One night you select all the songs, set up the batch to render the final .wav’s using Arguru’s sinc/32bit/96khz, then go to bed, and all your lovely tracks are ready by the morning!

etc. etc.

I have no trouble doing a little clicking myself to get a few files rendered :) But
this solution came to mind.

If you could enter a commandline like:
renoise.exe -render -sinc -48000 -32bit inputfile.rns outputfile.wav

After render the renoise would just exit.

Then somebody could just make a simple program that runs the batch, feeding
the command line arguments.

Well, sure, hehe… I’m not just lazy. I don’t mind doing a few files by hand either. I guess I’m talking more about entire directories full of songs. Some songs may be extremely complex and take quite a loooong time to render at high quality, so it’s not always practical to sit there in front of your computer waiting for each file to finish. A batch option would be great, I think.

This would also work :)

I wouldn’t mind putting together a simple program to control the batch jobs myself, it wouldn’t be very difficult to do with visual basic or whatever. But having it built in would just be a nice convenience for the average user.

This batch-processing thing, with command line arguments for rendering,
is that a feature that we can expect to be implemented in the near fututure?

Is there some other way it can be done now?

I’d like a winLame style render app then while we’re in on the subject. It’d be nice to have a small dedicated application that really fleshes out the render options. Here are some more render options i’d love to see:

  • Automatically delete silent tracks when multitrack rendering

  • Render track sends individually in multitrack (so if track 1 and 2 send to send 1, you get track1_send.wav and track2_send.wav or such. I guess this’d require multipass render or somesuch)

  • Auto crop beginning/trailing silence. I usually multitrack render to use in ableton, and my sets become these gigantic lumbering multi-gig things. It’d be nice to avoid the silence)

  • Render multiple rnses to one wav that crossfades between them (junky. But i’m sure someone would find good use for it to blend a bunch of sketches into one mp3 for listening on the go)

  • Multitrack render by instrument (i have no idea how viable this is at all. Probably not very)

  • Fade in/out beginning and end. Sometimes you get sharp clicks at the beginning of tracks (sometimes regardless of how they actually sound when played in renoise). This would mirror Ableton’s ‘fade’ sample option.

Of all these, the ignore silent track option is what i’d like the most.

+1, preferably via command line options :dribble:

When would you really render a batch of songs? With the rate I poop out finished songs, in my case maybe once in a lifetime. I can see that this is usefull in a wave-editor, when you want to apply a certain row of vsts to 100s of samples…but with a couple of .rns songs??

Great for you, I on the other hand keep fiddling with some tunes for weeks, months and years :P

If rendering via command line was implemented (it wouldn’t even need to be batch rendering - just start up without opening the GUI, render the file, exit), you could after a session of tracking just render those tracks you modified (using a tool/script that creates the respective .bat file for example, or one of those toolbars that can start programs and use the files you drop on them as parameters)…

… this way you could always have up to date .wavs of all your tracks (with very little effort).

Or hey, you could also compare how all your tracks sound with cubic/aguru or various sample rates, just for the fun of it?

And why, especially with the XML song format, should renoise not be considered as something that is capable of doing all sorts of things automatically? Rendering via command line would be crucial for that.

This is a remarkable idea. Nice mind!


This is cool, but I am never ever going to use it.

I am with Jonas on this one :)

That’s fine, but I - and I’m sure many others - would :)

It all comes down to how each person uses the software really. With me, once in a while I like to take all the random unfinished stuff I’ve got and then render it to wav (and make mp3s of them). I keep it all archived so that I can easily listen to it while doing other things and hopefully I get some new ideas for how to finish the tracks. Depending on how many quick idea sessions I’ve had since the last time, we could be talking about 50+ tracks that need to be rendered, and that is really just a pain in the ass to do manually. Batch rendering would be absolutely wonderful in that situation.

But my example of needing to re-render a whole album is equally valid. Say you’re about to send off the tracks to someone for mastering, but he needs it in a different bit-depth or samplerate, or he needs all tracks separated, etc. Once more, this will be a pain in the ass to do manually, especially if you’re trying to take care of some other stuff at the same time. Maybe you lose concentration for a moment and make some mistake which goes unnoticed until it’s too late, or you forget something, etc. Batch rendering would kick ass there too.

I like your idea about actually rendering unfinished tracks as influence. That is very cool.

I usually just load them in, but with this method, you can really go for it. Even cut parts out of the old track as they come. Add some ghetto flavour.

Yeah, cool idea. Thanks for sharing.

(I seem to be getting pwn3d a lot tonight :( )