Jump to content


Photo

New Tool (3.1): Autobender

automation

  • Please log in to reply
25 replies to this topic

#1 drakmaniso

drakmaniso

    Advanced Member

  • Normal Members
  • PipPipPip
  • 102 posts
  • Gender:Not Telling

Posted 19 October 2015 - 15:30

A simple but flexible tool to create automation curves.

 

You can download the latest version on the tool page.

 

Usage: select a range in the automation editor, right click on it and choose "Autobender..." from the menu. The curve is created in real time while you adjust the parameters.

 

Autobender_1.3_screenshot.png

 

  • The two vertical sliders set the start and end values (they are also automatically updated when you change the selection).
  • The XY pad adjust the curve:
    • The vertical axis is the curvature (i.e. strength of the curve); at center the curve is a straight line.
    • The horizontal axis transforms the curve into an s-shape (at center the shape is perfectly symmetrical).
  • The horizontal slider below the pad adjust the "character" of the curve : middle is exponential, left is logarithmic, right is sinusoidal(-ish).
  • The box at the bottom defines how points are spaced on the curve.
  • Finally, the padlock icon at the bottom lock the currently selected range; this way you can make another selection and open a new Autobender window which will operate independently. This allows to edit multiple section of an automation curve at the same time.

 

I intend to keep the tool simple and to-the-point, so I probably won't add many features to it, if at all (also, this was more an offshoot of another project than a tool I intend to use). Obviously I'll fix bugs, and may tweaks a few things based on feedback.

 

I'm especially curious about the usability of the XY pad. I went through a lot of thinking and prototyping to find a solution that gives a large palette of musically relevant curves while staying simple enough. If you have any opinion on this, I'm glad to discuss it further.

 

Note: the idea to use a XY pad came from user gova in this thread, though I went in a different direction than the one proposed (i.e. not bezier curves).

 

Versions history:


Edited by drakmaniso, 24 October 2015 - 20:04.

  • Ledger, Djeroek, martyfmelb and 3 others like this

#2 Djeroek

Djeroek

    Probably More God or Borg Than Human Member

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

Posted 19 October 2015 - 15:57

Great stuff, thanks!  :drummer:

 

...am I right this tool isn't listed yet in they preferences\keys list to assign it to a keyboard shortcut? Can't find it real quick, would be nice for quickly booting up the tool.


  • Ledger likes this

#3 Ledger

Ledger

    Guruh Motha Fakka Knows More About Renoise Than Taktik

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 3645 posts
  • Gender:Male

Posted 19 October 2015 - 16:00

Brilliant thanks!


--> Lua for newbies <--

My Scripts On Forum

Top Tip!

 

cpu : Xeon 1231 v3, os : Win 7 64bit, audio: Audient iD4
posts as 4tune @ KvR and some other music related sites


#4 drakmaniso

drakmaniso

    Advanced Member

  • Normal Members
  • PipPipPip
  • 102 posts
  • Gender:Not Telling

Posted 19 October 2015 - 16:11

...am I right this tool isn't listed yet in they preferences\keys list to assign it to a keyboard shortcut? Can't find it real quick, would be nice for quickly booting up the tool.

 

I knew I was forgetting something... I will add it shortly.


  • Djeroek likes this

#5 danoise

danoise

    Probably More God or Borg Than Human Member

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

Posted 19 October 2015 - 17:14

std::logic_error: 'ViewBuilder: invalid value for mini slider: '-1.38778e-17'. value must be [0 - 1].'

Got this while 'bending' the volume (right-hand side slider) all the way down. 

 

Other than that, it works great - XY pad is sufficient as you are receiving instant, or near-instantaneous feedback in the envelope below. 


Tracking with Stuff. API wishlist | Soundcloud


#6 Ledger

Ledger

    Guruh Motha Fakka Knows More About Renoise Than Taktik

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 3645 posts
  • Gender:Male

Posted 19 October 2015 - 17:23

Error if load a new song with gui still open then try and apply the tool to a new envelope. 

 

