CoyoteMIDI - A system utility for translating MIDI to key strokes

Audio Plugin Hosts and other audio software applications discussion
RELATED
PRODUCTS

Post

Hi all,

I've been playing a minor role within a small team of developers who are looking to expand the capabilities of MIDI devices.
This includes a highly customizable way of translating MIDI into keystrokes, mouse actions, macros or scripts.

If you're like us, you probably have a MIDI controller or two with an abundance of controls on it that either don't get used very often, or that you'd like to use for applications outside of your DAW. This is what inspired CoyoteMIDI.

Some example use-cases from our current users:
- Turning your MIDI keyboard into a bank of hotkeys when your DAW is not running
- Using a sustain pedal as a mouse click to alleviate hand/finger pain, or to activate/deactivate a microphone in voice-chat
- Using a MIDI fader controller (like a Korg NanoKontrol) for DAW commands such as zooming, scrolling, increasing the number of CC lanes visible, track height, etc
- Using a launchpad or MIDI pad device for keyboard shortcuts and macros (like a streamdeck)
- Using CoyoteMIDI to expand the capabilities of TouchOSC for a more capable Touchscreen input device

Or use it for leisure:
- Control your Netflix volume with a mod wheel
- Use your sustain pedal as an accelerator in car racing games!
- Using MIDI keys to skip to next track in Spotify


In addition to the MIDI translation engine, CoyoteMIDI also features an inbuilt retrospective MIDI recorder, allowing you to capture musical ideas without even opening your DAW.

= BETA TESTERS WANTED =

The is still in its infancy but we're looking for some users who'd like to give CoyoteMIDI a try and share their thoughts about it with us. Alternatively, you could just download it and never speak to us, and that's fine too!
Yep, toootally fine. Not upsetting at all.

Anyway, we've got a dedicated Discord server up and running for providing feedback or seeking support, or feel free to use the contact form on the website, or reply directly to this thread.
CoyoteMIDI is still relatively early in its development, so it's constantly being improved, but we're excited to see how people use it and hearing all about it!

The current BETA is representative of what will be the Free version of CoyoteMIDI, and does not support triggering scripts at this time. More details about that and other advanced features will surface over time.

So, if you have any unused pads, faders, knobs, or keys, it's time to wipe off the dust and put them to good use!

> Check out the CoyoteMIDI website: https://coyotemidi.com/
> Visit the Discord chat server: https://discord.gg/WUmEQsdM8d

(BETA version is available for Windows only)
You do not have the required permissions to view the files attached to this post.

Post

Hi,
Just making sure, can you combine midi and keystrokes on the same device?
There is this tool (forgot the name) that converts midi to keystrokes, but once you set a device through it, this device cannot sent midi data and can only send keystroke data exclusively.

Post

ferez21 wrote: Mon Jun 07, 2021 12:24 pm Hi,
Just making sure, can you combine midi and keystrokes on the same device?
There is this tool (forgot the name) that converts midi to keystrokes, but once you set a device through it, this device cannot sent midi data and can only send keystroke data exclusively.
CoyoteMIDI won't change how your device sends messages, so if it's capable of sending both MIDI messages and keystrokes, that functionality will remain.
Your MIDI controller can still send MIDI messages even if being used by CoyoteMIDI to translate into keystrokes.
I hope this answers your question?
And sorry for the late reply. We're much more responsive over on the discord server: https://discord.gg/WUmEQsdM8d :)

Post

Hey guys, It's been a while since we've posted in here, so here are some of the major new additions to CoyoteMIDI that have taken place recently:

MacOS

CoyoteMIDI is now available on MacOS as well, alongside Windows.


Scripting System

We've added a powerful scripting system to the PRO version of CoyoteMIDI, where you can create much more complicated macros, using well over a hundred different commands to manipulate your system.
scripting.png

Script Hub

We've created a Script Hub, both on our website, as well as inside the app itself, where you can browse user submitted scripts and use them in a translation with a single click.
scripthub.png

Modifiers

Besides translations, CoyoteMIDI now also offers Modifiers, that are designed to finetune the default behaviour of your MIDI controller, as opposed to translating it to something else entirely.
modifiers.png

Besides these, we've also gone through hundreds of smaller updates to improve and streamline the app, making it better than ever before.
You do not have the required permissions to view the files attached to this post.

Post

How compatible is this likely to be with a keyboard macro/mapping application. im particularly thinking AutHotkey, but anything similar.
An idiot on Set Theory:
"In some cases there is an object called red that contains everything that is red. In much the same way a pot is a plate."

Post

whyterabbyt wrote: Sun Mar 23, 2025 1:13 pm How compatible is this likely to be with a keyboard macro/mapping application. im particularly thinking AutHotkey, but anything similar.
CoyoteMIDI could trigger any AHK script that is listening for a certain keystroke by using a translation configured to output that keystroke. A lot of users will do this to quickly map a MIDI input to an AHK script. It should work with anything that listens for standard keyboard input.

