I’m thinking about buying a Midihub to replace Ableton in a finger drumming setup.
I trigger sounds from 4 hardware drum machines using a Launchpad Pro. A MacMini running Ableton with an RME interface sits in the middle and translates midi data from the midi output of the Launchpad to the midi inputs of the drum machines.
I created an Ableton project that allows me to quickly reprogram incoming midi note and channel data from Launchpad using an external midi controller.
For example, note C1 on the Launchpad plays note C1 on midi channel 6 by default. I want this pad to play E1 on the 3rd drum machine. Using the midi controller, I can change the note value of this pad anywhere from C1 to C3 using CC21. I chose C1 to C3 as all the hardware drum machines sounds fall in this range. CC22 let’s me change the midi channel of the pad from 1 to 4, 1 for each drum machine.
The Ableton project allows me to quickly reprogram 32 pads on the Launchpad so that’s 64 CC’s in total. All 32 pads have exactly the same choices.
My questions are:
Can I program the Midihub to replace this 32 pad Ableton project?
If I can, will the Midihub produce any notable latency?
Apologies if this doesn’t make any sense so please ask questions if it sounds complete nonsense.
Can I program the Midihub to replace this 32 pad Ableton project?
I’m not clear whether Midihub is to be used to link
controller → Launchpad to configure the kit change
Launchpad → hardware drum machines once configured
both
Probably most crucially: does “I can change the note value of this pad anywhere from C1 to C3 using CC21” mean that CC21 changes the pad directly or tells the project to send a short Sysex to the Launchpad to make the change?
Whatever the answers you can probably find a way around with Midihub ,
but it would be good to be clear which solution[1] would fit your exact setup just to be sure
[1] For example even in the case where project sends Sysex (meaning MH won’t do that for you), Midihub could (depending on your controller):
use a CC value (for a given CCid) to switch incoming notes down a chosen pipeline to Transform them to other notes on other channels to your specification.
or, use a Program Change to switch between patches specifically set up for translating each drum ‘suite’.
The solutions are myriad, Andy.
btw have you downloaded the Editor yet? You don’t need a hub to start playing with it.
I took your advice and downloaded the editor. I found this pipeline in Patchstorage called SIMPLE DRUM MAP NOTE # TO MAJOR SCALE NOTE # by chuck_vicious. This pipeline uses 16 individual Note Remap modifiers and remaps midi notes from Midi Input A to Midi Output B. The Note Remap is fixed so for example C3 changes to C4 from Midi Input A to Midi Output A.
Instead, I would like the incoming C3 note remapped to any note from range C1 to C3 and to be able to control which note is outputted by using Midi CC21 from a midi controller attached to Midi Input B. I would also like to Channel Remap this C3 note to any channel from 1 to 4 with Midi CC22 coming from the same midi controller attached to Midi Input B. I would then do the same for incoming note C#3 instead using Midi CC’s 23 & 24 to change midi note and channel respectively and then repeat for how many notes I need to remap.
Is this possibe? I couldn’t quite work out how the midi CC mapping works as I don’t have a Blokas yet (hopefully soon).
Yes, for this it would probably be best to use Transform pipes.
Rather than translating a range of notes somewhere, Transform can give you individual fine control.
Drop one into a pipeline and check it out:
Mode is Replace
What & Into are both NoteOn&Off
Set Note Number to is Arg1 mapped to your CC21
Work with Note Number in Range Low|High is set to C3
Keep Channel is No & Set Channel To is mapped to your CC22
Then alt-drag alter&map for each pad!
Bet you, though –as you became more comfortable– you’d end up going further.
(personally, I couldn’t resist sending a certain velocity range to another drum voice either instead or as well!)
EDIT2:
range C1 to C3
one current shortcoming is that mappings are literal, so you’d need to restrict your CC21 to 36-60 at your controller end. (There are workarounds but you don’t want to go there yet.)
EDIT: one possible area where Midihub approach might not match your your A.project is visibility: will you watch each property as you change your CCs, then Save and use stand-alone without further tweaking for example?
Or does your controller show you this clearly enough so you dont get the wrong note/channel in performance?
Transform looks like a pretty nifty tool, I have had a play and it seems like it will do everything I need.
Absolutely, the options are almost limitless.
I can set CC ranges on most of my midi controllers but they are a bit fiddly. Editing 64 times is a bit daunting but not impossible. It would be great if you could point me in the direction of the workarounds so I can try and work out which option will give me the smallest headache
As long as I can transform the notes using a controller in stand-alone mode then it won’t be a problem. My process is, turn machines on, put together a drum kit by tweaking knobs (by ear) then play.
if you’re lucky in your range of CCids (eg. all note-setting ids are in few contiguous ranges)
then you would save all that work with two short pipelines; one for the note-setters and t’other for the channel-setters)