Xenoblade X replace music

  • Thread starter Thread starter pwnsweet
  • Start date Start date
  • Views Views 18,418
  • Replies Replies 130
  • Likes Likes 2
I was thinking about implementing to my mod loader few stuff related to Music to make life easier.

1. In case of detecting correctly all files from Music.pck it will block loading Music.pck file which will result in loading files outside of it
2. Automatically patch loop end according to wem files so there is no need to modify bnk file. It will work only if bgm.bnk is unmodified

I will try to see how pheasible is second point
 
Last edited by masagrator,
  • Like
Reactions: cucholix
I think for the second point you'll first have to change your converter to keep the loop tags from the wav file.
Converting the .wem to .wav with vgmstream (foobar) lets the .wav keep the tags "LOOP_START" and "LOOP_END".
But converting it back into a .wem with Convert.py removes those tags from the file.
 
I think for the second point you'll first have to change your converter to keep the loop tags from the wav file.
From what I found, that does absolutely nothing. Loop is stored in bank and if wem has that tag or not doesn't matter
 
Yes, wem file already has enough informations for that without loop tag
Post automatically merged:

Ah right, forgot about start loop that it sometimes is not advisable to be 0. :P So I guess I will add loop tag to wem or add my own section to RIFF
Post automatically merged:

For now updated converting package that adds custom section called "masa" (:ph34r:) with information about length of audio and where loop starts in milliseconds. It doesn't break support because of how RIFF format works.
Post automatically merged:

XCXDE Mod Loader 1.2.0 now supports properly loading files outside of Music.pck with automated patching of bgm.bnk.

https://github.com/masagrator/XCXDE-ModLoader/releases

You don't need to extract anything from Music.pck, you don't need to put empty Music.pck. Just the %u.wem file you want to replace is enough (so if you had old hex wav filename, you must convert that value to decimal and change wav to wem, so f.e. 0C60FF69.wav becomes 207683433.wem)
If you want to modify loop's start, remember to download new package:
https://downgit.github.io/#/home?ur...ain/XenobladeChroniclesX/ConvertWavToRIFFOpus
 
Last edited by masagrator,
  • Wow
  • Like
Reactions: cucholix and auradj
is it possible to just remove wir fliegen and 'dont worry' from the game? I want to use overdrive and fly without it taking the place of the battle and continent songs.
 
is it possible to just remove wir fliegen and 'dont worry' from the game? I want to use overdrive and fly without it taking the place of the battle and continent songs.
Just put empty file with the same name. It will not be played.
 
@Ikuto505 This should work, can't test myself because I still don't get my flight license :lol:
Thanks. I tested it, it worked as far as keeping the music silent, but it just made it so that the overworld music isnt playing, either. The ideal scenario would be for the flight music to not play, but the overworld music keeps going. Same for overdrive.
IIRC this was possible in the wii U version of the game, there was a mod that enabled this.
 
Yes, wem file already has enough informations for that without loop tag
Post automatically merged:

Ah right, forgot about start loop that it sometimes is not advisable to be 0. :P So I guess I will add loop tag to wem or add my own section to RIFF
Post automatically merged:

For now updated converting package that adds custom section called "masa" (:ph34r:) with information about length of audio and where loop starts in milliseconds. It doesn't break support because of how RIFF format works.
Post automatically merged:

XCXDE Mod Loader 1.2.0 now supports properly loading files outside of Music.pck with automated patching of bgm.bnk.

https://github.com/masagrator/XCXDE-ModLoader/releases

You don't need to extract anything from Music.pck, you don't need to put empty Music.pck. Just the %u.wem file you want to replace is enough (so if you had old hex wav filename, you must convert that value to decimal and change wav to wem, so f.e. 0C60FF69.wav becomes 207683433.wem)
If you want to modify loop's start, remember to download new package:
https://downgit.github.io/#/home?ur...ain/XenobladeChroniclesX/ConvertWavToRIFFOpus
I was able to get custom music in using your mod loader, however, the tracks cut short. I am assuming because looping info is still coming from unmodified bgm.bnk?

Can I use your earlier method in conjunction with the loader to alter song length data?
 
I was able to get custom music in using your mod loader, however, the tracks cut short. I am assuming because looping info is still coming from unmodified bgm.bnk?
Which song? As I said, it should patch bgm.bnk in RAM.
Upload here your file.
 
Which song? As I said, it should patch bgm.bnk in RAM.
Upload here your file.
Post automatically merged:

Cuts out and loops at just under 3 minutes, should be 5:26. Track is Valak Mountain (Night) [Remastered] replacing overworld night.
 

Attachments

Last edited by CrysDark,
Test if this solves your issue. I misunderstood how that function I'm hooking works. :P

Edit: It seems to fix an issue I was not aware of - that main menu background switches what is showing based on length of audio file. I was thinking it has fixed length. So I guess it works fine now.

https://github.com/masagrator/XCXDE-ModLoader/releases/tag/1.2.1
 
Last edited by masagrator,
  • Like
Reactions: cucholix
Last edited by CrysDark,
New plugin works fine on Switch hardware
Post automatically merged:

I don't really know why I did it, but here is the full track list of the music files:
https://docs.google.com/spreadsheets/d/1sW4VepE0UQVhOh5o0WbG_26iF9wfIyAvHyxzKFyuLjI
I'm testing some files and found this track has vocals
1746987537346.png


Can re-check?
 
Last edited by cucholix,

Site & Scene News

Popular threads in this forum