Y-command on track level?

It would be interesting to be able to say “50% chance of track 3 playing”, meaning a Y-command (probability) could be used, in this case, Y50.

Or : one could create the Y-command as a DSP-effect.

It would make for possibly cool auto-arrangements! smile.png

use the y command to trigger dc samples. these can be sensed by signal followers, effectively converting them to meta parameter controllers. then you can control any dsp parameter with it. take care not to input the dc samples into master, but mute them somehow after the signal follower. cheers!

lol And now : in English!

Really, drop the tech-speak a shade or 10.

Another option I could see is : use a Y-command on the first note of a track and then use something liike “YFF”, meaning keep using the same Y-state (play it or not) for the remainder of the track.

Yes, that would be the easiest solution I think.

Whadya say, devs?

[edit]

OH! I think I got the solution! Well, A solution.

Just render the whole track-to-sample and put Y on the C4 note at position 1.

Right?

lol And now : in English!

Really, drop the tech-speak a shade or 10.

If there’s something you don’t understand perhaps you could politely ask someone to explain it.

It’s better than snark.

use the y command to trigger dc samples. these can be sensed by signal followers, effectively converting them to meta parameter controllers. then you can control any dsp parameter with it. take care not to input the dc samples into master, but mute them somehow after the signal follower. cheers!

Yes. With a little tweaking I got it so I can have a track mute semi-randomly during a pattern.

This is somewhat like my tool Randy Note Columns

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

Hehheh, sorry if it was beyond your comprehension. This is not beginner’s section, and I had no clue of your technical/renoise knowledge when I wrote the post, I just tried to get the info condensed in a small post.

Well the principle is: 1) you can trigger samples randomly with the y command. 2) you can sense the samples with a signal follower. 3) with a signal follower you can (among other things) mute/unmute a track.

the trigger samples need not be in the mix, but you will need extra tracks set up for them with a signal follower inside. I use “DC” samples for such purposes, which are straight line positive “Direct Current” samples, the reason is that signal followers will react very accurately to them, and you can shape them with volume envelopes, but you can use any samples as long as you are happy with the way the signal followers react. you can also make one signal follower control multiple things at once with a hydra, for example to make the trigger sample switch between 2 tracks.

Here, I just created a simple example which uses the mutually exclusive mode of the y command to switch between three channels, each playing one of the standard renoise breakbeats. Feel free to ask questions. This should maybe be considered an “advanced” technique of using renoise and rather brainfucked, so don’t feel silly for not understanding everything at once. There is some magic going on in various places of the setup to make it work. Also I had to make the trigger samples (the three DCs each routed to their own tracks with signal followers) statically 2 lines long with volume envelopes, maybe there are better solutions for the overlapping problem in the scenario I used.

P.S.: take care with dc samples, they are not supposed to hit your speakers or headphones, try to always make sure they are properly muted after the signal followers when they are played back somehow…

Hehheh, sorry if it was beyond your comprehension. This is not beginner’s section, and I had no clue of your technical/renoise knowledge when I wrote the post, I just tried to get the info condensed in a small post.

Well the principle is: 1) you can trigger samples randomly with the y command. 2) you can sense the samples with a signal follower. 3) with a signal follower you can (among other things) mute/unmute a track.

the trigger samples need not be in the mix, but you will need extra tracks set up for them with a signal follower inside. I use “DC” samples for such purposes, which are straight line positive “Direct Current” samples, the reason is that signal followers will react very accurately to them, and you can shape them with volume envelopes, but you can use any samples as long as you are happy with the way the signal followers react. you can also make one signal follower control multiple things at once with a hydra, for example to make the trigger sample switch between 2 tracks.

Here, I just created a simple example which uses the mutually exclusive mode of the y command to switch between three channels, each playing one of the standard renoise breakbeats. Feel free to ask questions. This should maybe be considered an “advanced” technique of using renoise and rather brainfucked, so don’t feel silly for not understanding everything at once. There is some magic going on in various places of the setup to make it work. Also I had to make the trigger samples (the three DCs each routed to their own tracks with signal followers) statically 2 lines long with volume envelopes, maybe there are better solutions for the overlapping problem in the scenario I used.

P.S.: take care with dc samples, they are not supposed to hit your speakers or headphones, try to always make sure they are properly muted after the signal followers when they are played back somehow…

Hey sorry for being a bit of a d1ck, I had a bit too much to drink. :confused:

Thanks for the xrns, I’ll study it well.

Having tried your xrns I came to the conclusion that your solution didn’t work. It plays the break on-and-off during the course of a pattern, but not on-and-off once, at the start of a pattern.

Maybe I wasn’t too clear at my request : I’d like to play-or-not-play a track, using the Y-command.

As far as I can see, this can only be accomplished by rendering the whole track to sample.

 

Having tried your xrns I came to the conclusion that your solution didn’t work.  It plays the break on-and-off during the course of a pattern, but not on-and-off once, at the start of a pattern.

 

I think that is because the pattern is making multiple calls to the Y command.

Just call it once at the start of the song to select a single track for the duration.

Here’s a variation onOopsIFly’s xrns.

I replaced the DC loop instruments with continuous sine waves.

Very impressed by the use of a instrument FX chain to control routing, BTW.

In this example I force all the target-track gainer FXs to -inf to reset them fresh.

The first pattern then invokes the maYbe command to open up one of the three target tracks.

The next pattern just allows whatever is playing to keep going.

Here’s a variation onOopsIFly’s xrns.

I replaced the DC loop instruments with continuous sine waves.

Very impressed by the use of a instrument FX chain to control routing, BTW.

In this example I force all the target-track gainer FXs to -inf to reset them fresh.

The first pattern then invokes the maYbe command to open up one of the three target tracks.

