There are two additions I need to speed up my workflow when I use Renoise for game development.
The first thing is the feature to render a song as a seamless loop. In practice, what this feature needs to do is to - after when rendering a song - take the audio from the last pattern (where I’ll put the instrument/reverb decays) and merge it with the beginning of the song, producing a perfect loop.
The second thing I need is song specific render settings. That is, the sample rate and bit depth needs to be a song setting, not determined by what I rendered last. The rendered file name should always be identical (except the file extension obviously) to the name of the .xrni and always be saved in the same folder.
Can this be done with scripting in Renoise, and for how much would you do this?
Sounds perfect. I have two buttons in mind, one for a dialog that changes the settings, and a separate one that just instantly renders the song with those settings, automatically overwriting the old rendered file without asking.
I think you can’t modify the settings that are in the official song rendering dialog, but indeed, that doesn’t matter too much.
To make the “closed loop” - well, it can be done by summing (editing wavefile), but that might not be fully interacting with compressors etc on master track - best consideration would be probably to copy first pattern to the end of the pat. sequence and render whole song, then in the render replace first pattern by that extra last pattern. My concern would only be that these types of operations would not be quick in scripted renoise. Fastest operation for script would probably be, to load in that rendered file as an instrument, set loop points as computed by script, trigger with sample offset at beginning of ‘last’ pattern, render that again to final sample.
edit. About what I said; I don’t know if it actually makes sense. Do you just want to render it in the way you hear it in renoise when it goes from the last line in the song and loops back to the start, or are the intro and outro quite important but you want these to get crossfaded somehow?
Ideally, I’d like it to sound like you’re just looping it in Renoise. Of course, I understand that master track compressors and limiters won’t work properly if you just take the rendered audio from the last pattern and merge it with the beginning of the song, but I just have to compose the songs so it won’t be a problem. A little bit of headroom to avoid clipping and a decay that’s not too loud for master track compressors/limiters to matter much should do the trick. It’s exactly how I do it right now in Audacity with a rendered Renoise song, so I know it sounds good.
I have no plans to use master effects that leave a trail anyway. The easy solution with simply merging the last pattern with the beginning of the song will be perfectly fine for me, but if you’d like to try that other solution, feel free to