Looks like the object needs to be checked and updated if in a new song or maybe force close the tool with a new_document notifier, so the user has to re-initialize it after they load the new song? 
 

  --------------------------------------------    
  --close dialog function ON NEW SONG
  --------------------------------------------
  local function closer(dialog)
    
   ----any extra housekeeping here----
    
    --check for open dialog
    if dialog and dialog.visible then
      --close it
      dialog:close() 
    end
  end

  --attach notifier, fired when renoise loads a new song 
  ------------------------------------------------------
  renoise.tool().app_release_document_observable:add_notifier(closer,dialog)
'C:\Users\P\AppData\Roaming\Renoise\V3.1.0\Scripts\Tools\org.drakmaniso.Autobender.xrnx\main.lua' failed in one of its notifiers.
The notifier will be disabled to prevent further errors.

Please contact the author (drakmaniso | moussault.laurent@gmail.com) for assistance...

std::logic_error: 'trying to access a nil object of type 'class PatternTrackEnvelope'. the object is not or no longer available.'
stack traceback:
  [C]: ?
  [C]: in function '__index'
  [string "do..."]:37: in function <[string "do..."]:35>
  .\autobender.lua:191: in function 'update_automation'
  .\autobender.lua:29: in function <.\autobender.lua:27>

Edited by Ledger, 19 October 2015 - 17:30.

--> Lua for newbies <--

My Scripts On Forum

Top Tip!

 

cpu : Xeon 1231 v3, os : Win 7 64bit, audio: Audient iD4
posts as 4tune @ KvR and some other music related sites


#7 drakmaniso

drakmaniso

    Advanced Member

  • Normal Members
  • PipPipPip
  • 102 posts
  • Gender:Not Telling

Posted 19 October 2015 - 17:45

Thanks for the bug reports.

 

I'll add safeguards for the sliders auto-update (not sure why these strange values pop up randomly, though). I'll also close the dialog when a new song is created (thanks for the code snippet!).


  • Ledger likes this

#8 toimp

toimp

    Big Masta Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPip
  • 548 posts
  • Gender:Male
  • Location:Germany
  • Interests:Music, music, music ...

Posted 19 October 2015 - 17:52

I'm especially curious about the usability of the XY pad.

 

There are alot cases. I would use this to record cutoff / resonance automations on neuro basses. Looping a pattern and play with XY till something useful comes out. I'll try your tool later, looks great.


Edited by toimp, 19 October 2015 - 17:52.


#9 drakmaniso

drakmaniso

    Advanced Member

  • Normal Members
  • PipPipPip
  • 102 posts
  • Gender:Not Telling

Posted 19 October 2015 - 22:09

New version, fixing all the bugs reported above:

 

Attached File  org.drakmaniso.Autobender_Rns310_v1.1.xrnx   5.22KB   139 downloads

 

  • Add the possibility to assign a key binding.
  • Prevent value errors while updating the sliders.
  • Close the dialog when a new song is created or opened (to prevent crashing).

 

I've also created a tool page.

 

Oh, and it has its place on github, too.

 

 

There are alot cases. I would use this to record cutoff / resonance automations on neuro basses. Looping a pattern and play with XY till something useful comes out. I'll try your tool later, looks great.

 

What I'm interested in, is how "natural" it feels to navigate the XY pad while doing such an exploration. It's probably not completely intuitive at first, but does it becomes predictable and familiar after some use?


  • Ledger likes this

#10 Ledger

Ledger

    Guruh Motha Fakka Knows More About Renoise Than Taktik

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 3645 posts
  • Gender:Male

Posted 20 October 2015 - 11:26

-Load a device in renoise DSP lane

