McFunction Jukebox (MCFJ) is a small script that can be used to convert .MID music into .mcfunction files that you can add to your data pack.
The resulting functions should be run every tick from your data pack. Tags are used to keep track of which players should be hearing the music.
At present the easiest way to use this is to simply clone the repo, install the dependencies with pip, and run main.py in your IDE of choice.
pip install -r requirements.txt
This script is free and open source software under the GNU GPL v3 or later.