refalac usage
refalac is a win32 command line ALAC encoder/decoder based on open source reference implementation by Apple.
refalac shares much of codes and functionalities with qaac. Therefore, it is packed in the same archive with qaac. However, refalac doesn't require QuickTime or other Apple components. Under x64 environment, you can use refalac64.exe in the zip archive. It's a bit faster than 32bit version.
refalac64 needs 64bit version of libFLAC.dll, wavpackdll.dll, and libsndfile-1.dll (if you want to feed these files directly). If you cannot find them, you can download x64DLLs.zip from cabinet page. However, since TAK is 32bit only, it's not supported by refalac64.
refalac works very similar as qaac -A. However, since refalac works on ALAC only, refalac doesn't provide codec specifier option such as -A, -V, -v, -c, -a, --he. You can use "-D" for decoding to WAV.
While Apple's reference implementation uses CAF format, refalac uses m4a container.
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