(PSF) Finding out at which point(s) samples play by Nisto at 4:54 AM EST on January 14, 2014
Is there a practical way to find out where samples play in sequenced PSF files? Something that could at least output the times (or even just the first time) each sample plays.
Does such an app exist, or would it be easy for someone (not hinting at myself, I suck at programming =p) to do? It would be most helpful. If not, is there any way at all to find it out manually?
Well, I came up with a solution, but it's not as practical as what I had hoped for.. I replaced the irrelevant VAG samples with silent samples, so that only the samples I was curious about could be heard. Here's a small "sample replacement" tutorial for typical PSFs with VAG samples:
1 Convert the replacement sample(s) to VAG using AIFF2VAG or WAV2VAG from the PSYQ SDK.
2 PSF: Convert the PSF to a PS-X EXE file (using e.g. psf2exe) and open it in your hex editor of choice. PSF2: Unpack the PSF2 using VGMToolbox and open the file containing the VAG samples in your hex editor of choice.
3 Copy the raw audio data (i.e. without header) from the VAG generated in step 1 over the original sample(s). Keep in mind that the replacement sample must be the exact same length as the original, otherwise you're going to have to edit some header(s).
4 PSF: Convert back to PSF (using e.g. psf2exe). PSF2: Assuming the file/folder structure is still as it was after VGMToolbox unpacked it, simply pass the folder to mkpsf2 to convert it back to psf2.
5 If necessary, copy any relevant tag data (such as _lib tags) from the original PSF file.
Here's an example, where I've silenced all samples except two I was curious about: Wandering Flames (FFX)
Maybe someone could write an app to do all this in a quicker manner? That would be epic.