[Draft discussion] Note Out module for The Grid

There are a few other work arounds to get midi from The Grid. Reaktor Blocks and VCV rack both have cv-midi devices. So, you can send sequences into those, and convert them that way. Also, Polarity made a youtube video showing a patch he made that converts Grid CV sequences to midi. He shared the patch on the video. I tried it recently, and it works well. I do agree that a midi out device, like found in Reaktor Blocks and VCV rack would be nice though.

1 Like

I remember ‘MIDI Grid’ was mentioned as something in ‘later plans’ when 3.0 beta just dropped. I think someone was able to get this out of support though, so it wasn’t a public promise afaik.
My only hope is that perhaps they thought if they have to implement MIDI Grid, it should be MIDI 2.0 ready, which is still pretty fresh thing that any DAW is yet to tackle.

1 Like

The video shared by @andrei_olenev is about this Bitwig Preset: Grid Note Out. It’s a workaround, and watching the video one can see that there are some limitations.

About the title of this request, should we be more precise and say (if I understood this well) “MIDI Out module for The Grid”?

2 Likes

I think we should leave these assessments out.

@Tj_Shredder I am trying to simplify a bit the writing of the first two paragraphs describing this feature request but I am getting a bit lost. It is not clear to me what exists and what is missing. Let’s focus on what is missing?

About the title of this request, should we be more precise and say (if I understood this well) “MIDI Out module for The Grid”?

I think that makes sense. That type of module already exists in Reaktor and VCV rack, so it seems like a pretty straight forward thing to include in The Grid.
The title, “midi grid” might be a bit confusing, because it kind of sounds like we’re asking for a separate grid device from Poly Grid or Fx Grid, called “Midi Grid”, for specifically working on Midi.

The description seems to me to be asking for a “midi out” module within The Grid, just like is found in other modular environments.

2 Likes

I have renamed this request and simplified the first paragraph in the description. Is it correct?

What should we do with the second paragraph mentioning MPE? Should this be part of this module or a module apart? (sorry, I keep being quite ignorant on MPE stuff).

@here Can someone help clarifying this second sentence about MPE in the description, please?

Is the feature described in the first sentence enough to be useful for MPE instruments receiving this MIDI Out data, or do we need to add anything else? Maybe this is a silly question, I’m just confused. :slight_smile:

The thing is, Bitwig’s expressions is not just MPE, in fact internally Bitwig uses it’s own data type rather than MIDI, it just converts that into MIDI where required, and converts MIDI MPE into it’s expressions in the controller script.
So, although it’s technically possible to generate Timbre expression by using NoteFX selector in round-robin (or Free-robin), then putting MIDI CC devices in 16 layers for each intended channel, and then have CC74 modulated on each layer independently. then you send that via HW instrument to virtual midi port which is then used with controller script that supports MPE, and only after using that as input in a track it’ll become usable expression.

TL;DR: we do need Note out module with Bitwig expressions, since it’s not the same as MPE, but still can be interpreted as MPE by plugins further in line.

1 Like

One more thing on this topic though. As of now all instruments do not pass on any notes that are modified or created within their nested chains, so Poly Grid having Note out will break this rule (which I’m sure Bitwig devs would be against) or make it not so usable as you’d still need to put some placeholder device on postFX and grab notes from it with Note Receiver after Grid.

So I’d personally vote for Note Grid, sharing most stuff with Poly Grid with obvious difference that it actually outputs notes, midi related messages and nothing else. Poly Grid could still share most if not all modules with Note Grid, just it’s note output modules would be only really usable for internal chains if you need that for some reason. (like generating separate sequencer for note-driven audio FX?)

1 Like

@x.iso, I’m trying to process your comments. Let’s see whether I’m getting this right.

In your first comment, are you saying that it would be more correct to request “Note and Expressions data out” (instead of “MIDI”)?

In your second comment you are saying that you believe the devs will not accept this request because it would make Poly Grid behave differently than the rest of instruments. Well, about this I think we shouldn’t make any assumptions, and hopefully one day we will know their opinion officially. Many things happen inside Poly Grid that don’t happen in any other instrument, and it is understandable that this awakes people’s imagination and desires. :slight_smile:

Maybe a separate Note Grid is an alternative solution to this problem, but it sounds like a separate request?

No, originally they answered to someone that Note Grid was planned for later (that’s when 3.0 just launched). And really it’s not like they need to build it from ground up. It would be same Grid you know as Poly Grid and FX Grid, just with new flavor. And of course with new modules (which would appear in all Grid types, as there are uses for each either way)

