 Hello, OscillatorSync here, and welcome back to another video where we're going to be talking about this very good friend here, the MIDI Hub from Blockhouse. So in a previous video, we took a look at the MIDI Hub and how we could use it to create a lovely generative ambient cloud of notes out of a single note, all through the magic of MIDI processing. So if you haven't already seen that video and you're not already familiar with MIDI Hub, I would recommend going back and taking a look at that video because in that video I introduce what MIDI Hub is and how the editor works, which is kind of where all of the magic of setting up a particular patch happens. And I'll be glossing over some of that in this video just so I don't repeat myself. And, you know, that first video was pretty fun as well. It's a quite nice patch that we come up with by the end of that. But what are we going to talk about today? So in that previous video, the patch that we made was kind of a static thing. You could influence what it was doing by playing in different notes. But we built a patch, we tweaked the parameters within the patch, and that was kind of it. You could play in the notes and it would do its thing. What you didn't really have in that patch was any control during the performance over how that patch would behave. So what I wanted to do in this video is demonstrate by way of building an arpeggiator patch how you can very, very easily add performance controls into the MIDI processing that MIDI Hub is doing. So we're going to be building a fully featured, and in fact some additional features that you don't tend to get on arpeggiators, a fully featured arpeggiator for anything, but in this case we're going to be using the monologue which doesn't have an arpeggiator. It's probably the one thing that it's really missing. And through that, because I think everyone's kind of familiar with an arpeggiator, I'll demonstrate how quick and easy it is to apply performance controls to the patches in MIDI Hub. So before we get on with actually building the patch in the editor, let's discuss the setup that we have out on the table today. So obviously we have the monologue, which is going to be our keyboard, but also obviously our synth that we're adding our arpeggiator to. In terms of the audio routing, we're coming out of the monologue into Polaro just so that we can have a bit of reverb so it's not too stark, and that's just going straight into the interface. So in terms of how the MIDI is routed for the monologue, we're coming out of the MIDI out on the monologue, and we're going into the first input, input A, on MIDI Hub, and then we're coming out of the first output on MIDI Hub. That's output A and going into the input on the monologue. To that end, so that we don't get crazy MIDI feedback, what I've done, if we play notes now, you'll see that the monologue isn't playing any sounds. In the global menu, I think it's on this one, maybe the second one here, we have a controller, it's just called on the monologue local SW off, it's often just called local off on other keyboards, and what this basically does is it disconnects the keyboard from the synth itself. It's still sending out MIDI, but it's not triggering the synth. The first thing that we'll do when we get to the editor is we'll sort of rebuild that connection by connecting the output to the input on MIDI Hub. So that's the way that monologue is set up at the moment, no sound when I play it, that will be fixed very shortly. The other thing I've got out on the desk is the BeatStep Pro, and I've got this in control mode at the moment, which means that I basically have across the top here 16 knobs which send out MIDI CC commands. I'm going to use these knobs to provide real time control over the arpeggiator that we build in the MIDI Hub editor. It's not going to be triggering any sounds, it could do if we set up the routing, but for now all we're doing here is just making use of this nice row of knobs. It was the most convenient thing that I could think of that had a bunch of assignable CC knobs. I don't know what the CC numbers are currently, they're probably just the ones that come default from the factory honestly, but as long as they're all different then this will work, and any control surface that can send out MIDI CCs on knobs or faders, or even switches in a lot of cases for the stuff we're looking at would work perfectly well. It's just that this is what I've got. So here we are in the MIDI Hub editor. As I said at the slide video, I'm not going to go into the basics of how this works. I'm going to assume that you've watched that first video, but basically this is where we're able to set up the MIDI processing pipelines. So let's start by reconnecting the keyboard on the monologue to its synth, and all we need to do there is go from A and go straight out to A, and now if I lean over and play the monologue, the keyboard is reconnected to the synth, which is a very good start. So how do you create an arpeggiator in the MIDI Hub? Well, it's very, very simple because there is literally an arpeggiator pipe here. So if we stick our arpeggiator pipe between our input and our output, that means that the MIDI is going to come in here. It's going to get processed by the arpeggiator, and it's going to head out to A. So if I now lean over and play a chord, because the monologues keyboard does actually output polyphonic MIDI, even though it's only a monitor, if I lean over, we have an arpeggiator. So that's as simple as it is if you want to just add a basic arpeggiator to a synth, you can just stick the arpeggiator in between it's in and out, and you disconnect the local connection on the synth jobs A. But let's actually add a couple of other features here. Let's start by adding a speed control to the arpeggiator, shall we? So if we look on the right here where we have our various properties, we can see that we have a time division control here. And if we want to assign a control to the time division, it is as simple as clicking on the map button, and now it's waiting for you to send a note or CC message. So if I just lean over and turn the knob on my Beatstep Pro, that's it. That's all that needs to happen. Now that knob is mapped to the time division. So if I play a chord and twist that knob, we have control over that parameter. And that's basically how we then build our real time performance controls over any of the pipeline here. So I think probably another obvious control that we would want to add here is the octave range. At the moment we're just doing a single octave, so let's click map and we'll twist the second knob. And you can see in the interface here as I turn the knob, it's going to change this. So now if I play a chord and twist that second knob, great stuff. Now, this video isn't just about these real time controls, although we're going to be making use of them throughout. I do want to create an arpeggiator patch that's actually useful. So one of the things that I'm lacking at the moment, or rather that's frustrating me at the moment, is that I have to keep leaning over and playing a chord. It's not latching. So let's add a latch feature to our arpeggiator. And luckily, there is basically a straight up latch control, which is called the sustain pipe here. So we want to put this before our arpeggiator because we want the MIDI notes that I've played on the keyboard to be the ones that have been sustained. So if I bring in the sustain here and pop it before our arpeggiator at the moment, sustain is turned off. But if we turn it on, the other thing that I will do is I'll switch the mode over to chord. So what this means is that if all is turned on, then every time I play a note, it's added to a sustained chord and it will just build up that chord more and more and more. Now that can be really, really useful if sustain on is controlled by a pedal, for example, obviously. But if it's not, then the chord mode basically means that every time you play a chord, those notes replace what's been sustained. So we can have this type of interaction. And now I don't have to keep leaning over to play notes as I'm exploring building this patch. However, I may want to be able to turn this off. So why not map the sustain to another knob? So now if I turn knob 15 down, it's going to turn the sustain control off. And when I turn it back up, it will turn it back on. So I now have basically a latch control for my arpeggiator. Lovely stuff. Now we can go on adding additional controls into the arpeggiator. I guess the obvious one might be a control over the type here. I should add, instantly, if you want to see what is currently mapped to a control, we can use this dropdown here and it will tell you which input to what channel and what CC number. And we can click un-map if we want to remove that mapping. So we can add the type and so on, but let's add some more interesting functionality to our arpeggiator that sort of elevates it above what you might expect to see just as a built-in arpeggiator on a synth. So the first thing I think would be a really interesting thing to add here would be a chance. And what the chance does is it will want after the arpeggiator, it's acting on the notes coming out of the arpeggiator. What it will do is it will allow us to decide what the likelihood of a note being played is. So this will essentially drop notes based on a probability. Now the way this is set up, you can either have it working on a time division or per note. I want to do this on a per note basis, so I'm going to put the time chance up to 100 here. And now if I lean over and I'll latch a chord, you can hear that not every note from our arpeggiator is coming through. And that's a really lovely thing, I think, because our arpeggiator starts to take on obviously a less repetitive feel, but also starts to think like it's generating melodies in a way, depending on what notes you play in, of course. Now obviously chance here, if I lower this, then it's going to let fewer notes through. And if I raise it, then we'll get most of the notes through. This, I would say, is an obvious candidate for control. So let's hit map and use that third knob. And now we can turn down the chance of a note being played within the arpeggiator with that knob there, which is a lovely thing, I think. So what else do I think would be an interesting thing to add into an arpeggiator that would elevate it maybe beyond a standard arpeggiator? So how about bringing some randomness into the notes that are being played? So we can put this anywhere after the up. It doesn't really matter whether it's before or after chance, so I'll put it after. Oh, before even. Come on. Okay, so here we have a way of bringing randomness into the notes that are being played. So one thing I think would be really interesting in order to make this arpeggiator more flowing is to bring in some velocity variation. The patch that I've got on the monologue is respondent to velocity. So let's maybe say our velocity can be swung up and down by 40 either way. And that in tandem with the chance that we've got here is really making the arpeggiator feel alive. I like that a lot. Now in terms of how we might control this, I guess we would probably want to just bypass it on a control, maybe. Or we could change the positive and negative swing. Either of those would work. I haven't think about which one I think would work best, but let's put in another bit of randomness that I think would be quite attractive. So one of the other random aspects that you're allowed to control here with the random here is the pitch of the note which can be shifted automatically in octaves. And that sounds like that could create some really interesting stuff. So let's try that. Let's be able to go up. I think that's rather cool. And we have that control over the time and over the chance. And of course if we set those other controls to their baseline then we just carry on getting a standard arpeggiator. OK, so I think that's a rather interesting arpeggiator patch here. And we could do other things. Putting ratchets in might be interesting. But I think for now the one last thing that we need to do is make this bypassable. There are a couple of different ways we can approach this. If this was a very complex set of MIDI processing, we probably want to make use of the virtual ports to segregate this off. But since it's only like five different pipes here, I suspect the quickest and easiest way for us to bypass this is to just map the bypass on every single one of these modules to the same control. Click map. So now on that final knob on the BeatStep Pro, I now have a bypass control for this behavior. So at the moment with the knob turned high, I wish you could invert these mappings so they went the other way. But as it happens, actually you probably can with another pipe, can you? Anyway, as it happens with the knob turned high, this arpeggiator behavior will be turned off. But we still have the connection from the input to the output. And then if I turn the knob down, we have our pretty randomised arpeggiator with chance, velocity randomisation and octave randomisation. Filling in a gap on the monologue, which inspires all sorts of new uses for it, I think. Lovely stuff. So anyway, I hope that was interesting and useful. If you did enjoy that, then as always, if you liked the video, make sure you subscribe to the channel, all that good stuff. Also, if you look in the description of the video, blockers have been very kind and provided an affiliate link for the MIDI hub. So if you're thinking about getting a MIDI hub, if you use the link in the description, a portion of the sale comes back to support the channel so that I can buy other stuff to show off, I guess. Or, you know, just support your local Gear Shop as well. I'm sure they will appreciate that. Otherwise, until next time, thank you so much for joining me. As always, take care. Bye-bye. Thank you.