How would i get HTTPService to decode a MIDI file link into json?

So Ive created a Midi Sequencer or what I call a “Piano Roll”. it works the way i want it too. Then I saw people use links to midi files from websites to import into a game called “The wild west”. I thought that feature would great for my MIDI Player.

The problem is HttpService doesnt return the MIDI file into a Json or table. it fails to decode it.

	local data  = game.HttpService:GetAsync("https://bitmidi.com/uploads/28362.mid")
	print(game.HttpService:JSONDecode(data))

i replaced “game.HttpService:JSONDecode(data)” to just “data” but it printed garbage

You’re attempting to use a JSON parser to decode MIDI data, it just won’t work. You’ll have to find or make a MIDI interpreter for Roblox.

It is not a MIDI player. MIDIs have a very unique format, and it is not a MIDI player until you can decode it.

A MIDI file is not a JSON file. Since you don’t know how to decode this, here’s a resource that has already done so:

You might be able to try the updated version of Advanced Midi Player 10, which has been fixed up. You can download it here:
midiplayer.rbxl (1013.1 KB)
The model has been set up already in this place and uses some new API in replace of the deprecated API. It also includes some songs I’ve imported for testing purposes.

The interpreter is hard to read but I’ve had issues with this version. First of all, some songs will have Bank 0 Preset 0 as the instrument for everything. Since it does not exist, it defaults to Grand Piano. Players trying to import these files might have some issues playing them.