New Tool (3.4): Grid Pie

Looks like I won’t be able to use Grid Pie after all… I’m getting lag in the tempo even if I disable LED feedback. Maybe because I only used two tracks when testing. Copying polyrhythmic clips or a few tracks at the same time cause a lot of lag. This is depressing. I really looked forward to use Renoise for both composing and live. :(

Is it the monome that is lagging? Or are you saying Grid Pie is too slow in general?

If it’s a monome issue, I have no way of helping you at the moment. I don’t have a monome. I can’t code OSC or Led feedback without one. Maybe wait until Grid Pie makes an appearance as an app in the Duplex framework for better results?

If you think Grid Pie is too slow in general, there’s not much I can do about that. It’s as fast as I can make it using the current API.

I don’t think it’s the Monome. It’s just working as a MIDI interface for Grid Pie. I’m optimizing XP right now, so perhaps I can get it to work. Unless my laptop is just too slow to handle all this copy/paste while playing.

I have tried optimizing the system. I have tried removing stuff. It all improves things a little. But still, there’s a noticeable increase in CPU usage when the copy/paste is performed. While Grid Pie is a brilliant hack, it seems it’s only usable for people with fast enough systems. And I guess that won’t improve by adding it to Duplex.

I’ll just have to wait a bit longer for my dream of using Renoise for both composing and live arranging… don’t really like Ableton, but it seems it’s the only program that can do this still. I’m not leaving Renoise just yet, I have a few tricks/compromises I’ll try first.

This is a shame, since I was going to write an article and record a video about Grid Pie. Maybe I’ll write something short anyway.

@dby: I previously suggested a rewrite that would only output the lines that were about to be played. For example, the NotesOnWheels sequencer does this, because it’s way too heave to output those complex sequences in complete “chunks”. Instead, the script would keep track of playback progress and output a few lines at a time.

Alternatively, and if you’re willing to plan ahead for your performance, another approach would be to put the whole song into a single pattern (a four-pattern song with 8 tracks would instead become a single pattern with 32 tracks). You’re loosing out on the ability to recombine things on the fly, but you’d get 32 different elements that you could turn on and off as you’d please.
It would be quite easy to modify a control-map in duplex so that it would display more tracks - all you’d have to do is to change the number of columns for the “Grid” group.

This is a picture of a hacked control-map that make 2 patterns, each with 28 tracks appear on the Launchpad. Same approach would be valid for the monome.

A rewrite that uses a less CPU heavy method sounds promising. B)

The workaround method of a single pattern might do the trick indeed. One thing I’m thinking could cause some problems is automation… but some Hydra devices could take care of that I guess. I’ll look into this. Thanks!

This is no replacement for a good Duplex version, and it’s too much of a mess to patch into Grid Pie directly, but I’ve made a quick hack that lets me use my Novation Launchpad with Grid Pie that I put up here: https://github.com/Alloyed/Grid-Pie-Novated
Right now, it’s hardcoded to think that “Launchpad MIDI 1” is the Launchpad you want to use, which is the default on Linux, but if that changes between OSs, or if you want to use a second launchpad, or something, you’re going to have to edit that.
It gets a bit sluggish if you try to do too much at once(try changing all 8 columns), but I don’t know if that’s the Launchpad’s or Gridpie’s fault and it isn’t really bad enough to make this unusable.
It’s mad fun for me at least. :)

Sorry for the delay, but I’m still fiddling using second gui…

In the video, the special “recombination” pattern (the one designated GRID PIE) is playing, but when I use the tool myself, the playback always moves to the pattern designated by the number specified as “y”. Shouldn’t it always attempt to play back the live recombination pattern, like in the video demonstration? Or, what am I doing wrong?

Using Grid Pie v0.82 with Renoise 2.7.1

When starting Grid Pie, it turns pattern follow off. It should not move the playback head away from the GRID_PIE pattern. (Unless of course, this is what you want to do in which case the tool is flexible enough to let you do whatever you feel is appropriate. E.g. edit on the fly, and so on.)

