UE4.27 Midi workflow
AnsweredHi guys
I'm trying to get monogram to control elements within UE4 using MIDI.
Specifically, I'm using web remote to expose and control parameters within my scene, and I'd like to throw monogram into the mix, rather than purely using the web interface.
I've checked that UE can see monogram MIDI using blueprints, but I'm failing to get any input. As far as I can tell, everything is set up, the channels are right etc.
Are you able to assist, and is there a better way to do this? (Monogram plugin now working fine btw, but not right for this use-case)
-
Hey Rob, without seeing the exact implementation I can give you a few ideas for troubleshooting:
- Quit Unreal and use MidiMonitor.com (note: only works on Chrome or Chromium browsers) or Hexler Protokol to ensure that the Monogram hardware is sending MIDI messages correctly. This is a basic test to make sure your MIDI assignments work as expected.
- Make sure you're using "Bind Event to On MIDI Control Change" if you've mapped your console to MIDI CCs (the default). Some tutorials show this for MIDI notes instead, which are only supported for press actions, not turn/slide/tilt, plus CCs are a superior choice vs notes for control messages.
- Make sure your blueprint is set up to expect the same data format as the Monogram modules are sending. Here's a quick rundown of the defaults:
- Dial and Orbiter ring turns use the relative 2's complement format. This means that they send repeating values of 1 (or higher, up to 63) when turned right and 127 (or lower, down to 64) when turned left. This can be changed to absolute mapping in Creator, where they'll behave as a slider (details below)
- Dial and Key presses rest at a value of 0 and send a value of 127 when pressed. Your on/off values can be customized in Creator, and you can choose a Toggle behaviour (like a latching switch) versus the default Momentary behaviour (like a pushbutton).
- Sliders and Orbiter discs move smoothly between values of 0 and 127, directly correlating to their position. Sliders of course stay at their last position, while Orbiters snap back to center, meaning they rest at 63.
- Quit Unreal and use MidiMonitor.com (note: only works on Chrome or Chromium browsers) or Hexler Protokol to ensure that the Monogram hardware is sending MIDI messages correctly. This is a basic test to make sure your MIDI assignments work as expected.
-
Last thing: Here's more info about how to set up various MIDI messages with Monogram Creator.
And here is Epic's documentation regarding the Remote Control MIDI plugin:
-
Thanks Andy
MidiMonitor shows input from Monogram, so that's working.
I've ditched BP's for now, and I'm using the web remote interface (image attached)
this has a Midi input, and I can see Monogram from the dropdown device name list.
So, in theory, I should be getting that input here, and seeing changes. But, I'm not. Any ideas? -
Ahhh, I see what may be happening:
- Click the grey button at the top-right of the MIDI panel (next to the X) until it turns Green
- Match "Mapped Channel ID" in the UE Control Panel to "CC Number" in Creator
- Match "Channel" in UE to "Channel" in Creator
One last thing: As it's set up right now, the control is going to transform the rotation of your Niagara system across all 3 axes. So you may want to change the axis values corresponding to input = 127 so that only one of them is changed from 0 deg.
-
Perfect!
Yes, the Remote Control panel seems to assume Absolute values only. I believe to take advantage of the Relative values you'd need to use a blueprint.
That's an understandable limitation on the Unreal Engine side since the MIDI standard assumes absolute values, but we'll touch base with Epic and see if they're willing to add Relative CC support too :)
-
I've got one more thing to add, and it may be a limitation.
Once I have monogram bound to rotate an object, I can specify the range in X, for example, from 0-360.
Rotate the wheel, and the object updates in X.
But, the Y and Z axis, that I told web remote to have a min/max of 0, get set to 0 every time I use monogram to rotate the object.
So far I can't see a way within web remote to have monogram bound to only one axis.
Or for a binding to read the existing values, and alter them.
Possible in blueprints, but would be amazing to be able to do it all from the UI in web remote and certainly much faster.
Am I missing a trick?
Thanks for all the help so far. -
It looks like that's a limitation of the UE Remote Control panel. I have an idea to work around it though:
- Transform the actor to its desired rotation in the World Outliner
- Return to the Remote Control panel and go to Midi > Ranges
- Select the two back arrows next to the min and max input fields. They should say "Use current property value" when you hover over them.
- Change only the min and max values of the axis you want to transform.
Note: this will need to be repeated every time you transform the actor, so at a certain point you're better off learning to bind this all to a blueprint that doesn't have the same limitations.
Please sign in to leave a comment.
Comments
9 comments