[tool idea] Untangle: Track & Instrument Workflow

Hey all,

I’ve begun planning a new tool.
More details will emerge over time, but I thought I’d try something new and open up the whole planning/thinking process behind it.

So this is basically a post which tries to formulate the problem I’m trying to solve.

THE PURPOSE

Renoise has this freedom which allows you to place instruments all over the place.
And I use this creatively myself - checking out how instrument A sounds like in track B, etc.

But it’s also unforgiving if you then put the wrong note in the wrong place (two different tracks at the same time), while using plugins or instruments with effects
(in case you don’t know - this can result in all manner of audible glitches as the audio is switching between those tracks)

So, the purpose of the tool is to impose a “soft” set of rules that still allows creative use of tracks, but also promotes a more disciplined approach.
And also-also, to give us some options for fixing those chaotic songs with instruments all over the place…

HOW IT COULD WORK

So far, I’ve been thinking about the following features:

Associations

[A] Associate an instrument with a specific track (strictest rule possible)
[B] Allow an instrument to be placed in any track (less strict)

In both cases, the tool would moan if you tried to enter a different instrument into the track - only a single instrument per (pattern-)track should be allowed, once you have established an association.

Also, if you had chosen [B], the tool should still detect if the instrument was placed on multiple tracks_at the same time._This may or may not be desirable (did you establish multi-track routing? - do the routed tracks match with what is entered in the pattern?)

The tool should try to make educated guesses before asking you. This involves :

  • the available routing information in the plugin, sample-instrument [likely instrument -> track connection]

  • instr. automation / macro devices [likely track -> instrument connection]

But in cases of doubt the tool should always ask you for the correct action to take.

Colors

  • Assign colors to instruments, and use this to colorize (pattern-)tracks that feature these instruments

Navigation

  • Use the available information (the association you’ve created) to create a semi or fully-automatic track/instrument navigation

For example, if you’ve linked instrument A to track B, then the simply act of select the instrument could focus the associated track.
And the same would be true if you navigated to track B - then it could select instrument A.
This is obviously something that needs to be optional - a manual “capture” would make sense here as a secondary option.

Remapping pattern-tracks

This is the tricky part - when track XYZ contains “invalid” instruments, what should be done?

[Keep] - obviously, it should be possible to just keep the notes as they are.
[Clear] - or you could simply get rid of them
[Cut] - or create a clipboard entry containing just the “invalid” ones, which could then be (mix-)pasted somewhere else

So, the “cut” feature instead encourages you (the user) to figure out where things should go.
This is a nice alternative to automatically detecting/splitting/distributing instruments (which is oftennot doing what you want anyway…)

IMPLEMENTATION

  • The tool should sniff around in the background, and monitor things written to the pattern.But it shouldn’t actively mess with the user input - instead, be purely “reactive” and prompt the user when in doubt (when the rules you’ve set up are not sufficient)
  • Running in the background means that it needs to be light-weight - I’m planning on using this all the time, also in combination with other tools.
  • Should be completely keyboard driven, if possible

RELATED TOOLS

For those out there who thinks this sounds like a great idea, here are a few existing tools that are somehow doingsimilarthings.

“Auto-Capture Instrument From First Note” by Ledger
https://www.renoise.com/tools/auto-capture-instrument-from-first-note

“Capture Track From Instrument” by joule
https://forum.renoise.com/t/tool-3-1-capture-track-from-instrument/34036

“Split Into Separate Tracks” by fladd
https://www.renoise.com/tools/split-into-separate-tracks

“Voice Runner” by yours truly (sort notes based on pitch, and more.)

https://www.renoise.com/tools/voicerunner

1 Like

That’s a fantastic idea ! I really missed this feature when I tried to reorganize and restart an old song. Can’t wait to see this happen !

I’d suggest InstrumentLodger as a name…

This is the tricky part - when track XYZ contains “invalid” instruments, what should be done?

Duplicating or cloning the instrument could be another option, but I imagine this gets complicated if there’s any kind of automation.

Possible names: CrossYoke? XYoke? Sounds like yet another great tool coming soon, anyway.

