"If Then" - Device

Recently, I was remembering the discussions on missing sidechaining possibilites in Renoise. Editing track volumes for this effect manually is possible though, but takes some work. All this made me think of the idea to use a logic operator device which allows to manipulate track commands (both track and command as variables).

One example application could be:
if parameter(volume) on track(bassdrum) > value then parameter(volume slide down) on track(send track) = value

This could add a flexible programming approach in producing with a rather simple device. I am interested to hear what you think of this?

you are suggesting a sort of “gate” but for parameter signal instead of audio signal. I like this idea.

Thanks It-Alien, so now in this context I finally understood what gate actually is about! :)

You can pretty much do this with a Noise Gate -> Signal Follower with highest Scaling settings can’t you?


(something like a sample and hold would be cool to for parameter values)

for audio signal, yes, but he is asking to be able to do the same with parameter values, such as panning, cutoff or any other automatable value

Seems to be a bit more like the Maths/Logic Operators Meta Devices that have been suggested before. Compare X parameter against Y parameter and set Z.

His initial talk and skimming it made me think he wanted to have a way to switch between two states depending on signal level, which is what my above would help achieve (or at least close.)

Yes, math/logic operator was the idea. In the example above it would simply take the work to edit all the volume commands manually from our shoulders. It could be a quite versatile tool. Thinking of it, applying it not only for parameters but also for notes, octaves, instrumentnumbers, parameters of devices in the track, etc. as variables is even more fascinating.

Can it be made using this? (copy into tracks dsp lane):

<?xml version="1.0" encoding="UTF-8"?>  
<filterdeviceclipboard doc_version="0"><br>
  <deviceslot type="FormulaMetaDevice"><br>
      <formulaparagraph>A * sin(LINEF / NUMLINES * TWOPI * <img src="https://files.renoise.com/forum/emoticons/default/cool.gif" class="bbc_emoticon" alt="B)"> + C</formulaparagraph><br>
      <functionsparagraph>function inv(x)</functionsparagraph><br>
      <functionsparagraph> return (1.0 - x)</functionsparagraph><br>
      <visualization>Device only</visualization><br>
      <visualization>Device only</visualization><br>
      <visualization>Device only</visualization><br>
      <visualization>Device only</visualization><br>
      <visualization>Device only</visualization><br>
      <visualization>Device only</visualization><br>

@Jonas: what the fuck is that and where did you get it from??? that shit looks awesome!

That is the Highly Alpha version of the formula device. It is unofficially available under the hood but officially not supported and can cause crashes if not used properly.
But it might resolve the problem posed in this topic.

i like ‘highly alpha’ and ‘unofficially available’. i’ve played around with it for a bit, and it is also ‘highly cool’ and ‘unofficially awesome’.

I want to get on a computer with renoise as from those two lines it looks EXACTLY like the way I asked for it to be incorporated into Renoise. Awesome stuff if so!! :D

umm, could you explain how to do this? pretty please?

Highlight all text in the boxed area.

Ctrl+C (Or right click copy) however into your standard Clipboard (eg Windows clipboard.)

Open Renoise. Right click in the DSP area or mixer track. Select Paste.

Exactly what he says. Paste that text into a DSP chain area :P

(This is possible with Mac yeah? Is audio copy and pasting, say you wanted to edit with an external wave editor, still not possible on Mac as sure I remember that in the past…)

Available functions:

In the User section can you define more functions like the standard ones above?

So for the pasted example you have created a inv(x) which will invert it (1-x)? Which would of thought would be a standard one anyway…

yeah i thought about that inv() as well, isn’t mentioned in the function list. but i figured that was probably due to this being ‘highly alpha’.

sadly i’m not that good with maths and formulas, so i couldn’t really wrap my head around the possibilities of this device. i can imagine them to be pretty awesome though, but currently i should leave this thing to the likes of dblue (and you i think kazakore) who understand this stuff.

Well a simple averaging device would be (A+B+C)/3

Bear in mind that multiplying numbers less than 1 together and you get smaller and smaller. You may think you would increase but it’s the other way around. Where you think you might want A*B you’re more likely to get a result closer to what you were hoping for with A/B or even A/(1- B). Also likely to find yourself at maximum (1) a lot if not careful…

Like seeing this Alpha device in there though!

Wow, thanks for posting! This looks really pretty intersting and quite like what is needed. I am Looking forward to play around with this soon!

oh, holy sheet… this ‘formula’ device alone is actually capable of replacing Renoise itself, innit?
this is getting serious, man…
i get tinkles under my tongue just from thinking what insane geekery can be accomplished with it. :wacko:

ahh i understand a bit more now. 1 is maximum? had no idea. well, i suppose i’ll have to experiment a bit more with it.