Compatibility
Minecraft: Java Edition
Platforms
Creators
Details
LiveMusicalInstruments
About
Minecraft plugin that lets you play electronic instruments live and broadcast the performance to players in real time.
Note:
This plugin is not intended for most shared Minecraft hosting providers and may require some basic computer skills (running a Python script, configuring your router, editing a JSON file).
The plugin, originally developed for personal use, is now public and configurable for your own equipment (currently only drums are supported) and your own audio kit.
Some latency may occur between playing and hearing the audio, due to the transfer of information from your electronic device to the Minecraft server.
Since Minecraft doesn't allow audio streaming, MIDI is used instead, combined with an audio kit inside a resource pack (a default drum kit is already included).
Future updates may include support for additional instruments if requested by users.
Download
LiveMusicalInstruments.jar
plugin [Download on Modrinth] [Download on GitHub]
To work properly, this plugin requires:
- A
LiveMusicalInstrumentsPack.zip
server resource pack [Download] - A first
ListDevices.py
script to detect the exact name of your MIDI-connected module [Download] - A second
LiveMidiToMinecraft.py
script to capture and send MIDI data to the plugin (tested on Windows 10) [Download] - Python to run both scripts [Download]
Installation
The plugin opens a Web Socket server to receive MIDI data from the script. You'll therefore need to configure your router to create a NAT/PAT FTP Data rule on port 3000 TCP.
- Connect your device to your PC via MIDI.
- Run the script
ListDevices.py
to check if your device is detected and to get its exact name. - On your router, create a NAT/PAT FTP Data rule for port 3000 TCP.
- Open the script
LiveMidiToMinecraft.py
in a text editor and configure the following:- The public IP of your Minecraft server with
:3000
- Your Minecraft username (so the sound propagates from your player in-game)
- The name of your MIDI device retrieved in step 2
By default, the plugin is configured for an Alesis Crimson II drum kit. You can configure your own device by editing
ǸOTE_MAP
(only modify the numbers, not the names). Other parameters can also be customized if needed. - The public IP of your Minecraft server with
- Install the
LiveMusicalInstruments.jar
into theplugins
folder of your Minecraft server and start your server once to generate the config file inplugins/LiveMusicalInstruments/
.
Edit if needed (restart the server after changes). - Download the
LiveMusicalInstrumentsPack.zip
resource pack in your.minecraft/resourcepacks/
folder.
There is already a default kit but,
For custom kits:- In your resource pack, under
assets/minecraft/sounds/drums/
, create your own folder following the same structure and naming convention asdrum_kit_default
. - Then, in
assets/minecraft/sounds.json
, add your custom audio files by following thedrum_kit_default
example. - Configure your custom kit in
config.yml
.
- In your resource pack, under
- Run in Minecraft
/live start drums
, then launchLiveMidiToMinecraft.py
.
A message should appear in Minecraft chat confirming that you are connected and ready to play.
(All players must have the resource pack installed in order to hear you perform.)
/live stop drums
to stop.
If an error appears indicating that the WebSocket server is still running, restart the server and close the WebSocket properly.