vgmstream / vgmstream

vgmstream - A library for playback of various streamed audio formats used in video games.
https://vgmstream.org
Other
1.64k stars 179 forks source link
audio c codec decoder foobar2000 vgm vgmstream winamp

vgmstream

This is vgmstream, a library for playing streamed (prerecorded) video game audio.

Some of vgmstream's features:

The main development repository: https://github.com/vgmstream/vgmstream/

Automated builds with the latest changes: https://vgmstream.org (https://github.com/vgmstream/vgmstream-releases/releases/tag/nightly)

Numbered releases: https://github.com/vgmstream/vgmstream/releases

Help can be found here: https://www.hcs64.com/

More documentation: https://github.com/vgmstream/vgmstream/tree/master/doc

Getting vgmstream

There are multiple end-user components:

The main library (plain vgmstream) is the code that handles the internal conversion, while the above components are what you use to get sound.

Usage

If you want to convert game audio to .wav, get vgmstream-cli then drag-and-drop one or more files to the executable (support may vary per O.S. or distro). This should create (file.extension).wav, if the format is supported. You can also try the online web player instead. See: https://vgmstream.org

More user-friendly would be installing a player like foobar2000 (on Windows) or Audacious (on Linux) and the vgmstream plugin. Then you can directly listen your files and set options like infinite looping, or convert to .wav with the player's options (also easier to use if your file has multiple "subsongs").

See components in the usage guide for full install instructions and explanations. The aim is feature parity, but there are a few differences between them due to missing parts on vgmstream's side or lack of support in the player.

Note that vgmstream cannot encode (convert from .wav to a game format), it only decodes (plays game audio).

Windows binaries

Prebuilt binaries:

The foobar2000 component is also available on https://www.foobar2000.org based on current release.

You may also try the alternative versions (irregularly) built by bnnm:

Or compile from source, see the build guide.

Linux binaries

A prebuilt CLI binary is available. It's statically linked and should work on systems running Linux kernel v3.2 and above:

Building from source will also give you vgmstream.so (Audacious plugin), and vgmstream123 (command-line player), which can't be statically linked.

When building it needs several external libraries. For a quick script for Debian and Ubuntu-style distros run ./make-build-cmake.sh. The script will need to install dependencies first, so you may prefer to run steps manually, which the build guide describes in detail.

macOS binaries

A prebuilt CLI binary is available:

Otherwise follow the build guide.

More info

Enjoy! hcs