Difference between revisions of "TAK"

From Hydrogenaudio Knowledgebase
Jump to: navigation, search
(Recommended Settings)
(48 intermediate revisions by 19 users not shown)
Line 1: Line 1:
{{stub}}
 
 
{{Codec Infobox
 
{{Codec Infobox
| name = TAK
+
| name = Tom's lossless Audio Kompressor
| logo = [[Image:TAK-logo.gif]]
+
| 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 v1.0.1
+
| recommended_text = TAK v2.3.0 (2013-06-18)
| website = [http://www.thbeck.de/Tak/Tak.html Homepage] (german)
+
| website = [http://thbeck.de/Tak/Tak.html ThBeck.de/Tak/Tak.html] ''(German)''
 
}}
 
}}
  
=General aspects of the format=
+
== Description ==
'''TAK''' ('''T'''om's lossless '''A'''udio '''K'''ompressor) is a lossless audio compressor which promises compression performance similar to Monkey's Audio "High" and decompression speed similar to FLAC. While the basic format is ready and safe to use, many features such as internal tagging, playback support for other players are yet to be implemented.
+
'''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 ===
* high compression
+
* High compression
* fast compression and decompression speed
+
* Fast compression and decompression speed
* Streaming support
+
* Streaming support (necessary headers for decompressing the audio are written to the stream every 2 seconds)
* Error tolerance
+
* Piping support for encoding
** single bit error will never affect more than 250 ms
+
* Error tolerance (single bit error will never affect more than 250 ms)
* Error detection
+
* Error detection (each frame protected by a 24-bit checksum (CRC))
** 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==
+
=== Pros ===
* Fast encoding speed
+
* Fast encoding speed (while providing better compression TAK encodes as fast as [[Free Lossless Audio Codec|FLAC]] -8 in TAK's “Insane” and several times faster in “Turbo” mode)
** Tak "Extra" encodes as fast as Flac -8 while providing better compression
+
* Fast decompression speed (on par with FLAC / [[WavPack]])
** Tak "Turbo" encodes several times faster than FLAC -8 while providing better compression
+
* Good compression levels (on par with [[Monkey's Audio]] High)
* Fast decompression speed (on par with FLAC / WavPack)
+
* Good compression levels (on par with Monkey's Audio High)
+
 
* Error Robustness
 
* Error Robustness
 
* Fast Seeking
 
* Fast Seeking
  
==Cons==
+
=== Cons ===
* Closed Source (at the moment)
+
* Closed Source
 
* No hardware support
 
* No hardware support
* Very limited software support (Only Winamp & Foobar2000 plugins at the moment)
 
  
=Hardware and software that support TAK=
 
==Hardware==
 
* none
 
  
==Software==
+
== Software support ==
* TAK SDK 1.0.2 - Software Development Kit for TAK [http://www.hydrogenaudio.org/forums/index.php?showtopic=54159 here]
+
=== Windows ===
* Winamp Plugin 1.0.2 [http://www.hydrogenaudio.org/forums/index.php?showtopic=54159 here]
+
* [http://www.videolan.org/vlc VLC Media Player] - Can: transcode from/play (no encoding); since at least version 2.2.0
* foo_input_tak, TAK decoder for Foobar2000 [http://www.hydrogenaudio.org/forums/index.php?showtopic=54087 here]
+
* [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.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://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://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
 +
* [http://etree.org/shnutils/shntool/ shntool] (since version 3.0.6)
 +
* [http://picard.musicbrainz.org/ MusicBrainz Picard] (since version 0.11)
 +
=== 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.
 +
* 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.
 +
* [http://picard.musicbrainz.org/ MusicBrainz Picard] (since version 0.11)
  
=Recommended Settings=
+
== Hardware support ==
* Best compression: "Extra" preset with "Maximum" switch. (This will create files which are comparable in size to file created using Monkey's Audio High.Decompression speed is comparable to Wavpack Normal.)
+
* None
  takc -e -p4m [input file]
+
* Fastest compression: "Turbo" preset (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]
+
* Setting Up TAK with Foobar2000
+
1. Copy the takc.exe to your foobar2000 directory
+
2. Go to File -> Preferences -> Tools -> Converter
+
3. Set it up as shown:
+
<center>[[Image:tak.PNG|frame|center|TAK Encoder with Foobar]]</center>
+
  
NOTE: replace the -p4m with the desired compression level.
 
  
 +
== 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 [[Free Lossless Audio Codec|FLAC]] 0.)
 +
takc -e -p0 [input file]
  
* use [[APEv2_specification|ApeV2]] tagging (will be used as internal tagging)
+
=== TAK Performance Graph ===
 +
[[Image:TAK_performance_graph_1-0-4.png|frame|center|Graph showing encoding and decoding rate against compression, using data from Synthetic Soul's test on TAK 1.0.4<br />(see [[TAK#External Links|External Links]])]]
  
=Future Features=
 
* Unicode support.
 
* Piping support.
 
* MD5 audio checksums for verification and identification.
 
* A german version.
 
* Embedded cue sheets.
 
* Embedded cover art.
 
* Multichannel audio.
 
  
=Frequently asked questions=
+
== Using TAK ==
* Is the codec safe for use?
+
=== TAK with [[foobar2000]] ===
Yes. To check, convert a wav to tak and back and compare the two (or use foobar's bitcompare tool).
+
* Copy the takc.exe to your [[foobar2000]] directory
 +
* Go to File → Preferences → Tools → Converter
 +
* Set it up as shown:
 +
[[Image:Tak_foobar_converter.png|frame|center|Screenshot of foobar 0.9.5 Converter settings for TAK 1.0.3]]
 +
'''Note:''' replace -p2 with the desired compression level.
  
* Why should i use TAK?
+
* 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:
TAK offers high compression ratios with great decoding rates.
+
-e -p2 %s %d
 +
* Use [[APEv2 specification|APEv2]] tagging (will be used as internal tagging)
  
*What can i compress with TAK?
+
=== TAK with EAC ===
TAK 1.0 can compress any integer-format (up to 24bits per channel) PCM Windows Waveform file (.wav). Since piping support has not been added yet, you must convert your lossless files to wav first to convert to TAK.
+
Please read the [[EAC and TAK|wiki guide]], which details how to create TAK files with [[Exact Audio Copy|EAC]].
  
*What about hardware support?
+
=== Converting TAK using pipe ===
None at the moment. Although, Turbo, Fast and Normal are the candidates for hardware playback.
+
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
  
* When will the source be opened?
+
flac.exe -dc input.flac | Takc.exe -e -pMax - output.tak
Yes, TAK will be open-source, as soon as the code is ported to C or C++ and documented. However, Thomas has mentioned that he would like to improve the codec before opening the source.
+
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:Foobar2000|foobar2000]]'s [[Foobar2000:Components/Binary Comparator (foo_bitcompare)|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 ==
 +
* [http://thbeck.de/Tak/Tak.html thbeck.de/Tak/Tak.html] – Official Website ''(german)''
 +
* [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://synthetic-soul.co.uk/comparison/lossless/ synthetic-soul.co.uk/comparison/lossless] – Comparison with Other Codecs (by Synthetic Soul)
 +
* [http://flac.sourceforge.net/comparison.html flac.sourceforge.net/comparison.html] – An Updated Comparison (from FLAC Homepage)
  
=External links=
 
* [http://www.thbeck.de/Tak/Tak.html TAK: Homepage] (german)
 
* [http://www.hydrogenaudio.org/forums/index.php?showtopic=54160 TAK: Release Announcement / Discussion Thread on HA] (english)
 
* [http://www.hydrogenaudio.org/forums/index.php?showtopic=54159 TAK: Download]
 
* [http://synthetic-soul.co.uk/comparison/lossless/ Comparison with Other Codecs (by Synthetic Soul)]
 
* [http://flac.sourceforge.net/comparison.html An Updated Comparison (from FLAC Homepage)]
 
  
 
[[Category:Lossless]]
 
[[Category:Lossless]]
 
[[Category:Encoder/Decoder]]
 
[[Category:Encoder/Decoder]]

Revision as of 21:58, 21 December 2016

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

  • VLC Media Player - Can: transcode from/play (no encoding); since at least version 2.2.0
  • 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.7 - 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 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).
  • LAV Filters - Set of open-source DirectShow filters which uses FFMpeg's reverse-engineered decoder to play TAK-files in any DirectShow media player.
  • 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