New Tool (3.1.0) SwapChop

I’ve uploaded a tool for manipulating the volume of pairs of note columns

Download from http://renoise.com/node/831

The idea is to add a series of volume command pairs so that the volumes of the two columns swaps back and forth.

Suppose you have a track with two note columns.

In the first you have a full-pattern sample playing some colossal beat.

In the second you have another colossal, but different, beat.

The goal is to switch between them during the playing of the pattern, with only one column audibly active at any given time.

If you did this by hand you could go through the pattern lines and set the note column value of one to “00” and the note column volume of the other to (say) “70”.

Perhaps you want them to swap every 6th line. Or maybe every 6th but also every 10th line.

You can do it but it’s tedious.

SwapChop automates this volume-setting work.

You get a simple GUI where you set the active volume for each note column. There is a text field where you can hand-enter a series of line numbers.

There is also a text field where you can enter a simple formula for generating line numbers.

The line numbers always start at zero. And the first note column is always set to be active while the second is set to zero volume.

You should not include any commas in your line-number list.

Auto-generate line numbers

  • i j k means line numbers increment by i, then j, then k, then i, then j, etc.

For example:

  • 3 5 would give you 3 8 11 16 19 24 … up to the number to lines in the current pattern.

  • 3 2 5 would give you 3 5 10 13 15 20 23 25 … up to the number to lines in the current pattern.

/ i j k gives you all the lines evenly divisible by any of i, j, k, etc.

For example:

/ 3 5 would give you 3 5 6 9 10 12 15 18 20 21 … up to the number to lines in the current pattern.

/ 6 would give you 6 12 18 24 30 … up to the number to lines in the current pattern.

You should be able to use any number of integers with either of those commands.

I’ve been using this on a few of my recent songs to get some nice kinetic percussion going on by swapping among different beats and percussion rythmns. For example: http://music.neurogami.com/track/packing

Really interesting idea and seems to work well, definitely will be using this to create some new things.

One thing I don’t understand though, if I set it to +4 and then want the opposite on the next track?

Really interesting idea and seems to work well, definitely will be using this to create some new things.

One thing I don’t understand though, if I set it to +4 and then want the opposite on the next track?

I’m not sure I understand the question. Each track is independent, so you can set whatever pattern of alternating volumes you like.

It operates on pairs of note columns withing a given track pattern, and always sets the first line of the right-hand note column to 00. If by “the opposite” you wanted to have the left-hand note columns start at 00 there’s currently no option for that. You’d have to swap the note columns.

I could add an option (with a pre-set default) to pick which of the two note columns “goes first”.

I went for the easy code of assuming the first column is always active on line 0.

Just as another tiny tiny suggestion. I’d probably expose the ‘chop’ volume to the user Neurogami, saves having it fixed to 00 in the script (and you just never know if someone would want to alter that.) :slight_smile:

[Edit: Deleted my ‘feature-creep’]

I’m not sure I understand the question. Each track is independent, so you can set whatever pattern of alternating volumes you like.

Ok, sorry it seems I misunderstood the purpose of the tool. I thought it worked with two tracks rather than two columns in the same track. Works really well now that I am using it correctly, thanks.

Ok, sorry it seems I misunderstood the purpose of the tool. I thought it worked with two tracks rather than two columns in the same track. Works really well now that I am using it correctly, thanks.

I started on code that would discern if the cursor was in a note column or in a track fx column, and if the latter then it would operate on two adjacent tracks. But that started getting complicated (e.g distinguishing among track types; what to do if the the track to the right is a group track). So I’ve put that on hold for now.

Just as another tiny tiny suggestion. I’d probably expose the ‘chop’ volume to the user Neurogami, saves having it fixed to 00 in the script (and you just never know if someone would want to alter that.) :slight_smile:

Perhaps. But the point of this tool was to automate the alternating muting of two note columns, and I want to avoid feature-creep.

…and I want to avoid feature-creep.

Fair enough :slight_smile:

Fair enough :slight_smile:

But the suggestion did make me think that a different (but similar) tool might work better, and solve some other features as well.

Instead of working on multiple columns, this other version would work on one. It would detect if in a note column or in a track fx column, and place volume values appropriately. It would use the same line-number generation approach.

It would need to save the last-used values, and allow for indicating the two alternating values.

This would make it easier to move around to different columns/track/groups and insert the volume values, and the tool itself would not have to figure out how to handle any adjacent column or track. And you can get far more tricky pattern groups since they are not coupled.

A downside to this is that it makes it harder to experiment with different settings. The current tool makes it trivial to try all sorts of pattern variations on adjacent note columns.

But being able to insert values into a single fx column seems handy.

Splitting it out like that means I can have one tool that’s fairly focused and quick to use, and another that is more general.

Based on some comments/suggestions here, and repeated usage by myself, I’ve written another, similar, tool.

https://github.com/Neurogami/renoise-ng/tree/master/lua/com.neurogami.Alternator.xrnx

Alternator works much like SwapChop except it operates on a single track or note column.

It stores the last-used values so that when you next use it you can re-apply the same values.

It has an option to “rotate” the set of values being inserted into the fx column. (It is not limited to just two values.)

This allows you to recreate the behavior of SwapChop (though it requires multiple application of the tool).

The main reason for isolating the insertion of values was that it simplified greatly the problem of determining the corresponding adjacent note column or track.

This tool makes two distinctions: Is an fx column selected (“I am to be applied to a track”) or is a note column selected (“I am to be applied to that note column”).

An example:

You select an fx column in a track

You enter, for the values to insert, ‘00’ ‘C0’ (i.e -inf and 0 db)

You generate a set of lines: every 4th line

You click “Go” and ‘L00’ and ‘LC0’ are inserted in the selected fx colum, at every 4th line, alternating each time.

Then you select some other track; it need not be adjacent.

The just-used values are pore-populated. You click “>>” next to the values list to rotate them right.

Since there are but two values this essentially swaps them.

You use the same line numbers as before and click ‘Go’

This is basically what SwapChop did (in fewer steps) but without requiring that the tracks or columns be adjacent. (You could repeat the example but using note columns if you like; these columns need not be in the same track.)

Big caveat: You need to watch for when the tool inserts ‘L00’ as the last fx since that essentially mutes that track from that point on.

Another neat feature: When applying values to a track, the tool automates the pre-fx volume. Any reverb, delay, etc that is on that track will continue.

I wanted to be able to get absolute drops to -inf volume, so if the tool is applied to a track fx column it will see if that track has a Gainer device named “ALTERNATOR”. If so then it applies the fx automation to that device instead of the pre-device track volume.

It’s still new and likely buggy in some edge cases. After i use it more (i.e. “test” it) I will give it a proper tool release.

1 Like