Did you accidentally turn pattern follow back to on on while jamming, or something?

Yeah, that must have been it. I tried to reset everything, and now it works like advertised :slight_smile:

It wasn’t the only problem though - I experienced that I couldn’t select another track - it restricted itself to the currently selected track in the Grid Pie dialog.
Hmm, I wonder what went wrong. Perhaps another tool interfered?

I’m actually preparing to port your script to Duplex, and for that purpose I’d like to introduce a few additions. Tell me what you think:

  1. Make the “follow the selected pattern/track” optional. It’s really helpful to have, but sometimes you are fully aware of your location, and what the various buttons represent. I’d like to make it optional so that two people can use Grid Pie alongside each other. One operating the controller, and another person using Renoise, or some other tool which depend on the selected track/pattern. Also, this would make the restriction on pattern-follow obsolete.

  2. Introduce a “pattern trigger” which copies every track in the selected pattern to the recombination pattern. Sort of like how Ableton Live has a “scene trigger”, it’s basically just a quick way to set all tracks to the same pattern (useful, because your controller can’t always display all tracks).

  3. Scheduled triggering - so you can choose between instant (as it currently works), and scheduled triggering (wait until the recombination pattern reach it’s end). This should obviously apply to the “scene trigger” as well.

Ya sure, sounds good to me!

Danoise those sound like Killer additional features to me!

I just realized that we don’t need the additional trigger row. Duplex supports press, release and hold events, so it’s possible for a track copy to happen when a button is released, and a pattern copy could simply be triggered by a held button

Hi,

I tried Grid pie tonight, this tool is really great. I strongly suggest to anyone interested on live performance to take a look on it. Honestly, seeing the demo video, I didn’t understood much what it was about…But once you’re familiar with it, it’s powerfull and simple to use. I only tried to use it with demo songs, I just imagine how great that tool could be using songs especially designed to be controlled with GridPie…

I even achieved to use my old yamaha DJX keyboard to control it. I was thinking that keyboard useless for my needs, but it seems to be the (almost) perfect companion for Grid Pie; the only issue is that the knobs on DJX are not “endless” (each assignagle knob only have 14steps, as far as I know…But I didn’t test it in deep, so…).

Perhaps an interesting feature to add should be the possibility to map the X and Y controls (= to move in the matrix rows and line) with a couple of keys instead of knobs. Like a “+ and -” for each direction (= 2 buttons or keys for row - and row+, 2 buttons or keys for line+ and line-). Or another way to manage that : first key for 10, 20, 30, etc…and another key for single numbers (1, 2, 3…to 9). SO, for example, if I want to go on line 16 on the matrix pattern I’d push 1 time the first key and 6 times the second one. DO you see what I mean ?

Anyway, just ideas. Great work, thank you for this.

edit : by the way, is there any technic to use another grid than the 3 available (4x2, 4x4, 8x8) ? Something like 16x1, for example. Just to better match my midi keyboard, for example. Once you get used into, it’s pretty simple to use gridpie like that. You need to have one hand on the line choice knob, but you also have the advantage to have controls on all the tracks in the same time, under your other hand.

The Duplex version should automatically fit your controller?

The standalone (deprecated?) version can be changed by opening up the script and changing some variables. This trick is mentioned earlier in the thread. Things have changed since that post. You’ll have to be a bit smarter this time around. :)

Change:

  
local MATRIX_HEIGHT = 8  
local MATRIX_WIDTH = 16  
  

Used as maximum values, to constrain the midi mapping routine to some reasonable number.

Then at the bottom add:

  
renoise.tool():add_menu_entry {  
 name = "Main Menu:Tools:Grid Pie:16x1...",  
 invoke = function() main(16, 1) end  
}  
  

Activate the Renoise Script Editor by following these instructions.

Good luck.

