VGMToolBox by admiralpete at 2:36 AM EDT on April 28, 2010
Regarding VGMToolBox, I have several questions:
1. What are the exact steps for ripping PSF files with this program? I don't care if they're not up to standards, I just want to encode them to mp3 anyway.

2. If I were to rip a PSF, could someone point me in the direction of a virus-free PsyQ SDK? The first download that came up on Google gave me a virus.

Notes: I will be happy to achieve a PSF rip with VGMToolBox, but if it is impossible to do with just VGMToolBox, please just say so, because I understand very little about programming, and nothing about MIPS or the internal workings of PSFs.

I will be glad to come on IRC to discuss this with you all if need be.
by snakemeat at 9:30 PM EDT on April 28, 2010
Cannot help you with step 2. Step 1 can be achieved using only VGMToolbox. I cannot say I will answer all of the questions the rest of this post will elicit, but it should help you get started. Enjoy this hastily prepared, but long overdue tutorial...

For simplicity, let's consider the "Normal/Easy" PSF. The "Normal/Easy" PSFs consist of 3 types of data files and a driver:
- an SEQ file, containing the sequence data
- a VH file, a header for the sample data (VB)
- a VB file, the sample data

VH and VB files will always be paired. One cannot work without the other.

To create PSFs, we extract these data files from our PSX games and assemble them with a driver. For this tutorial, we'll simply use a generic driver to avoid a lot of the complexities and the need for the PsyQ SDK. I'll detail how to perform each of these steps using VGMToolbox.

What will not be covered
Maybe I'll cover these later, but not now:
- SEP data with generic drivers (just split into SEQs and follow below)
- Creating driver stubs from the original driver
- Creating .minipsfs or .psflibs
- Ripping VB data that VGMToolbox cannot find

Creating PSFs

You can typically create a PSF set using the following steps:
1) Determine/Locate SEQ Data
2) Extract the SEQ/VH/VB data
3) Assemlbe and Match the SEQ to VH/VB data
4) Time the files

If your game image has files with the extensions described above (SEQ/VH/VB), you can likely skip Steps 1 and 2 since the data is already in those files.

1) Determine/Locate SEQ Data
Step one is to make sure the game you want to rip has SEQ data in it. This step will also help you locate files of interest making step 2 easier.
a) Open VGMToolbox.
b) Goto the Misc. Tools > Extraction Tools > Advanced Cutter/Offset Finder
c) From the Presets drop down in the upper right, select "PlayStation - SEQ File"
d) Click the "Load" button underneath the presets drop down.
e)Uncheck the "Extract Files" checkbox near the middle of the pane (we only need to find where the files are located).
f) Mount your PSX game image file using whatever tool you prefer.
g) Browse to the mounted game image file and highlight all of the files and folders.
h) Drag and Drop the highlighted files and folders into the white box in the upper left part of VGMToolbox where you see the text: "Drag and Drop files to search here."
i) In the message area at the bottom of VGMToolbox, you'll see output. When the tool completes searching, double click that message box to open view the output in your default .txt file editor. If you see messages "String found at: XXXXXXXX", you'll know those files contain SEQ data.
j) Set those files aside in a new folder so you can easily search them in step 2.
k) If you don't see that message, your game may have XA data. Check this thread for instructions on extracting those kinds of files.

2) Extract the SEQ/VH/VB data
Step two is to extract the data from the container files that hold them.
a) Open VGMToolbox. Goto Misc. Tools > xSF Tools > PSF > PSF Data Finder
b) Drag and Drop the files from Step 1j onto the Main Window in VGMToolbox, where it says "Drop Files Here"
c) Check your directory for new subdirectories that contain files with the SEQ/VH/VB file extensions. These are your data files.
d) Each VH should have one or more matching VB files. VGMToolbox may not find all of the VB files. If this is the case, you'll need to extract them manually. "How to identify and manually extract the VB files" is a tutorial in itself and will not be covered here. You may want to experiment with the last two checkboxes on the PSF Data Finder tool and see if that helps VGMToolbox find them. Or you can refer to steps 3b1 - 3b3 to see a way of possibly finding them by looking for patterns in the extraction offsets.

3) Assemble and Match the SEQ to VH/VB data
Step three involves matching the SEQ data with it's matching VH/VB pair. There are two ways of doing this. The first way is easier to do, but requires a lot of time checking PSFs. The second method has a bit more of an initial time investment, but once you understand the patterns of the extracted files, it is much faster. One thing to note is that the PSF Maker tool is SEQ-centric. It scans your source directory for SEQ files and looks for matching VH/VB pairs (unless you check the "Try all combinations of SEQ and VH" checkbox, as we do below.)

