GameBanana shows no ads to members. Sign up now!
Ads keep us online. Without them, we wouldn't exist. We don't have paywalls or sell mods - we never will. But every month we have large bills and running ads is our only way to cover them. Please consider unblocking us. Thank you from GameBanana <3

P4G Music Manager

A Modding Tool for Persona 4 Golden (PC)

Updates

Beta 0.5.1 2d
  • Feature Presets and Song Pack Presets
  • Feature Auto-Replace P4G BGM.xwb
  • Feature Revert to backup BGM.xwb
  • Addition Rain SFX, Summer SFX, Okina City SFX
  • Addition Junes and Pub SFX
  • Addition Kanji and Rise Shadow Themes
  • Improvement General UI Changes
  • BugFix Layout Breaking With Long File Paths
  • BugFix Some Songs Not Replacing Correctly

P4G Song replacing made easy!



P4G Music Manager simplifies replacing Persona 4 Golden's music to just a few clicks! No messing around with command line or dealing with all the files. Just select a replacement song (.wav) for one (or all) of P4G's songs, hit Save then Create, and a new BGM.xwb file will automatically be created filled with the songs you've replaced. From there it's a simple copy and paste over P4G's BGM.xwb and you're ready to go!

News:
A new method for replacing music is now available through TGE's (big thanks!) p4gpc modloader (github.com) (steamcommunity.com)! This method doesn't require remaking the BGM.xwb, possibly multiple times, but does require setting up Reloaded II (github.com) with TGE's modloader and encoding files for use in P4G with a tool like P4G_PC_Music_Converter (github.com). First release will still use the xacttool method while I look into adding support for this new one!

1. Features

  1. Simplifies replacing P4G's music to just selecting files!
  2. Replacing multiple songs at once? No problem! All the complex stuff is handled behind the scenes; you'll get one new BGM.xwb file with all your songs ready to go!
  3. Loads and saves loop point settings automatically! Once you find the perfect loop points, don't worry about saving them to a text file somewhere, the app will do it for you! If a Song Pack comes with predefined loop settings, they'll automatically load in the app! No more copy and pasting!
  4. One click extraction of Original songs from BGM.xwb!
  5. Easily play and compare Original songs (once extracted) and Replacement songs with your default media player!
  6. Enable or disable songs for replacing, without removing them! Useful for testing buggy songs by reducing BGM.xwb creation time.

2. Requirements

TGE's xacttool*: shrinefox.com or Discord Attachment (Direct DL)
*xacttool requires .NET Core installed: https://dotnet.microsoft.com/download

3. Setup

The app shows some basic instructions on how to get up and running. Let me know if more in-depth instructions are needed. If someone makes a better set up/usage guide on gamebanana, steamcommunity, or shrinefox's forums let me know!

4. Usage

Download Icon: Extracts wav files from BGM.xwb.
Attachment Icon: Opens a file select window, choose the file (.wav) you want to use to replace the song.
Pencil Icon: Create a new BGM.xwb with current settings.

When you're ready to make a new BGM.xwb, hit Save then Create. Depending on how many songs were selected, this might take a while... Once it's finished, your new BGM.xwb filled with all your songs can be found in the output folder of the app! Just copy and paste it over P4G's BGM.xwb and you're done!

4.1. Auto-Replace BGM.xwb

