Skip to content
H2Swine edited this page Dec 5, 2022 · 5 revisions

refalac is a win32 command line ALAC encoder/decoder based on open source reference implementation by Apple. Under x64 environment, you can use refalac64.exe in the zip archive. It's a bit faster than 32bit version.

refalac shares much of codes and functionalities with qaac and works very similar to qaac -A. Therefore, it is packed in the same archive with qaac, but refalac doesn't require QuickTime or other Apple components. Furthermore, as refalac works on ALAC only, refalac doesn't provide or require codec specifier option such as -A, -V, -v, -c, -a, --he. You can use "-D" for decoding to WAV.

refalac can decode and convert from several other file types, if you copy the appropriate DLL file (libFLAC.dll / wavpackdll.dll / tak_deco_lib.dll / libsndfile-1.dll) into the same folder as refalac.exe; for refalac64 you need the 64bit version of the DLL. refalac handles embedded cuesheets, or can be fed a .cue file.

While Apple's reference implementation uses CAF format, refalac uses m4a container by default. Use --caf to output CAF.

Missing features compared to qaac (other than options for AAC encoding)

  • --formats option
  • CoreAudio's AudioFile/ExtAudioFile service importer. If you want to directly encode from AIFF or something, you need libsndfile-1.dll.

Example

refalac foo.wav

will encode foo.wav into foo.m4a. To specify output filename, you can use "-o" like the following:

refalac foo.wav -o bar.m4a

refalac can read cuesheets.

refalac foo.cue

will read foo.cue, and generates per-track m4a. foo.cue can refer to single or multiple audio files.

refalac -D foo.m4a

will decode foo.m4a into foo.wav.

refalac -D foo.flac

In fact, decoding mode accepts all formats that refalac can read. Therefore, refalac -D can be usable as wave encoder like this.

flac -dc foo.flac | refalac - -o foo.m4a

In this command line, flac decodes into pipe, then refalac read from pipe.

Alternatively, you can output to pipe on decoding mode like the following:

refalac -D --rate=32000 --normalize foo.aiff -o - | qaac - -o bar.m4a