Difference between revisions of "TAK"

From Hydrogenaudio Knowledgebase
Jump to: navigation, search
m
 
(48 intermediate revisions by 26 users not shown)
Line 1: Line 1:
{{stub}}
 
 
{{Codec Infobox
 
{{Codec Infobox
 
| name = Tom's lossless Audio Kompressor
 
| name = Tom's lossless Audio Kompressor
| logo = [[Image:TAK-logo.png]]
+
| 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
+
| released = TAK v2.3.2 (2022-05-06)
| recommended_text = TAK v1.0.1
+
| website = [http://thbeck.de/Tak/Tak.html ThBeck.de/Tak/Tak.html] ''(German)''
| website = [http://www.thbeck.de/Tak/Tak.html ThBeck.de/Tak/Tak.html] ''(german)''
+
 
}}
 
}}
  
== Description ==
+
'''Tom's lossless Audio Kompressor''' ('''TAK''') is a [[lossless]] audio [[codec]]. It comes with a freeware (closed-source) encoder/decoder as both a command-line executable and a GUI, as well as a decoding library and an SDK to use in other applications, and a [[Winamp]] plugin - all for the Windows operating systems (known to work with Wine). A 3rd-party decoder (ffmpeg) offers playback on additional platforms.
'''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]]. 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.
+
  
=== Features ===
+
TAK has gained recognition for its performance figures, achieving compression like [[Monkey's Audio]] “High” at same encoding time, and ditto for the even higher-compressing [[OptimFrog]] “Normal” - and while also decoding at speed (CPU load) second only to [[Free Lossless Audio Codec|FLAC]].<ref>[http://audiograaf.nl/downloads.html Martijn van Beurden's lossless comparison, revision 4.] Figures referenced are for CDDA audio, TAK version tested: 2.3.0.</ref> Furthermore, TAK could beat every FLAC setting simultaneously on size and encoding time (meaning, it also offered the fastest-encoding option in the test).
* High compression
+
* Fast compression and decompression speed
+
* Streaming support
+
* Error tolerance
+
** Single bit error will never affect more than 250 ms
+
* Error detection
+
** Each frame protected by a 24-bit checksum (CRC)
+
  
=== Pros ===
+
== Features ==
* Fast encoding speed
+
For an end-user considering TAK as an audio format - likely due to its performance - 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; some support more input formats and some support fewer.  To compare TAK with other lossless codecs, see [[Lossless_comparison| HA Wiki's Lossless Codec Comparison]].
** TAK “Extra” encodes as fast as [[FLAC]] -8 while providing better compression
+
** TAK “Turbo” encodes several times faster than [[FLAC]] -8 while providing better compression
+
* Fast decompression speed (on par with [[FLAC]] / [[WavPack]])
+
* Good compression levels (on par with [[Monkey's Audio]] High)
+
* Error Robustness
+
* Fast Seeking
+
  
=== Cons ===
+
* Seekable and streaming playback.
* Closed Source (at the moment)
+
* Error handling: upon playback, it will detect and report corrupted frames, mute to protect against static/noise output, and continue playback. Maximum dropout for a single-bit error is limited by the maximum frame size of 0.25 seconds at -p4 settings.  (The GUI offers alternative treatment of corruption upon decoding to file.)  Optional MD5 audio checksum can also be added upon encoding for file fingerprinting. 
* No hardware support
+
* High-resolution audio support: up to 192 kHz sampling rate and 24 bit per sample.
* Very limited software support (Only [[Winamp]] & [[foobar2000]] plugins at the moment)
+
* Support for up to six channels. Channel mask in [https://docs.microsoft.com/en-us/windows/win32/api/mmreg/ns-mmreg-waveformatextensible WAVEFORMATEXTENSIBLE]. (Since TAK 2.2.0.)
 +
* Tagging (APEv2).
 +
* RIFF chunks supported for storing also non-audio parts, up to 1 MB; by default, TAK decoding will then recreate the input .wav file bit by bit (not only the audio).
 +
* Piping support for both encoding and decoding (can be used to circumvent the 4 GiB size limitation of .wav).
 +
* Multi-core support (encoding only; the README warns that you will likely only benefit from physical CPU cores).
 +
* A GUI for both encoding, decoding, testing and file info - with some performance tuning available.
  
== Hardware and Software That Support TAK ==
+
Although supported bit depth is nominally 8 or 16 or 24 bits, non-standard bit depths up to 23 can also be supported in ''some'' WAVE format(s), by virtue of how WAVE files work behind the scenes. For example, a "12-bit" .wav file must use 16 (or, technically possibly, 24 or 32) bits to store the 12, and at least in some WAVE format specification, TAK will accept the file (and also recognize it as "12").    If accepted, TAK also recognizes the "wasted bits" 13 and up<ref>[https://wiki.multimedia.cx/index.php/TAK MultimediaWiki's TAK entry with format description]</ref>, and compresses without size penalty, just as a 16-bit file padded with zeroes to 24 bits will be compressed to the same file size.
=== Hardware ===
+
* None
+
  
=== Software ===
+
=== Limitations ===
* TAK SDK 1.0.3 – Software Development Kit for TAK [http://www.hydrogenaudio.org/forums/index.php?showtopic=54159 here]
+
For an end-user considering TAK to compress common lossless audio files like found on CDs or DVDs, the main limitation is the first of the following bullet items, namely support. On a platform that supports TAK, the other items listed are either common to several if not most codecs, or ''can'' (but not necessarily ''will'') be circumvented by external applications.
* Winamp Plugin 1.0.2 [http://www.hydrogenaudio.org/forums/index.php?showtopic=54159 here]
+
* foo_input_tak, TAK decoder for [[foobar2000]] [http://www.hydrogenaudio.org/forums/index.php?showtopic=54087 here]
+
* [[Mp3tag]] – universal tag editor with support for TAK
+
  
== Recommended Settings ==
+
* Currently there is no hardware supporting the format and software support is limited.  The official encoder/decoder is closed-source (but a decoding library can be used in third-party applications); ffmpeg offers an open-source decoder, and players that use ffmpeg may support TAK also outside the Windows platform.
* Default compression: “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.)
+
* Does not support floating-point PCM (for that, use [[WavPack]] or OptimFrog).
<code>takc -e [input file]</code>
+
* No Unicode support as of version 2.3.1.  External applications can circumvent this ([[foobar2000]] does - no riff chunks upon encoding!; [[CUETools]] does not).
* Highest 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.)
+
* The encoder can read no other input ''files'' than standard-compliant .wav.  For anything else, use piped stdin (like external applications might do) rather than file input; riff chunk support is not pipe-able. 
<code>takc -e -p4m [input file]</code>
+
* Unlike the FLAC and WavPack reference encoders, TAK cannot re-compress in place.
* 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.)
+
* No drag & drop support.
<code>takc -e -p0 [input file]</code>
+
 
 +
There is no hybrid/lossy mode, however it is possible to use TAK with [[lossyWAV]]. This is arguably an option for advanced users; others who want hybrid solutions will probably consider those formats which support it natively (WavPack/OptimFrog).
 +
 
 +
 
 +
== Software support ==
 +
ffmpeg can decode TAK files on several platforms, and both the GUI (Tak.exe) and the command-line program (Takc.exe) work with [http://www.winehq.org/ Wine]. Some of the Windows applications given below use ffmpeg for decoding, others use the official decoding library.
 +
 
 +
The [http://picard.musicbrainz.org/ MusicBrainz Picard] tagger (multi-platform) supports TAK since version 0.11.
 +
The [http://www.videolan.org/vlc VLC Media Player] (multi-platform) can play (and transcode from) TAK since at least version 2.2.0.
 +
 
 +
=== Windows-specific ===
 +
* [http://thbeck.de/Download/TAK_2.3.1.zip TAK 2.3.1 download link] - TAK itself, the official release also includes a [[Winamp]] plugin.
 +
* [https://www.foobar2000.org/components/view/foo_input_tak TAK Decoder 0.5.4] - Plugin for [[foobar2000]] (supports tagging and [[ReplayGain]], uses the current (2.3.1) decoding library).
 +
* [http://www.liviocavallo.altervista.org/ dsfTAKSource 0.0.1.6] - DirectShow source filter which uses the 2.2.0 decoding library to play TAK-files in Windows Media Player, Media Player Classic - Home Cinema, Zoom Player and alike.
 +
* [https://rwijnsma.home.xs4all.nl/dc-bsm/index.htm DC-Bass Source Mod] - DirectShow source filter which uses the 2.3.0 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 [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://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://shnutils.freeshell.org/shntool/ shntool] (since version 3.0.6)
  
=== TAK Performance Graph ===
 
[[Image:TAK_performance_graph.png|frame|center|Graph showing encoding and decoding rate against compression, using data from Synthetic Soul's test on TAK 1.0.1<br />(see [[TAK#External_Links|External Links]])]]
 
  
 
== Using TAK ==
 
== Using TAK ==
=== TAK with [[foobar2000]] ===
+
For encoding/decoding through other software, see heading below; you can pass command-line options to those applications. 
* Copy the takc.exe to your [[foobar2000]] directory
+
 
* Go to File -> Preferences -> Tools -> Converter
+
More exhaustive instructions are found in the README.html included in the official TAK distribution.
* Set it up as shown:
+
 
[[Image:tak.PNG|frame|center|TAK Encoder with foobar]]
+
=== Encoding, decoding, test and verification ===  
'''Note:''' replace the -p4 with the desired compression level.
+
The following command-line parameters (''and more!'') are accessed through buttons and checkboxes in the GUI:
 +
* -e encodes, -d decodes; also, it can run test encoding/decoding by -te resp. -t.
 +
* -v verifies upon encoding; -md5 adds audio MD5 checksum for later verification.
 +
 
 +
=== Compression parameters and performance ===
 +
The compression options are displayed by name in the GUI. The compression options range from -p0 to -p4, with for each an optional “e” (for “extra”) or “m” (“maximum”) modifier for additional compression at the expense of encoding (but not decoding) time, making for fifteen in total: -p0, -p0e, -p0m etc.  The number (0 to 4) does affect decoding CPU load, but only modestly (van Beurden, figure 1.2.)
 +
* -p2 is the current default option.  It is measured to compress on par with Monkey's “Normal”, but encoding at speeds between WavPack and FLAC default options.
 +
* -p0 is the fastest option (apparently among ''any'' popular lossless compressed format!), compressing to around WavPack default and FLAC -6 sizes - but 2-3 times faster.
 +
* -p4m is the slowest option for highest compression (though at very small improvement over -p4e). The README promises compression size "on par with Monkey's Audio High and OptimFrog Normal", and van Beurden's comparison confirms this - sizes even measure to between Monkey's “High” and “Extra high”, while decoding at 1/7th to 1/10th of Monkey's/OptimFrog's CPU load.
 +
 
 +
=== Command-line examples, including pipe redirection ===
 +
Basic encoding resp. decoding commands are
 +
Takc -e input.wav
 +
Takc -d input.tak
 +
Encoding/decoding will then produce files "input.tak" resp. "input.wav", but will by default abort rather than overwrite.
 +
 
 +
Example with more parameters: The following will encode input.wav to output.tak (overwriting if it already exists!), using compression level “p3e”, write an MD5 checksum, and verifying the encoded data:
 +
Takc -e -p3e -md5 -v -overwrite input.wav output.tak
 +
 
 +
Examples decoding TAK with pipe to .mp3/.opus/.flac/.wv/.tak (the latter for recompressing a .tak file)
 +
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
 +
Takc.exe -d input.tak - | Takc.exe -e -p4m - output.tak
 +
 
 +
Examples encoding TAK from FLAC, WavPack resp. arbitrary ffmpeg-supported (16-bit) format:
 +
flac.exe -dc input.flac | Takc.exe -e -p1e - output.tak
 +
wvunpack.exe input.wv - | Takc.exe -e -p4m - output.tak
 +
ffmpeg.exe -i input.xxx -f wav - | Takc.exe -e -p0 '''-ihs''' - output.tak
 +
 
 +
 
  
* Use [[APEv2_specification|APEv2]] tagging (will be used as internal tagging)
+
== Using TAK in other applications ==
  
=== TAK with [[EAC]] ===
+
=== Ripping CDs to TAK with [[Exact Audio Copy]] ===
Please read the [[EAC_and_TAK|wiki guide]], which details how to create TAK files with [[EAC]].
+
[[EAC and TAK|Wiki guide]] details how to rip CDs to TAK with EAC.
  
== 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 ==
+
=== Playing and converting to/from TAK with [[foobar2000]] ===
* Is the codec safe for use?
+
For decoding, use the [https://www.foobar2000.org/components/view/foo_input_tak foo_input_tak] component (current version using the 2.3.1 decoding library).  
: Yes. To check, convert a WAVE to TAK and back and compare the two (or use foobar's bitcompare tool).
+
  
* Why should I use TAK?
+
For encoding:
: TAK offers high compression ratios with great decoding rates.
+
* Select files, right-click, select Convert and the “...”
 +
* Under Output format, click Add New and set it up as shown below ('''note:''' replace -p2 with the desired compression level).
 +
* Upon first conversion, foobar2000 will ask you to navigate to locate Takc.exe .
 +
[[Image:Tak_foobar_converter.png|frame|center|Screenshot of foobar 0.9.5 Converter settings for TAK 1.0.3 choosing -p2 compression level.]]
  
* What can I compress with TAK?
+
=== TAK in [[CUETools]] ===
: TAK 1.0 can compress any integer-format (up to 24 bits 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.
+
CUETools supports TAK out of the box if Takc.exe is in your ''PATH'' - or if a copy of Takc.exe is in in the CUETools folder. Otherwise, one has to give the path to the exe in Settings, under the Encoders tab and the Decoders tab, for each profile (or edit the settings file).  Due to TAK not supporting Unicode, consider the "Force ANSI filenames" checkbox and make sure that also directory names are ANSI.
  
* What about hardware support?
 
: None at the moment. Although, Turbo, Fast and Normal are the candidates for hardware playback.
 
  
* When will the source be opened?
+
== Links ==
: 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.
+
* [http://thbeck.de/Tak/Tak.html TAK official website] ''(German)''
 +
* [https://hydrogenaud.io/index.php?topic=120760.0 TAK 2.3.1 Discussion Thread on HA]
 +
* [https://hydrogenaud.io/index.php?showtopic=101386 TAK 2.3.0 Discussion Thread on HA]
 +
* [https://hydrogenaud.io/index.php?showtopic=89610 TAK 2.2.0 Discussion Thread on HA]
 +
* [https://hydrogenaud.io/index.php?topic=43808.0 HA thread where name change from ''Yet another lossless audio compressor'' was brainstormed and announced]
 +
* [https://hydrogenaud.io/index.php/topic,43179.0 First HA discussion thread]
 +
* [[Lossless_comparison| HA Wiki's Lossless Codec Comparison]] originally by [[User:Rjamorim|Rjamorim]]
 +
<references/>
  
== External Links ==
+
{{navbox audio codecs}}
* [http://www.thbeck.de/Tak/Tak.html www.thbeck.de/Tak/Tak.html] – Official Website ''(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 Downloads]
+
* [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)
+
  
[[Category:Lossless]]
+
[[Category:Codecs]]
[[Category:Encoder/Decoder]]
+

Latest revision as of 07:39, 9 May 2022

Tom's lossless Audio Kompressor (TAK) is a lossless audio codec. It comes with a freeware (closed-source) encoder/decoder as both a command-line executable and a GUI, as well as a decoding library and an SDK to use in other applications, and a Winamp plugin - all for the Windows operating systems (known to work with Wine). A 3rd-party decoder (ffmpeg) offers playback on additional platforms.

TAK has gained recognition for its performance figures, achieving compression like Monkey's Audio “High” at same encoding time, and ditto for the even higher-compressing OptimFrog “Normal” - and while also decoding at speed (CPU load) second only to FLAC.[1] Furthermore, TAK could beat every FLAC setting simultaneously on size and encoding time (meaning, it also offered the fastest-encoding option in the test).

Features

For an end-user considering TAK as an audio format - likely due to its performance - 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; some support more input formats and some support fewer. To compare TAK with other lossless codecs, see HA Wiki's Lossless Codec Comparison.

  • Seekable and streaming playback.
  • Error handling: upon playback, it will detect and report corrupted frames, mute to protect against static/noise output, and continue playback. Maximum dropout for a single-bit error is limited by the maximum frame size of 0.25 seconds at -p4 settings. (The GUI offers alternative treatment of corruption upon decoding to file.) Optional MD5 audio checksum can also be added upon encoding for file fingerprinting.
  • High-resolution audio support: up to 192 kHz sampling rate and 24 bit per sample.
  • Support for up to six channels. Channel mask in WAVEFORMATEXTENSIBLE. (Since TAK 2.2.0.)
  • Tagging (APEv2).
  • RIFF chunks supported for storing also non-audio parts, up to 1 MB; by default, TAK decoding will then recreate the input .wav file bit by bit (not only the audio).
  • Piping support for both encoding and decoding (can be used to circumvent the 4 GiB size limitation of .wav).
  • Multi-core support (encoding only; the README warns that you will likely only benefit from physical CPU cores).
  • A GUI for both encoding, decoding, testing and file info - with some performance tuning available.

Although supported bit depth is nominally 8 or 16 or 24 bits, non-standard bit depths up to 23 can also be supported in some WAVE format(s), by virtue of how WAVE files work behind the scenes. For example, a "12-bit" .wav file must use 16 (or, technically possibly, 24 or 32) bits to store the 12, and at least in some WAVE format specification, TAK will accept the file (and also recognize it as "12"). If accepted, TAK also recognizes the "wasted bits" 13 and up[2], and compresses without size penalty, just as a 16-bit file padded with zeroes to 24 bits will be compressed to the same file size.

Limitations

For an end-user considering TAK to compress common lossless audio files like found on CDs or DVDs, the main limitation is the first of the following bullet items, namely support. On a platform that supports TAK, the other items listed are either common to several if not most codecs, or can (but not necessarily will) be circumvented by external applications.

  • Currently there is no hardware supporting the format and software support is limited. The official encoder/decoder is closed-source (but a decoding library can be used in third-party applications); ffmpeg offers an open-source decoder, and players that use ffmpeg may support TAK also outside the Windows platform.
  • Does not support floating-point PCM (for that, use WavPack or OptimFrog).
  • No Unicode support as of version 2.3.1. External applications can circumvent this (foobar2000 does - no riff chunks upon encoding!; CUETools does not).
  • The encoder can read no other input files than standard-compliant .wav. For anything else, use piped stdin (like external applications might do) rather than file input; riff chunk support is not pipe-able.
  • Unlike the FLAC and WavPack reference encoders, TAK cannot re-compress in place.
  • No drag & drop support.

There is no hybrid/lossy mode, however it is possible to use TAK with lossyWAV. This is arguably an option for advanced users; others who want hybrid solutions will probably consider those formats which support it natively (WavPack/OptimFrog).


Software support

ffmpeg can decode TAK files on several platforms, and both the GUI (Tak.exe) and the command-line program (Takc.exe) work with Wine. Some of the Windows applications given below use ffmpeg for decoding, others use the official decoding library.

The MusicBrainz Picard tagger (multi-platform) supports TAK since version 0.11. The VLC Media Player (multi-platform) can play (and transcode from) TAK since at least version 2.2.0.

Windows-specific

  • TAK 2.3.1 download link - TAK itself, the official release also includes a Winamp plugin.
  • TAK Decoder 0.5.4 - Plugin for foobar2000 (supports tagging and ReplayGain, uses the current (2.3.1) decoding library).
  • dsfTAKSource 0.0.1.6 - DirectShow source filter which uses the 2.2.0 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 2.3.0 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)


Using TAK

For encoding/decoding through other software, see heading below; you can pass command-line options to those applications.

More exhaustive instructions are found in the README.html included in the official TAK distribution.

Encoding, decoding, test and verification

The following command-line parameters (and more!) are accessed through buttons and checkboxes in the GUI:

  • -e encodes, -d decodes; also, it can run test encoding/decoding by -te resp. -t.
  • -v verifies upon encoding; -md5 adds audio MD5 checksum for later verification.

Compression parameters and performance

The compression options are displayed by name in the GUI. The compression options range from -p0 to -p4, with for each an optional “e” (for “extra”) or “m” (“maximum”) modifier for additional compression at the expense of encoding (but not decoding) time, making for fifteen in total: -p0, -p0e, -p0m etc. The number (0 to 4) does affect decoding CPU load, but only modestly (van Beurden, figure 1.2.)

  • -p2 is the current default option. It is measured to compress on par with Monkey's “Normal”, but encoding at speeds between WavPack and FLAC default options.
  • -p0 is the fastest option (apparently among any popular lossless compressed format!), compressing to around WavPack default and FLAC -6 sizes - but 2-3 times faster.
  • -p4m is the slowest option for highest compression (though at very small improvement over -p4e). The README promises compression size "on par with Monkey's Audio High and OptimFrog Normal", and van Beurden's comparison confirms this - sizes even measure to between Monkey's “High” and “Extra high”, while decoding at 1/7th to 1/10th of Monkey's/OptimFrog's CPU load.

Command-line examples, including pipe redirection

Basic encoding resp. decoding commands are

Takc -e input.wav
Takc -d input.tak

Encoding/decoding will then produce files "input.tak" resp. "input.wav", but will by default abort rather than overwrite.

Example with more parameters: The following will encode input.wav to output.tak (overwriting if it already exists!), using compression level “p3e”, write an MD5 checksum, and verifying the encoded data:

Takc -e -p3e -md5 -v -overwrite input.wav output.tak

Examples decoding TAK with pipe to .mp3/.opus/.flac/.wv/.tak (the latter for recompressing a .tak file)

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
Takc.exe -d input.tak - | Takc.exe -e -p4m - output.tak

Examples encoding TAK from FLAC, WavPack resp. arbitrary ffmpeg-supported (16-bit) format:

flac.exe -dc input.flac | Takc.exe -e -p1e - output.tak
wvunpack.exe input.wv - | Takc.exe -e -p4m - output.tak
ffmpeg.exe -i input.xxx -f wav - | Takc.exe -e -p0 -ihs - output.tak


Using TAK in other applications

Ripping CDs to TAK with Exact Audio Copy

Wiki guide details how to rip CDs to TAK with EAC.


Playing and converting to/from TAK with foobar2000

For decoding, use the foo_input_tak component (current version using the 2.3.1 decoding library).

For encoding:

  • Select files, right-click, select Convert and the “...”
  • Under Output format, click Add New and set it up as shown below (note: replace -p2 with the desired compression level).
  • Upon first conversion, foobar2000 will ask you to navigate to locate Takc.exe .
Screenshot of foobar 0.9.5 Converter settings for TAK 1.0.3 choosing -p2 compression level.

TAK in CUETools

CUETools supports TAK out of the box if Takc.exe is in your PATH - or if a copy of Takc.exe is in in the CUETools folder. Otherwise, one has to give the path to the exe in Settings, under the Encoders tab and the Decoders tab, for each profile (or edit the settings file). Due to TAK not supporting Unicode, consider the "Force ANSI filenames" checkbox and make sure that also directory names are ANSI.


Links

  1. Martijn van Beurden's lossless comparison, revision 4. Figures referenced are for CDDA audio, TAK version tested: 2.3.0.
  2. MultimediaWiki's TAK entry with format description