vgm_sro

From vgmrips

VGM Sample-ROM Optimizer. Like vgm_cmp, this tool can greatly reduce the size of a VGM. It strips unused data (inaudibly-lossy compression) from sample ROMs. The file size of optimized files usually decreases to 5-10%.

Use this tool for games that preload data. For games that stream RF5C68/164 data in realtime, use optvgmrf. If you're not sure which one the game does, try vgm_sro first: it will refuse to process a VGM with streamed data.

Before any data is stripped, vgm_sro will display all ROM regions, so you can see what it will strip. When there is nothing to be optimized, it won't create an output file.

Usage

vgm_sro -strip-empty inputFilenameHere.vgm outputFilenameHere.vgm
  • The optional -strip-empty can be used to strip datablocks completely when they are empty. Leave it out to keep the ROM allocation intact.
  • To specify an output filename, you must give an input filename as well.
  • Without an output filename, vgm_sro creates one by adding "_optimized" to the input filename.

Supported chips

Note: It will still incorrectly strip K053260 PCM roms.
Note: SegaPCM support isn't 100% safe. That means there may be samples stripped off despite them being used. That can happen between 2 memory writes that relocate the playing address and shouldn't be audible.