Jump to content


Photo

New Tool (2.8): Clip Arranger (Beta)


  • Please log in to reply
17 replies to this topic

#1 elmex

elmex

    Local Chief Member

  • Normal Members
  • PipPipPipPipPip
  • 209 posts

Posted 23 March 2012 - 00:28

I've recently been working on a tool that mimics Abletons clip follow actions.
Just finished it and tested most things. Before I go to bed I wanted to push it out,
so that others maybe have fun playing with it.

We start out with a nice gif animation of the workflow:

Posted Image

This only shows how to generate random continuations of that simple bassdrum.
But imagine expanding that to other parts of a drum pattern. Just from two
variations of each drum pattern part you can create a very varied drum
loop easily. Same with melodies. It's a great way to get ideas and fill
holes in your arrangement or sections with at least something else than silence.

If I find the time and motivation I might put together a more throughout
demo of the tool. I also need to collect more experience with it myself, so consider
it an alpha/beta status.

Now some text from the readme file:

* Features

- Brings Ableton Live's "Follow Actions" into the Renois realm, becoming
a completely new tool and workflow for composition.

- Selecting "clips" of a pattern track by adding a special FX command.

- Fill empty areas, experiment around with your material, write
whole compositions based on chance by specifying "Follow Actions"
of clips.

- All clip properties are saved in the song and will be available for
the next time you load it.

- Clips are not limited to a single track and can be used to generate data
for other tracks than they were originally placed on.

- Can be used for live performance and jamming by generating new pattern
data for a pattern sequence loop.

* Workflow

1. Select areas (be sure to include the fx colum that the mark should
go to) in the pattern editor, and mark them using the "Make Clip"
item from the context menu.

2. Go to the "Clip Manager", select the clip, edit properties and
add sensible follow actions.

3. Go into the pattern matrix, select some slots and go on "Generate from Clips".

4. Click on the clips in the clip matrix from the dialog that popped up.
This will generate output immediately and write it into the patter matrix.

* Hack Alert

There are two major hacks in this tool, that might be the source of many rough
edges:

1. Clips are marked using the Pattern FX command for the last DSP in your
DSP chain. This means, that clip markers will collide with very long
DSP chains (beyond 30 devices). There is no workaround for that currently,
and maybe never will be.

2. The tool creates a fake instrument in your instrument list. It uses it for
storing additional information about the clip properties (Name, Length settings,
Follow Actions and such stuff). You can move it around freely, but you are
better off not messing with it's sample or it's settings in general.
Oh, and DO NOT change it's name. The name of the instrument is the only
way for the tool to find it.


Please also read the Full README, it lists
the known bugs, recent changes and also poses as manual for the tool.

Download Link: com.renoise.elmex.ClipArranger.xrnx

Edited by elmex, 24 March 2012 - 13:08.

  • danoise and radian like this

#2 phuture

phuture

    Super Advanced Member

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

Posted 23 March 2012 - 01:23

holy o0 !

... slowly it sinks in what this can do. (a lot!) feeling like a kid in the candy store atm ;]

#3 kazakore

kazakore

    Probably More God or Borg Than Human Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 6140 posts
  • Gender:Male

Posted 23 March 2012 - 03:05

Wow! Impressed! How does it deal with different length clips?

#4 elmex

elmex

    Local Chief Member

  • Normal Members
  • PipPipPipPipPip
  • 209 posts

Posted 23 March 2012 - 07:44

Each clip has it's own length. And it will just be appended to the
previous generated clip. Thats all. If you got clips that are not power
of two long, you can set the "PoT Padding" to "empty" or "repeat", which
will pad your clip up to the next power of two (8, 16, 32, 64, ...).
"empty" basically means that the additional padding consists of empty
lines. and "repeat" means that the clip is repeated.

There is also a pre-multiplier which increases the length of a clip
by multiplying it by some factor. If you multiply it by 3, you get
your same clip repeated 3 times. So if you got a clip that is 5 lines
long, and multiply it by 3, you get a 15 line clip with the first 5
lines being repeated over and over again.

#5 aklt

aklt

    Super Advanced Member

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

Posted 23 March 2012 - 11:55

This looks really useful, can't wait to try it out!
Cpu: Core I5 3.3GHz
Ram: 8GB
Os: Arch Linux
Tool: dk.bladre.Marks

#6 esaruoho

esaruoho

    Guruh Motha Fakka is Levitating and Knows Everything About Renoise Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPipPip
  • 2678 posts
  • Gender:Male
  • Location:Kontula, Helsinki, Finland
  • Interests://Varying Interests//

Posted 23 March 2012 - 12:18

i'm interested in this

http://lackluster.org | on Bandcamp | on YouTube | on Facebook | on Spotify | on iTunes | on TiDAL | on Soundcloud | 

http://twitter.com/esaruoho | http://esaruoho.tumblr.com | GitHubesaruoho@gmail.com | 

