XQATool

XQATool is the official reference command line tool for Extended QOA Format. It can encode, decode, and tag Extended QOA Format (XQAF) files, as well as normal QOA files, and takes advantage of parallel processing when possible.

A list of all XQATool releases can be found here.

XQATool is entirely written and maintained by one person, Remilia Scarlet! If you want to support her and XQATool, you can buy her a coffee on Ko-Fi, or support her through Liberapay. Support is greatly appreciated for this volunteer effort ^_^

Buy Me a Coffee at ko-fi.com Donate using Liberapay

Command Line Examples

XQATool is a command line program. The first argument must be a command, which basically tells it what sort of operation you wish to perform. After this are the command's options. You can use xqatool help to see the list of commands, or xqatool somecommand --help to see help for that specific command.

Some examples of various ways to use XQATool:

# Encode some files to XQAF
$ xqatool encode "01 - Ending Dreams.flac" "01 - Overdrive.wav"

# Encode a single file to XQAF, with dithering, outputting to a specific file.
$ xqatool encode exported.wav -d -o /tmp/output.xqa

# Encode a bunch of WavPack files to normal QOA files, using 8 parallel jobs
$ xqatool encode --qoa *.wv --jobs 8

# Decode an XQAF file to WAV
$ xqatool decode "02 - Midnight Highway.xqa"

# List tags in an XQAF file
$ xqatool tag "01 - Computer World.xqa"

# Add some tags to an XQAF file
$ xqatool tag "02 - Midnight Highway.xqa" -t "artist=Partition 36" -t "album=63" -t "title=Midnight Highway"

# Compute ReplayGain for a set of XQAF files, considering them as an album
$ xqatool gain --album "/home/remilia/2018 - Umbra of Fate/*.xqa"

Building

XQATool is built using Reika, so you will need that program to build it. Additionally, you will need a few other things:

  • SBCL
  • libmpg123
  • libwavpack
  • libopus
  • libzstd (ZStandard)

Once you have Reika and these dependencies, change into the directory you cloned XQATool and run reika build. The resulting binary will be in the bin/ directory.

Development

How do I contribute?

  1. Go to https://fossil.cyberia9.org/xqatool/ and clone the Fossil repository.
  2. Create a new branch for your feature.
  3. Push locally to the new branch.
  4. Create a bundle with Fossil that contains your changes.
  5. Get in contact with me via email, Fediverse, or open a ticket.

Contributors

XQATool is under the GNU Affero General Public License version 3.

Information about the original QOA format can be found here.