-Use Autobender 1.1 on one of it`s parameters

-delete the device with tool gui still open: 

'C:\Users\P\AppData\Roaming\Renoise\V3.1.0\Scripts\Tools\org.drakmaniso.Autobender.xrnx\main.lua' failed in one of its notifiers.
The notifier will be disabled to prevent further errors.

Please contact the author (drakmaniso | moussault.laurent@gmail.com) for assistance...

No matching overload found, candidates:
void find_automation(PatternTrack const&,DeviceParameter&,lua_State*)
stack traceback:
  [C]: in function 'find_automation'
  .\autobender.lua:64: in function 'handle_parameter_change'
  .\autobender.lua:50: in function <.\autobender.lua:49>

--> Lua for newbies <--

My Scripts On Forum

Top Tip!

 

cpu : Xeon 1231 v3, os : Win 7 64bit, audio: Audient iD4
posts as 4tune @ KvR and some other music related sites


#11 drakmaniso

drakmaniso

    Advanced Member

  • Normal Members
  • PipPipPip
  • 102 posts
  • Gender:Not Telling

Posted 20 October 2015 - 11:45

Thanks Ledger. I'll post a bug fix soon.



#12 Ledger

Ledger

    Guruh Motha Fakka Knows More About Renoise Than Taktik

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 3645 posts
  • Gender:Male

Posted 20 October 2015 - 12:26

thanks,

 

 

re: the user friendlyness of the XY pad, it is certainly is useable but I would say off the bat a bit unintuitive.  I was sort of expecting the inverse corners (top right to bottom left) to respond how the opposite corners do (top right to top left)

i.e. CASE: Downward slope in editor 

 

Top right in XY
top right_1.PNG

 

Top left in XY but expected Bottom left to give this result

top left_2.PNG

 

Not sure if the arithmetic gets harder to implement for this though?

 

My current way to remind myself when I do a double take, is to think of the top edge of the XY as pushing a wave front along, and work from there. 


Edited by Ledger, 20 October 2015 - 12:26.

--> Lua for newbies <--

My Scripts On Forum

Top Tip!

 

cpu : Xeon 1231 v3, os : Win 7 64bit, audio: Audient iD4
posts as 4tune @ KvR and some other music related sites


#13 drakmaniso

drakmaniso

    Advanced Member

  • Normal Members
  • PipPipPip
  • 102 posts
  • Gender:Not Telling

Posted 20 October 2015 - 17:55

Yes, that's one of the points I'm not sure of.

 

Initially, I had a mapping working as you describe: the curvature axis (vertical) was bipolar, center was a straight line, and you "pushed" the curve above or below that.

 

The main problem is that there is two different continuous transformations: curvature, and what I call "torsion". They both share the same starting and ending point (they go from a curve above the straight line to a curve below the straight line), but pass through different transformations. Curvature is the most intuitive, because it makes sense graphically. But I think that the "torsion" axis, which transform the curve to an "s" shape, is the axis you most probably want to explore soundwise, in a continuous way.

 

I could map both axis completely to the XY pad:

 

Autobender_XYPad_layout.png

 

But then there is three problems:

  • The lower half of the pad is the mirror of the upper one, so space is wasted.
  • In the lower half the horizontal axis now behaves in the counter-intuitive direction (right to left when your mouse goes left to right).
  • Same thing for the vertical axis in the right half (the curve goes upward when your mouse goes downward).

To avoid wasting space, I decided to use only one half of the full mapping, and I chose the one that I thought was important to explore continuously (torsion). I think the choice between "curved above" and "curved below" is usually a one-off decision, one that you don't absolutely need to explore continuously.

 

I think this is one case where a graphical representation of the sound lead to expectations that are not necessarily the most musically important.

 

I'll try to see if I can find a solution to this dilemma. Your opinions are welcomed!

 

EDIT: Since I'm not sure my explanations are easy to follow, here's a temporary version of the tool, with the "full" mapping I describe above:

Attached File  org.drakmaniso.Autobender_Rns310_v1.100001.xrnx   5.26KB   277 downloads


Edited by drakmaniso, 20 October 2015 - 18:29.

  • Ledger likes this

#14 Djeroek

Djeroek

    Probably More God or Borg Than Human Member

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

Posted 20 October 2015 - 18:46

Got this while having the latest version installed, keybinded the tool, but didn't run it on any parameter yet, suddenly while switching tracks with the tab key gave;

 

 

'C:\Users\pluge\AppData\Roaming\Renoise\V3.1.0\Scripts\Tools\org.drakmaniso.Autobender.xrnx\main.lua' failed in one of its notifiers.

The notifier will be disabled to prevent further errors.
 
Please contact the author (drakmaniso | moussault.laurent@gmail.com) for assistance...
 
No matching overload found, candidates:
void find_automation(PatternTrack const&,DeviceParameter&,lua_State*)
stack traceback:
  [C]: in function 'find_automation'
  .\autobender.lua:64: in function 'handle_parameter_change'
  .\autobender.lua:45: in function <.\autobender.lua:44>


#15 Ledger

Ledger

    Guruh Motha Fakka Knows More About Renoise Than Taktik

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 3645 posts
  • Gender:Male

Posted 20 October 2015 - 19:04



EDIT: Since I'm not sure my explanations are easy to follow, here's a temporary version of the tool, with the "full" mapping I describe above:

attachicon.giforg.drakmaniso.Autobender_Rns310_v1.100001.xrnx

 

Thanks for the example.  Yes I can see that the official version is more friendly than this one!

Look forward to any new ideas you may come up with, but still a useful tool in it`s current action!


