Skip to content

Psystec/MIDI-Monkey

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MIDI Monkey

MIDI Monkey Logo

Play Any MIDI File or Device in Any Game or Application

A customizable MIDI playback tool for gamers and musicians

GitHub Release .NET Version Discord

Note: This application was previously known as "Once Human MIDI Maestro" but has been expanded to work with any game or application using custom MIDI keymaps.

🎹 Overview

MIDI Monkey is a powerful, user-friendly application that allows you to play MIDI files or a MIDI instrument in any game or application by translating MIDI notes into keyboard keypresses. Whether you want to play piano in your favorite MMORPG, create music in a sandbox game, or automate key sequences in any application, MIDI Monkey makes it simple and intuitive.

See it in action here: https://www.youtube.com/watch?v=1hGpBP8zH2U

✨ Key Features

  • Universal Compatibility: Works with any game or application through customizable key mappings
  • Live MIDI Input: Connect your MIDI keyboard or device for real-time playing
  • MIDI File Playback: Load and play any standard MIDI file
  • Custom Key Mappings: Create and manage profiles for different games and applications
  • Visual Note Display: See which notes are being played in real-time
  • Playback Controls: Adjust tempo, add modifier delays, and loop songs
  • Global Hotkeys: Control playback with F5/F6 without leaving your game
  • Minimal Resource Usage: Lightweight design with low CPU and memory footprint
  • Channel Selection: Choose which MIDI channel to listen to for more control

📷 Screenshots

MIDI Monkey Main Interface

🚀 Getting Started

Requirements

  • Windows OS
  • .NET 10.0 Runtime (Download)
  • Any game or application that accepts keyboard input

Installation

  1. Download the latest release from the Releases page
  2. Launch MIDI Monkey.

📝 How to Use

Basic Setup

  1. Select a MIDI KeyMap Profile:

    • Choose from the built-in profiles or create your own
    • Each profile maps MIDI notes to specific keyboard keys
  2. Load MIDI Files:

    • Click "Select MIDI Folder" to load your MIDI files
    • Select a MIDI file from the list
  3. Start Playback:

    • Make sure your game/application is running
    • Click "Play Song" or press F5 to start playback
    • Press F6 to stop playback at any time

Using a MIDI Keyboard

  1. Connect your MIDI keyboard or device to your computer
  2. Select it from the "MIDI Device" dropdown
  3. Click "Use MIDI Device"
  4. Play notes on your MIDI keyboard - they will be automatically translated to keypresses

Creating Custom KeyMaps

  1. Navigate to the 'MIDIKeyMaps' folder in your installation directory
  2. Create a new JSON file with the following structure:
{
  "ApplicationName": "YOUR_GAME_PROCESS_NAME",
  "KeyMappings": {
    "60": [ "LeftShift", "Q" ],
    "61": [ "", "Number2" ],
    "62": [ "LeftControl", "W" ],
    "63": [ "", "Number3" ],
    "64": [ "", "E" ]
  }
}
  1. The numbers represent MIDI note values (ex. 60 = middle C)
  2. The strings represent keyboard keys to press
  3. You can add modifiers by including them as the first key:
"48": [ "LeftControl", "Q" ]

📋 Supported Games & Applications

MIDI Monkey works with any game or application that accepts keyboard input, including:

  • Once Human
  • Where Winds Meet
  • Heartopia
  • Minecraft
  • Final Fantasy XIV
  • Rust
  • Starfield
  • World of Warcraft
  • Black Desert Online
  • Any application that can be controlled with keyboard shortcuts

💖 Support the Project

If you find MIDI Monkey useful, consider supporting its development:

📜 License

This repository intentionally omits a supplementary license. Exclusive copyright is held by the contributors. The source code hosted in this repository may not be copied, distributed, or modified without risk of take-downs, shake-downs, or litigation. For more information regarding the conditions of use where repositories omit a supplemental license; see GitHub Terms of Service, or the summary of 'No License' conditions. (Sorry for this, need to stop the people selling my code.)


Made with ❤️ by Psystec

Copyright © 2026