If you haven’t already, I recommend activating “Auto-capture instrument from track” and “Auto-capture track from instrument” simultaneously. It will provide quite a tight bind between tracks and instruments, and might give a good feel for what you want to accomplish additionally.

…and “Auto-capture track from instrument”…

I assume that this is obtained from your tool Joule? → https://forum.renoise.com/t/tool-3-1-capture-track-from-instrument/34036

What about having a instrument number in a select box on the top of each track, so you would not need to use instrument numbers in the track anymore And it was empty by default?

Thanks for the input guys.

@tumulte: InstrumentLodger- I like that! Gives me a cosy feeling.

@MattD: yeah, you got that right. Currently, if I have tracks with multiple instruments + automation, I’ll duplicate the track (incl. tracks) and then strip away what is not needed.

This is another of those freedoms that we have with Renoise - we can basically put our instr. automation/macro device anywhere.

It would makes sense if the tool could move such things from one track to another - this is, in fact, so useful that it deserves a tool all of it’s own!

@joule, yeah another of your “hidden gems”. Very well hidden, in fact. Now I have half a dozen of your tools perma-installed :slight_smile:

@realist: yeah, but that would be too restrictive for how I personally work. I wouldn’t want to enforce “one instrument, one track”, even with the advantages it would bring.

More like aiming for the middle ground here :slight_smile:

Instead of realtime I was hoping this tool could offline process an existing song and magickally juggle/sort all instruments in corresponding individual tracks :slight_smile: …once made a tool request for this when I was trying to update some fastracker II files in Renoise in which instruments are spread all over the place.

@MattD, djeroek - you’re are right. This idea will be half-assed, as long as there is no possibility for that to happen.

But I would not be a stranger to the tool, in some special cases, actually recommending other tools, if that means that it can avoid becoming a “jack of all trades”.

I’ve decided to start by brewing together something that can copy, paste devices along with automation!!

And I’ve added mentions in OP to the tools that I think are somehow related, or doing similar stuff.

The one by @fladd,https://www.renoise.com/tools/split-into-separate-tracks is especiallyworthy mentioning here :slight_smile:

I know from the Lua scripting forum comments that the GUI API is not too accommodating for visuals, but I have a suggestion that would be great for complicated projects or ones involving lots of tracks and routings, mostly becos I have to go through my entire projects after few months to find out the overall layout of instruments and track assignments especially if I have not named some of the tracks or have some stems muted or some instruments added or some plugins missing and so on.

Feature: A single window 2D schematic layout of the entire project assignments and signal chain path along with names and symbols. A short legend can be added somewhere down or upper right and the rest of space can be used to call up the current project schematic with one keyboard shortcut. This really can save some time while going though older sessions and if made interactive can be also used to rename and reassign the tracks using this one window instead of scrolling up and down and sideways and switch between windows to make sense of the forest so to speak. I think this can be done using existing widgets and simple text labels for the most part. The lines however have to done using some logic to remove any schematic conflicts in the signal paths, just like a circuit diagram.

I researched for this feature in most DAWs and afaik I don’t think even Protools had this. Logic has an environment and it’s kool for what it is but it makes things way too fiddly for a 2D project schematic and does not effectively convey the mixer chain either. It’s original purpose was for midi assignments rather than convey project management overviews. Ableton and Bitwig don’t have them either.

The offline feature @Djeroek mentioned would be a cool one for older or incompatible projects from other trackers.

I have a suggestion that would be great for complicated projects or ones involving lots of tracks and routings, mostly becos I have to go through my entire projects after few months to find out the overall layout of instruments and track assignments especially if I have not named some of the tracks or have some stems muted or some instruments added or some plugins missing and so on.

Yeah, I guess for me this is also what it boils down to - organization.

For example, your idea of a graph structure sounds nice - especially if it could help you to see changes over time, such as an instrument being used in / roaming between tracks.

Graph with a timeline? Hmmm.

Yeah, I guess for me this is also what it boils down to - organization.
For example, your idea of a graph structure sounds nice - especially if it could help you to see changes over time, such as an instrument being used in / roaming between tracks.
Graph with a timeline? Hmmm.

