BU16 idea to use with EN16

I have an EN16 on the way and I want to use it alongside a BU16 I got a while ago. I’m wanting to use them together with a Digitakt 2; here’s the idea:

Press a button on the BU16 to have the 16 encoders on the EN16 map to specific CC’s, for example, the 16 volume faders on the Digitakt 2.

Could this be a possibility? I think it would open up the Digitakt in a performative way with the new fx per track.

Currently, it’s not possible to communicate in this fashion between modules.

The modules do have 4 pages though. You could most certainly map 4 different pages of parameters and use the utility button to flip between them. Keep in mind that when you change pages on one module, all modules change pages.

I have a DTII coming in this week. If you wanted some ideas on how you could leverage either of those Grid devices for the DTII, I’m happy to give you some ideas. I’ve had a DT and DN for a number of years and I’m currently using an EF44 and PO16 to control the DN in some wild ways!

1 Like

I won’t say no to an idea or ideas so that would be great. I should get mine tomorrow but in the meantime I’ll take a tour of the editor and possibly drum up an idea or two to use the BU16.

Thanks for your help!

1 Like

I have surgery tomorrow morning so I’ll be radio silence for a couple of days. DTII will be in at some point this week. I’m hoping to dig in to things while I have reduced work stuff to do :slight_smile:

I’ve been thinking about it, could the EN16 do what I was aiming for? Example: press an encoder and it recalls mapped CC’s to each encoder.

That could create several “pages”, seems to keep things neat and compact with even more control.

Side note: got my Digitakt 2 in today :slight_smile:

Side note 2: the magnets click and hold well against the ‘Takt :slight_smile:

You can approach the CC recall from different ways. I’ll share one.

If you don’t have too much CC pairs to recall, you can use nested lua tables to hold the cc values.

ccs = {
{ 22,33,44 },
{ 11,15,32 }
}

Then upon a button press, you can set a global variable like active_table and set it to either 0 or 1 with a toggle.

-- set button to toggle first!
if self:button_value() > 0 then
active_table = 2
else
active_table = 1
end

Then on each encoder in the locals for example, you can reference the active cc table, like this:

cc = ccs[active_table][self:element_index()+1]

The +1 after the element index reference is required, as lua indexes tables starting with 1.

You can apply this code with small modifications onto the side utility button as well.

2 Likes

This would work out just fine! I won’t add to it other than the basic code (slowly getting to know Lua coding); it would simply recall the level fader CC’s or fx params. I’ll give this a try and let you know how things progress… I’m excited to see how this pams out!

Just to add to this: regarding too many CC’s being recalled, could all 16 be possible?

How many sets of 16 are you hoping to be able to recall/toggle? If you’re looking to toggle two sets of CC mappings on one page then I ‘think’ you’re only limited by character count in your LUA script (399 per element). If you’re wanting to do multiple pages of CC mappings then, you’ll probably approach things a bit differently.

In both cases, you would want to store the current encoder values so that when you toggle between the two sets, the previous values are remembered. I’m confident both scenarios could be accommodated (Sets of CCs toggle on one page or pages of CC mappings). It just depends on which approach you want to take.

How I would probably approach things would be to have 4 pages of static CC mappings. I would then use the bottom 4 encoder button presses to change pages. I believe this is possible. The Utility button just cycles through the pages, IIRC, so you would have to cycle through pages to get back to where you want. Being able to select a page directly with a button press would be much better.

Things that I would want to script would be:

  • On page select button press, store all encoder values in a table then change to selected page.
  • On page change, recall values from that table and assign to encoders.

This would prevent parameter jumps from the Grid side of things. You would be able to paginate through the module and not worry about parameter jumps.

While I’ve not done this myself, I believe I’ve skimmed enough docs/forum posts to ‘think’ this could all be done.

Love the detailed approach and suggestions dude, much appreciated. After fiddling with the encoders and testing out a couple of scenarios, I think I might prefer the PBF4, especially from a performative point of view.

I will deep dive into it more when I get the new controller in but for now, Digitakt 2 time!

1 Like

Ooo this sounds great, any vids?

1 Like

No vids unfortunately. :slight_smile: I need to remedy that though.

Assuming you’re wanting to know more about what I am/was doing with the Digitone and the EN16/PO16:

I setup an PO16 to send NRPNs to the Digitone to control the Ratio A, B1, B2, and C offsets and an EN16 to control ‘Feedback’ and both ‘A’ and ‘B’ levels.

I then setup a single trig with the ‘1ST’ condition with ‘LEN’ and ‘AMP’ envelope release set to infinite. I use the encoders to bring up the operator levels and the pots to go wild with the offsets.

I setup all 4 tracks in this fashion using a single note but spanning several octaves across all tracks. It gets pretty wild. You absolutely could not do this without an external controller and especially not without one that can send NRPNs.

It’s awesome for drones. I have some more ideas that I’d like to flesh out with it but no more work that would need to be done on the Grid controllers. It would all be Digitone stuff to add to the setup.

Pic:

1 Like

Wow! Did it take a while to get that set up in Grid? I ended up swapping my EN16 for a PO16 just to keep things simple for now. I’m going to see what I can do with the BU16/PO16 combo for a performative setup.
Would definitely love to see the rig in action too!

PS: what do you use to elevate the controllers :slight_smile:

Nope. The PO16 was straight forward. I just needed to know how to send NRPNs. First time doing it so I needed to do some reading. It’s pretty simple though. You just need to send 3 (sometimes 4) MIDI CC messages in order.

Link to my other post on NRPNs.

Config is pretty much this (only relevant for my use case):

I have two setups for the pots with one having a limited range so it doesn’t sweep the ratios through their full values. It gets pretty out of control (in a good, crazy way) but I wanted something a bit more subtle.

The encoders were also easy to setup. They just send a MIDI CC. The encoder press resets the value to 0 or 64 depending on the parameter that’s being controlled. I generally just do it all in a ‘Code Block’ as it’s easier for me to see the code. I also didn’t know anything about LUA scripting before I dug into things. Didn’t take long to get the gist of things.

As soon as I saw that two Grids are essentially the same width as the Elektron Digi-boxes, I built some risers from 1" x 4" scraps that I had kicking around. If I were buying wood, I would’ve done 1" x 6". These work really well though. I Just use some pick foam so that they stay flush with the Grids on the outside edge (and don’t scuff up my Elektrons!). They also magnetically snap to the Elektrons! Super solid! I can throw the faders with out any slippage whatsoever :slight_smile:

(Those Grids look dusty AF! I usually keep everything well-dusted with my trusty paint brush. Just snapped some pics quickly though)





1 Like

Too rad! I was looking for something simple from Amazon but I’ll have to go the DIY route I guess. Not a big deal.

Thanks for sharing your setup too; I’m in the early stages of learning Lua so this helps as a starting point for me. Appreciate that!

1 Like