--> Lua for newbies <--

My Scripts On Forum

Top Tip!

 

cpu : Xeon 1231 v3, os : Win 7 64bit, audio: Audient iD4
posts as 4tune @ KvR and some other music related sites


#16 drakmaniso

drakmaniso

    Advanced Member

  • Normal Members
  • PipPipPip
  • 102 posts
  • Gender:Not Telling

Posted 21 October 2015 - 16:39

I've just released version 1.2, which fix the "crash when the device is deleted" issue, and also the keybinding issue reported by Djeroek.

 

Attached File  org.drakmaniso.Autobender_Rns310_v1.2.xrnx   5.23KB   126 downloads

 

It also changes the layout of the XY pad, to something that should be more intuitive.

 

The neutral position for curvature is now at center, and you push the curve upward or downward with a vertical movement. What is slightly less intuitive is the horizontal movement, since it has a slightly different effects if you are above or below the curve: in both case it applies "torsion" (i.e. transform into an s-shape), but with two different kind of symmetry. So there is now a completely new range of s-shapes accessible (rotated by 90 degrees), that are probably less natural sounding but still useful enough to include.

 

The layout is still not perfect, but I've come to the conclusion that the ideal layout would require a circular pad. Unfortunately I don't think it's possible to restrain the cursor in a disk on Renoise XY pad, so I could not experiment with that.

 


  • Ledger, Djeroek and aklt like this

#17 aklt

aklt

    Super Advanced Member

  • Normal Members
  • PipPipPipPip
  • 121 posts
  • Gender:Male
  • Interests:Drumming

Posted 23 October 2015 - 03:25

Thanks for this tool!

 

I found a small problem:  autobender.lua attempts to require AutobenderWindow.lua, but the file is called autobenderwindow.lua.

I'm using Linux, so file case matters.

 

Renaming it to have uppercase A and W fixed the error so I can use the tool.


Edited by aklt, 23 October 2015 - 03:26.

Cpu: Core I5 3.3GHz
Ram: 8GB
Os: Arch Linux
Tool: dk.bladre.Marks

#18 drakmaniso

drakmaniso

    Advanced Member

  • Normal Members
  • PipPipPip
  • 102 posts
  • Gender:Not Telling

Posted 23 October 2015 - 06:43

 I found a small problem:  autobender.lua attempts to require AutobenderWindow.lua, but the file is called autobenderwindow.lua.

I'm using Linux, so file case matters.

 

Ooops. I'll fix this in the next release. Thanks for the report!



#19 drakmaniso

drakmaniso

    Advanced Member

  • Normal Members
  • PipPipPip
  • 102 posts
  • Gender:Not Telling

Posted 24 October 2015 - 20:08

I've released a new version:

 

Attached File  org.drakmaniso.Autobender_Rns310_v1.3.xrnx   7.99KB   119 downloads

 

