So, I’m currently working on a Roblox game that’s retro-themed. It has 3D objects as 2D sprites that follow you, textures no bigger than 256x256, the whole nine yards (the whole 8.2296 metres said the British Roblox dev)
I’m facing two issues currently, the first one I could probably work out on my own, that being;
I’m unable to create a first-person controller without a Robloxian humanoid. I don’t like using Robloxian humanoids in first person because their collision feels rectangular of sorts, so I tried to use a cylindrical part as the player’s collision, but I’m struggling to match it up to the current DOOM-style camera.
That’s not the point of this topic though, my main issue is that I want MIDI music in my game. It’s to sell the true retro theme and have the instruments and drums stop in real time rather than instantaneously cut out like a record. I’ve dug up some old roblox posts but I can’t find any working models that aren’t pre-2015, and these no longer work.
I’m guessing I’ll have to give up on the dynamic music/MIDI idea, due to having to have an audio file for each instrument, but I would love help!
Which is fair, that’s honestly what I would usually do, but the game I’m created is supposed to be retro 3D. 1990-early 2000s style. Think Super Mario 64 for example and how the music was able to easily fade/transition between levels/areas.
I haven’t done much experimenting with sound stuff, but possibly you could slowly change the property of how far away the sound can be heard, because the sounds I upload usually get quieter the farther away you go.
I am very interested in and somewhat experienced with MIDI and have never heard of someone trying to implement MIDI on Roblox. I would like to see what information you have so far on the topic. I would be interested in helping you find and code a solution. I’ll send you a personal message.
(Sorry to necrobump but I felt like sharing)
It’s definitely possible:
I made my electric organ work by parsing through the file using a script i found online. I go through every channel of every track and for each different note used I create a looping sound instance and set it’s pitch according to the midi note number. Using separate sound objects helps me to avoid that ‘record scratch’ of starting and stopping sounds repeatedly.
Obviously there are still some things to work out, such as dealing with percussion as mentioned before (since with percussion tracks the note number would determine the instrument rather than pitch), and the timing can get wonky with certain files. Although since i’m using this for an organ most of the song files I use are keyboard pieces that I made myself.