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

Support swapping music tracks played in game #3

Open
gunslingerfry opened this issue Jul 5, 2022 · 4 comments
Open

Support swapping music tracks played in game #3

gunslingerfry opened this issue Jul 5, 2022 · 4 comments

Comments

@gunslingerfry
Copy link

This is a pipe dream, but I would love to be able to pick exactly which tracks are used from the plethora of compositions of the NieR tracks.

@Acurisu
Copy link
Owner

Acurisu commented Jul 6, 2022

This certainly is an interesting request. I am looking into it however this will take a while due to me lacking time.

I'm also completely inexperienced in regards to the AK::SoundEngine so don't get your hopes up too high.

@gunslingerfry
Copy link
Author

Found this:
https://github.com/NSACloud/NieR-Audio-Tools It'll unpack all of the wem files from the pnk files.
https://github.com/vgmstream/vgmstream can convert to wav files.

I investigated the music files and many are split into multiple tracks for dynamic audio. I don't know exactly how to handle those. There are others that are single tracks and could potentially be replaced wholesale. For the dynamic tracks, the question is whether, by some magical coincedence, the audio from say Nier Gestalt uses the same format. I'm attempting to extract a 360 rom to see what the audio looks like there.

As far as interspersing Automata tracks with Replicant tracks (both of which are included in the game data) it might be as simple as changing file names and repacking the data though I haven't attempted that. Potentially, the audio cues are different and would sound like garbage.

@Acurisu
Copy link
Owner

Acurisu commented Jul 7, 2022

While what you are saying is true and would work, you likely don't want to change the audio files just to listen to a different soundtrack once as else you would need to revert it all the time or change it again if you change your opinion.

A better method would be to call AK::SoundEngine::PostEvent and the likes as it would allow for nice transition, timings etc. Then one could simply have some sort of dropdown or selector menu listing all the BGMs which could be played at will while the game is running.

I have already figured out the changing and transitioning but retiming seems a bit weird. I'm also thinking about providing an option which prevents the BGM from being changed by the game.

But if you, as you mentioned, want to add songs from other NieR games then that of course requires repacking in some way or another.

@gunslingerfry
Copy link
Author

This would be my ultimate desire: being able to load Gestalt, Automata, Replicant, and other mix tracks and randomly choosing between a small list for each cue. For example for field music: Hills of Radiant Winds (G) / Hills of Radiant Winds (R) / Hills of Radiant Winds (Another Edit) / Forest Kingdom (A).

How do you intend to inject calls to the AK::SoundEngine on a running instance of Replicant?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants