Jump to content


Photo

New tool (3.1): VoiceRunner

Pattern editor phrase editor note sorting

  • Please log in to reply
25 replies to this topic

#1 danoise

danoise

    Probably More God or Borg Than Human Member

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

Posted 09 August 2016 - 19:30

VoiceRunner

Advanced sorting of notes in the pattern/phrase editor 

 

screenshot.png

 

Download : Grab it from the tool page

Documentation: Visit the VoiceRunner github page to learn what all those checkboxes do...

 

Planned features 

  • Optimizing the 'navigation buttons'. Currently they re-scan the pattern each time you press a button... 
  • Sorting across pattern boundaries - retaining "open notes". This is planned for v2 and will introduce a number of additional scopes. 
  • Simplified API for script authors (use the voicerunner classes in your own tools)
  • Custom sorting - another v2 feature (custom column-names, ability to map note+instrument combinations to specific columns)

Edited by danoise, 22 September 2016 - 11:22.

  • Ledger, Djeroek, ffx and 8 others like this

Tracking with Stuff. API wishlist | Soundcloud


#2 fladd

fladd

    Guruh Motha Fakka is Levitating and Knows Everything About Renoise Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPipPip
  • 1213 posts
  • Gender:Male
  • Location:The Netherlands

Posted 09 August 2016 - 20:10

Nice! It seems you have also figured out a way to delete unused columns at the left. I will bluntly copy this for my Split into Separate Tracks Tool... :-)


  • ffx and Neurogami like this

#3 ffx

ffx

    Guruh Motha Fakka is Levitating and Knows Everything About Renoise Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPipPip
  • 2899 posts
  • Gender:Not Telling
  • Interests:Renoise sidechaining, macOS fanboying

Posted 09 August 2016 - 20:21

Nice! It seems you have also figured out a way to delete unused columns at the left. I will bluntly copy this for my Split into Separate Tracks Tool... :-)

fladd, do you have fancy detection code that I can borrow? :)

EDIT: lol, n/m.

Edited by ffx, 09 August 2016 - 20:48.

MacOS 10.12.6 Retina, Renoise 3.1 64 bit   -   Tuned Shortcuts | Multi-Jump From/To Send | Quick Template | Insert Native DSP Menu (incl. deprecated)


#4 danoise

danoise

    Probably More God or Borg Than Human Member

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

Posted 09 August 2016 - 20:23

Nice! It seems you have also figured out a way to delete unused columns at the left. I will bluntly copy this for my Split into Separate Tracks Tool... :-)

 

Hm, I think I'd wait until the tool has settled a bit. There is currently no 'easy' way to implement this in your own tool, you'd have to figure out a lot of stuff on your own. 

 

But I can explain the basic concept, because that's simple enough.

 

Step 1 extracts information and creates 'voice-runs' - tracking everything that happens between a notes being triggered to its release. That's what all those 'collection options' are for. 

Step 2 iterates through those voice-runs and sorts the data. Much easier to deal with voice runs than iterating through a pattern, line-by-line. 

 

This approach makes it possible to preserve things like note-offs that belong to a given note, notes with glide commands and other special cases. 


Tracking with Stuff. API wishlist | Soundcloud


#5 danoise

danoise

    Probably More God or Borg Than Human Member

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

Posted 09 August 2016 - 20:37

Here's a GIF showing how unique notes can "unfold" a column and squash it together again:
voice-runner-demo.gif?raw=1
  • Ledger, piranhatron2000 and Woodpecking Mantis like this

Tracking with Stuff. API wishlist | Soundcloud


#6 danoise

danoise

    Probably More God or Borg Than Human Member

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

Posted 09 August 2016 - 21:11

Another GIF showing how the built-in navigation between voice-runs works
(it selects anything matching the current collection options beneath the cursor position)
 
voice-runner-navigation.gif?raw=1
 
To use navigation, assign keybindings/MIDI mappings, or press arrow keys while the tool dialog is focused...
  • Woodpecking Mantis likes this

Tracking with Stuff. API wishlist | Soundcloud