It fixes a filename case issue under Linux, and also add the ability to lock the currently selected range. Once an Autobender window is locked, you can change the selection anyway you want, Autobender will continue to operate on the old selection. You can now open another Autobender window to work on a different part of the automation curve at the same time.


  • Ledger and aklt like this

#20 ASM590319

ASM590319

    New Member

  • Normal Members
  • Pip
  • 5 posts

Posted 28 October 2015 - 20:21

'C:\Users\XXX\AppData\Roaming\Renoise\V3.1.0\Scripts\Tools\org.drakmaniso.Autobender.xrnx\main.lua' failed in one of its notifiers.
The notifier will be disabled to prevent further errors.

Please contact the author (drakmaniso | moussault.laurent@gmail.com) for assistance...

.\autobender.lua:213: attempt to compare two nil values
stack traceback:
  .\autobender.lua:213: in function 'update_automation'
  .\autobender.lua:30: in function <.\autobender.lua:28>



#21 drakmaniso

drakmaniso

    Advanced Member

  • Normal Members
  • PipPipPip
  • 102 posts
  • Gender:Not Telling

Posted 28 October 2015 - 21:48

Thanks for reporting this. I'll release a bug fix shortly.



#22 jaymcaaa

jaymcaaa

    New Member

  • Normal Members
  • Pip
  • 3 posts

Posted 06 January 2016 - 21:29

hi im having a problem with finding the tools they wont open up in renoise I have a legit copy it 3.0.1 when I try to put them in renoise it don't load in does it for all tools not sure is it my computer or a bug does anybody know?  the pdf shows what it says when trying to put them in

Attached Files


Edited by jaymcaaa, 06 January 2016 - 21:32.


#23 Djeroek

Djeroek

    Probably More God or Borg Than Human Member

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

Posted 07 January 2016 - 22:28

you're trying to import a tool made for 3.1 in 3.0.1?



#24 jaymcaaa

jaymcaaa

    New Member

  • Normal Members
  • Pip
  • 3 posts

Posted 12 January 2016 - 05:29

no I ment just 3.1  think it just says 3 0 1 but it means 3.1 it the latest version of renoise and first copy I bought so still learning or is there a 3.0.1 lol



#25 ΔBįSƧȔš ṼØȊÐƎ

ΔBįSƧȔš ṼØȊÐƎ

    Big Masta Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPip
  • 520 posts
  • Gender:Male
  • Location:Terror Australis

Posted 12 January 2016 - 07:14

no I ment just 3.1  think it just says 3 0 1 but it means 3.1 it the latest version of renoise and first copy I bought so still learning or is there a 3.0.1 lol

Please correct me if I am wrong, however from my understanding, If you purchase renoise you have access to beta versions, of which the current is 3.1 (and I am also assuming what this tool is made for). Many users have been on 3.1, though it is not available publicly unless you have a license.

On Windows, you can check your version (I only know by windows, so apologies if on other platform) by right clicking on "Renoise.exe", Selecting "Properties" and then clicking the "Details" tab where it will display the product version/file version.

3.1 is different to 3.01, you can however download and install 3.1 when logged into the backstage area of the renoise site with a current license.

 

Hope that was helpful and the right info.


Edited by Abissus, 12 January 2016 - 07:16.

┷┯┷┯┷┷┗┯┷┯┷┗┯┷ Ŧh̢ƏRę̡ I̕§ ̛B̢ë̕ΔÜt¥ i̷Й͟ ͘È̷ЯRØŔ̵ ͠ ä₦Ð MɐĢ͟iƆ !Ṇ͢ ӍΔLℲuИ¢Ț̡ï̸Ѻп ┯┷┯┯┷┷┯┷┷┗┷┷┯  

┷┷┗┯┷┯┷┷┗┯┷┯┷┯┷┗┷┯┷┷┷┷┗┯┷┯┯┷┷┯┷┗┷┗vaeprism.com┷┷┗┯┷┯┷┷┗┯┷┯┷┯┷┗┷┯┷┗┷┗┷┯┷┷┗┷┯┷┗┯






Also tagged with one or more of these keywords: automation