On the PRO version, while it offers a scripting system of it own on par with AHK, you can even run AHK scripts directly without having to use a keystroke in between.

Post

cheers, sounds interesting.
An idiot on Set Theory:
"In some cases there is an object called red that contains everything that is red. In much the same way a pot is a plate."

Post

We've rolled out an update to production version 569:

FREE

New:
- Translations can now listen for a specific range of control change values.
- The information shown in the MIDI event log window is now colour coded.
- Added the ability to display discounts on CoyoteMIDI PRO exclusively to specific versions of the app.

Fixed:
- Improved the performance and behaviour of the MIDI event log window.
- Fixed an issue where items containing a '_' in the text would not be displayed properly in dropdown menus.


PRO

New:
- Scripts can now show a custom configuration window that allow users to configure settings provided by a script.
- Added the configurationparameter script command and configchanged script event.
- Added the inputwindow and textblock script commands.
- Added the animatetranslation script command.
- Added the parsedate script command.
- Added the uppercase, lowercase, and titlecase script commands.
- Added the hubscript script command.
- Added the tojson script command.

Fixed:
- Fixed an issue where the app would confuse Script Hub scripts as local scripts on MacOS.
- Fixed an issue where clicking the script browser button on a translation without a script selected could crash the app.
- Improved the performance and behaviour of the script output console window.
- Fixed some inconsistencies and improved the behaviour of the scripting system 'contains' operator.
- Fixed an issue where the default value argument in the combobox script command didn't work.
- Reduced the time it takes for the Script Hub to load script data.
- Improved the search behaviour of the Script Hub.
- Script editor tooltips should close now when the caret leaves the section that the tooltips were shown for.
- The tooltips on input fields created by scripts should now display the script title for scripts installed through the Script Hub, instead of the script path.
- The script editor autocompletion menu should work better inside parentheses now.


NOTICE
- The date script command will now return the local date for a given unix time instead of a UTC date.
- The argument order of the combobox script command has been changed.

Post

Version 617 is out now for everyone!



This update is mostly focused around bug fixes.



FREE

New:
- Added easier access to alpha builds from beta builds.

Fixed:
- Improved the stability of audio playback within the app.
- Fixed an error that could happen when translations using the process filters would fire in rapid succession.
- Fixed an issue where mouse clicks would not be executed at the right position on MacOS when the accessibility zoom is enabled.
- Fixed an issue where executing double clicks would not behave as expected on MacOS.
- Fixed an error that could occur when the app would receive multiple note events at the exact same time.
- The app will no longer automatically try to select certain virtual MIDI devices as output devices.


PRO

Fixed:
- Fixed an error that could happen when the isprocessrunning script command would fire in rapid succession.
- Fixed an issue where selecting a local script from the 'local' tab in the script hub browser would not work properly on MacOS.


NOTICE
- Some obsolete keyboard keys have been removed from the app.

Post

Version 635 is now available!

The most notable change for this update is the addition of the MIDI Keyboard Modifier. This modifier will let you turn a MIDI keyboard into a computer keyboard without having to go through the setup of an individual translation for every note or key.

Full Changelog:

FREE
New:
- Added the MIDI Keyboard modifier.
- The app can now automatically submit crash reports on the user's behalf when share telemetry is enabled in the general settings.
- Keystrokes can now automatically be remapped to match the target keyboard layout when sent.
- Added the 'Auto Remap Keys' to toggle the automatic key remapping for different input layouts on or off.

Fixed:
- Improved the stability of the app updater.
- Fixed an issue where some modifiers could remain active for a short period of time after being deleted.
- Fixed an issue where the app could seemingly randomly crash.
- Fixed an issue where the app could crash when dealing with many control change events at once.
- Fixed an issue where disabling 'show tooltips' could crash the app.
- Fixed an issue where switching from beta to production could crash the app if the beta version has a new type of modifier.
- Fixed an issue where the app could crash while recording input for a translation.
- Fixed an issue where keystrokes sent by the app couldn't be detected by some background apps on MacOS.
- Fixed an issue where the timestamps on retrospective recordings weren't always accurate.
- Retrospective recording files have a more consistent naming scheme again now.

PRO
New:
- Added the enforcetrigger script command.

Post

:tu:
An idiot on Set Theory:
"In some cases there is an object called red that contains everything that is red. In much the same way a pot is a plate."

Post

Version 664 is now available for everyone!



This version mostly consists of a lot of bugfixes, but it also adds a powerful app-wide debugging system so you can always see exactly what is going on under the hood.



We've also started our holiday sale, so you can grab CoyoteMIDI PRO for only $19 USD right now!



