I have a sound file encoded in TTA format and a CUE sheet with its metadata. Which tools and commands do I need to convert it and split it into several FLAC files?

I tried using ffmpeg to convert the TTA file into a FLAC but it shows a "CRC error" and the resulting file has the wrong duration.

The TTA file itself plays fine in VLC.

1 Answer 1


You need to have shntool and cuetools installed.

Also install the tta encoder and decoder from http://www.etree.org/shnutils/shntool/.

It needs to be compiled it with g++ and yasm. Same goes for .ape files, which are also often used instead of .tta.

split and name .flac files:

find . -name "*.cue" -execdir sh -c 'shnsplit -f "$1" -o flac -t "%n_%p-%t" "${1%.cue}.tta"' _ {} \;

%n - track number
%p - performer
%t - track name

is taken from the .cue file for the .flac file names.

tag resulting, splitted .flac files:

find . -name "*.cue" -execdir sh -c 'cuetag "$1" *.flac' _ {} \;

Remove remaining .tta files. A simple find . -name "*.tta" -delete is sufficient.

For shnsplit to work, all necessary encoders / decoders need to be installed so it can read and write files. Modules for tta (and for the ape format) would need to be compiled from source, the others by installing the package (i.e. flac).

This works for all standard cases where .cue and .tta/.flac/.ape files have the same name, except for the extension.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .