Supported Formats
Output Formats
Benben supports two output formats when rendering:
- PCM Wave (.wav)
- Au (.au)
These formats both have the same quality and both support uncompressed PCM data. In general, you'll want to use WAV.
Input Formats
The VGM file specifications mention both uncompressed VGM files (.vgm) and compressed VGMs (.vgz). The only difference between them is that .vgz files are losslessly compressed using a format called gzip. Benben supports both uncompressed .vgm and compressed .vgz files. Sound quality is identical between them.
However, Benben also supports a few non-standard formats. These are:
- ZStandard compressed VGM files (.vgzst)
- BZip2 compressed VGM files (.vgb)
These all compress files better than gzip, which is the main motivation behind including these extra formats. Like gzip, they are all lossless, and so sound quality is still identical to uncompressed VGMs. This gives users more control over their data, allowing them to store their VGMs in a smaller amount of space if they so choose.
Here is a table showing some results based on a collection of 4493 VGM files:
Format | Size (MB) | Size (Bytes) |
Uncompressed | 1126.2 MB | 1209206332 |
gzip | 389 MB | 408244197 |
gzip + advdef | 374 MB | 392424223 |
ZStandard | 343 MB | 360470153 |
bzip2 | 336 MB | 352141578 |
XZ | 320 MB | 336361534 |
("gzip + advdef" means "gzipped, but then recompressed using AdvanceCOMP")
Other Input Formats
The two other formats that Benben supports are playlist formats. These are:
- XSPF
- JSPF (which is just XSPF, but using JSON instead of XML)