FREE
New:
Added an app-wide debug system, accessible via the 'Show Debug' button in the general settings.

Fixed:
- Added a minimize and maximize button to the MIDI Log window.
- Secondary windows that support resizing can now properly be maximized and restored by double-clicking their title bar.
- Fixed an issue where empty MIDI recordings could crash the app.
- Fixed an issue where sending MIDI to the app while it was loading MIDI devices could crash the app.
- Fixed an issue where the MIDI Keyboard Modifier could cause an error when handling multiple notes at the same time.
- Fixed an issue where translations would sometimes not execute an output key when 'Auto Remap Keys' was enabled.
- Fixed an issue where faulty MIDI devices could crash the app.
- Fixed an issue where the app could crash while shutting down.

PRO
Fixed:
- Fixed an issue where the app could fail to activate PRO on MacOS due to system permissions.
- Fixed an issue where the app could crash when attempting to run an inexistent script from a translation.
- Fixed an issue where the app could crash if a script was deleted while browsing the in-app script hub.
- Fixed an issue where the app would sometimes not recognise a PRO license on MacOS.

Post

BlackCoyote wrote: Fri Nov 21, 2025 9:10 am We've also started our holiday sale, so you can grab CoyoteMIDI PRO for only $19 USD right now!
Picked it up, but not had a chance to do much with it yet. One question, though. Ive got it set to open on startup, and open minimised, but its not doing the latter so Im getting the full UI opening when I log on to my system. Is this a known issue?

Windows 11, 24H2.
An idiot on Set Theory:
"In some cases there is an object called red that contains everything that is red. In much the same way a pot is a plate."

Post

whyterabbyt wrote: Thu Nov 27, 2025 9:07 am
Picked it up, but not had a chance to do much with it yet. One question, though. Ive got it set to open on startup, and open minimised, but its not doing the latter so Im getting the full UI opening when I log on to my system. Is this a known issue?

Windows 11, 24H2.
Hey,

This is not an issue we've been aware of. I'll be sure to look into it.
Thanks for sharing!

Post

A new update is out!

Here is the full changelog:

FREE

New:
- PRO licenses can be activated directly from a URL now.

Fixed:
- Fixed an issue where sending an invalid MIDI event from a translation output could crash the app.
- Fixed an issue where the app could crash from entering extreme BPM or PPQ values in the recording settings.
- Alpha builds should no longer immediately switch back to Beta builds when 'auto download' is enabled in the general settings.
- Fixed an issue where some messages in the debug system could crash the app.
- The app will now place temporary update files in the app's data directory instead of the install directory.
- The app will now place backup files files in the app's data directory instead of the install directory.
- The app will no longer write a log file to the install directory.
- Fixed an issue where PRO licenses would sometimes become invalid on MacOS.
- Fixed an issue where the app could error when trying to restore from a backup file.
- Improved the stability and efficiency of the audio system.
- Fixed an issue where the app could cause audio glitching within the MacOS audio system.
- Fixed an issue where manually drawing a curve on the Velocity Curve Modifier wouldn't work properly.
- Fixed an issue where the MIDI Keyboard Modifier would respond more MIDI events besides notes.
- Fixed an issue where the app might lose its signature on MacOS after updating.
- Improved the responsiveness of the UI on MacOS.


PRO

New:
- Added the selectedtranslationprofile, getselectedtranslationprofile, and gettranslationprofiles script commands.

Fixed:
- Fixed an issue where the app could crash when non scripthub scripts are placed into the scripthub folder.
- Fixed an issue where the app could crash when trying to run a script from the script editor's script browser or tab list.
- Fixed an issue where the getrecordingvolume script command would always return a volume of 0.
- Fixed an issue where installing scripts directly from a web browser wouldn't work on some devices.
- Fixed an issue where the app could crash from script errors inside script events.
- Fixed an issue where the heldnotes script command would return notes that are no longer held down.
- Fixed an issue where the timestamp on notes in the heldnotes script command would not be accurate.
- The windowchanged script event will fire more accurately on MacOS now.
- Improved the performance of the volume related script commands on MacOS.
- Improved the performance of the setfocusedprocess script command on MacOS.

NOTICE
- The URI script event will only trigger for URI's starting with 'coyotescript' now.
- The setrecordingvolume and getrecordingvolume script commands now expect and return a volume scale of 0 to 100 instead of 0 to 1.
- Updated various third party dependencies that the app uses.
- The app file size has increased from 150MB to 500MB to include more compatibility tools.
- The app savedata is now stored at 'Users/<user>/Documents/CoyoteMIDI' instead of 'Users/<user>/CoyoteMIDI' on MacOS. Existing files will be moved automatically.

Post Reply

Return to “Hosts & Applications (Sequencers, DAWs, Audio Editors, etc.)”