Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enhancement: Set Global Audio Offest Option For Charts (Or At Cut The Dead Space Out Of The Charting Grid) #3807

Open
2 tasks done
Average-FNF-Modder opened this issue Oct 30, 2024 · 10 comments
Labels
status: pending triage The bug or PR has not been reviewed yet. type: enhancement Provides an enhancement or new feature.

Comments

@Average-FNF-Modder
Copy link

Issue Checklist

  • I have properly named my enhancement
  • I have checked the Issues/Discussions pages to see if my enhancement has already been suggested

What is your suggestion, and why should it be implemented?

      Currently, if a song has deadspace at the start of the track before anything can be heard, the engine automatically skips ahead of it. You can view this easily by going to say... DadBattle Erect, pressing 7 and setting your playback rate very low. Press play and then pause shortly after and you'll notice the play head jumping. This is the deadspace getting skipped. BUT, this deadspace isn't removed from the actual charting grid itself, meaning that if you attempt playing DadBattle Erect with that same low playback rate, you will immediately notice that the notes on the chart, setup as if this deadspace didn't exist, actually are hit slightly before the notes are played. It can be hard to hear at full speed, but once I hear it in a song, I can never unhear it. One solution is to move your notes down to wherever the playhead jumps to, and that works!- but what you can't fix is the camera bop events being permanently off-time, a problem made much more obvious when the notes don't line up with them, so it's usually best to just leave the small gap.

      But this is a real shame. If there was simply a section in metadata called, millisecond audio offset or whatnot (Maybe it could even have it's own window I don't know), players could offset the audio so that it's beat line up perfectly with the charting grids as intended. You could even have an automatic option that sets the offset right to the edge of where the game detects deadspace. Supporting this, I'm also suggesting a "Show Inst Waveform" toggle in view, so if that deadspace ending comes first in the inst it'll be easier for the player to find that starting point (Plus a waveform of the Inst would just be a nice thing to have in general I think).

@Average-FNF-Modder Average-FNF-Modder added status: pending triage The bug or PR has not been reviewed yet. type: enhancement Provides an enhancement or new feature. labels Oct 30, 2024
@KoloInDaCrib
Copy link
Contributor

But this is a real shame. If there was simply a section in metadata called, millisecond audio offset

But there is? That's what the offset toolbox is for.
You know, this thing:
image

If you mean global offsets for all songs then Input Offsets should do the job just right (since they affect the audio offsets in the calculation)

(also I feel like adding more offsets would just break the game in some way shape or form idk most of the major gameplay related bugs recently stemmed from offsets/resyncVocals function somehow)

@Hundrec
Copy link
Contributor

Hundrec commented Oct 30, 2024

I couldn't replicate the playhead skip you described on DadBattle Erect. Though I think Kolosaki mentioned an existing solution to your problem, I'd like to see what you mean "deadspace" so I can investigate this further.

Videos would be really helpful in cases where you find yourself typing out long passages of text to describe the issue.

@Average-FNF-Modder
Copy link
Author

But this is a real shame. If there was simply a section in metadata called, millisecond audio offset

But there is? That's what the offset toolbox is for. You know, this thing: image

If you mean global offsets for all songs then Input Offsets should do the job just right (since they affect the audio offsets in the calculation)

(also I feel like adding more offsets would just break the game in some way shape or form idk most of the major gameplay related bugs recently stemmed from offsets/resyncVocals function somehow)

I've tried that thing and as far as I can tell it legit does nothing, and it's buggy to boot.

@Average-FNF-Modder
Copy link
Author

I couldn't replicate the playhead skip you described on DadBattle Erect. Though I think Kolosaki mentioned an existing solution to your problem, I'd like to see what you mean "deadspace" so I can investigate this further.

Videos would be really helpful in cases where you find yourself typing out long passages of text to describe the issue.

Here is an example of the deadspace jumping effect in action:

2024-10-30.19-53-42.mp4

Here are short examples of both the opponents and players notes in song being heard before the actual note press in action, easily hearable at slow playbacks, but once I hear it, I can't unhear it at normal speeds either:

2024-10-30.19-54-04.mp4
bf.mp4

Hope these clear things up. Since the offset is by exactly 2 steps for the notes, it still appears like the notes are being hit in time, but if you'll notice the sounds don't match the notes and if you try this yourself it'll be easier to see aswell.

@Hundrec
Copy link
Contributor

Hundrec commented Oct 31, 2024

Thank you, these videos demonstrate it perfectly!
What's strange is that this doesn't happen to me. Are your offsets 0ms or something else?

@Hundrec
Copy link
Contributor

Hundrec commented Oct 31, 2024

With some testing, I was able to replicate this effect by setting any non-zero value for my input offsets.
Seeing the notes jerk forward or backward at the beginning of the song can be jarring, but it's just the game applying the offsets after the countdown is finished.

20ms

20ms.input.offset.mp4

200ms

200ms.input.offset.mp4

-200ms

-200ms.input.offset.mp4

@Average-FNF-Modder
Copy link
Author

With some testing, I was able to replicate this effect by setting any non-zero value for my input offsets. Seeing the notes jerk forward or backward at the beginning of the song can be jarring, but it's just the game applying the offsets after the countdown is finished.

20ms

20ms.input.offset.mp4

200ms

200ms.input.offset.mp4

-200ms

-200ms.input.offset.mp4

Oh brother... I had my visual offsets at 150ms without realizing it. I feel a little silly now. Honestly, this was just my excuse to get off my ass and write this suggestion, and I've been wanting these features anyways regardless, so I think I'll leave the issue open, maybe I'll edit it some in a bit (I need to go to sleep), but yea I feel a preeety dumb.

@Hundrec
Copy link
Contributor

Hundrec commented Oct 31, 2024

Wouldn't this mean your suggestion is already present in the game in the form of either visual/input offsets or song offsets?

@Average-FNF-Modder
Copy link
Author

Wouldn't this mean your suggestion is already present in the game in the form of either visual/input offsets or song offsets?

As far as I can tell, the currently implemented audio offset window does literally nothing + is buggy, and having the ability to see the instrumental waveform would still be nice.

@Lenancha
Copy link

Lenancha commented Nov 8, 2024

No wonder somethings to me felt a bit off sync when trying to mess with the song in the chart editor. I honestly thought that was something on my end but no lol.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
status: pending triage The bug or PR has not been reviewed yet. type: enhancement Provides an enhancement or new feature.
Projects
None yet
Development

No branches or pull requests

4 participants