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] [input.vgm] [output.vgm]

The optional -strip-empty can be used to strip datablocks completely when they are empty. (Default is to keep the ROM allocation intact.)

Supported chips

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