#7 ffx

ffx

    Guruh Motha Fakka is Levitating and Knows Everything About Renoise Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPipPip
  • 2899 posts
  • Gender:Not Telling
  • Interests:Renoise sidechaining, macOS fanboying

Posted 10 August 2016 - 12:08

Hm, but I totally missing now the ability to split the notes to different tracks! That was the purpose of the reorder-notes-tool.

 

Can you please add?   :dribble:  Also that automatically creation of a group is nice.

 

Also missing track context menu entry, personally I never look into tools menu, since it has no structure.


Edited by ffx, 10 August 2016 - 12:10.

MacOS 10.12.6 Retina, Renoise 3.1 64 bit   -   Tuned Shortcuts | Multi-Jump From/To Send | Quick Template | Insert Native DSP Menu (incl. deprecated)


#8 SourMash

SourMash

    Member

  • Normal Members
  • PipPip
  • 19 posts
  • Gender:Male

Posted 10 August 2016 - 12:10

This tool is really cool and helpful, thank you.



#9 danoise

danoise

    Probably More God or Borg Than Human Member

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

Posted 10 August 2016 - 20:59

Right, first bugfix release - v1.01

FIXED Sort 'Whole Phrase' could throw error
FIXED Merge 'Whole Pattern' could throw error
FIXED Sorting phrases without sample columns + 'unique instrument' option enabled now working
FEATURE Added context-menu entries to pattern/phrase editor 

  • Woodpecking Mantis likes this

Tracking with Stuff. API wishlist | Soundcloud


#10 Woodpecking Mantis

Woodpecking Mantis

    Super Advanced Member

  • Normal Members
  • PipPipPipPip
  • 158 posts
  • Gender:Male
  • Location:Montréal, Qc
  • Interests:Plentifull...Renoise, Max/MSP, DSP, Sound design to name related ones...

Posted 11 August 2016 - 02:51

Hey Danoise thanks for that (another) amazing tool!

 

I'm want to report that i'm getting a scripting error when I try to merge:

 

Renoise\V3.1.0\Scripts\Tools\com.renoise.VoiceRunner.xrnx\main.lua' failed in one of its notifiers.

Please contact the author (danoise [bjorn.nesby@gmail.com]) for assistance...

.\source/xLib/classes/xVoiceRunner.lua:1105: variable 'run_idx' is not declared
stack traceback:

 

 

  [C]: in function '_error'
  [string "local mt = getmetatable(_G)..."]:29: in function <[string "local mt = getmetatable(_G)..."]:24>
  .\source/xLib/classes/xVoiceRunner.lua:1105: in function 'merge_columns'
  .\source/VR.lua:417: in function <.\source/VR.lua:364>
  (tail call): ?
  .\source/VR.lua:268: in function 'do_merge'
  .\source/VR_UI.lua:295: in function <.\source/VR_UI.lua:293>

 

2806wd2.jpg


Edited by Woodpecking Mantis, 11 August 2016 - 02:51.


#11 KASETA

KASETA

    Member

  • Normal Members
  • PipPip
  • 46 posts
  • Gender:Male
  • Location:Lithuania

Posted 11 August 2016 - 11:54

Oh man! This is so great! 

This should be implemented inside Renoise!

Thank you so much!



#12 danoise

danoise

    Probably More God or Borg Than Human Member

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

Posted 11 August 2016 - 12:26

Thanks woodpecking mantis! Tried to reproduce that one, but I couldn't.
Could you perhaps share the pattern data? (copy to the clipboard and paste the XML here)

Oh, and I just discovered another issue, when you are trying to do a 'normal' sort and there aren't enough visible note columns to begin with. The solution form now: expand columns before doing the sort...

Tracking with Stuff. API wishlist | Soundcloud


#13 boonier

boonier

    Advanced Member

  • Normal Members
  • PipPipPip
  • 103 posts

Posted 11 August 2016 - 13:37

Really nice tool this. Thorough.

 

thanks



#14 Woodpecking Mantis

