Please introduce a separation between patterns created and patterns in use

Beyond FM rate LFOs and granular/wavetable synthesis, this would be my top suggestion for what Renoise needs, and I don’t think it would be very hard to implement, either, since it’s basically an organizational feature.

There are many trackers and samplers that already do this. The one that always comes to mind for me is LSDJ, but the YouTuber and musician Andrew Huang has a new mobile sampler-based DAW called Flip which also separates patterns this way.

To put it simply, there’s a place where you create patterns, and then there’s a place where you insert and order the created patterns on a timeline, to structure the song.

A pattern doesn’t migrate from the created patterns area to the “in use” area. It always remains in the created patterns area at all times, but then is linked to or ordered within the “in use” area.

See the video I linked above, or watch an LSDJ tutorial, and you’ll see the benefit of this. Beginning at 5:00 in the video you can see the separation, with one area called “patterns” and one area called “order”.

LSDJ lets you create patterns, and each is given a number, but nothing appears in a song until you go to the song section and input the pattern #s in the order you want.

The separation is useful because that way you can create variations on a pattern, test ideas, sketch optional material, etc, without having them automatically be a part of your song the way Renoise does it. It’s a more logical workflow to be able to test ideas out without committing them to a place within the song right away.

Renoise already has the concept of patterns existing even if they are not in use, because it’s possible to change the pattern # in a slot in the pattern matrix so that a pattern # no longer appears in the matrix. The data is still there and the pattern still exists even without being actively used, however there is no place to actually see this unused pattern or edit it, if it’s not being actively used in the matrix. (This is why there is a “delete unused patterns” option.)

There should be a place to see created patterns, edit them, delete, duplicate, etc, perhaps even give them names, which is separate from the matrix where you actually determine the order of patterns which will create the song.

What would the repository / storage / created patterns area look like? It might be possible to tab between the matrix and this new area, so that the matrix shows the song, and the new area shows a list of all patterns whether in use or not, the pattern #s, optional pattern names, categories such as “intro patterns”, “chorus patterns”, etc, and maybe some further info such as lines in each pattern, which tracks each pattern uses, etc. There would be options to clone, delete, cut, paste, etc, and clicking on a pattern here would open it up in the pattern editor. Then, when you’re ready, you can tab back into the pattern matrix to input the pattern #s in the order you want, and build the song from there.

This would make my workflow easier and I think there’s no reason to not include it, because it would be strictly optional. Anyone who wants to work the old way would just continue to use the pattern matrix. This would simply be a new area to list your unused patterns (and used ones, too, since it displays everything) for the purpose of viewing or editing them, and create new patterns without having them appear in the song automatically, for those who wish to use it.

4 Likes

Also, this is an entirely different concept than phrases, which is what was mentioned to me a few years ago when I first mentioned this idea.

I wrote a long post above to explain it better, so that it doesn’t get confused with the concept of phrases.

Plus 1 for pattern pool.

1 Like

Have you ever written software?

2 Likes

In Python, yes, not in Lua or else I’d maybe attempt a plugin.

I just meant compared to FM or granular synthesis or some of the other things people have been suggesting, this seems to be an organizational feature which wouldn’t be very hard to implement for the world’s most advanced tracker… LSDJ has had this separation for a decade and it’s Game Boy software.

If you have a pattern, lets say pattern 0, and in the matrix none of the slots are filled with #0, then that pattern still exists as does all its data. It’s simply left to the user to remember it exists and how to access it. I’m asking for a tab that shows every pattern, used or unused, so that they can be launched into the pattern editor to be worked on, can be deleted, duplicated, named, and so on.

When it comes to software development there is one (of those) things to keep in mind :
it is one thing to implement a feature early on in a project,
and another thing when trying to implement a feature in an already complex and established one.

Anyways, it it important to get input from others and also another perspective.

3 Likes

What’s the difference to having a section at the bottom of your song, named “scratch pad” or something? With some help of lua, you could make sure that this always contains all used+unused patterns, so that nothing is invisible.

“Don’t cross the river looking for water” - Swedish proverb

1 Like

I think there would be problems when rendering if you didn’t always opt to render a selection of patterns.

I think I used to do this, have junk DNA at the end of the song, and would have TX00 someplace, so playback ended where I wanted, but rendering the song to a wav ignores that : (

I scratched my head a few times on this as well. It’s a bit odd that there’s no separation between a list of patterns created (like a “pool” or library) and a another list called a SEQUENCE where you arrange those patterns. But I’m coming from Octamed on the Amiga which worked like that.

Which is quite nice as you (or wel me at least) always play around with versions of patterns like CHORUS V1 and CHORUS V2 and so on… improving a track step by step and trying out variations of patterns from a pool.

This topic seems a nice feature!
Implementing it under the hood I don’t think is easy. It involves changing several things and adding as anothers many.

so far - i’m totally fine with mentioned workaround - create separate section in the song/project and just use it as all ideas that might not be used.

i mean, the workaround is totally possible, it’s not like it’s impossible to do as the OP wrote. Coming from the ‘standard DAW’ you also have the same approach in the arranger (Bitwig, Ableton, Mixbus, Reaper, etc) like the ‘workaround’ is already possible in Renoise…
you have several version of chorus? just keep it out of the ‘song’ timeline range and you can switch back and forth… no need for separate timeline, or separate regions - as parts of both midi and audio data that can be manipulated in the proposed manner

I mean, if someone is really desperate for that, i understand that, but coming from regular daws, this is totally something ‘normal’ and i did not think of it as many are suggesting… maybe it’s time to re-think workflow, but then, if it works - it works :slight_smile:

I think that parallel containers, and/or some other things might be more useful in terms of workflow, but that’s just personal opinion