THank you for your answer. I’m using the version available in tools section :

http://tools.renoise.com/download/tools/GridPie_082.xrnx&nid=295

And then, I choosed 8x8 grid, and mapped the 8 first keys of my midi keyboard (“piano” keys), one for each row, and mapped 2 knobs for row and line browsing (with the issue I was speaking about, my knobs have only 14steps).

Can I use your workaround with that tool ?

EDIT : by the way, I just tried the tool again, using another demo song, and this time, the midi mapping of my knob for line changing work perfectly, I was able to move in all the lines of the song. So my knobs are perfectly normal, even if I cannot explain why a song works, and another doesnt.

Grid Pie is great fun, but I’m still a bit irked by the way it takes over your arrangement.
So I’m proposing these refinements:

Feature 1 : running start
If “grid pie mode” has not yet been entered (application has not yet run, or was dun goofed), and you’re actively playing some part of your song when you (re)activate Grid Pie, use the currently playing pattern and mute states as a starting point (instead of a blank pattern). This should ensure a smooth/gapless transition into grid pie’d mode

Feature 2 : keep the beat

Next one has to do with how we can transition from a polyrhythmic pattern of, say 384 lines and into a smaller pattern of say, 128 lines. As Renoise works, if the playback position is within the last part, the playhead will jump and possibly cause a nasty glitch in playback.
Now, the funny thing is that when dealing with polyrhythmics, much of the time there really isn’t such a thing as a “first beat”, it’s more like a feeling really. Is the beat on 2,4 or 6? We can’t assume a lot, but we still have some clues - like the LPB value (more suggestions are welcome):

  • When shortening recombination pattern, assume that the first line is the most important. The playhead jumps back in the pattern by the same amount of lines as we, at the moment the length changed, were located from the end of that pattern. This should cause us to arrive at line 1 in the same amount of time. - If this didn’t work, because the first resulted turned out to be a position before the pattern start (a negative value), we go forward in line-increments that match the LPB (assuming that LPB represent the beat), until we reach a positive value

Feature 3 : live switching
This is specific to the Duplex version - a couple of users have requested that it would be possible to switch between different configurations while preserving the state of Grid Pie. I think we could achieve this with a “scan & match”. Basically:

  • Recognize any existing GRID PIE pattern on startup == recreate the saved setup - First, look for identical patterns (quickly matched) - Then, look for expanded patterns with matching length (slower match) - Finally, recreate tracks that couldn’t be matched in new pattern (could be located right over the GRID PIE pattern, and called something similar sounding)
    When stopping Grid Pie, don’t clear the pattern (allow another scan & match)

EDIT: Yesterday I released a new version of the Duplex port, check out the details here

2.8 compatible version added to the Tools page:

http://tools.renoise.com/tools/grid-pie

Folks,

Appreciate this thread is pretty old, but this is a great add-in, and was almost perfect in what I was trying to achieve (using a Machine Jam as a controller). The problem I had with it was with “Grouped” tracks - the uploaded implementation just treated them as regular tracks in the matrix. I’ve therefore added a modification which allows you to create the same grids/matrixes, but treats tracks in a group as one.

8130 Screenshot 2018-07-09 14.31.30.png

Now bear in mind -

  • I’m still figuring out ReNoise (although I think it’s the best DAW I’ve ever used - perhaps from the nostalgia of using “trackers” in the days of my yoof)

  • This is my first time coding with Lua. In fact, I’ve never even heard of it until I started using ReNoise.

  • I’m still trying to figure out how to package this stuff up.

Anyway, attached is the main.lua if anybody wishes to examine it themselves. Much appreciate any feedback on this already fantastic add-on. Mods are in the “function build_interface()”, “function main(x, y, grouped)” and the obvious menu additions at the bottom of the file.

(There might be something else out there that does exactly what I’ve spent quite a fair few hours figuring out how to code. But balls to it - interesting learning experience, regardless!)

1 Like