Supported Formats

This page has been updated for v0.7.0.

Output Formats

Benben supports two output formats when rendering:

  • PCM Wave (.wav)
  • Au (.au)

PCM Wave and Au both have the same quality and both support uncompressed PCM data. In most cases, you probably want to use WAV.

Input Formats

The following audio formats are supported:

  • VGM (see below for more information)
  • MPEG-1
    • MPEG-1 Layer III (.mp3)
    • MPEG-1 Layer II (.mp1)
    • MPEG-1 Layer I (.mp1)
  • Ogg Vorbis
  • Opus
  • FLAC
  • General MIDI (.mid)
  • MUS (.mus)
  • All module formats supported by libxmp (e.g. .mod, .s3m, .xm, etc.)
  • Commodore 64 SID (.sid)
  • RIFF WAVE (.wav)
  • Sun Au (.au)
  • QOA, the Quite OK Audio format
  • XQAF, the Extended Quite OK Audio Format
  • WavPack (normal lossless WavPack files, as well as hybrid WavPack files)

VGM Files

Benben supports uncompressed VGM files (.vgm), as well as compressed VGMs:

  • Uncompressed (.vgm)
  • GZip compressed (.vgz)
  • ZStandard compressed (.vgzst)
  • BZip2 compressed (.vgb)

All of these sound the same, they are just compressed differently.

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")

Playlist 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)

JSPF is recommended as it's more human-readable and results in somewhat smaller playlist files. If you don't have a playlist editor, one option you can use is plsed, a simple command line JSPF and XSPF editor that's also written by Remilia Scarlet.