The next pattern just allows whatever is playing to keep going.

I can see that you’re still using breaks, which are basically the same as pattern-rendered samples.

Could you do the same with a melody or any VST-synths using different notes?

With a break it’s easy, you just put the Y-command at the same level as the note, at the start of the pattern.

Hmm, wouldn’t this work with phrases? They are also just one note to trigger them. I could just use a 64-line phrase for the whole melody, put a Y-command on the C4-note…

I can see that you’re still using breaks, which are basically the same as pattern-rendered samples.

Could you do the same with a melody or any VST-synths using different notes?

With a break it’s easy, you just put the Y-command at the same level as the note, at the start of the pattern.

Hmm, wouldn’t this work with phrases? They are also just one note to trigger them. I could just use a 64-line phrase for the whole melody, put a Y-command on the C4-note…

The Y command is controlling a gainer on another track. If called once it just opens up the volume on the target track. Whatever happens on that track then gets through. Shouldn’t matter whether it’s a single sample, multiple notes, VST, etc.

Experiment and see for yourself.

I think I might have a better idea of what you’re trying to achive…you want the probability to trigger a whole track/pattern setup, but one probability for all note in it? And no gainer muting/unmuting involved?

Maybe you could use phrases, encapsulating all the notes, and trigger them with a single y command on start of the track. To mutually exclusively trigger phrases, you would need to place them to the same pattern I think. You can still have the output in different tracks, using routings, will also work for VSTs.

I think I might have a better idea of what you’re trying to achive…you want the probability to trigger a whole track/pattern setup, but one probability for all note in it? And no gainer muting/unmuting involved?

Maybe you could use phrases, encapsulating all the notes, and trigger them with a single y command on start of the track. To mutually exclusively trigger phrases, you would need to place them to the same pattern I think. You can still have the output in different tracks, using routings, will also work for VSTs.

I thought of that as well, but I think I’ve found a bug.

Say you use Y30. First eg no play/no play/no play/it plays. From that moment on, it always plays and ignores the Y-command.

I just tried it, once it starts playing it doesn’t stop anymore.

Hm it gets stranger. When I put a Note-off on the last line of the pattern it does work. But then I lose the last note (because that’s where the Note-off is placed).

?

The Y command is controlling a gainer on another track. If called once it just opens up the volume on the target track. Whatever happens on that track then gets through. Shouldn’t matter whether it’s a single sample, multiple notes, VST, etc.

Experiment and see for yourself.

How can a Y-command control a gainer? It only controls the playing of a note next to it, right?

Say you use Y30. First eg no play/no play/no play/it plays. From that moment on, it always plays and ignores the Y-command.

The Y30 has a certain chance of the note occurring. This is not the same as the note being terminated (an “OFF” is essentially also a note, just a note-off instead of note-on).

So what you’re experiencing - I think - is that the note simply didn’t get (re-)triggered? It’s random after all, might have been skipped any number of times.

But yeah, you have to cut the note at that last line to achieve what you want.

How can a Y-command control a gainer? It only controls the playing of a note next to it, right?

It was pointed out that either DC offset or sine wave samples can be used in combination with a signal follower (meta-device).

Check the examples that Neurogami and OopsIFly have submitted?

Once a signal follower receives a signal, this can be used to control any other parameter - including a gainer device.

for the note-off put it on the last line, use value “ff” in the delay column so not to cut the last note? I’ve not tested, but it seems logical. Else you would have to place the off onto the first line of next pattern

Also don’t make the note-offs conditional, unless you would want to only cut notes with a certain probability. The off will have a different probability compared to the corresponding “on”, which might lead to the note playing longer than expected. It shouldn’t hurt to make the off unconditional, if there’s no note going on in the column it will just be ignored safely.

And yep there’s lots of nifty logic possible with the Y commands, though within certain limits. My trick with the gainers was like danoise said, to use Y on silent trigger samples, and let signal followers do the job of controlling the gainers.

Also I already thought about another way of making random switchings without Y commands, using the random lfo at infinite cycle length - if you map a note or vel tracker device to its reset, it will generate a new random number for each note triggering the note/vel tracker, and this could also be used to control gainers for switching etc. With formula devices or other mapping tricks you can even extend on the probability business, but each solution will require quite some custom hackery for each use case.

Yes, I got it now, I used a 0 DC sample which I maximized (don’t know if this is necessary) and then I added a lowpass filter with the cutoff set to 0kHz, so there is no sound but the signal follower gets triggered anyway.

So yeah it works, but the note on line 1 in the track sounds kinda muffled. The Gainer’s Gain needs some time to get to its maximum.

for the note-off put it on the last line, use value “ff” in the delay column so not to cut the last note? I’ve not tested, but it seems logical. Else you would have to place the off onto the first line of next pattern

Also don’t make the note-offs conditional, unless you would want to only cut notes with a certain probability. The off will have a different probability compared to the corresponding “on”, which might lead to the note playing longer than expected. It shouldn’t hurt to make the off unconditional, if there’s no note going on in the column it will just be ignored safely.

I just put the note-off at the last line without any delay, the delay is not needed because the track doesn’t produce any sound anyway, it’s just for triggering the other track.

I tried to be smart and make the first note sound a bit louder (by activating a second gain at +1-4dB when the note plays) to make up for the Gain not being at full strength yet when the note gets played, but it didn’t work. :slight_smile: Oh well, it works for 95% now.

[edit]

Or did you mean put the delay on the note at the track-to-be-muted?

That plays the first note ok but its timing is off then. :confused:

So yeah it works, but the note on line 1 in the track sounds kinda muffled.

Signal follower is listening to the signal, and has a configurable look-ahead amount.
Set this parameter to some minuscule amount (use CMD/CTRL for fine adjustments) and see if that helps?