New to Midihub: Step-by-Step.03: Monitoring incoming messages

In Step-by-Step.02, we sent some messages out of Midihub and saw the LEDs change.
Now it’s time to hook up some devices to the inputs

Part 1: Monitoring input A



Long before Midihub and USB-MIDI, MIDI musicians would often make connections with boxes like these to split and merge MIDI data:
Mergers,Splitters

With many of these units, everything that came into a unit also went out.

With Midihub you can make routings like these and much more.

Midihub Editor allows you to make these connections and see what is going through them.



Let’s start!


Cables needed: USB & 2 MIDI cables.
Other gear: Two MIDI input devices (a MIDI controller/keyboard, a sequencer, etc),
plus PC/Mac with Midihub Editor


We’re going to use a Sequencer on MIDI-A…
…and a MIDI controller keyboard (with an arpeggiator) on MIDI-B

If you do have two output devices which can set BPM use those…
…otherwise follow along with Midihub and your devices.



First, let’s make a version of the “2 to 1 MIDI MERGE BOX” :

Mergers2to1


Connect Midihub to your PC/Mac

Connect your two MIDI devices…
…connect their OUT ports to Midihub’s MIDI IN-A and IN-B.

(Switch all three on!)

Connect click Connect in Midihub Editor

Start a New patch and drop in the pipes you need to make
Mergers2to1


:high_brightness: try it yourself …then check below…

... it should be like this:

Merge2to1a



Now we’re going to use the MIDI Monitor

…to see what the devices are sending to Midihub

Your MIDI Monitor display will depend on what devices you’re using;
Your devices probably won’t behave the same as what you see below.
Look at what’s happening in the examples then try something similar with your devices



First look at MIDI-A OUT:




Too much to see…

This set-up has a sequencer in MIDI-A…

which is sending out Clock and Active Sensing
So it’s hard to see any single event before it scrolls from view:

QYScroll

(If all that stuff rushing by makes you anxious, you’re not alone!)



Now let’s calm things down…
… by Filtering out the messages we don’t need to see right now:

Settings>IncFil

Fil_ClockActSens


Now the Monitor shows just those events that are left:

Now we can see properly the events we might want to look at

:game_die: Experiment with MIDI Monitor and see how filters put you in control!

See what’s in your Monitor…
… and try turning Filters on, seeing less and less
…and off again to see what you want



A little later…

…we try starting & stopping the sequencer to see what that gives:


this sequencer outputs CC on several channels when it is stopped.

We could just focus on one channel:

…giving…

Now we’re just seeing Continue, Stop, and Channel 3 events

(…and it becomes clear that this sequencer sends out CC64 &CC66 on every channel when it stops.
That’s useful to know if a target device uses these CCs!)


:game_die: Now with your setup… ,

....depending what it is...

…try:

  • hitting some keys
  • turning knobs
  • pressing buttons
  • pushing Pitch Bend
  • pressing play|stop|rewind
  • changing Program/Preset, etc, etc

As you try different actions…
change your MIDI Monitor Filter:

  • look out for any events you didn’t expect,
  • also SEE that when you remove filters, the events are still there
  • lastly, SEE if you select a different pipe, it clears the Monitor! (easy to do by mistake!)

:pushpin: Using MIDI Monitor filters makes it much easier to focus on what you want (and maybe need!) to see



You will need this patch in the next section, so Save it as ‘Merger2to1.mhp’ or something useful.

Now let’s monitor the second pipeline…

In the previous section you found out that using MIDI Monitor filters helps you ignore events that you don’t need to see and focus on the ones that are useful

Part 2: Monitoring input B

Carrying on with the same patch…

…Now let’s focus on the MIDI-BMIDI-A pipeline:

(In this setup, MIDI-B has a KeyStep37 keyboard attached.
It has a sequencer and an arpeggiator. It works on one channel a a time)


MIDI Monitor clears because we selected a new pipe…
… and shows nothing coming from the KeyStep37.


Maybe that’s OK…

…but even after hitting a few keys…

…still nothing

(even though the MIDI-B IN LED flashes on Midihub when a key is pressed)

what’s going wrong?

Checking Monitor’s filters, we see the Channel filters are still on

… and after clicking Select None

… the expected events become visible:


:arrow_lower_right: more on MIDI Monitor ‘remembering’ Settings later


trying out other device outputs



For our performance we want the Sequencer playing into A…
… and sometimes an Arp going into B…
… sending all the notes out of MIDI-A


We need to check the Arp output just like we did with the sequencer…

…So let’s switch the Arp ON:

then OFF:


The monitor shows that this device is quite different to the sequencer:

  • it sends out a CC before and after Start
  • and a separate CC before and after Stop


SEE also the BPM is 0.0…
maybe Clock is only sent when the Arp is ON?


Let’s change the MIDI Monitor filters to show Clock again…

MMon_(KS)B>A_ArpOffClockStop

…seems to be true; there are no Clock events after Stop .


:eye_in_speech_bubble: Are your devices sending Clock out?

Check your IN LED(s) flashing…
(just like the OUT LEDs did in the “sending messages out” activity)


From these two sections, you have seen that MIDI Monitor is :

  1. a useful tool for learning about the outputs of your devices;
  2. very flexible when its filters are changed to help hide
  3. …and show just the types of events you need to see.
  4. You (probably!) also learned that the MIDI Monitor clears as soon as you click on a different pipe;
  5. but MIDI Monitor keeps the same filters until you clear them


:arrow_upper_left: more on MIDI Monitor ‘remembering’ Settings:

it's very easy to forget....

…that Monitor filters might be on

If the Monitor doesn’t show what you expect, don’t panic!
…check the MIDI Monitor filters first!

Midihub Editor will also remember your last MIDI Monitor settings when you Quit
…so it’s worth checking them at the beginning of a session, too.



In the next topic in this series, we will combine the two inputs to see them in the monitor together

Development link for this activity

Please go here if you have any suggestions for additions or improvements to this activity.