a1) The first is to goto Misc. Tools > xSF Tools > PSF > PSF Maker.
a2) Select one of the generic driver presets, I prefer the Mark Grass driver myself since it does not have any automatic reverb set and has many parameters you can adjust in the future.
a3) Browse, Type, or Drag and Drop the folder containing your SEQ/VH/VB files onto the text box for "Source Files"
a4) Type a name for the Output Folder. This is the folder where your PSFs will be inside the "rips/psfs" subdirectory of VGMToolbox.
a5) Check the "Try all combinations of SEQ and VH" checkbox. WARNING, THIS WILL CREATE A LOT OF FILES IF YOU HAVE A LOT OF SOURCE DATA.
a6) Click the "Make PSFs" button. Wait for things to finish and goto the subdirectory containing your files. You know have a bunch of files to check and see which ones contain the music you want.
a7) If you get errors during the process, it's likely due to unmatched VH files. Try to find them manually by looking for gaps in offsets during method two of this step (see step 3b3).

b1) The second way to match data is to examine "vgmt_extraction_log.txt" text file in the subdirectory containing the extracted files.
b2) Using a text editor that supports "Column Selection" (PSPad, for example), you can cut and paste the file names and their respective offsets into a spreadsheet.
b3) Sort the data by the offsets column, and you'll likely notice that files are grouped into SEQ/VH/VB sets. (You can also use this method to identify likely places for those missing VB files. Armed with this information, you can use a hex editor and the tool: Misc. Tools > Extraction Tools > Simple Cutter to extract them manually.)
b4) Rename files (backups of your files are better in case you are wrong) that are near each other to match the name of the SEQ file (keep the existing extensions), and use the PSF Maker as above to combine them.
b5) Hopefully you have found proper matches! If not experiment a little or try method one.

4) Time and Tag the files
In step four, you are simply adding timing data to your PSFs.
a) Open the tool Misc. Tools > xSF Tools > PSF > PSF Timer
b) Drag and drop your PSFs into the main window and let the tool work. When it completes, you'll have a .bat file containing the timing data.
c) Download the psfpoint.exe tool (use Google), and put it in the folder with your PSFs and the batch file.
d) Execute the batch file and verify some of the times. You may need to experiment with the checkboxes for files that do not contain loop information or have a large number of loops specified.
e) Open the tool Misc. Tools > xSF Tools > xSF Tag Editor
f) Type the or browse to the path containing your PSFs.
g) Select the files you want to add tags to and enter the tag data in the fields on the right.
h) Click "Update Tags"

In Closing
This tutorial is only a start. You'll need to experiment with things and learn about hex editors. Perhaps other PSF tutorials can help you with some of the specifics.
by MarkGrass at 12:53 AM EDT on April 30, 2010
I prefer the Mark Grass driver myself since it does not have any automatic reverb set


If you get errors during the process, it's likely due to unmatched VH files

...just a few things to note:

Reverb doesn't work for every VH/VB set -- The Mega Man 8 PSF set is a perfect example, as every track's reverb is disabled. Also, you may use a seperate application, PSF-o-Cycle, to adjust reverb and many other settings.

Some VH/VB sets' program volume is set to 0 resulting in silent playback. These VAB datas are petty rare to find and require a manual fix via *hex-editor*.
PSP midi+banks format: Compiling .mid+phd+pbd to .psfp by Corak at 7:29 AM EST on March 5, 2017
Hi! Thank you very much for VGMToolbox project!
I'm wishing .psfp format compilation method would be added to VGMToolBox.
Also mostly perfect it would if this banks format support would be to VGMTrans and .psfp support to PSF Foobar2000 plugin.

I digged just a bit about new .psfp format, that already supported by Psf player from "The Play!" sources.

Currently he made only one example of this format from the game "Phantasy Star Portable". And they compiled as minipsfp.

I ripped only from game "Untold Legends":

PSF Packer + example (Source code (vs2015+boost), still no binaries):

PSF Player (Source code):
PSF Player (Binaries):

Games that using phd+pbd+mid music method:
"Bleach Soul Carnival 2", "Untold Legends: Brotherhood Of The Blade", "Persona 2 Innocent Sin", "Black Rock Shooter", "Sol Tigger", "Shin Megami Tensei Devil Summoner", "Phantasy Star Portable".

edited 7:34 AM EST March 5, 2017

Go to Page 0

Search this thread

Show all threads

Reply to this thread:

User Name Tags:

bold: [b]bold[/b]
italics: [i]italics[/i]
emphasis: [em]emphasis[/em]
underline: [u]underline[/u]
small: [small]small[/small]
Link: [url=]Link[/url]


HCS Forum Index
Halley's Comet Software
forum source
Generated in 0.0106s;