Woodpecking Mantis

    Super Advanced Member

  • Normal Members
  • PipPipPipPip
  • 158 posts
  • Gender:Male
  • Location:Montréal, Qc
  • Interests:Plentifull...Renoise, Max/MSP, DSP, Sound design to name related ones...

Posted 12 August 2016 - 01:50

Thanks woodpecking mantis! Tried to reproduce that one, but I couldn't.
Could you perhaps share the pattern data? (copy to the clipboard and paste the XML here)

Oh, and I just discovered another issue, when you are trying to do a 'normal' sort and there aren't enough visible note columns to begin with. The solution form now: expand columns before doing the sort...

Sorry, I've changed the pattern since that post, but I get the same result when trying to merge this (in the spoiler):

Here is the script error window:

 

I've blanked the username...

Spoiler

 

Here is the xml for that pattern:

Spoiler



#15 SourMash

SourMash

    Member

  • Normal Members
  • PipPip
  • 19 posts
  • Gender:Male

Posted 13 August 2016 - 03:02

If I may intrude, i got this error message as well; i think when trying to merge notes on a same line but different columns? (that was my uneducated conclusion)

 

That was with the prerelease version. Ver. 1.01 deletes notes when merging notes on the same line, giving the rightmost columns precedence

 

Hope this helps!


  • Woodpecking Mantis likes this

#16 danoise

danoise

    Probably More God or Borg Than Human Member

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

Posted 13 August 2016 - 12:34

@Woodpecking Mantis: I think you need to use the lastest version of the tool? 

It's not perfect - normal sorting still has some unresolved problems - but merging should work as advertised.

 

That was with the prerelease version. Ver. 1.01 deletes notes when merging notes on the same line, giving the rightmost columns precedence

 

Yep, merging is supposed to be potentially destructive - squashing things into a single column, like you describe. 

For the same reason it's not trying to call itself a sort operation, because it doesn't really care about note values. 

Which is why, next to the normal and unique sorting mode, we should have a "compact" mode - packing things as tightly together as possible. 

 

I wonder also if this merge process could be finetuned some more... Perhaps warn you when things are about to get lost - obviously, with a "don't show this message again" checkbox. 

And when you have multiple things happening in various note-columns, would there be cases where you'd want to keep something over something else? 

I think the current approach (keeping the rightmost column) works OK, but I would still love to have some input on this.

 

This would be the featureset that I would want to "officially" release this tool with (final v1) 


  • Woodpecking Mantis likes this

Tracking with Stuff. API wishlist | Soundcloud


#17 Woodpecking Mantis

Woodpecking Mantis

    Super Advanced Member

  • Normal Members
  • PipPipPipPip
  • 158 posts
  • Gender:Male
  • Location:Montréal, Qc
  • Interests:Plentifull...Renoise, Max/MSP, DSP, Sound design to name related ones...

Posted 13 August 2016 - 16:34

@Woodpecking Mantis: I think you need to use the lastest version of the tool? 

It's not perfect - normal sorting still has some unresolved problems - but merging should work as advertised.

 

 

Yep, merging is supposed to be potentially destructive - squashing things into a single column, like you describe. 

For the same reason it's not trying to call itself a sort operation, because it doesn't really care about note values. 

Which is why, next to the normal and unique sorting mode, we should have a "compact" mode - packing things as tightly together as possible. 

 

I wonder also if this merge process could be finetuned some more... Perhaps warn you when things are about to get lost - obviously, with a "don't show this message again" checkbox. 

And when you have multiple things happening in various note-columns, would there be cases where you'd want to keep something over something else? 

I think the current approach (keeping the rightmost column) works OK, but I would still love to have some input on this.

 

This would be the featureset that I would want to "officially" release this tool with (final v1) 

 

You're right, I assumed that I've updated through the auto-update tool, which I run each time I open Renoise without even looking at what I updating...

 

Its working now. Thanks for the support and congrats for this great work!


Edited by Woodpecking Mantis, 13 August 2016 - 16:40.


#18 danoise

danoise

    Probably More God or Borg Than Human Member

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

Posted 23 August 2016 - 17:51

