Basic decoder for Apple Lossless Audio Codec files
This is a basic decoder for Apple Lossless Audio Codec files (ALAC). ALAC is a proprietary lossless audio compression scheme. Apple never released any documents on the format. What is provided here is a C implementation of a decoder, written from reverse engineering the file format. It turns out that most of the algorithms in the codec are fairly well known. ALAC uses an adaptive FIR prediction algorithm and stores the error values using a modified Rice or Golomb algorithm. This program will not be able to handle all ALAC files, it can only handle mono or stereo files. ALAC allows up to 8 channels. The ALAC decoder supports both 16 and 24 bit sample sizes. The decoder is fairly self explanatory, it can read an ALAC stream from either a file or from stdin, and write it as raw PCM data or as a WAV file to either stdout or a file. In theory one should be able to stream data to the decoder.
This is a basic decoder for Apple Lossless Audio Codec files (ALAC). ALAC is a proprietary lossless audio compression scheme. Apple never released any documents on the format. What is provided here is a C implementation of a decoder, written from reverse engineering the file format. It turns out that most of the algorithms in the codec are fairly well known. ALAC uses an adaptive FIR prediction algorithm and stores the error values using a modified Rice or Golomb algorithm. This program will not be able to handle all ALAC files, it can only handle mono or stereo files. ALAC allows up to 8 channels. The ALAC decoder supports both 16 and 24 bit sample sizes. The decoder is fairly self explanatory, it can read an ALAC stream from either a file or from stdin, and write it as raw PCM data or as a WAV file to either stdout or a file. In theory one should be able to stream data to the decoder.
To install alac_decoder, run the following command in macOS terminal (Applications->Utilities->Terminal)
sudo port install alac_decoder
To see what files were installed by alac_decoder, run:
port contents alac_decoder
To later upgrade alac_decoder, run:
sudo port selfupdate && sudo port upgrade alac_decoder
Reporting an issue on MacPorts Trac
The MacPorts Project uses a system called Trac to file tickets to report bugs and enhancement requests.
Though anyone may search Trac for tickets, you must have a GitHub account in order to login to Trac to create tickets.