Caeden117 / ChroMapper

GitHub repository for ChroMapper, the Unity-based map editor for Beat Saber.
https://cm.topc.at/dl
GNU General Public License v2.0
304 stars 87 forks source link

Time signature extension. #383

Open wolfcomp opened 2 years ago

wolfcomp commented 2 years ago

What is your request? Ability to map in other time signatures than 4/4

What problem does this solve? This would help map songs properly that are in a swing tempo of 3/4 or other things that can be a weird tempo. And would also make it way easier to map this mess of a song

Additional context This is due to the complexity to convert from the time signature to 4/4 is very hard when you have to convert from BPM to ms back to a 4/4 BPM. It's not impossible, just very time-consuming and could speed up mapping times on those songs should there be more.

This is also to make it easier to actually use proper music theory when making maps, instead of just throwing a finger up in the air and just doing guess work.

Jamman360 commented 2 years ago

Chromapper (and any other mapping software used for beatsaber) actually uses beats for mapping, rather than bars, which means you can go right ahead and map in 3/4, 2/4, 7/4 or whatever tickles your fancy. To get triplet timings, simply divide the grid into the relevant cursor precision using ctrl+shift+scroll, or manually typing it in. In regard to swing timings, this can actually get quite complex to put in place, due to the fact that there are essentially infinite swing timings, and for the amount of songs that actually need to snap to a swing timing grid instead of using cursor precision is actually very low.

wolfcomp commented 2 years ago

The beats that are implemented with the base game isn't properly done as they heavily use 4 division. This is why you can't use full on music theory for mapping as it inherently has that flaw which would need to be fixed through a lot of math.

Jamman360 commented 2 years ago

Im not sure youve explored the whole concept of cursor precision, and possibly arent understanding correctly. There is no need to convert 4/4 to bpm and back or whatever youre trying to do. The grid is set up so that each number is 1 BEAT, as in beats per minute. If you want to map 4/4, you will be hitting a new bar every 4 beats, if you want to map 3/4, you will hit a bar every 3 beats. No mapping software actually gives any indication of where the next bar begins or ends, it just doesnt exist.

SkylerWallace commented 2 years ago

The beats that are implemented with the base game isn't properly done as they heavily use 4 division. This is why you can't use full on music theory for mapping as it inherently has that flaw which would need to be fixed through a lot of math.

You can map with "full on music theory" with the editor as it currently is simply because you are able to freely place tempo change markers anywhere on the grid. Measures are not displayed but the "beat markers" are. It is up to you to decide if the tempo is represented as the "pulse" of the song or every quarter note; 6/8 for example could be interpreted as 100BPM if you're measuring the pulse or 150BPM if you're measuring every quarter note.

What problem does this solve? This would help map songs properly that are in a swing tempo of 3/4 or other things that can be a weird tempo. And would also make it way easier to map this mess of a song

Thankfully, you are able to place tempo marker changes at literally any point of the grid which allows you to take care of any irrational time signature like in the song you linked. I do agree that it'd be a nice addition for the editor to display measures alongside the current beat markers, however, a lot of math and coding would be required to pull that off and the editor is currently in the process of being reworked for the new beatmap format. This could be a nice addition sometime in the future for those that wish to better organize and structure their maps. In the meantime, you are free to place bookmarks to more visibly notate any tempo and/or time signature changes.

I have lots of experience tempo mapping songs with drifting tempo, tempo changes, and time signature changes. If you have any issues or question, feel free to reach out to me on Discord at "Skyler Wallace#9952".