This program is currently tested with Nintendo Switch Pro Controller, USB Mode only. If there is any problem on other environments, please notice me.
Controllers2MIDI is a Windows application that enables game controllers (e.g., Xbox, Nintendo Switch Pro, PlayStation) to be mapped to MIDI signals. It is designed for musicians, developers, and creators looking to integrate controller inputs into their digital audio workstations (DAWs) or other MIDI-enabled software.
- Controller Input Recognition:
- Supports Xbox, PlayStation, and Nintendo Switch Pro controllers.
- Custom MIDI Mapping:
- Map controller buttons and axes to MIDI Notes, Control Changes (CC), or Pitch Bend.
- Flexible options for mapping velocity, key, octave, and more.
- Dynamic MIDI Channel Selection:
- Easily change the MIDI channel (1-16) via the user interface.
- Profile Management:
- Save and load mapping profiles in JSON format.
- Real-Time Feedback:
- Displays live input data from connected controllers.
- Device Management:
- Detects connected controllers and MIDI devices dynamically.
- Provides warnings for disconnected devices.
- Download the latest release from the Releases page.
- Extract the files and run
Controllers2MIDI.exe
.
- Windows 10 or higher
- .NET Framework 4.7.2 or later
- A compatible game controller (e.g., Xbox, Nintendo Switch Pro, DualShock 4, or DualSense)
- MIDI-enabled software or hardware to receive the output
- (optional) Virtual MIDI driver e.g. loopMIDI, LoopBe1 (to send MIDI messages to DAW)
-
Connect Your Devices:
- Connect a compatible controller via USB or Bluetooth.
- Ensure your MIDI device is connected and recognized by the system.
-
Launch the Application:
- Run the
GameControllers2MIDI.exe
.
- Run the
-
Configure Settings:
- Select a controller and a MIDI device from the dropdown menus.
- Adjust the MIDI channel as needed.
- Use the DataGridView to customize button and axis mappings.
-
Save or Load Profiles:
- Save your current mapping as a JSON file for future use.
- Load an existing mapping profile to quickly reconfigure.
-
Start Playing:
- Input from your controller will now be converted into MIDI signals.
- MIDI device list may not dynamically update in certain rare cases.
- Limited support for third-party or non-standard controllers.
Feel free to submit issues or contribute to the project via pull requests on GitHub.
This project is licensed under the MIT License. See the LICENSE
file for details.
For support or inquiries, contact [hoong0515@naver.com] or create an issue on the GitHub repository.