TTA

From Hydrogenaudio Knowledgebase
Revision as of 20:37, 9 January 2022 by Porcuswiki (talk | contribs) (General rewrite.)

The True Audio (TTA) is a lossless audio codec. It is distributed as a free open-source (GPL/LGPL) encoder/decoder and library for several operating systems. The TTA project also DirectShow filters and plugins for several audio players. A third-party encoder/decoder is available through ffmpeg.

TTA has one feature which apparently is unique among lossless codecs available to end-users, namely encryption with password protection. Unlike most other codecs, TTA has chosen not to offer options to tune compression/CPU load; there is one setting. Performance-wise, it has been measured not far from the default to -hx WavPack settings on CD audio[1] - which in the trade-off between size, encoding speed and decoding speed, might be considered rather on the fast encoder side.

Features

For an end-user considering TTA as a an audio format, the following features are quite common among lossless codecs. Some competing formats are lacking certain of these features, and some are free from certain of the limitations listed. To compare TAK with other lossless codecs, see HA Wiki's Lossless Codec Comparison.

  • Streaming support
  • Error handling and
  • High-resolution audio support: up to 4 GHz sampling rate and 24 bits/channel
  • Multichannel support. Currently the reference encoder supports six channels, while the ffmpeg encoder supports 16. (However WAVEFORMATEXTENSIBLE is not supported.)
  • Piping support
  • Tagging: APEv2 or ID3
  • Embedded CUE sheets support
  • Can be used in the Matroska container
  • Password protection

TTA has some software support through player plugins (and ffmpeg-based players). There is also certain limited hardware support, most notably through Rockbox, and the TTA website lists a few other hardware players with TTA support.[2]

Limitations

  • No support for RIFF chunks (i.e., TTA cannot store and recreate non-audio chunks of the original .wav files).
  • The command-line encoder is picky about .wav files, not supporting all generations of the WAVE format; this can be circumvented by piping stdin to the encoder.
  • Input must be either 8, 16 or 24 bits. Unlike some other codecs, TTA is not able to make use of "wasted bits": other codecs can fit a 20-bit signal in a 24-bit container without penalty in compression size, but TTA appears unable to make use of the fact that the four least significant bits are zero. Thus certain (non-CD) signals might compress a bit worse than among other formats (see van Beurden's lossless comparison, section 2.3.)
  • No support for floating-point formats and no hybrid/lossy mode possible (for those, use WavPack or OptimFrog).

Because TTA - like MP3 and OptimFROG - can accommodate both APE tags and ID3, tagging ambiguity could be an issue: one application might not read another's tags. Users might want to stick to one tag format. Mp3tag will write the same tagset to .tta files as to .mp3 files, possibly both ID3v1, ID3v2 and APE.

Links

  1. http://audiograaf.nl/downloads.html Martijn van Beurden's comprehensive lossless comparison, version 4
  2. http://tausoft.org/wiki/True_Audio_Codec_Support