| macOS 10.13 High Sierra | MacBook Pro 2.8 GHz Intel Core i7 / 16 Gb 1600 MHz DDR 3 |

| http://renoise.com/tools/paketti | BTC: 1BoZ9rvb8wT7dFNyVPwSX7DLj3stNo7844 | http://paypal.me/esaruoho |

| Latent Impulse Tracker/Scream Tracker 3/Schism Tracker <-> Renoise fanatic |

More API functions, please! ;) http://forum.renoise.com/index.php/topic/26329-the-api-wishlist-thread/page-3#entry240266

#7 kazakore

kazakore

    Probably More God or Borg Than Human Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 6140 posts
  • Gender:Male

Posted 23 March 2012 - 14:44

Each clip has it's own length. And it will just be appended to the
previous generated clip. Thats all. If you got clips that are not power
of two long, you can set the "PoT Padding" to "empty" or "repeat", which
will pad your clip up to the next power of two (8, 16, 32, 64, ...).
"empty" basically means that the additional padding consists of empty
lines. and "repeat" means that the clip is repeated.

There is also a pre-multiplier which increases the length of a clip
by multiplying it by some factor. If you multiply it by 3, you get
your same clip repeated 3 times. So if you got a clip that is 5 lines
long, and multiply it by 3, you get a 15 line clip with the first 5
lines being repeated over and over again.


Very nice! Sounds well thought out, although I do know some people who nearly always write in LPB=12 so only the most basic mode would work for them. May be worth considering in the future...

Is there a Shrink/Expand option that would insert the clip at half/double time? Or do you need different clips for that?

Does it copy all data, including automation and pattern commands?


Wish I actually had time to play! :)

#8 elmex

elmex

    Local Chief Member

  • Normal Members
  • PipPipPipPipPip
  • 209 posts

Posted 23 March 2012 - 15:03

Very nice! Sounds well thought out, although I do know some people who nearly always write in LPB=12 so only the most basic mode would work for them. May be worth considering in the future...

Well, there is nothing that prevents them from preparing their clips carefully in the first place :)

Is there a Shrink/Expand option that would insert the clip at half/double time? Or do you need different clips for that?

There is no other functionality that mangles the clips data except the length modifiers. In the end, people would
probably love to have the complete advanced edit functionality available to modify their clips on the fly.

Does it copy all data, including automation and pattern commands?

It copies all columns (note and fx columns), like cut/copy & paste. But no automation data, which more or less
belongs to the track itself than the pattern data. I think the separation of automation data from pattern data
is quite important and useful. Like with the pattern aliases in the pattern matrix.

#9 .xrns

.xrns

    Chief Above Chief Member

  • Normal Members
  • PipPipPipPipPipPip
  • 312 posts
  • Gender:Male

Posted 24 March 2012 - 01:26

Very interesting tool!

Thanks for sharing. I'll check this out asap.
-


#10 elmex

elmex

    Local Chief Member

  • Normal Members
  • PipPipPipPipPip
  • 209 posts

Posted 24 March 2012 - 12:21

Just wanted to say, that I just updated the tool with some changes.
Here from the README changelog:

- Renamed "Even Padding" to "PoT Padding".
- Added "Weight:" label.
- Rewrote the "Lines" GUI code in the clip properties, so that the multiplier valuebox works properly.
- The "Clip Properties" remember the last used clip now.
- Improved layout of the "Clip Properties".
- Changed "Clip Generator Test" appearance to be more readable.
- Introduced "Direct: *" actions, which allow jumping into a clip and ignoring it's follow actions, while passing a forced "Meta: *" action.
- Added "Random output repeat" for each clip, which will repeat the clip for a random number of times. With settable min/max values.


I hope I didn't break anything serious, or introduced too many new bugs :)

And because humans, and especially musicians/artists, are visual beings, here a recent screenshot:

Posted Image

Edited by elmex, 24 March 2012 - 12:26.


#11 elmex

elmex

    Local Chief Member

  • Normal Members
  • PipPipPipPipPip
  • 209 posts

Posted 24 March 2012 - 17:25

Like promised, here is the first part of the clip arranger demo.
I just lay down some bassdrums, nothing fancy.



#12 elmex

elmex

    Local Chief Member

  • Normal Members
  • PipPipPipPipPip
  • 209 posts

Posted 24 March 2012 - 20:33

And here are Part 2 and Part 3:





#13 elmex

elmex

    Local Chief Member

  • Normal Members
  • PipPipPipPipPip
  • 209 posts

Posted 01 April 2012 - 08:48

I wonder, does anyone actually use this tool in it current state? What are the experiences? I ask, because I developed a new approach, which is about rule based composition. And it builds on the "clips" that are definable here. Here is a rough documentation of the interface I designed for the rule based approach:

Posted Image

If noone actually uses the follow actions presented here, I would love to replace that part with this new approach. Which I think is much more straight forward and probably much easier to grasp and still offers equally many things.