From 0.5.1 and above, you can set the app to automatically replace P4G's BGM.xwb whenever you click the create button.
  1. In the toolbar, click File then Open Config.
  2. Click the folder button, then find and select the P4G install folder (where the game's exe is).
  3. In the Config window, select Output to P4G Folder then click the save button.

It's strongly recommended that the P4G install folder not be located in the Program Files folder. It might cause the copying to fail when not running the app as admin. If it does fail, you can still find the new BGM.xwb in the app's Output folder.

5. Song Packs and Song Pack Presets with P4G Music Manager

If you download a Song Pack that supports P4G Music Manager, this section is for you! A Song Pack should come with either a "songs" folder or .p4g files. Merge the included "songs" folder with the one in the app's folder or place the pack's .p4g files inside the "songs" folder. Now when you select the songs in the app it'll load the included settings!

If you downloaded a Song Pack Preset do the above first. In the app, select File then Load Preset. Load the "preset.p4g" file included with the Song Pack. Click the save button in the app and you're done!

6. Useful Info (Encoding Wavs, .p4g Files, Song Pack Support)

6.1. Encoding Songs to .wav

I've been using Audacity for this and they seem to work fine in-game! I also recommend checking out the "Converting Your Files" section of CyclonX's guide: https://gamebanana.com/tuts/13383

6.2. Saved Settings (.p4g Files)

Loop settings are saved in a .p4g file named after the file's name. Ex: "SNOWFLAKES.wav", would have the settings file "SNOWFLAKES.wav.p4g" .p4g files are just renamed json/text files and can be opened and edited with any text editor.

All settings files (.p4g) should be placed in Music Manager's "songs" folder!
Ex:
"{P4G Music Manager Folder}/songs/SNOWFLAKES.wav.p4g"

6.3. Song Packs and .p4g Files

Are you making a song pack and want to have P4G Music Manager automatically load loop settings for people using it? Then this section is for you! For this, it's recommended to use the "Batch Create .p4g Files" menu located in the Tools option in the toolbar.

Prepare a folder containing just the wav files you're planning to include. In the app, select Tools, then Batch Create .p4g Files. After clicking it, select the folder where your wav files are located and it'll load a menu similar to the one for replacing tracks. From there, input your loop settings for each song. Once done, hit save and you're finished!

In the folder containing your wavs, a new "songs" folder will have been created. Inside it will be the settings files for each of your songs. Just zip up the entire folder and you're good to go!

6.4. Song Pack Presets

This would be song packs like SDNova's Persona Music Pack and CyclonX's reincarnation. Song Packs where the new songs are intended to replace specific songs in P4G. If you're interested in making one then keep reading ahead!

Making a Song Pack Preset:
  1. Prepare a folder containing just the wav files of your pack.
  2. In the app, using a new empty preset, select what songs you want replaced like normal using only the files you plan to include in the pack. Enter any missing loop settings.
  3. Once you're finished, click the save button.
  4. In the toolbar at the top, click File then Export as Song Pack Preset.
  5. In the window, find and select the folder containing your pack's wav files.

This will create the necessary files and folders, plus some other helpful files.
  • A "songs" folder, containing the settings files for all of your pack's wav files.
  • A file named "preset.p4g". This is what people using your pack will use to load your pack's preset settings.
  • A readme that people will hopefully read, with instructions about using Song Pack Presets.
  • A file named "Preset Tracklist.txt". This details what songs in P4G each one of your files replaces.
When you're ready, just zip up the folder and release!

6.5. Planned Features

-Replace multiple songs at once by loading a preset file, useful for song packs like CyclonX's P4G Reincarnation Music Swap (Added in 0.5.1)
-Add support for TGE's ModLoader, hopefully with automatic encoding of .wav files to the necessary .raw and .txth files.

7. Known Issues

  • Long file names will break the layout. If anyone knows how to fix that (CSS or JavaScript) let me know! In the meantime, rename your files to something shorter! (Fixed in 0.5.1)
  • Sometimes the app won't close properly if opened, closed, and reopened quickly and repeatedly. Haven't noticed it under normal use. Use Task Manager to kill the process if it does!
  • If you move, delete, or rename a file that you currently have chosen the app will know it can't find it but currently hides the remove button. Select a new file to fix functionality! (Fixed in 0.5.1 and now highlights missing songs in red)
  • Files with names using some symbols causes the batch file to not use UTF-8 encoding! See comment below for temporary fix.
  • Track ID 49 (A Sky Full of Stars) doesn't seem to be replaceable at the moment. Will look into it! (Fixed in 0.5.1)
  • The Genesis (TrackID: 5) and Memory (TrackID: 52) are currently not replacing correctly. Will be fixed next update but you can fix it yourself by editing the file idtowaveindex.json in the settings folder. trackID: 5 should have waveIndex: 0 and trackID: 52 should have waveIndex: 1 (Fixed in 0.5.1)

Requirements

Dependencies and prerequisites required to use this Tool

Files

  • p4g_music_manager_051.7z 2dExecutable
    Warning
    This file is or contains an executable
    insert_drive_file Beta Release 0.5.1
  • p4g_music_manager_025.7z 14dExecutable
    Warning
    This file is or contains an executable
    insert_drive_file Beta Release 0.2.5

Todos

Refactor Code access_time Jul 18 2020 Support for TGE's ModLoader Music Replacing High Priority access_time Jul 18 2020
Sign up to access this!
1-10 of 34
1
Pages
Go to page:
  • iDont Know avatar
    iDont Know Joined 8y ago
    Offline
    access_time 15hr
    I have followed every step but I came across this error

    ERROR - Electron: xacttool - A fatal error occurred. The required library hostfxr.dll could not be found.

    If this is a self-contained appli

    ERROR - Electron: xacttool - cation, that library should exist in [D:\Games\P4G Tools\P4G - Music Manager\Music Manager\tools\xacttool_0.1\].

    If this is a framework-dependent application, install the runtime in the global location [C:\Program Files\dotnet] or use the DOTNET_ROOT environment variable to specify the runtime location or register the runtime location in [HKLM\SO

    ERROR - Electron: xacttool - FTWARE\dotnet\Setup\InstalledVersions\x64\InstallLocation].

    The .NET Core runtime can be found at:

    ERROR - Electron: xacttool - 

      - https://aka.ms/dotnet-core-applaunch?missing_runtime=true&arch=x64&rid=win10-x64

    ERROR - Electron: xacttool encountered problems!

    I have all the appropriate dotnet framework. In the event that I did try to reinstall them, the installer said that I already have the latest version installed, so idk what to do...
    =====iWas Here=====
    URL to post:
  • access_time 23hr edit 23hr
    hey T-Pose Ratkechi,
    when i made a new BGM.xwb, every sound and music is muted, i need help.
    Bananite
    URL to post:
  • Taimoya avatar
    Taimoya Joined 16d ago
    Offline
    access_time 1d
    i already have the previous version installed. would replacing those files with this work as an update essentially? or is there something else i need to know
    Life Is Good avatar
    Mantra
    Life Is Good
    URL to post:
  • Sppidey avatar
    Sppidey Joined 2d ago
    Offline
    access_time 2d
    Hey when i generate a new BGM.xwb from the music manager it ends up just giving me a batch file called xactcommands.bat and idk what to do now.
    Bananite
    URL to post:
  • Im getting this repeatedly and then it keeps coming up with xacttool has stopped working:
    ERROR - Electron: xacttool - The system cannot find the file specified.

    ERROR - Electron: xacttool - Unhandled exception. 

    ERROR - Electron: xacttool - System.IO.FileNotFoundException: Could not find file 'C:\Users\blues\Documents\P4G Tools\P4G Music Manager\output\BGM.xwb'.

    File name: 'C:\Users\blues\Documents\P4G Tools\P4G Music Manager\output\BGM.xwb'

       at System.IO.FileStream.ValidateFileHandle(SafeFileHandle fileHandle)

       at System.IO.FileStream.CreateFileOpenHandle(FileMode mode, FileShare share, FileOptions options)

       at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options)

       at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share)

       at System.IO.File.OpenRead(String path)

       at xactlib.WaveBank..ctor(String filepath) in D:\dev\p4gpc\p4gpctools\xactlib\WaveBank.cs:line 306

       at xacttool.Program.ReplaceWaveInWaveBank() in D:\dev\p4gpc\p4gpctools\xacttool\Program.cs:line 110

       at xacttool.Program.Main(String[] args) in D:\dev\p4gpc\p4gpctools\xacttool\Program.cs:line 90

    Bananite
    URL to post:
  • soniczx123 avatar
    soniczx123 Joined 4y ago
    Offline
    2,550 points Ranked 20261st
    9 medals 1 rare
    • Returned 1000 times Medal icon
    • One month a member Medal icon
    • Returned 100 times Medal icon
    • 6 months a member Medal icon
    • 1 year a member Medal icon
    • Reached 1,000 Points Medal icon
    access_time 4d
    I've replaced multiple song files now, and now it gets stuck on 'Saving File' state without any update. I can still click create, but result is a muted OST

    Anyone have any ideas? (tried it with all the songs and .p4g files in the song folder and outside the song file, didn't help)
    Bananite
    URL to post:
  • Zerien101 avatar
    Zerien101 Joined 4d ago
    Offline
    access_time 4d
    Its giving me the error:

    ERROR - Electron: xacttool - The system cannot find the file specified.

    Even when my folders are right

    Bananite
    URL to post:
  • access_time 4d edit 4d
    I've been using this and it works for all of the songs except from I'll face my self where I get the error - "Failed to generate intermediate data buffer." Not sure whats causing this or what this error even is.

    Bananite
    URL to post:
  • appletun avatar
    appletun Joined 4d ago
    Offline
    access_time 4d
    I don't know if I'm doing this right or not. when I attempt to replace songs and I check to see if the game works, i see that there is no audio at all  in the game as if it breaks the .xwb. Am I doing something wrong?
    Bananite
    URL to post:
  • BLNK! avatar
    BLNK! Joined 5d ago
    Offline
    access_time 5d
    I'm having an issue where if I click to generate a new BGM file it doesn't actually generate it at all, I've tried looking in the specified folder and its just not there.

    Am I missing something?
    Bananite
    URL to post:

Embed

Share banner
Image URL
HTML embed code
BB embed code
Markdown embed code

Credits

Contributors
SDNova
SDNova Joined 8d ago
Offline
11 points Ranked 71115th
Takanobu
Takanobu Joined 19d ago
Offline
1,489 points Ranked 22178th
6 medals 1 rare
  • Became a Game Pioneer Medal icon
  • Returned 100 times Medal icon
  • Received thanks 5 times Medal icon
  • Submitted 10 Sounds Medal icon
  • Reached 1,000 Points Medal icon
  • Thanked 5 submitters Medal icon
Special Thanks
TGE
TGE Joined 20d ago
Offline
xacttool
CyclonX
CyclonX Joined 23d ago
Offline
189 points Ranked 58451st
Wave Index Spreadsheet
MadMax1960
MadMax1960 Joined 8mo ago
P4G Manager
Offline
5,961 points Ranked 1200th
19 medals 1 legendary 5 rare
  • Returned 5000 times Medal icon
  • Returned 1000 times Medal icon
  • 10 submissions featured Medal icon
  • Became a Game Pioneer Medal icon
  • Thanked 50 submitters Medal icon
  • Achieved Game Manager clearance Medal icon
Feedback and Testing
HaythamQuake
HaythamQuake Joined 13d ago
Offline
119 points Ranked 66978th
Feedback and Testing

Submitter

Sign up to access this!
Sign up to access this!
Sign up to access this!

Game

Sign up to access this!

Category

License

Details

Attributes

Development State
Beta
Operating System
Windows
Genre
Sound Effects & Music

Share

  • Share on Reddit
  • Share on Twitter
  • Share on Facebook
  • Best of the Banana
    Featured on Jun 29 2020
  • Best of Yesterday
    Featured on Jun 28 2020
  • 16
  • 929
  • 23.1k
  • 128
  • 14d
  • 2d
  • 2d

WiPs by Submitter