In first place, why do you think there are separate Poly Grid and FX Grid, when they’re almost identical in features? for same reason Instrument layer and FX layer are different, as example. neither Instrument, nor FX layer pass NoteFX inside their chains or any new note/midi data generated, they’re used internally for these nested chains only, to not mess with the rest of device chain on the track. While NoteFX Layer does the opposite, it doesn’t let any audio modified or generated inside it’s chains out to pass to the device chain, only any changes to or new note data/midi. Note Grid would work same way and there’s no reason to break how this general behavior works consistently in the daw.

I’m not up to speed on MIDI 2.0 yet. I’ll take that as a homework assignment. That said, I don’t think I’d want to predicate this feature on MIDI 2.0 support in Bitwig.

At the grid level we’re not even talking about MIDI it’s just signals.

On the output block you would need the channel, the gate signal, the pitch signal, and the usual expressions. Though again I don’t know, but can only imagine MIDI 2.0 has the ability to define additional channels and expressions - idk

Right now, at least for me I’d be happy with a block that lets you control those signals.

I guess I like what @icaria36 was saying about multi chain outputs, though thinking from a development perspective that might imply a lot of additional UI work when the short-term goal is just to unblock everyone who’s been waiting for it.

For note value and pitch bend, how do we deal with that @Tj_Shredder. One is a latched value with the Gate and the other isn’t. I guess this hypothetical output module should sample and hold the ‘note value’ I guess when the gate goes high, right?

Yeah this is a really good point @x.iso. Frankly it’s probably clearer to users that way as well.

Two questions.

  1. How do we play chords
  2. How do we output to multiple channels

Should we allow multiple output blocks to solve both these problems perhaps.

If so, the channel should either be a constant that can’t be modulated, or it should be latched with the gate, like the afforementioned note value. I’d lean toward the latch / sample and hold, that way you could strum across different channels.

1 Like

In other news, I’m curious why they have been delaying this asked for feature. Is it possible there is a problem with potentially audio-rate gate signals (midi notes) in the output block maybe?

What happens with polarity’s hack when you do that, I never tried it.

Probably there should be a hard limit on the maximum frequency you can trigger the gate in any case.

the way you generate notes currently (via Replacer) is no faster than 1ms, as it’s a minimum Hold value, so any triggered note is forced to stay on for at least 1ms. That being said, with new Note Repeat you can repeat note at freaking audio rates and no problems what so ever. you can try it yourself, beside kHz rate mode, there’s Pitch rate mode.

Personally I really thought that they wanted it (MIDI Grid) to be MIDI 2.0 ready out of the box, Bitwig devs really love to be on the cutting edge of the new tech. I think they’re taking their time with MIDI 2.0 as it’s pretty complex stuff from what I’ve seen. but on the other hand if I understand correctly it doesn’t require multi-channel tricks like MPE for polyphonic expressions of all sorts. so many things will come as natural with Bitwig being able to have polyphonic expressions on each of it’s 16 channels inside instrument clip.

2 Likes

Thank you so much for this conversation. I am learning a lot.

Now, to get this request out of Drafts and into #features … What if we focus the request on being able to use The Grid to generate Note data that instruments can use out of The Grid? Then we can mention that one way to achieve this would be a Note Grid device, following Poly Grid and FX Grid. And we also mention that another way could be a Note Out module on The Grid. The data types available would be the same available for Note Clips. This would be more precise than talking about MIDI and MPE.

The title (that users should be able to understand without having to read the entire description) could be something like “Play instruments with notes created through Grid patches”.

yeah, rather than ‘MIDI Out’ we need ‘Note Out’ module with all supported expressions. and NoteFX Grid would be additional request, potentially tied to creation of this module.

As for Note Out module, I would expect it to have:

  • Gate input
  • Pitch input
  • Velocity input
  • Pressure input
  • Timbre input
  • Release Velocity input
  • output Channel select

maybe also Pan and Gain? afaik these seem specific to Bitwig devices. and in order for that module not to be huge every time you put it in Grid, probably good idea to either enable these inputs via inspector panel, so the module expands like Merge/Split or to have it behave more like Sum module where initially you have Velocity input hanging in there, and if you use it, it expands the module and shows next expression input available, and so it expands as you use up more inputs. might be a bit pain in the ass if you just want to generate Timbre specifically, so you’d have to temporarily connect other expressions to get to Timbre, then disconnect unused ones.

1 Like

I have edited the title and description. Please review.

We need to improve this sentence in the section about alternative ways:

Review of the VST and other products sections is welcome too.

Almost there!

@here I have polished the description a bit more. I will promote this request to #features in a couple of days unless there is any objection.

1 Like

@here This feature has been implemented – see Note Out module for The Grid - #3 by x.iso