I am glad you find this idea useful. Taking from your timeline idea snapshots would a great idea to implement here. The data for the snapshots can be saved in another container file with the data populated by the Graph tool and a slider with a timeline or a drop-down combo with dates and times to choose a particular shapshot from. A simple diff can be implemented from the data files internally to represent a diff between version A or B from their snapshot files.

On a side note and I hope no one starts commenting on this again on this thread (if so I will just use PM), any idea if you are planning to implement the arpeggiator model modification for styles creation and live playing that you mentioned in ‘another’ thread (I don’t want to mention any name here lol), if so then can you please provide an update for an estimated deadline for the XStream release:)

Finally for all tool supporters, can we pool together some budget estimate to fund this? I am not sure if all are willing or ready to both give or accept but it does not hurt to try something positive and motivating. Once @Danoise releases this tool can we all give some appreciation from our end and send him some stuff or cash?:slight_smile:

I am glad you find this idea useful. Taking from your timeline idea snapshots would a great idea to implement here. The data for the snapshots can be saved in another container file with the data populated by the Graph tool and a slider with a timeline or a drop-down combo with dates and times to choose a particular shapshot from. A simple diff can be implemented from the data files internally to represent a diff between version A or B from their snapshot files.

You’re basically talking about a visual diffing tool for structured data?

Which is a very “real thing”, but also an incredibly complicated thing to do under the hood.

There’s some topics dealing with versioning and diffing, actually:

https://forum.renoise.com/t/collaboration-syncronisation/19113

https://forum.renoise.com/t/rnsgit-wrapper-script-to-help-manage-versioning-songs-with-git/43667

I was definitely thinking about something_way_ simpler than that.

I think - since I’ve also begun working on the automation-copy/paste thing - that the final tool will somehow become focused on colors.

Because, that’s something that no-one has tried yet, at least I’m not aware of that (plz prove me wrong :slight_smile: )

You’re basically talking about a visual diffing tool for structured data.
Which is a very “real thing”, but also an incredibly complicated thing to do under the hood.

There’s some topics dealing with versioning and diffing, actually:
https://forum.renoise.com/t/collaboration-syncronisation/19113
https://forum.renoise.com/t/rnsgit-wrapper-script-to-help-manage-versioning-songs-with-git/43667

I was definitely thinking about something way simpler than that.

I think - since I’ve also begun working on the automation-copy/paste thing - that the final tool will somehow become focused on colors.
Because, that’s something that no-one has tried yet, at least I’m not aware of that (plz prove me wrong :slight_smile: )

No not at all, I think diffing is not my main focus but the graph feature sure is. This diffing thing can be done at your discretion and I was building upon one such implementation based on your timeline idea.

Progress report: I’m dabbling with the copying of automation data, and have decided that this in itself deserves to be a standalone tool.

Edit: a few days of hacking, and here is the result:https://forum.renoise.com/t/new-tool-3-1-automate/48757

Doesn’t mean that I’m dropping the original idea, though. Actually, I just came up with a name for that: Untangle

As I’d imagine it now, operation would be really simple:

  1. Load some song

  2. Bring up the tool and ask it to process

  3. Tool will highlight a bunch of things in the matrix that it thinks represent a problem (which ones are based on your criteria a.k.a. preferences)

  4. Go to any of those places and check the tools description of the problem + possible solutions

  5. Fix things manually or ask the tool to perform the procedure for you

The last step, well I’m a little cautious there. I think it would be quite cool if a tool could suggest strategies, as well as use brute force.

And then it could also develop over time, like a mini “tips and tricks” section embedded in the tool itself.

But many ideas I presented in the OP now seem more like added “niceties” when compared to this essential workflow.

Figuring out what those rules (your preferences) are, is of course the next step…

Any progress @danoise ? :wink:

Nice with the reminder :slight_smile:
However…four years ago I had enough time to spare for this side projects, but this isn’t the case any more.

I still think it’s a nice idea though. Revisiting my old songs sometimes leaves me scratching my head, with instruments scattered all over the place.

1 Like

yep sorry :grinning_face_with_smiling_eyes: , was searching for a thread and came across this one, was wondering if you ever made progress with the initial idea. Sometimes stuff will get shelved at 80% and you just need a little bump for the last 20% :wink: , at least looking at my wip folder.

I hear ya! No worries.