I have made some tools for calculating AccurateRip checksums as described here available here: http://github.com/jonls/accuraterip-tools. There is also a tool in the repository for calculating the kind of CRC32 that is included in EAC log files.
- ar_crc: Calculate AccurateRip checksums the naive way (for one offset) and for frame 450.
- ckcdda: Calculate AccurateRip checksums for all offsets (only offset 0 is actually printed).
- eac_crc32: Calculate EAC CRC32 both with and without silent samples.
The code is the documentation, but it should be easy enough to follow. The tools read raw CD audio data from stdin. Track lengths must be given in sector size.
<raw audio output> | ar_crc <offset> <track 1 length> .. <track N length> <raw audio output> | ckcdda <track 1 length> .. <track N length> <raw audio output> | eac_crc32
The raw audio output can for example be produced from FLAC files in the following manner:
flac --decode --stdout --force-raw-format --endian=little --sign=signed Track*.flac