Trying to get my M Audio Keystation 88 to work with Pro Tools 2022.9.0 (Latest version)

Hi everyone,

I wonder if any of you might be able to help me with my little problem? And I apologize if this issue has been addressed elsewhere on the forum, but I couldn’t find a solution to this problem with this software.

The goal is quite simple: I want to use my M-Audio Keystation Pro 88 midi controller keyboard to control Pro Tools 2022.9.0 (PT) using the M-Audio Keyboard protocol within PT, as the latest version of PT doesn’t seem to like or play with HUI for some reason. I want to be able to use the dozens of rotary encoders/knobs (relative), sliders and buttons on the midi controller to control simple things like:

  1. Transport controls (Play, stop, record, fast foward, rewind, etc.)
  2. Note on/off
  3. Sustain pedal
  4. volumes for each track (9 at a time as there are this many sliders, if possible)
  5. …and eventually, various instrument and effects plugin controllers.

I have figured out issues 2 & 3 from my list above, but I am struggling to with the others.

I have the play button starting and stopping playback in Pro Tools (PT), which is great. Except for the fact that it takes two presses of the ‘play’ button to get it to play, if playback is stopped, and stop if playback is occurring. Ideally, I’d like to press the button once for each operation. How I am doing this is to set up the Play button on my controller to trigger the key stroke which is the Space button on my PC keyboard and is the keyboard shortcut to Play/Stop playback in PT. This can be seen from the second image below. I hope the images show my settings and routings well enough to shed light on this?

Does anyone know how this could be done so that I don’t have to press the button twice?

By the way, the Keystation controller has 2 midi inputs in PT and 1 output. I don’t know why this is but I’ll upload some images of this too, in PT.


The second issue is concerning the volume sliders for each track channel. I’m just not sure how I can set this up. However, I did note that a previous reply from Steve Caldwell seemed to be on the right track with another member who had a slightly similar issue using a file Steve uploaded called ‘CC10-Encoder-toHUI-Fader1.bmtp’ which seemed to feature functionality that might apply to my little problem. If Steve happens to be around to help with this, that would be great :smile:

I’ll upload some images to give an idea of how I’ve set things up. I’ll also upload my project file for troubleshooting if anyone can help.

I’m sure I’ve probably missed something to say or upload, so if anyone can think of anything at all, I’d be very grateful for the help.

BMTP is an amazing program and I can’t wait to fully unleash much more functionality as quickly as I can.

Thanks a lot.

James







Keystation 88 Pro with Pro Tools 2022.9.bmtp (3.6 KB)

Hi and welcome to the Bome community!

Well, I would suggest you use the HUI protocol and the attached project file instead of outputting keystrokes. Keystrokes can be a bit inconsistent, especially if the Pro-Tools Application is not in focus.

I’ve set up the transport controls For Play/Stop,Fast Forward, Rewind, and Stop.

For now I left Modulation and sustain pedal alone.

For performance you will want to route notes and the sustain pedal to a given track from your keyboard. I’ve set up an alias ( Protools Performance) pointing to Bome MIDI Translator Virtual Port 2 (BMT 2) and set up the routing at the preset level as described in this tutorial.

For transport control, you will want to set up Pro-Tools as a HUI controller and we route these to Bome MIDI Translator Virtual Port 1 which is alias “Protools Performance”. I’ve modified the translators to send the appropriate HUI transport commands for output. For Play/Stop I had to use a global variable (ga) to handle the state so that we know whether to send the HUI play or stop message.

Use of aliases is discussed here.

I set the swallow option on all translators so that nothing passes through the default routes that is not programmed otherwise. Any unprogrammed controls will go through both of the default routes so beware. If you don’t want these pass through messages then you should delete the routes in the MIDI router. You may want them however for things like pitch bend which has not yet been programmed.

I have a quick video for setting up with Pro Tools here.

Attached below is the modified project file.
Keystation 88 Pro with Pro Tools-2022-09-30-sjc.bmtp (3.8 KB)

Good luck!

Steve Caldwell
Bome Customer Care


Also available for paid consulting services: bome@sniz.biz

Hi Steve,

This is fantastic! Thanks for your quick response and impressive solution to my problem.

I hope you don’t mind but I’ve got a few further questions if and when you have the time, but I’ll write them on the forum as you may want others to benefit from the solution?

Thank you for your work on this :slight_smile:

Hi Steve,

Thanks very much it’s great to be here, and a huge thank you for the work you’ve put in here! :smiley:

This is a seriously impressive bit of programming here and appreciate the time you’ve taken to do this.

I have opened your project in MTP and although the transport controls work, they are quite inconsistent, bizarrely. I have to press play a few times to get it to work which is a little strange. But perhaps this is because I haven’t got the routing done properly, which leads me to say that I am a bit lost here on how to route all this stuff together. I have attached a screenshot of the routing panel in MTP: do you have any idea how I can route all this to get PT to be controlled by my keystation? The HUI appears to now work, which is terrific as it wasn’t wanting to work before. But, there are no notes playing and clearly I haven’t got things routed properly. I’m sorry to ask, but I’m a bit lost here. Would you be able to point me in the right direction?




