This guide will describe how to add music to the game using your CustomMusic folder. As well as covering the basics to create custom music using an external Digital Audio Workstation (DAW).
Musical Range has the functionality to read and load custom music that you create to play in Musical Range. This guide will give you the necessary information on how this system works, so you can create custom tracks for your favorite music and then play it!
How does Custom Music work?
Musical Range will read custom music, and display these songs for you if they are valid. You can then select any of the songs, choose a difficulty and play through the song. The game at the end will give you a summary of your playthrough, will show you your final score and will grade you with up to 5 stars. However, there are NO LEADERBOARDS and star grading will NOT be saved.
Adding Custom Music
Do not use any spaces in your folder names. We recomend using \ArtistName_SongName\. Having a space character can break the song and make it not valid. Remember non valid songs will NOT show up in your game.
A song is valid if and ONLY IF it contains the following FIVE files ONLY with the exact name that Musical Range expects.
- Meta.txt – A text file with the metadata of the song in one single line. Used for the game to display game information
- Midi.mid – The midi file with the playable track synced to the wav file. The players play the notes in this file.
- Preview.wav – A wav sound file for the player to preview the song they are about to play. We recommend no more than 20 seconds.
- Song.wav – The full song file. This is the backing music that plays during a song.
- T_AlbumCover.jpg – An image to display with the song.
The image MUST BE A JPG. The game currently does not handle other formats. We are planning on being more flexible. We’ll update the guide once this happens.
If your ArtistName_SongName folder contains these five files with these names then the game considers this a valid custom song, and will display it. The game does not check the contents.
Creating Custom Music
The game uses MIDI to spawn the notes that the player must hit. Once you choose a song, you want to use a Digital Audio Workstation (DAW) to create a midi track that is in sync with your chosen song. I use Reaper personally which costs money. But before, I used Audacity to create the midi tracks, so there are free open source options available.
If you have never created midi songs, I recommend you first familiarize yourself with making some simple midi music in your DAW of choice using some online resources.
There are 4* types of Notes in Musical Range at the moment (*One of which is still in development).
A single MIDI file can have 16 midi channels. By definition, we split these 16 channels into groups of 4:
- Channels 1 to 4: Regular Note – Shoot and sustain. Player is free to drag the note without any penalization
- Channels 1 to 4: Dead Note – Player only has to shoot on time. No need to aim. Just look cool.
- Channels 5 to 8: Bend Note – Shoot, sustain and bend. Player is told to bend the note to a specific pitch.
- Channels 9 to 12: *In Development*. Leave empty
- Channels 13 to 16: Unused. Leave empty
Difficulty is split with channels.
- Easy: 1, 5, 9, 13.
- Normal: 2, 6, 10, 14.
- Hard: 3, 7, 11, 15.
- Expert: 4, 8, 12, 16.
Velocity, Dead Notes, and Height
Regular Notes and Dead Notes share the same channel group. A note is Dead Note if it’s Velocity is equal or less than 10. Velocity is the equivalent to volume. In Midi it’s a whole number from 0 to 127. In difficulties Hard and Expert, notes can have different heights, this is set with the velocity parameter. The higher the velocity the higher the note will be in the game. Higher as in actual height from the ground, not higher in pitch!
A midi note can change in pitch. When you change the pitch, the game will spawn a new pitch node in all active meteors for all bend Notes. That means, if there are two meteors being spawned, and there is a shift in pitch by 1 semi tone, then both meteors will have new pitch nodes. But regular and dead notes will not be affected. It’s important to double check your note’s channel and to test your tracks to see if the behavior is the one you expect.
Unfortunately, MIDI pitch IS NOT the same as a musical range pitch.This to be able to bend the notes further in range than what MIDI allows. MIDI pitch is a value that goes from 0 to 16384, where a value of 8192 is no pitch change. In MIDI a pitch value of 0 is 2 half steps lower in pitch and a pitch value of 16383 is 2 half steps up in pitch. (A half step is going up by one key in a piano IE, from a C to C# or from an F to E). The game will double this range. So a 2 half steps in MIDI (2 keys away) will result in 4 half steps (4 keys away). IE if you go form a C to D, the game will do C to E. Or from an F to an E, the game will do F to D#. Thus, pitching in your DAW program will sound like it’s not fully reaching the notes it should.
Pitch Nodes in Meteor will do a linear interpolation. So the more pitch nodes you add, the smoother your pitch bends will be. I like to use the formula “8192+(2048*N)*(1/4)^0” to calculate smooth ramps, but this can be it’s own other guide.
- 8192 is the base pitch we start from
- N is how many half-steps we are going away from the base pitch (can be negative for going down in pitch)
- 1/4 is the rate of growth
- 0 is the time in function. So a 0 will give the final pitch bend value.
once you have your MIDI ready. You want to export that from your DAW and make sure all time signature changes and all MIDI channels are included in the file.
The Meta.txt file format is the following:
- Artist: Baron Carta
- Song: Out Of Time
- TotalNotes: 256
- SongDuration: 6:20
- BPM: 83
- Spiciness: 2 out of 3
- Year: 2021
Do not use any space characters. The game replaces the characer ‘_’ with a space automatically. The character ‘-‘ works as a division for the next information type.
Finally, create an image for your song. It must be square aspect ratio for best results. We recommend a resolution of 512×512. It MUST be a JPG file. Any other formats are not currently supported and will make your custom song folder invalid and the game won’t show it.