PlayFlowMIDI is a universal auto-play tool for MIDI files, designed specifically for games featuring musical performance gameplay. It allows you to play complex MIDI compositions with ease, providing high-precision input simulation and extensive customization.
- 🎹 Universal Compatibility: Works with virtually any game that uses keyboard inputs for musical instruments.
- 🎮 Pre-configured Profiles:
- Heartopia
- Where Winds Meet
- 🛠️ Custom Game Support: Easily add your own profiles for other games by defining key mappings and executable targets.
- ⏱️ High Precision: Powered by DryWetMidi for low-latency and accurate note timing.
- 🚀 Advanced Playback Controls:
- Speed & Pitch: Real-time adjustment of playback speed and transposition.
- Octave Handling: Intelligently Wrap or Clamp notes that fall outside the game's supported range.
- Track Management: Toggle individual MIDI tracks on/off during playback.
- ⌨️ Global Hotkeys: Control playback (Play/Pause, Stop, Next, Previous) even while the game is focused.
- 🤖 Smart Automation:
- Auto-Pause: Automatically pause playback when you alt-tab out of the game.
- Auto-Switch: Bring the game window to the foreground automatically when starting a song.
- Background Play: Supports sending inputs directly to game windows even when they are not in focus (may not work on all games).
- Windows 10/11
- .NET 10 Runtime
- Download the latest release from the Releases page.
- Extract the ZIP file to a folder of your choice.
- Run
PlayFlowMIDI.exe(may require Administrator privileges).
- Select a Profile: Choose your game from the profile list (e.g., Heartopia).
- Add MIDI Files: Click on the Load Folder or + button to load MIDI into playlist.
- Configure Settings: Adjust speed, pitch, or octave handling if necessary.
- Play: Press the Play button or use the global shortcut.
You can add support for new games by using the in-app profile menu. You just need to map MIDI notes to the corresponding keyboard keys used by the game.
If you want to build the project from source:
- Clone the repository:
git clone https://github.com/tigurand/PlayFlowMIDI.git
- Open
PlayFlowMIDI.slnx(or the project folder) in Visual Studio. - Ensure you have the .NET 10 SDK installed.
- Build the solution in
Releasemode.
Contributions are welcome! Whether it's reporting bugs, suggesting features, or adding new game profiles, feel free to open an issue or submit a pull request.
This project is licensed under the MIT License.
This tool is intended for personal use and convenience. Please be aware of the Terms of Service of the games you play. Use of automation tools may be against the rules of some online games; use at your own risk.