ProTools_hyHqtddzUt

I must confess that I’m also a little confused about the Pro Tools Performance and Pro Tools Control aliases. Are they separated in this way because they both feature quite different programming parameters/requirements? I want to control everything on every channel and also the transport controls but maybe this requires much more programming?

Sorry to be a nuisance.

Regards,

James

I would not put a route between your MIDI keyboard and Protools Control, since all you want use this for is for non-performance type of controls like transport. With a static route there, then any MIDI that comes from your keyboard that doesn’t have a translator will flow through to your Protools Control port and probably really mess things up.

For Peformance Controls, you will need to send MIDI from your keyboard to Protools Peformance and assign alias to a port (such as BMT 2) and then in Pro-tools use that as the input port of your track.

I suspect you sustain pedal will be part of the performance along with your modulation lever.

Steve Caldwell
Bome Customer Care


Also available for paid consulting services: bome@sniz.biz

Hi Steve,

Thanks for your reply.

Unfortunately, nothing is now working or and all of the instrument tracks in PT are greyed out because it doesn’t ‘see’ the midi keyboard as an input anymore. I opened the project file and you routed the midi controller (Keystation Pro 88) to the Protools Performance alias (BMT2 Out) but sadly this isn’t doing anything anymore now (not transport controls or note on/off messages. Do you know why this is happening?

I notice that PT also won’t shutdown properly now. I have to use the Task Manager in Windows to end the task - could this be because of the SysEx messages? Can I ask where you found those SysEx messages and if they correspond to the transport controls of this midi controller in particular?

I have done what you have said here:

‘For Peformance Controls, you will need to send MIDI from your keyboard to Protools Peformance and assign alias to a port (such as BMT 2) and then in Pro-tools use that as the input port of your track.’

But this isn’t working either. I can’t help thinking the SysEx is causing these problems now. I also notice that every SysEx message for Play/Stop, Fast Forward, Rewind, Stop, etc. all use this message: b0 0f 0e b0 2f pp . Is that how it should be?

Sorry to be a pain Steve, but nothing appears to be going right here. :frowning:

Do you know why it might be doing this?

Many thanks,

James

I will need to look at this in a few days. It should work if you have the routing right.

Yes, this is part of the HUI protocol, only the value of pp will change depending on which button you press or release. The messages are not SysEX but they are raw MIDI that HUI uses. The key is to allow notes and other performance data to flow through BMT2 and have that enabled for track only in ProTools and have the transport data flow through BMT1 but don’t have that enabled for track but for HUI only. If you can capture the log of messages, checking MIDI IN and MIDI OUT in the log window of MT Pro, I can further look. I would also need to see screen shots of how you have ProTools set up for MIDI.
Steve Caldwell
Bome Customer Care


Also available for paid consulting services: bome@sniz.biz

Thanks for getting back to me and any help in the next few days or week or so would be most appreciated.

I think I understand what you are saying and it certainly sounds logical.

Just to give you some idea of what I am trying to achieve I think I need to write a few thoughts about how I am hoping to use my music system and how this contrasts a little with how you are proposing a solution.

I want to be able to make music/write songs without technology getting in the way. To be candid, from this foundation, I make no distinction and do not separate the transport controls from the note on/off, sustain pedal, modulation, pitch bend information. For me, they are an equally important part of the music making process, even if, from a midi signal routing/technological point of view, they should or need to be separate in order to work properly. I note what you are saying about having performance data flow through BMT2 on one track at a time? And then BMT1 handle transport controls in HUI only. Is this something that can be done fairly simply? Because it is all getting rather complicated to be honest.

In essence, and I hope this comes across in the right way: I need the system to be set up in a way so that I can set it, and not think about it again and doesn’t require me to be a midi systems engineer. I want to make music, and that’s it really. But I really need help to get this working, so anything you can suggest is greatly appreciated.

I’ll add the midi setup in PT and log messages later today.

Hope to hear from you when you have time :smiley:

Regards,

James

The DAW manufacturers do not always make it easy. It would be better if ProTools would support your device type natively but this is often not the case which is why I resort to HUI protocol with Bome MIDI Translator Pro. Once it is set up and working, it should give you the stability you want. You might look into other DAWs that are more flexible in support of other protocols or controllers, but I assume you have settled on ProTools for a reason.

I do not have a ProTools license right now so there is no way I can test it directly. I only get a monthly license on paid consulting as needed and then shut it down after the project is complete. The video I provided was when I last had the monthly license activated.

I can test with Cubase, or Reaper both which support HUI but can only test the functionality only as their method of setting up controllers is a bit different so I can’t show you anything that is not recorded.

Steve Caldwell
Bome Customer Care


Also available for paid consulting services: bome@sniz.biz

Hi,

I just realised that I forgot to add a critical piece to the HUI protocol. Pro-Tools will send out a HUI Ping (90 00 00 ) about 1 time per second and expects the controller to respond with a ping reply (90 00 7F). if it doesn’t get a reply it will shut down

I added a translator in this version of the file that does this. Then I tested with Cubase (Since I don’t have ProTools) and it worked perfectly.

Here is the aliases setup I have, you will need to modify your alias for your keyboard.

image

In Cubase, I have my HUI Control setup as below. You will do something similar in ProTools.

I have my MIDI track to recognize performance control.

Below is the updated project file with the HUI ping and response(translator 2.5) added.

Keystation 88 Pro with Pro Tools-2022-10-02-sjc.bmtp (4.2 KB)

Steve Caldwell
Bome Customer Care


Also available for paid consulting services: bome@sniz.biz

Hi there Steve,

Apologies for the delay.

This looks like a great solution and once again, thank you for the work you’ve put in here. You’ve been very generous with your time. :smiley:

As soon as I read your explanation of the HUI ping (90 00 00 ), I immediately remembered seeing this in the log window when it was going crazy, outputting a log message literally once a second! So I think you must be on the right track here. And since you’ve tested it in Cubase, I’m guessing we’re going to get this working in PT, which is fantastic.

I’ll try this now in PT and BMP and get back to you if that’s alright?

Regards,

James

Hi there Steve,

Apologies for the delay.

This looks like a great solution and once again, thank you for the work you’ve put in here. You’ve been very generous with your time. :smiley:

As soon as I read your explanation of the HUI ping (90 00 00 ), I immediately remembered seeing this in the log window when it was going crazy, outputting a log message literally once a second! So I think you must be on the right track here. And since you’ve tested it in Cubase, I’m guessing we’re going to get this working in PT, which is fantastic.

I’ll try this now in PT and BMP and get back to you if that’s alright?

Regards,

James

Steve, would you mind telling me whether these screenshots look right to you please?
MIDITranslator_mod3mTkIOb

I’ve tried to set the inputs and outputs according to your screenshot of your test in Cubase, but I’m not too confident about my midi routing.

Do I need to set Protools Control (BMT2 In) to BMT2 Out?

Oh, and do I need to put a tick in the box to open these other ports/alias? Because they appear to be open already.

Thanks again Steve :smiley:

James

You shouldn’t need to have any MIDI routes since translators are handling all of the routing. Please remove all of the lines on your MIDI router.

Yes, Set ProTools to read to and write to the Virtual MIDI Translator Port that you have assigned to the “Protools Control” alias.

Set Input from you Keystation.

Set Protools Performance to the to the Virtual MIDI port that ProTools is using for the track input.

In my example you could use as you like except for your Keystation (which I was using a virtual port because I don’t have one.

Steve Caldwell
Bome Customer Care


Also available for paid consulting services: bome@sniz.biz

Ok, I’ve removed all the routings and although it is playing virtual instruments nicely, the transport controls aren’t working at all unfortunately. Do you think I have something set up wrong?

I have BMT2 set in PT though - should I do BMT1?

The HUI pings seem to be flying down the log window but nothing happens when I press play, stop, or FF or REWIND.

Strange how it was working before when you first sent the file but now it isn’t.

Any ideas?

James

Correction: When I press play, stop, FF, or RW the MIDI activity meter is flashing, but promisingly, not the Record button, which you haven’t set up of course. :smiley:

So, it seems that PT recognizes the ping or button activation - it just doesn’t know what to do with it perhaps?

Whatever virtual port that you set up for Protools Control in MT Pro needs to be the same as you set up for HUI in Pro-Tools.

Whatever virtual port that you set up for Protools Peformance in MT Pro needs to match the track input you have set up in Protools.

It appears that you do not have the output device set up in the Second Preset (your screenshot) to be directed to “Protools Performance”. Check that should fix it.

Most of the messages that you are seeing are those coming back from Protools which are slightly different from the messages that we will be sending.

Steve Caldwell
Bome Customer Care


Also available for paid consulting services: bome@sniz.biz

Ok, does this seem right? I have tick the box next to Protools Performance (screenshot).

When you say ‘track input’, do you mean the global input of PT? Or each individual track channel in PT?

Because obviously I need it to work all the time for all channels when I select them in PT.

Update: I’ve tried changing the Input and Output to send and receive from BMT1 and BMT2 in various ways, and the way things are set so far in BMT appear to make it impossible to receive from Protools Performance and Protools Control simultaneously. Meaning I can’t set the input to receive from both at the same time and work. If I set BMT1 to Input in PT, I can play notes and hear them. If I make BMT2 as input, the transport now works (but not very well. It requires multiple key presses to operate) but the notes don’t sound and I can’t hear anything. I must be missing something here unless it’s just not possible in this configuration. I’m sure it’s me that done it wrong.

Preset 0 and 1 - Input Keyboard output Protools Peformance
Preset 2 - Input - Keyboard Output Protools Control

At the global level make sure all virtual MIDI ports you are using (ie BMT 1 and 2) are set up to match the alias inputs and outputs and that you do NOT enable input from your keyboard directly as everything needs to go through MT Pro.

See this video on how to use device selection at the preset level.

Edit: you do not need to enable the second MIDI port from your keyboard as this is used only as a pass through port from external MIDI devices attached to your keyboard input.

Steve Caldwell
Bome Customer Care


Also available for paid consulting services: bome@sniz.biz