Jump to content


Photo

[tool idea] Untangle: Track & Instrument Workflow

crowdthinking

  • Please log in to reply
15 replies to this topic

#1 danoise

danoise

    Probably More God or Borg Than Human Member

  • Renoise Team
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 6650 posts
  • Gender:Male
  • Location:Berlin
  • Interests:wildlife + urban trekking

Posted 21 January 2018 - 17:19

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 often not 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 doing similar things.
 
"Auto-Capture Instrument From First Note" by Ledger
https://www.renoise....from-first-note
 
"Capture Track From Instrument" by joule
http://forum.renoise...rom-instrument/
 
"Split Into Separate Tracks" by fladd 
https://www.renoise....separate-tracks

 

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

https://www.renoise....ols/voicerunner


Edited by danoise, 22 January 2018 - 17:50.

  • fladd, ghostwerk, Raul (ulneiz) and 1 other like this

Tracking with Stuff. API wishlist | Soundcloud


#2 Tumulte

Tumulte

    Member

  • Normal Members
  • PipPip
  • 42 posts

Posted 21 January 2018 - 18:43

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… 

 

 



#3 MattD

MattD

    Super Advanced Member

  • Normal Members
  • PipPipPipPip
  • 148 posts
  • Gender:Male

Posted 21 January 2018 - 21:14

 

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.


KernUo9.png


#4 robohymn

robohymn

    Super Advanced Member

  • Normal Members
  • PipPipPipPip
  • 149 posts
  • Gender:Male
  • Location:Victoria, BC

Posted 21 January 2018 - 22:21

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

#5 joule

joule

    Guruh Motha Fakka is Levitating and Knows Everything About Renoise Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPipPip
  • 1637 posts
  • Gender:Not Telling
  • Location:Sweden
  • Interests:music, philosophy, engineering

Posted 22 January 2018 - 09:42

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.



#6 4Tey

4Tey

    Big Daddy Member

  • Normal Members
  • PipPipPipPipPipPipPip
  • 432 posts
  • Gender:Male

Posted 22 January 2018 - 09:56

...and "Auto-capture track from instrument"...

I assume that this is obtained from your tool Joule? -> http://forum.renoise...rom-instrument/



#7 Trackerman

Trackerman

    Composes without Wires burns Directly from Brain to DVD that is already in Store Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 3217 posts
  • Gender:Not Telling

Posted 22 January 2018 - 10:09

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?

#8 danoise

danoise

    Probably More God or Borg Than Human Member

  • Renoise Team
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 6650 posts
  • Gender:Male
  • Location:Berlin
  • Interests:wildlife + urban trekking

Posted 22 January 2018 - 16:30

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  :-) 

 

@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  ^_^


Tracking with Stuff. API wishlist | Soundcloud


#9 Djeroek

Djeroek

    Probably More God or Borg Than Human Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 6752 posts
  • Gender:Male
  • Location:Borneo

Posted 22 January 2018 - 17:08

Instead of realtime I was hoping this tool could offline process an existing song and magickally juggle/sort all instruments in corresponding individual tracks :) ...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.



#10 danoise

danoise

    Probably More God or Borg Than Human Member

  • Renoise Team
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 6650 posts
  • Gender:Male
  • Location:Berlin
  • Interests:wildlife + urban trekking

Posted 22 January 2018 - 17:52

@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....separate-tracks is especially worthy mentioning here  :)


  • Djeroek likes this

Tracking with Stuff. API wishlist | Soundcloud


#11 encryptedmind

encryptedmind

    Chief Above Chief Member

  • Normal Members
  • PipPipPipPipPipPip
  • 374 posts
  • Gender:Male
  • Location:India
  • Interests:Jazz, malware, world travel, women

Posted 23 January 2018 - 07:30

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.

Edited by encryptedmind, 23 January 2018 - 07:33.

encryptedmindVictor Marak<p>uZIK|mAInD|Z0FTwA-RE

https://marak.bandcamp.com

#12 danoise

danoise

    Probably More God or Borg Than Human Member

  • Renoise Team
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 6650 posts
  • Gender:Male
  • Location:Berlin
  • Interests:wildlife + urban trekking

Posted 23 January 2018 - 11:21

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. 


Tracking with Stuff. API wishlist | Soundcloud


#13 encryptedmind

encryptedmind

    Chief Above Chief Member

  • Normal Members
  • PipPipPipPipPipPip
  • 374 posts
  • Gender:Male
  • Location:India
  • Interests:Jazz, malware, world travel, women

Posted 23 January 2018 - 13:58

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?:)
encryptedmindVictor Marak<p>uZIK|mAInD|Z0FTwA-RE

https://marak.bandcamp.com

#14 danoise

danoise

    Probably More God or Borg Than Human Member

  • Renoise Team
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 6650 posts
  • Gender:Male
  • Location:Berlin
  • Interests:wildlife + urban trekking

Posted 23 January 2018 - 15:52

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:

http://forum.renoise...syncronisation/

http://forum.renoise...songs-with-git/

 

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  ^_^ )


Tracking with Stuff. API wishlist | Soundcloud


#15 encryptedmind

encryptedmind

    Chief Above Chief Member

  • Normal Members
  • PipPipPipPipPipPip
  • 374 posts
  • Gender:Male
  • Location:India
  • Interests:Jazz, malware, world travel, women

Posted 23 January 2018 - 16:10

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:
http://forum.renoise...syncronisation/
http://forum.renoise...songs-with-git/

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 ^_^ )

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.

Edited by encryptedmind, 23 January 2018 - 16:11.

encryptedmindVictor Marak<p>uZIK|mAInD|Z0FTwA-RE

https://marak.bandcamp.com

#16 danoise

danoise

    Probably More God or Borg Than Human Member

  • Renoise Team
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 6650 posts
  • Gender:Male
  • Location:Berlin
  • Interests:wildlife + urban trekking

Posted 24 January 2018 - 00:07

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: http://forum.renoise...view=getnewpost

 

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...


Edited by danoise, 30 January 2018 - 15:51.

Tracking with Stuff. API wishlist | Soundcloud