Legato (05<Infinity>) Pattern Command

Howdy! [This is the first topic I create on the forum, hello! :)]

The new Renoise pitch mode (affecting in particular 01, 02 and 05 commands) is a great feature – but it has one, for me serious, drawback: 05FF can no longer be used as ‘very very fast’ (practically immediate) glide – i.e. legato command (famous Protracker’s 3FF or 3F0 command – could you imagine e.g. XTD’s modules without that? :) ).

When using the new Renoise pitch mode, 05FF command means: glide by 16 semitones (octave + major third) – it’s definitely too slow to get nice legato effect (change pitch immediately, keeping current sample position), unless you set insanely high BPM or LPB (which is extremely inconvenient workaround, practically useless).

It would be very cool if a separate command was introduced. I think C0 in the volume-column would be perfect – handy for frequent usage (C1-CF could stay free for different future usage).

(And it would not interfere seriously with Cx in the pan-column which is MIDI-related).

What do you think?

Jan Kaliszewski (zuo)

i’m not a 100% sure i get what you mean exactly. you want to pitch up a sample but you want it to happen immediately? like when you play a higher note? couldn’t you just play the higher note?
also, in my songs the 01xx and 02xx commands work without delay. this might be because i am using an insanely high BPM/LPB, but i don’t think 360BPM/8LPB is that fast? certainly not ‘practically useless’, otherwise i could not be making music :)

so, either that or i don’t get what you mean. consider posting audio-examples of the effect you’re after, and the difference with the current options?

I agree, the pitching is limited to 16 semitones per command, it would be nice to have one single command that glides to any tone in any octave.

when i need faster curves for any pattern commant, i open a second colums and write down the same effect…, and if it isn’t fast enough, i open one more column etc… maybe it can solve the problem?

If you want immediate glides on every note on the same line, you might want to try the pitch envelope in the instrument envelope section. The glide is then fixed though.
I do miss the part where 5FF is relative to the distance between two notes indeed though.
But working with higher LPB’s is inevitable for various different reasons, also regarding precise note initiation and note off. (specially the latter is a problem if you have very low LPB rates and desire to record your jammed session into the pattern editor)

To be more clear – an example:


Listen to the pattern. Then change Pitch Mode option (Song Settings → Player Options) from “Amiga/FT2” to “Renoise”. Listen again… The point is not that there is a difference (it is obvious there must be) but that in the new Renoise Pitch Mode you do not have 05xx range large enough to obtain the same effect (old good Protracker’s 3FF command – immediate glide to the target note [or better: almost immediate; ideally: curve-based, though very quick] – quasi legato).


But (in such cases) I need to continue a sample, not to start it from the beginning (e.g. if the sample color/spectrum changes with time…). Of course I can leave empty instrument column but it gives me envelope continuation only – not sample continuation. I know that I could use 09xx with an appropriate value – but again: it’s not the same (though often might be good enough) and – what is important – it is seriously inconvenient (to check what value should be used for each note…).

About the tempo: sometimes even 500 BPM + 8 LPB can be useful, but sometimes 90 PBM + 4 LPB is more suitable. And then – it would be a shame (and again: a real inconvenience) to have to set the tempo value a few times larger than really needed.

@subskan: Nice workaround :) (but still a workaround; if you need to create long melodies with legato effect it would become quite uncomfortable).

@vV: From all possible workarounds playing with pitch envelope is the least convenient one – if we talk about a track-note-based melody (and not some FX or atonal glissandos).

PS. Now I’m not sure if using the C0 volume command for this purpose would be the best idea (because quite often you need to set both volume and legato effect), but still I believe that lack of a fast glide/legato command (in Renoise Pitch Mode) is really troublesome and (re)adding that would be very valuable.

yeah, i figured as much but still wanted to make the suggestion. i agree that the note+09xx can be quite an impractical workaround for this.

This is much missed, even though it is a bit old school tracker-y. A big +1 from me.

Certain commands - including 01xx, 02xx and 05xx - can be stacked together to combine their values.

So if this is too slow:

C-401 | 05FF  
C-501 | 05FF  

Then try this:

C-401 | 05FF | 05FF  
C-501 | 05FF | 05FF  

Or this:

C-401 | 05FF | 05FF | 05FF | 05FF  
C-501 | 05FF | 05FF | 05FF | 05FF  


Still just a workaround (and still not instant), but at least it works a bit better.

if you want even more instant results than dBlue’s solution, you can reduce the number of Ticks Per Row (in the golden age of trackers this parameter was counterintuitively called “speed”) using command F2xx:

C-401 | F201 | 0000 <= F201 sets ticks per row to 1  
C-5 | 0000 | 05C0 <= will go from C-4 to C-5 in just one tick  
----- | F20C | 0000 <= back to 12 ticks per row (default)  

set F2xx value at your pleasure between 00 and 10h

@It-Alien: Nice trick :) Though it has some drawbacks: 1) it’s global (affects all tracks); 2) if the interval is bigger that 16 semitones it must be combined with command stacking trick anyway.

A new idea: another approach to the problem but also some new possibilites

We have nice 0Bxx command:

0B00 (orand volume/pan B0) – play sample backwards
0B01 (orand volume/pan B1) – play sample forwards (again)

Why not introduce two new 0Bxx variants:

0B02 – (orand volume/pan B2) – play sample backwards, never restarting the sample from the end (but starting from the current sample position, if 9xx not used)
0B03 – (orand volume/pan B3) – play sample forwards, never restarting the sample from the beginning (but starting from the current sample position, if 9xx not used)

That would give us not only classic immediate glide (Protracker’s-3FF-like):

C-4 01  
C-6 B3  

(↑ here: combined with empty-instrument, to obtain the exact 05-like effect, but different variants are possible)

…but also some new dj-scratching-like effect possibilities, e.g.:

C-4 01 0940  
D-4 01 0B02  
E-4 01 0B03  
F-4 01 0B02  

What do you think?

so was the so called “speed”

well, this is what command stacking is for… having a special “infinitely fast” glissando command value of FF would have no sense

I agree that making 05FF a special case (FF as “infinity”) would be inconsistent, backward-incompatibile and would not make sense.

But my proposition is different: to re-enable the lost feature (a command for immediate note-specified pitch change without restarting the sample) by introducing a new pattern command, not hurting the existing 05xx. I believe that the B02/B03-command (descripted above) would be an attractive feature – also because it would introduce other possibilities (enchanced dj-like-scratching etc.).

Would it perhaps make sense to make ghost notes trigger as legato since they already operate similarly with the envelopes? I’ve never encountered an instance where I would mind legato on a ghost note. The only instances I can think of where it would be an issue was if one used a combination of samples to give a synth effect, but those would probably not occur now that Renoise features multisampling in instruments.

That is be another possibility – though then some backward compatibility option for existing songs (with possibility to switch and convert adding 0900 commands to ghost notes) would be needed.

But the “B2/B3-variant” seems to me being more interesting.

I really like that B2/B3 idea


bump Some good ideas for a very lacking feature of Renoise here.

(Old command codes are used in this thread, but it still is relevant)

/* EDIT */

In 2.8, an easy workaround, less cumbersome than those discussed above, is to simply set the pitch compatibility mode to “FT2/Amiga”. This however also has its drawbacks, in that it affects ALL pitch commands in the whole song.

Maybe making this setting per-instrument (or per-sample) instead of global…?