There's a new version up (v1.02), which mostly fixes a number of bugs for the "normal" sorting mode. 

So, starting with this version there should no longer be the risk of any lost notes as a result of doing a sort. 

 

It also introduces an additional mode, "compact sort", which is a more simplistic - but still non-destructive - sorting mode. 

It works by reconstructing the pattern data, line by line. Unlike the normal sort, notes can appear "across columns", but will always respect the high-low or low-high direction on each individual line. 

This mode is the optimal choice if you want to sort notes by pitch but also, conserve space in the pattern editor.

 

When it comes to the normal sorting, I am aware of a few unresolved edge cases.

If you come across one, please tell (or even better: share the pattern data - copy the pattern and paste the clipboard here in this topic). 


Tracking with Stuff. API wishlist | Soundcloud


#19 danoise

danoise

    Probably More God or Borg Than Human Member

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

Posted 22 September 2016 - 11:27

Since no additional bugs were reported for a while, I've put it on the tools page.

 

splash-big_0.png

 

Aimed for that certain cinematic feeling  :)


  • ffx likes this

Tracking with Stuff. API wishlist | Soundcloud


#20 ffx

ffx

    Guruh Motha Fakka is Levitating and Knows Everything About Renoise Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPipPip
  • 2899 posts
  • Gender:Not Telling
  • Interests:Renoise sidechaining, macOS fanboying

Posted 22 September 2016 - 12:16

Lol nice Logo  :guitar:


MacOS 10.12.6 Retina, Renoise 3.1 64 bit   -   Tuned Shortcuts | Multi-Jump From/To Send | Quick Template | Insert Native DSP Menu (incl. deprecated)


#21 danoise

danoise

    Probably More God or Borg Than Human Member

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

Posted 23 September 2016 - 19:35

Lol nice Logo  :guitar:

 

Pimped it some more. Drop shadow and a cool background can do wonders

 

splash-big2.png


Tracking with Stuff. API wishlist | Soundcloud


#22 Raul (ulneiz)

Raul (ulneiz)

    Guruh Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPip
  • 965 posts
  • Gender:Male
  • Location:Spain

Posted 29 September 2016 - 11:43

Hi Danoise!

 

I have not had much time to thoroughly test this tool. But I greatly appreciate the dedicated effort. Programming these things costs a lot of time and patience, and sometimes is undervalued. We are very lucky to have you in the community.

 

Thank you very much!

 

Congratulations for the icon of VoiceRunner. Is simillary to Doctor Strange, superhero and magician!  ^_^


  • Conner_Bw, Djeroek and joule like this

:excl: Development of my tool: GT16-Colors

 

:excl: My API wishlist R3.1 (updated 24 July 2017):

Spoiler

 

:excl: My Renoise 3.1 wishlist (updated 18 July 2017):

Spoiler

#23 danoise

danoise

    Probably More God or Borg Than Human Member

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

Posted 29 September 2016 - 17:26

I have not had much time to thoroughly test this tool. But I greatly appreciate the dedicated effort. 

 

Thanks! It does a lot of the things that you've requested - would be interesting to see if you can break it  :)

 

The biggest limitation is that it doesn't care about open voices that cross over from pattern to pattern. This would not be _insanely_ hard to support, but I want the foundation to be solid before adding such a "luxury feature". Also, it only sorts within the context of a single track, so you can't currently use it to split notes into separate tracks. 


Tracking with Stuff. API wishlist | Soundcloud


#24 thereturnofkippertoffee

thereturnofkippertoffee

    New Member

  • Normal Members
  • Pip
  • 8 posts

Posted 07 November 2016 - 16:31

This is great! Thanks daNoise :D



#25 Drop Shadow

Drop Shadow

    Big Daddy Member

  • Normal Members
  • PipPipPipPipPipPipPip
  • 434 posts
  • Gender:Male
  • Location:Copenhagen

Posted 07 November 2016 - 17:14

Drop shadow and a cool background can do wonders

 

We sure can.







Also tagged with one or more of these keywords: Pattern editor, phrase editor, note sorting