Using a bass guitar as a game controller

I’m looking to turn my bass guitar into a game controller for streaming and YouTube.

I’m currently using a Roland GK-3B split pickup with a Roland GI-20 MIDI interface.

I’ve ran into a few different issues that I could use some direction on.

First, I tried using the classic version of MT. Ive noticed that after recording the MIDI signal I was getting both a Note on and Note off signal, causing the keystroke to registrar twice. This may not be to much of an issue for movement, but hitting a string to pause the game, only to have the key registrar again and
un-pause the game would be infuriating.
I did download MT Pro and saw that you could change the keystroke to only registrar on “Note on” only, and I’m assuming this is only a thing I can do on MT Pro.

Second issue is with MT Pro. After downloading the trial version to test and learn how to set it up, I could not get the signal to output. MT was showing a MIDI in signal, but was not outputting a keystroke.

This is my first time using MT, and I could really use some assistance on how to set it up, and only get one keystroke with the “Note on” signal, or some other way to do it that may be better. Ill take any suggestions.

Also, I have watched some tutorials from Bome and another YouTube that tried a similar thing, but none of them address the issues I’m having or set it up the way I need it.

Thank you

I assume you use windows, so there is one important thing you should know about letting Midi Translator Pro generate keystrokes.
Both Midi Translator and the program that will be receiving the keystrokes have to be running in the same user mode, if the receiving program runs as Administrator, so should Midi Translator.

Also, Midi Translator has to be running in the background. Activating the program window disables keystroke output.

If that doesn’t help, try this for the outgoing keystroke action:

Both programs are running in the same mode and I’m not sure what you mean by “Activating the program window disables keystroke output.”
If I don’t have the window I need to output keystrokes to, then how will it function?

This is how I have it set up, but it still doesn’t work.

I’m sorry if that wasn’t clear, I mean having the Midi Translator Pro window on the foreground disables the keystroke outputs. This can be disabled, but it’s easier to just minimize MTP to test if the output works.

Try setting it to output physical keys, like this:
I also see that your incoming action is set to channel 1 while the capture window shows a note on channel 5. You should set the incoming action to the channel and note that your midi device sends when playing the note you want to use for that keystroke. Set incoming velocity to “any velocity”.

Hi @The.Psychedelonaut and welcome to the Bome Community!

I’m the forum moderator here.

Reach out again if resolving the issue was not solved by @DreamXcape! I think he nailed it pretty well. There is also an outgoing action in V 1.9.0 that allows you to switch application focus prior to sending keystrokes. You would use the same incoming trigger on two translators. One of the outgoing action would be to switch application focus with no delay, and the second would be to send the keystrokes with may a 10-20ms delay. This will ensure the target application is focused prior to sending the keystrokes.

For additional assistance, it might be helpful to post your project file and capture what is happening in the Log window. You would check Incoming, Outgoing, MIDI IN and MIDI OUT boxes to get a full picture of what is happening.

Steve Caldwell
Bome Customer Care

Also available for paid consulting services:

I did get it to work, kind of.

I have everything set up and I am getting keystroke outputs to applications, but when I open a game emulator (In this case I’m using the NES emulator, FCEUX) and start trying to control the game, it causes my PC to goes haywire.

When I switch to another program, it will start to open sub-menus, input text into fields, and cause some programs to out right crash. Ive had to hard reset my PC three times so far due to windows locking up.

Ive attached my project file
NES.bmtp (4.0 KB)

Alright. I have gotten the issue of everything going haywire fixed. The Key Repeat function on the Outgoing tab was causing the keystroke to go on repeatedly from program to program.

The problem Im having now is that it will not register a keystroke from time to time.
If Im inserting text into something like word pad it works fine. Sometimes there will be a stutter, but its nothing major and still works as intended.

As soon as I go to the emulator program, it will start acting up. Not registering a keystroke after the first one does, sometimes not restringing at all. It will also sometimes cause my emulator to repeatedly reset, even if I change the keys on MT and the emulator.

Here are the changes I made to my project file
NES.bmtp (4.8 KB)

I made some changes to your file.

If you want to have longer keypresses for held notes, the input action for both note on and note off have to be set. The slow key emulation has no real use in this case because the note length determines how long a key is held down.
NES.bmtp (4.1 KB)

If you simply want the keys to be pressed once, only the note on should be used.
This can be used together with the slow keystroke emulation.
The slow keystroke emulation creates a key down event, and a key up event after the set delay in ms.
NES 2.bmtp (3.3 KB)

Let me know if this works.
You can combine the methods from both files if some keys function better with the other method.