Midihub Pipes Suggestions

Hi, I’m a new user of Midihub, pretty impressed by all the things I can do with it.
I would maybe have a feature idea to improve the random pipe.

I’m used to have different random “styles” with PD or max msp.
I think it could be interesting to have several ways of randomize things.
For example in Max there are 3 “styles” of randomness : random, urn and drunk.

I think this could be very interesting to implement this in midihub too !

But maybe because I’m new, there are other ways to create urn and drunk ?

2 Likes

Translate the MIDI channel of Note on/off message based on the note itself by adding or subtract a constant number.

I’m trying to set up a scenario where I use a Nord Drum 3P as a drum controller for an Elektron Digitakt and I use the Digitakt to sequence the Nord Drum 3P at the same time.

It is very simple to do the latter. A bit more difficult to do the former.

The Nord Drum uses a global channel to send MIDI note on/off messages when a pad is triggered.

The tracks in the Digitakt have their own MIDI input channels.

I can choose the MIDI note for the individual pads on the Nord Drum.

Let’s say I set the pads to start with note 61 and end with note 66. The global channel is set to 10.

I hit the first pad. The Nord drum sends a note 61 on, channel 10 and then a note 61 off, channel 10.

I would need a pipe which would take this message and replace the MIDI channel with the Note minus X, where X would be 60 in my case.

The output of the pipe for the example above wouls be note 61 on, channel 1 and then note 61 off, channel 1.

I left out the velocity on purpose because that would be untouched.

A bonus points would be if I could make it so that MIDI message on the output would always have the same note.

Let’s say I picked Note 72.

Then the above example woule be note 72 on, channel 1, note 72 off, channel 1.

Obviously there is a huge difference in the range of the MIDI notes and the channel range, so over/underflows should be clamped to 16 and 1 respectively.

An even more flexible variant of this pipe would allow the manipulation of both the channel and the note, either by adding a positive or negative offset, or by replacing the value with a static one.

How many such note transformations would you like to make? You can already use a bunch of Transform pipes to convert Note On 61 on Channel 10 to Note On 61 (or some other number) on Channel 1, keeping velocity, same for Note Off. You can put multiple Transform pipes in a single pipeline, each set to work with particular note number and channel.

Feel free to create a new topic about this use case :slight_smile:

1 Like

I just need to set the note range to essentially include a single note. I missed that. I will try it and report back.

1 Like

It worked. Thanks!

1 Like

All I need is a pipe with plain text so I can put notes anywhere in the patch as my patches are quite complex so I can remember what is going on when I go back to editing after a while. It would also be very nice to set a different color for this pipe for better organization.

4 Likes

@Marek I’ll second that - what I’d call an :information_source: Info pipe. I’d guess that while the info would sit in the file, the Editor would not send it to the device.

btw, When this was discussed before, another user pointed out that while there is a limit of the description length, they build patches out of appended patch “modules” each of which has its own description notes.
(I’d still like to litter my pipelines with info pipes though!)

welcome to the forum.

1 Like

I almost always work with the presets inside the device so it wouldn’t make much sense if those text pipes couldn’t be stored internally. This type of “info pipe” must be pretty easy to implement.

Yeah, simple enough to implement, I’d have thought (a bit like a custom label) but given each pipe only uses 11bytes (and each mapping 10), & still midihub has a ceiling of 128pipes/patch, my guess is it tries to be pretty concise with data.

It’s actually 255. :slight_smile: Indeed, we try to save as much memory as possible, but implementing info/comment sections should be possible too, we’ll get around to it at some point. :wink:

1 Like

Hi. Using MIDI to change Virtual Pipe source, I think I snip off some Note OFF messages.
I want to be able to slip in an extra Note OFF somehow, without the hardware buttin (which is cool), like just before a change via mapping.

Its a long shot and you have priorities. Hopefully you are a gardener?
Thanks.

Is it possible to add the ability to map a midi CC to Preset in Scale remap so the scale can be changed remotely?
I am hoping to use Arp and SCRemap pipes to add quantised midi arp capability to Digitone and Syntakt midi tracks and would like to be able to control and P-Lock the scale that’s being used.

1 Like

Any update about this? It’s very simply done in Max. You run clock into the hot inlet of a [onebang] and use note-ons to load the cold. It only fires when it’s been loaded.

1 Like

Yes, I would really like this as well. Patches can become quite complicated and not having a way to just throw in labeled blocks and notes is almost like having a programming language without the possibility to make comments.

2 Likes

Yes, several users have returned to this request since

Last time,

made it sound like it’s not that high on the development agenda!

The big difference, of couse between Midihub and scripting on a computer is that the hub seems to have strict limits on size of files (255 x 11 bytes for the pipes, 1024 chars for the Description, 32 x 30 chars for the Labels, etc). So my guess is if/when it happens, the characters per Info Pipe would be limited/ borrow from the Description bytes/share some discrete block after the Description bytes.

Personally, I’d still welcome it!

1 Like

Swing & Groove!

I was thinking about this (I agree it should be within the realms of “easily possible” & would likely be popular) and it got me on to something related which might be more than a little trickier, namely swing.

  • My guess is it’s more difficult cos Midhub needs to know where “the One” is.
  • And, maybe, (cos Midihub likes to be as general as possible) what time signature
  • But the mappable rhythmic modulation potential there starts to get quite exciting, I think.

So where I’m going with this is:

  1. Quantise hard to the beat, in the simplest case
  2. Have variable Quantisation Strength
  3. Vary offset from the beat for a given beat pattern (ie. Swing on Steroids)

Ultimately, I’d dream of a Midihub version of this*:
Groove Quantizing
Where Timing, Gatetime and Velocity can all modified differently according to which beat the ‘sequence’ is on.
A lot more complex, but with Mapping, some crazy potential - welcome to the (Individual) Beat Variation Pipe!

*this is a blast from the past: Yamaha’s QY700! But that wasn’t variable in real-time…

1 Like

a simple quantization scheme would be very helpful for the time being. I’ve got a friend who would be very interested in purchasing one of these if it had one, but I’m about to build them one with teensy since this can’t.

Edit: sorry if this is harsh, I’m just being real. I very much appreciate my midihub, but I think it’s wild that it still can’t rhythmic quantize against a clock given how long this feature request has sat in this thread.

1 Like

@vvilms Yeah, I hear you. Maybe in the next major update. (Personally, I’m looking forward to scaleable mappings which has also been on the agenda awhile…)
In the meantime, Lucky your mate has got you and Teensy…(They should still get a Midihub though, eh? :wink:)

(As for my extension ideas - I’m just dreaming of further into the future, hoping it might catch an eye at Blokas…)

2 Likes

Velocity mapping would be great so it’s possible to manipulate it as any other CC message.
Also functionality to hold the velocity value, i.e. ignoring “Velocity = 0”, so just holding the last velocity before velocity was set to zero.
For modular synths this would be great, then velocity could be used as a fixed CV parameter for the full duration of a note and not go down to zero during the release section of the envelope.

Also +1 for Delay, but also make the delay available in milliseconds as well as related to the beat.
This is a functionality I want also for the current delay function.

1 Like

You could use Transform to convert Note On’s velocity to CC and get it converted to CV, or just drop Note Off messages to never set it to 0.

2 Likes