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

High quality BGM replacement #12

Open
ckx opened this issue Mar 29, 2018 · 5 comments
Open

High quality BGM replacement #12

ckx opened this issue Mar 29, 2018 · 5 comments

Comments

@ckx
Copy link

ckx commented Mar 29, 2018

For a long time we've been talking about making a "High Quality BGM replacement pack" using mproxy-gbf to serve higher quality bgm in-game.

I was able to get this concept to work trivially by pointing a remote BGM asset URL to a local audio file of my choice in the cache directory.

The challenge arises in the many battles that chunk BGM into various smaller loops and progress through a song as you progress through the fight. This is something I didn't really look into yet.

@AkagiShiroe
Copy link
Contributor

AkagiShiroe commented Mar 29, 2018

you mean mod-compability?..
i was thinking about inserting some library to seek "certain part" from file and cut it (store it to RAM) then send it as package but.. im not that experienced on programming

@ckx
Copy link
Author

ckx commented Mar 29, 2018

No, I mean that the cached version of BGM assets would be higher quality than the actual BGM assets served by gbf. It's already "compatible" with the proxy, you can swap any file you want in the cached directory.

@AkagiShiroe
Copy link
Contributor

AkagiShiroe commented Mar 29, 2018

*urm so u mean adding some "modlist" to replace cache?.. kinda hot-swapping files make me remember texmod. (make gbf-proxy prioritize modlist over received request and .cache_list)

@ckx
Copy link
Author

ckx commented Mar 29, 2018

Not necessarily, you can already replace cache simply by editing entries in .cache_list. There isn't really a need to hotswap, the replacement files can just rest in your cache directory.

It's true that a framework for doing these type of cache replacements would be preferable to just manually editing the .cache_list file, but that would be a separate issue - this issue relates to the process of serving high quality BGM assets through mproxy-gbf.

@mauzel
Copy link
Owner

mauzel commented Mar 29, 2018

There are two hard parts at a high level about this issue:

  1. Someone needs to do the work of figuring out all the slice points in every battle music.
  2. Making a framework which looks in a "custom cache" before hitting the normal cache.

These are very simple concepts.

1 will take a lot of work. I think one way to do this is to make a tool which statically cuts up someone's MP3 rips of the GRANBLUE FANTASY BATTLE MUSIC album into the pieces compatible with the game. This approach allows us to avoid illegally distributing the game's music. Then, there will be a lot of grunt work in figuring out all the slice timecodes for every song.

2 isn't much work but I want to get the design right, so it's not something I'll implement immediately.

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

No branches or pull requests

3 participants