The big difference is, that you can compose entire songs, and not just string clips together to fill a single track. A rule is basically what a "meta clip" is. It offers you to add "Alternatives", which are randomly choosen based on the "weight". Then the rule is split up into multiple "Timeslices". Which offers the user fine grained control over the repetition. The "called rules" are then called to generate lines of song data. That can be for a single track as well as for multiple tracks. A "called rule" can either be directly data from the patterns, the so called "clips" or they can be another rule, which again has it's own "alternatives" and "timeslices".

I think this approach is much easier to use, because you can actually build upon your clips and get to an ever higher level of abstraction. These rules allow fine grained control over probability based drum lines as well as building entire tracks or sections based on probability and repetition. In the end it's of course up to the user how he defines the rules.

The code for this is already implemented, but not tested well enough yet. And I would love to wait for feedback before releasing it and throwing away the "meta clip" concept.

#14 vV

vV

    God's or Borg's Chief and Ruler of All Species

  • Moderator
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 16855 posts
  • Gender:Male
  • Location:Netherlands

Posted 01 April 2012 - 08:58

The big difference is, that you can compose entire songs, and not just string clips together to fill a single track. A rule is basically what a "meta clip" is. It offers you to add "Alternatives", which are randomly choosen based on the "weight". Then the rule is split up into multiple "Timeslices". Which offers the user fine grained control over the repetition. The "called rules" are then called to generate lines of song data. That can be for a single track as well as for multiple tracks. A "called rule" can either be directly data from the patterns, the so called "clips" or they can be another rule, which again has it's own "alternatives" and "timeslices".

I think this approach is much easier to use, because you can actually build upon your clips and get to an ever higher level of abstraction. These rules allow fine grained control over probability based drum lines as well as building entire tracks or sections based on probability and repetition. In the end it's of course up to the user how he defines the rules.

The code for this is already implemented, but not tested well enough yet. And I would love to wait for feedback before releasing it and throwing away the "meta clip" concept.


Ever looked into this tool?:
http://forum.renoise...tool-28-renoam/
Combined with your ideas sounds like a powerful combination.
Vv....


cpu Intel Core i7-4820K @3.70GHz
chipset Intel X79 chipset
mem 32 Gb 2400Mhz
os Win 7 64-bit SP1, DirectX 11
audio ESI ESP1010e - > Driver rev:2.0.6.0
video nVidia Geforce GTX780 - > Driver rev:335.23


Renoise Official Manual

#15 elmex

elmex

    Local Chief Member

  • Normal Members
  • PipPipPipPipPip
  • 209 posts

Posted 01 April 2012 - 09:37

Yea, I know Renoam. It's a similar idea, but Renoam works on whole patterns in the pattern sequence. Originally I wanted to make a similar grammar based approach instead of a GUI. But I decided that a GUI is maybe easier to work with in the long run. Especially due to the fine grained "clip" approach.
No idea currently how a "combination" of Renoam and this would look like.

#16 elmex

elmex

    Local Chief Member

  • Normal Members
  • PipPipPipPipPip
  • 209 posts

Posted 03 April 2012 - 10:44

Ok, I've reworked the GUI of the rules a bit. See some posts above this one for the "documentation" in form of a commented screenshot.
I decided to discontinue the concept from the first design with follow actions being tied to "clips". I will remove the follow action stuff
from the clip manager and make a new release soon.

#17 martyfmelb

martyfmelb

    Big Masta Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPip
  • 502 posts
  • Gender:Male

Posted 27 April 2012 - 17:30

Using the tool in its current state makes for very, very quick fills. Great time saver for trying random comps to "see what sticks" (lazy, lazy composer as I am).

For those who might want to algorithmically generate their entire composition (you totally knew the recording industry already did this, right), I think we'd need some sort of 'snap beginning/end of clip to PoT or beginning/end of other clip' layer for stuff like auto drum fills for medium-term composition, and auto bridges for longer-term composition.

But man, this thing just trivialises composition. I love it. Add graphs over time to modulate your 'probability' sliders and you're done (that control would help position the 'breakdown' for a piece of pop music, or the climax in a more highbrow composition).

I am very pleased to be involved in the creative-destruction of the so-called creative industries B-)
soundcloud : traxinspace
os win7 / directx11 skin aero default mobo asus m4a 89td pro / usb3 cpu amd phenom ii x6 1055T @ 2.8ghz + mem 8gb 1333mhz ... I think
video ati radeon hd 6900 under catalyst sound onboard realtek under asio4all, audiobox usb
storage local seagate sata 250gb as c:\ external seagate ide 1tb as l:\
utils 7 taskbar tweaker, hoekey hotkey manager, launchy, strokeit mouse gestures, nexus dockbar, winsplit revolution window organiser

#18 afta8

afta8

    Big Super GrandMasta Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPip
  • 751 posts
  • Gender:Male
  • Location:London

Posted 27 April 2012 - 21:23

Ooh missed this one, looks very cool, at this rate I'll be able to ditch ableton sooner than I thought!