Difference between revisions of "TAK"

From Hydrogenaudio Knowledgebase
Jump to: navigation, search
(Software support)
(linkified lossless in first sentence)
(6 intermediate revisions by 6 users not shown)
Line 3: Line 3:
 
| logo =
 
| logo =
 
| type = lossless
 
| type = lossless
| purpose = lossless audio compression.
+
| purpose = (T)om's verlustfreier (A)udio(k)ompressor
 
| maintainer = Thomas Becker
 
| maintainer = Thomas Becker
 
| recommended_encoder = TAK encoder
 
| recommended_encoder = TAK encoder
| recommended_text = TAK v2.3.0
+
| recommended_text = TAK v2.3.0 (2013-06-18)
 
| website = [http://thbeck.de/Tak/Tak.html ThBeck.de/Tak/Tak.html] ''(German)''
 
| website = [http://thbeck.de/Tak/Tak.html ThBeck.de/Tak/Tak.html] ''(German)''
 
}}
 
}}
  
 
== Description ==
 
== Description ==
'''Tom's lossless Audio Kompressor''' ('''TAK''') is a lossless audio compressor which promises compression performance similar to [[Monkey's Audio]] “High” and decompression speed similar to [[Free Lossless Audio Codec|FLAC]].
+
'''Tom's lossless Audio Kompressor''' ('''TAK''') is a [[lossless]] audio compressor which promises compression performance similar to [[Monkey's Audio]] “High” and decompression speed similar to [[Free Lossless Audio Codec|FLAC]].
  
 
=== Features ===
 
=== Features ===
Line 39: Line 39:
 
== Software support ==
 
== Software support ==
 
=== Windows ===
 
=== Windows ===
* [http://www.videolan.org/vlc VLC Media Player] - Can: transcode from/play (no encoding); since at least version 2.2.0
 
 
* [http://thbeck.de/Download/TAK_2.3.0.zip TAK 2.3.0] - Official release which consists of a CLI, a GUI, a [[Winamp]] plugin, the SDK, and the decoding library.
 
* [http://thbeck.de/Download/TAK_2.3.0.zip TAK 2.3.0] - Official release which consists of a CLI, a GUI, a [[Winamp]] plugin, the SDK, and the decoding library.
* [http://www.foobar2000.org/components/view/foo_input_tak TAK Decoder 0.4.7] - Plugin for [[foobar2000]] (supports tagging and [[ReplayGain]]).
+
* [http://www.foobar2000.org/components/view/foo_input_tak TAK Decoder 0.4.8] - Plugin for [[foobar2000]] (supports tagging and [[ReplayGain]]).
 
* [http://www.liviocavallo.altervista.org/ dsfTAKSource 0.0.1.6] - DirectShow source filter which uses the official decoding library to play TAK-files in Windows Media Player, Media Player Classic - Home Cinema, Zoom Player and alike.
 
* [http://www.liviocavallo.altervista.org/ dsfTAKSource 0.0.1.6] - DirectShow source filter which uses the official decoding library to play TAK-files in Windows Media Player, Media Player Classic - Home Cinema, Zoom Player and alike.
* [http://reino.degeelebosch.nl/ DC-Bass Source Mod 1.5.2.0] - DirectShow source filter which uses the official decoding library to play TAK-files, amongst many others, in any DirectShow media player (as mentioned above).
+
* [http://rwijnsma.home.xs4all.nl/dc-bsm/index.htm DC-Bass Source Mod] - DirectShow source filter which uses the official decoding library to play TAK-files, amongst many others, in any DirectShow media player (as mentioned above).
* [http://code.google.com/p/lavfilters/ LAV Filters] - Set of open-source DirectShow filters which uses [http://www.hydrogenaudio.org/forums/index.php?showtopic=96976&view=findpost&p=810355 FFMpeg's reverse-engineered decoder] to play TAK-files in any DirectShow media player.
+
* [http://code.google.com/p/lavfilters/ LAV Filters] - Set of open-source DirectShow filters which uses [https://ffmpeg.org/pipermail/ffmpeg-devel/2012-September/131785.html FFMpeg's reverse-engineered decoder] to play TAK-files in any DirectShow media player.
 +
* [http://www.videolan.org/vlc VLC Media Player] - Can: transcode from/play (no encoding); since at least version 2.2.0
 
* [http://sourceforge.net/projects/mpcbe/ Media Player Classic - BE] - DirectShow media player with an internal TAK source filter which uses FFMpeg's reverse-engineered decoder to play TAK-files. The internal TAK source filter also supports embedded cue-sheets.
 
* [http://sourceforge.net/projects/mpcbe/ Media Player Classic - BE] - DirectShow media player with an internal TAK source filter which uses FFMpeg's reverse-engineered decoder to play TAK-files. The internal TAK source filter also supports embedded cue-sheets.
 
* [[Mp3tag]] – universal tag editor with support for TAK
 
* [[Mp3tag]] – universal tag editor with support for TAK
* [http://etree.org/shnutils/shntool/ shntool] (since version 3.0.6)
+
* [http://shnutils.freeshell.org/shntool/ shntool] (since version 3.0.6)
 
* [http://picard.musicbrainz.org/ MusicBrainz Picard] (since version 0.11)
 
* [http://picard.musicbrainz.org/ MusicBrainz Picard] (since version 0.11)
 +
 
=== Linux ===
 
=== Linux ===
 
* ffmpeg can demux, decode and parse TAK since commit d7a473926504e2acfa6ae3bead0938e1f4e03441:[http://git.videolan.org/?p=ffmpeg.git;a=commit;h=d7a473926504e2acfa6ae3bead0938e1f4e03441]. First official release that supports TAK decoding is 1.1.
 
* ffmpeg can demux, decode and parse TAK since commit d7a473926504e2acfa6ae3bead0938e1f4e03441:[http://git.videolan.org/?p=ffmpeg.git;a=commit;h=d7a473926504e2acfa6ae3bead0938e1f4e03441]. First official release that supports TAK decoding is 1.1.
 
* The GUI program (Tak.exe) and the command-line program (Takc.exe) work with [http://www.winehq.org/ Wine].
 
* The GUI program (Tak.exe) and the command-line program (Takc.exe) work with [http://www.winehq.org/ Wine].
* [http://caudec.net/ caudec] is a command-line tool that can encode and decode TAK files, using the official binary (Takc.exe) with Wine (see: [http://caudec.net/documentation/windowscodecs/ installation instructions]). Caudec can also test file integrity and compute (and tag) Replaygain data. While it hasn't been tested at the time of writing, it is possible that TAK support in caudec works on OS X as well.
+
* <s>[http://caudec.net/ caudec]</s> is a command-line tool that can encode and decode TAK files, using the official binary (Takc.exe) with Wine (see: <s>[http://caudec.net/documentation/windowscodecs/ installation instructions]</s>). Caudec can also test file integrity and compute (and tag) Replaygain data. While it hasn't been tested at the time of writing, it is possible that TAK support in caudec works on OS X as well.
 
* [http://picard.musicbrainz.org/ MusicBrainz Picard] (since version 0.11)
 
* [http://picard.musicbrainz.org/ MusicBrainz Picard] (since version 0.11)
  
Line 123: Line 124:
 
* [http://www.hydrogenaudio.org/forums/index.php?showtopic=101386 TAK 2.3.0 Discussion Thread on HA] ''(english)''
 
* [http://www.hydrogenaudio.org/forums/index.php?showtopic=101386 TAK 2.3.0 Discussion Thread on HA] ''(english)''
 
* [http://www.hydrogenaudio.org/forums/index.php?showtopic=89610 TAK 2.2.0 Discussion Thread on HA] ''(english)''
 
* [http://www.hydrogenaudio.org/forums/index.php?showtopic=89610 TAK 2.2.0 Discussion Thread on HA] ''(english)''
* [http://synthetic-soul.co.uk/comparison/lossless/ synthetic-soul.co.uk/comparison/lossless] – Comparison with Other Codecs (by Synthetic Soul)
+
* <s>[http://synthetic-soul.co.uk/comparison/lossless/ synthetic-soul.co.uk/comparison/lossless] – Comparison with Other Codecs (by Synthetic Soul) </s>
 
* [http://flac.sourceforge.net/comparison.html flac.sourceforge.net/comparison.html] – An Updated Comparison (from FLAC Homepage)
 
* [http://flac.sourceforge.net/comparison.html flac.sourceforge.net/comparison.html] – An Updated Comparison (from FLAC Homepage)
  

Revision as of 13:38, 24 October 2021

Description

Tom's lossless Audio Kompressor (TAK) is a lossless audio compressor which promises compression performance similar to Monkey's Audio “High” and decompression speed similar to FLAC.

Features

  • High compression
  • Fast compression and decompression speed
  • Streaming support (necessary headers for decompressing the audio are written to the stream every 2 seconds)
  • Piping support for encoding
  • Error tolerance (single bit error will never affect more than 250 ms)
  • Error detection (each frame protected by a 24-bit checksum (CRC))
  • High-resolution (up to 24-bit/channel) audio support
  • Support for up to 192 Khz Audio
  • Seeking without seek table
  • APEv2 tags supported at end of file

Pros

  • Fast encoding speed (while providing better compression TAK encodes as fast as FLAC -8 in TAK's “Insane” and several times faster in “Turbo” mode)
  • Fast decompression speed (on par with FLAC / WavPack)
  • Good compression levels (on par with Monkey's Audio High)
  • Error Robustness
  • Fast Seeking

Cons

  • Closed Source
  • No hardware support


Software support

Windows

  • TAK 2.3.0 - Official release which consists of a CLI, a GUI, a Winamp plugin, the SDK, and the decoding library.
  • TAK Decoder 0.4.8 - Plugin for foobar2000 (supports tagging and ReplayGain).
  • dsfTAKSource 0.0.1.6 - DirectShow source filter which uses the official decoding library to play TAK-files in Windows Media Player, Media Player Classic - Home Cinema, Zoom Player and alike.
  • DC-Bass Source Mod - DirectShow source filter which uses the official decoding library to play TAK-files, amongst many others, in any DirectShow media player (as mentioned above).
  • LAV Filters - Set of open-source DirectShow filters which uses FFMpeg's reverse-engineered decoder to play TAK-files in any DirectShow media player.
  • VLC Media Player - Can: transcode from/play (no encoding); since at least version 2.2.0
  • Media Player Classic - BE - DirectShow media player with an internal TAK source filter which uses FFMpeg's reverse-engineered decoder to play TAK-files. The internal TAK source filter also supports embedded cue-sheets.
  • Mp3tag – universal tag editor with support for TAK
  • shntool (since version 3.0.6)
  • MusicBrainz Picard (since version 0.11)

Linux

  • ffmpeg can demux, decode and parse TAK since commit d7a473926504e2acfa6ae3bead0938e1f4e03441:[1]. First official release that supports TAK decoding is 1.1.
  • The GUI program (Tak.exe) and the command-line program (Takc.exe) work with Wine.
  • caudec is a command-line tool that can encode and decode TAK files, using the official binary (Takc.exe) with Wine (see: installation instructions). Caudec can also test file integrity and compute (and tag) Replaygain data. While it hasn't been tested at the time of writing, it is possible that TAK support in caudec works on OS X as well.
  • MusicBrainz Picard (since version 0.11)

Hardware support

  • None


Recommended Settings

  • Default compression: “-p2” (formerly Normal) is the most attractive setting, providing an excellent compromise between compression and encoding speed. (At compression levels close to Monkey's Audio High (<0.4% difference), it is able to encode more quickly.)
takc -e [input file]
  • Highest compression: “-pMax” (same as -p4m) (This will create files which are comparable in size to file created using Monkey's Audio High. Decompression speed is comparable to WavPack Normal.)
takc -e -pMax [input file]
  • Fastest compression: “-p0” (This will create files which are comparable in size to Monkey's Audio Fast or WavPack High. Decompression speed is comparable to FLAC 0.)
takc -e -p0 [input file]

TAK Performance Graph

Graph showing encoding and decoding rate against compression, using data from Synthetic Soul's test on TAK 1.0.4
(see External Links)


Using TAK

TAK with foobar2000

  • Copy the takc.exe to your foobar2000 directory
  • Go to File → Preferences → Tools → Converter
  • Set it up as shown:
Screenshot of foobar 0.9.5 Converter settings for TAK 1.0.3

Note: replace -p2 with the desired compression level.

  • TAK introduced encoding from STDIN in version 1.0.3, eliminating the need for a temporary file and greatly improving overall compression time. If you are using an earlier version of TAK use the following command line instead:
-e -p2 %s %d
  • Use APEv2 tagging (will be used as internal tagging)

TAK with EAC

Please read the wiki guide, which details how to create TAK files with EAC.

Converting TAK using pipe

Takc.exe -d input.tak - | lame.exe -V 6 - output.mp3
Takc.exe -d input.tak - | opusenc.exe --bitrate 64 - output.opus
Takc.exe -d input.tak - | flac.exe -8 - -o output.flac
Takc.exe -d input.tak - | wavpack.exe -hhx - output.wv
flac.exe -dc input.flac | Takc.exe -e -pMax - output.tak
wvunpack.exe input.wv - | Takc.exe -e -pMax - output.tak
ffmpeg.exe -i input.xxx -f wav - | Takc.exe -e -pMax -ihs - output.tak


Future Features

  • Unicode support
  • MD5 audio checksums for verification and identification
  • A German version
  • Embedded cue sheets
  • Embedded cover art
  • Multichannel audio


Frequently Asked Questions

Is the codec safe for use/definitely lossless?
Yes, TAK is verified as being lossless, as determined through rigorous testing by the author and satisfied users. To check, convert a WAV to TAK and back and compare the two, for instance using foobar2000's Binary Comparator.
Why should I use TAK?
TAK offers high ratios of compression but also great decoding speeds.
What can I compress with TAK?
TAK 1.0 can compress any integer-format (up to 24 bits per channel) PCM RIFF WAVE file (.WAV). Piping support is implemented as of v1.0.3, so converting lossless files to WAV first is not necessary: users can simply pipe the decompressed output from their decoder of choice directly into TAK's encoder.
What about hardware support?
There is none at the moment. However, -p0, -p1 and -p2 are the candidates for most suitable settings for hardware.
Will the source be opened?
The official encoder and decoder are currently closed-source. Thomas has expressed an intention to open the source of the decoder at some point in time, stipulating preconditions of its first being further refined, ported to C or C++, and documented. This may or may not lead to releases of other code. However, as of June of 2013, he feels that “a lot of (not very exciting) work is required” until the decoding source would be ready to be published, and that may or may not happen in the foreseeable future. Such questions generally generate more noise than fruitful discussion, so it is best to wait and see what happens. In any case, there is an independently implemented open source decoder available, bundled with ffmpeg.


External Links