New Tool (2.7): Split Into Separate Tracks

Hi there,

I just finished a new tool!
The purpose is to split all notes from one single track into separate tracks according to the note values (so all C-4 go into one track, and all D-4 into another, and so on). Note offs are also added to the track they belong to, so a note of after a C-4 goes into the C-4 track. Another option is to set what I call “implicit note offs”. What I mean here is that if a note stops a former one, then this note will be a note off for the former note (but on a different track). I think Jonas made this quite clear in this post: https://forum.renoise.com/t/script-request-reorganize-instrument-notes/29361.
If you mix explicit and implicit note off you might get double note offs, but the track should still play correctly.
Note also that this tool works across more than one note column.
Eventually, the new tracks are named according to the one they come from.

EDIT: The tool can now also split according to instrument number instead of note value!
EDIT 2: Selection only is now possible!
[b]EDIT 3: Speed improvements, thanks to Taktik!]/b]

It would be nice if some people could test it, before I upload it on the tools page.

Have fun!
1331 de.fladd.SplitIntoSeparateTracks.xrnx

Regards,
fladd

cant drag n drop

My fault, I am sorry, please try again.

fladd

Firstly thanks Fladd for the tool, will come in very handy, and jonas will be pleased! :)


Yes it has been zipped wrongly, the main and manifest need to be zipped into the .xrnx directly and not in a folder within the xrnx.
edit

Also @fladd the “com.renoise” name has been reserved for renoise team scripts so afraid you will need to change it to a custom name in a similar format i.e. “com.fladd.SplitIntoSeparateTracks” to pass the quarantine on the tools site.

  
Script '/Users/epc/Library/Preferences/Renoise/V2.6.0/Scripts/Tools/com.renoise.SplitIntoSeparateTracks.xrnx/main.lua' failed in one of its notifiers:  
  
main.lua:45: attempt to index field '?' (a nil value)  
stack traceback:  
 main.lua:45: in function 'split'  
 main.lua:81: in function <79><br>
<br>```

<br>
<br>
Happens regardless if the note-off option is on or off.</79>

Ah, that makes more sense then, great. I actually thought we all have to follow this (to me a bit strange) naming convention. Okay, for the next upload I will rename that.

[quote=“Ledger, post:4, topic:29450”]

  
Script '/Users/epc/Library/Preferences/Renoise/V2.6.0/Scripts/Tools/com.renoise.SplitIntoSeparateTracks.xrnx/main.lua' failed in one of its notifiers:  
  
main.lua:45: attempt to index field '?' (a nil value)  
stack traceback:  
 main.lua:45: in function 'split'  
 main.lua:81: in function <79><br>
<br>```

<br>
<br>
Happens regardless if the note-off option is on or off.<br>[/quote]<br>
<br>
Interesting. Can you give me the track on which that happens?<br>
<br>
fladd</79>

First off all, WICKED! :slight_smile: massive kudo tornado send your way!

Had the same error notice as EPC, here’s how to duplicate:

On my voorbeeld.xrns ( http://www.renoise.com/board/index.php?app=core&module=attach&section=attach&attach_id=1122 ), delete all tracks except the first convoluted track with the drum hits. Make a selection in the track & apply the split script:

‘C:\Users\plugexpert\AppData\Roaming\Renoise\V2.6.0\Scripts\Tools\com.renoise.SplitIntoSeparateTracks.xrnx\main.lua’ failed in one of its notifiers:

main.lua:45: attempt to index field ‘?’ (a nil value)
stack traceback:
main.lua:45: in function ‘split’
main.lua:81: in function main.lua:79

If you also delete the send tracks from that example .xrns before trying to split into separate channels, you’ll receive the same error notice, but a send channel seems to be created regardless.


Some additional words:

Is it possible you could make this script work optionally on a selection in a pattern as well, instead of applying it on the whole pattern range from a particular track? Maybe you just want to split a certain section out of a track to apply effects in separate channels, but don’t need everything to be split up.

Also, the note-offs don’t seem to be applied like expected. If I set implicit note-offs in the example.xrns from my request thread, only the first 16 hits seem to be split up with succeeding note-offs. From pattern line 16 on, no more note offs are present, except for split 11, which is completely full with note-offs, like it has collected them all :) I was expecting the note-off option to set it like my example song, but maybe I’m misunderstanding your implementation.

Again, thank you for creating this script!

Sure, here you go. Try to split the lead3 track.

Bug seems to happen when the master channel is the neighbor track.

i just tried downloading again.but when i try to drag n drop i get a message saying that

the script contains a invalid manifest,please remove and contact the author

True, that seems to be a bug in the API, I will report it.

fladd

same problem here…

I have this when trying to install -
"‘C:\Users\sodisodisodisdoisodi\AppData\Roaming\Renoise\V2.6.0\Scripts\Tools\fladd.SplitIntoSeparateTracks.xrnx’ contains an invalid manifest. Expected a ‘Id’ field value in the form ‘abc.def.ghi’ (3 alnum components, separated by a dot).

Please remove this tool or contact the author (Florian Krause (fladd) [siebenhundertzehn@gmail.com]) for assistance…"

yep get the same message

@ Fladd: There is a missing ‘.’ in the xrnx, it needs to be eg:

abc.fladd.SplitIntoSeparateTracks.xrnx
or
fladd.abc.SplitIntoSeparateTracks.xrnx

currently it is:
fladd.SplitIntoSeparateTracks.xrnx

Yes, but not necessarily in the xnx file which can use anything.xrnx, but definitely manifest.xml

I happily hacked around the bug and the script should work now! Also, the naming changed and the manifest should be correct now. I updated the attachment in the first post.

Please test it as much as you can.

fladd

Thanks, had forgotten/misremembered that.

And thanks Fladd for the update.

Does the updated script only work on multisampled instruments and not different instruments on the same channel?

Try your script on this, and the track just seems to get copied:

EDIT: ah I see, different notes are only taken into account when splitting. Would be great for a future update if you had more filtering options.

How do I use the tool in Renoise?
Expected it to be visible when right clicking in the pattern editor but it isn’t.