PKBeam / Edda

A beatmap editor for the VR rhythm game Ragnarock
GNU General Public License v3.0
34 stars 8 forks source link

Add song trim feature #25

Open PKBeam opened 1 year ago

PKBeam commented 1 year ago

We should add a feature that allows users to trim the audio file so it begins on a beat, or add silence at the start to achieve the same.

This can be done using the bundled ffmpeg binary (e.g. here). May have to rebuild ffmpeg with support for that concat demuxer?

Users should be able to specify how many beats of silence should precede the song beginning.

Brollyy commented 1 year ago

In the new in-game map editor, Wanadev included option to change song start offset. This seems to correspond to _songTimeOffset property in info.dat file. Maybe this can be used to align the song without having to do any audio file manipulation?

Brollyy commented 9 months ago

In the new in-game map editor, Wanadev included option to change song start offset. This seems to correspond to _songTimeOffset property in info.dat file. Maybe this can be used to align the song without having to do any audio file manipulation?

This property doesn't seem to do anything. I've tested changing it both manually and with the in-game map editor, and in both cases it seems to have no impact when playing the map. Amusingly, the only thing it does in the in-game editor is break the grid alignment for placing new notes.

So doing something with ffmpeg will be required for this... Unfortunately, I won't have that much time to implement this for the time being. Putting this back into backlog.

Brollyy commented 2 months ago

While I was looking about the OST songs, I've noticed that Masters of the Galaxy audio file is not aligned to the beat, but the runes are showing up fine in-game. After some digging, it looks like WanaDev uses custom properties of the map to implement the offset: image

It's weird they've used _songTimeOffset instead for their in-game editor, while it's deprecated by BeatSaber standards and it doesn't have any effect in Ragnarock...