Final release of TAK 1.0.4 ((T)om's lossless (A)udio (K)ompressor)
This version brings pipe decoding, faster encoding for presets -p0 and -p1 and faster decoding for all presets.
It consists of:
- TAK Applications 1.0.4
- TAK Winamp plugin 1.0.8.
- TAK SDK 1.0.6.
- TAK Decoding library 1.0.7.
Download
Download the archive in the upload section: TAK 1.0.4 final (http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=61874&view=findpost&p=552232)
What's new
New Features:
- Support for pipe decoding.
Improvements:
- Decoding speed improvements of 7 (preset 5) to 13 (preset 0) percent on my system.
- Modification of the presets -p0 and -p1 to make them even faster: -p0 is now encoding 17, -p1 10 percent faster on my system.
- I have replaced some of the Delphi libraries with own code. This will help a later translation to standard C, which can't use delphi libraries. A nice side effect: Most of the binaries are much smaller now.
- The Readme file now contains links to software with TAK support and to some guides.
Modifications:
- The read buffer used to decode presets -p0 to -p3 is considerably smaller now. In most cases this should improve the decoding speed.
Known issues:
- If you use pipe decoding and the application reading the pipe is beeing terminated before the whole file has been read, TAKC may get into an endless loop and has to be manually killed with the task manager. I don't think this is a big issue but i will try to fix it in one of the next versions. BTW: Big thanks to shnutils for testing the pipe decoding!
- There seem to be some compatibility issues with pipe decoding to some other applications ("crc1632.exe" has been reported). I will try to fix it in the next release.
More information
You may find some useful information in the beta thread (http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=61710&view=findpost&p=550623).
Synthetic Soul has already tested the performance of the beta release, which is identical with the final release: His comparison (http://www.synthetic-soul.co.uk/comparison/lossless/?All=0).
Plans for V1.0.5
The next version will most probably implement one or more of those options:
- Tagging functions for the command line version (but first without unicode support).
- Fixes for some compatibility problems with the pipe decoding.
- Fast seeking without seek table.
- TAK needs a logo...
Have fun...
Thomas
Great work as usual TBeck, thanks a lot
Thanks, TBeck. You are a legend!
Thanks for the new version Tbeck! Just one question please. What's the easiest way to re-encode existing TAKs to the newer version? Is there something like Reflacer (http://www.hydrogenaudio.org/forums/index.php?showtopic=61511&st=0&#entry549956) for TAK?
foobar decoder plugin + TAK last library 1.0.7 is slower (p0-p1) than built-in FLAC decoder of foobar.
Final release of TAK 1.0.4 ((T)om's lossless (A)udio (K)ompressor)
Great
Plans for V1.0.5
- TAK needs a logo...
... and an open source
minimal decoder written in plain C
Test & comparison:
Original (?) WAV: 28'725'020 bytes, ripped from CD (nevertheless possibly pre-trashed by MP3 ??)
TAK4 -pMax | ENC 41 s | DEC 4 s | 15'044'543 | BLO 213.5 fixups . . | IMP 96+x
TAK3 -pMax | ENC 40.5 s | DEC 4.2 s | 15'044'543 | BLO 322.5 fixups . . | IMP 134+x
WAP -hh -x3 | ENC 119 s | DEC 7.6 s | 15'390'322 | BLO 396 both . . . . | IMP 100+x
FLAC --best | ENC 24.5 s | DEC 3.1 s | 15'716'219 | BLO 244+x MSVCRT.DLL | IMP 79
NOTES:
- ENC is compression time
- - TAK is much faster with a lower "-p"
- - WAP is much faster without "-x3" , didn't use "-x6" because unusably slow
- - FLAC also can be faster, but useless since it's the weakest even with "--best"
- BLO is executable size in KiB
- - TAK: has (optional) fixups (15 KiB -> 9 KiB)
- - WAP: added both EXE's together -> the looser here
- - FLAC: uses MSVCRT.DLL and is
not smaller, myth dead
TAK: from 1.0.3 to 1.0.4 :
- EXE size decreased by factor 1.51
- Amount of imports decreased by factor 1.4
- No compression speedup - cca 1% slower for "-pMax" and "-p5" , 1% faster (?) for "-p2"
- Compression exactly same
- Small speedup in decompression
TAK vs FLAC: compression better by factor 1.045 , cca 4.5%
TAK and WAP do display time, FLAC doesn't.
FLAC can't handle "disk full" , no tests with WAP and TAK.
The winner by compression is TAK ... but closed source
The winner by portability and support is WAVPACK ( @D.B.: not dropped, just delayed ... )
What's the easiest way to re-encode existing TAKs to the newer version?
NO need this time:
- No compression improvement
- No format breakage - but pending for future ?
Thank you very much for your hard work, TBeck.
Improvements:
- Decoding speed improvements of 7 (preset 5) to 13 (preset 0) percent on my system.
Now TAK decodes faster than [a href='index.php?act=findpost&pid=548553']FLAC[/a] with MD5 according to Synthetic Soul's comparison.
(http://img204.imageshack.us/img204/4788/losslesscomparisonencodok9.th.png) (http://img204.imageshack.us/my.php?image=losslesscomparisonencodok9.png)
(http://img264.imageshack.us/img264/1076/losslesscomparisondecodgy2.th.png) (http://img264.imageshack.us/my.php?image=losslesscomparisondecodgy2.png)
(These graphs are zoomed. The followings show that the codecs don't differ very much in compression ratio.)
- jcoalson's (http://flac.sourceforge.net/comparison.html)
- [a href='index.php?showtopic=61054']A_Man_Eating_Duck's[/a]
- Synthetic Soul's [a href='index.php?act=findpost&pid=541304']1[/a], [a href='index.php?act=findpost&pid=541307']2[/a]
Anyone else having a problem with takc.exe? Files seem to convert good with fb2k, but in the end I get:
An error occured while finalizing the encoding process (Unsupported format or corrupted file) : "C:\Symph.tak"
Additional information:
Command line: "C:\Programme\Audio\foobar2000\takc.exe" -e -pmax -ihs -sts20 - "Symph.tak"
Working folder: C:\
I'm transcoding from an external cuesheet to single tracks, source is flac.
EDIT: Hmmm. It's also happening with takc 1.03. There must be something wrong here.
EDIT2: The flacs itself had embedded cuesheets. Starting the encoding from those tracks works.
Plans for V1.0.5
- TAK needs a logo...
... and an open source minimal decoder written in plain C
Ooh, six posts in. They're slowing up.
Anyone else having a problem with takc.exe?
I have problems with an external cuesheet also. As you say, source track files or embedded cuesheets work fine.
It happens with WavPack also:
An error occured while finalizing the encoding process (Unsupported format or corrupted file) : "C:\Documents and Settings\Neil\Desktop\The Go! Team\Grip Like A Vice\01 - Grip Like A Vice.wv"
Additional information:
Command line: "C:\WINDOWS\wavpack.exe" -m -i -q - "01 - Grip Like A Vice.wv"
Working folder: C:\Documents and Settings\Neil\Desktop\The Go! Team\Grip Like A Vice\
... and FLAC:
An error occured while finalizing the encoding process (Unsupported format or corrupted file) : "C:\Documents and Settings\Neil\Desktop\The Go! Team\Grip Like A Vice\01 - Grip Like A Vice.flac"
Additional information:
Command line: "C:\WINDOWS\flac.exe" -s --ignore-chunk-sizes -5 - -o "01 - Grip Like A Vice.flac"
Working folder: C:\Documents and Settings\Neil\Desktop\The Go! Team\Grip Like A Vice\
I don't think we've compared enough codecs at their highest compression in order to see which one is the fastest yet.
...
Plans for V1.0.5
The next version will most probably implement one or more of those options:
- Tagging functions for the command line version (but first without unicode support).
...
Thank you again for the fantastic job! I played around with TAK1.0.4 using default values. Encoding, decoding and transcoding speeds are impressive (I use foobar2000), and all with a good compression.
But I won't switch because (in order of importance):
- No Unicode support
- Not supported by Rockbox firmware
- Not open source though it isn't really that important to me and I respect always the creator's decision
- Small compression gains get less important by time due to increasing storage capacities
FLAC will remain my choice for lossless codec but we will see in the future.
Whatever you did with tak_deco_lib 1.0.7, its speed is on par with takc.exe 1.0.4. Cheers!
I've just released foo_input_tak 0.4.1. No significant changes in the plugin itself, it just bundles the new TAK decoding library.
Plans for V1.0.5
- TAK needs a logo...
... and an open source minimal decoder written in plain C
Ooh, six posts in. They're slowing up.
Maybe the timing of the release was responsible. Possibly they were sleeping... Therefore i had to live a while without someone reminding me of my duty. This was hard...
No offence! I am only joking
Anyone else having a problem with takc.exe?
I have problems with an external cuesheet also. As you say, source track files or embedded cuesheets work fine.
It happens with WavPack also:
...
... and FLAC:
...
Thank you! This lightens me very much.
Whatever you did with tak_deco_lib 1.0.7, its speed is on par with takc.exe 1.0.4. Cheers!
I've just released foo_input_tak 0.4.1. No significant changes in the plugin itself, it just bundles the new TAK decoding library.
Great news! I was hoping for some positive effect of this modification:
- The read buffer used to decode presets -p0 to -p3 is considerably smaller now. In most cases this should improve the decoding speed.
Possibly the lower memory usage helps the memory caching or the smaller io-size is interacting better with foobar's or your plugin's io system.
foobar decoder plugin + TAK last library 1.0.7 is slower (p0-p1) than built-in FLAC decoder of foobar.
Indeed. Please read from here (http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=54087&view=findpost&p=551914).
One possible explaination:
Hm, i am not sure but i seem to remember to have read somewhere that the FLAC plugin is using a separate thread to read the data to decode in the background. If so this might explain it's better performance.
I am not sure, what you want to say:
1. The TAK foobar plugin is working suboptimalYes. Something in the interaction of the plugin/my decoding library and foobar isn't working optimally. But decoding is still very fast.
2. Decoding complexity of TAK's presets -p0 and -p1 is significantly higher than that of FLAC -8No. The decoding complexity of -p1 is only slightly higher than that of FLAC -8. Up to 13 multiplications per sample for TAK, 12 for FLAC. And about 7 simple instructions more for TAK (Could be less with a new incompatible codec). Depending on the cpu, TAK or FLAC may decode faster. Most important: TAK needs about 3 KB more of memory for it's data and this can be just too much to keep most of the data in a small L1 cache. I think that's the reason why TAK is performing better in Synthethic Souls' than in Josh Coalson's comparison.
Thank you for information. I didn't see this part of discussion.
Btw, doesn't "tak" mean "thank you" in swedish?
Btw, doesn't "tak" mean "thank you" in swedish?
yes, its spelled "tack" in swedish though
In danish tak is thank you.
And in ukrainian "Tak" means "Yes".
Btw, doesn't "tak" mean "thank you" in swedish?
yes, its spelled "tack" in swedish though
First, note the Danish guys comment on the Danish spelling of "Thank you"...
And next we can add that the spelling "tak" in Swedish is pronounced with a long 'a'-sound (somewhat akin to the 'a' in English "talk"), and means roof or ceiling.
And thus we have spread the Nordic languages a little further...
Tack so mücke for your contributions, everybody
Duscussion regarding shaohao's problems using the SDK moved to a separate thread (http://www.hydrogenaudio.org/forums/index.php?showtopic=62075).
And in ukrainian "Tak" means "Yes".
"Tak" pronounce in Cantonese (Chinese) means "Okay" or "Alright".
And in ukrainian "Tak" means "Yes".
"Tak" pronounce in Cantonese (Chinese) means "Okay" or "Alright".
In russian it means "alright", "correct" or "so"
Anyone else having a problem with takc.exe? Files seem to convert good with fb2k, but in the end I get:
An error occured while finalizing the encoding process (Unsupported format or corrupted file) : "C:\Symph.tak"
Additional information:
Command line: "C:\Programme\Audio\foobar2000\takc.exe" -e -pmax -ihs -sts20 - "Symph.tak"
Working folder: C:\
I'm transcoding from an external cuesheet to single tracks, source is flac.
EDIT: Hmmm. It's also happening with takc 1.03. There must be something wrong here.
EDIT2: The flacs itself had embedded cuesheets. Starting the encoding from those tracks works.
I also have such problem. Only external cue. But I get another message:
An error occured while finalizing the encoding process (TAK decoder is in error state) : "F:\Temporary\07.Arcane Voices.tak"
Additional information:
Command line: "C:\Codecs\Takc.exe" -e -pmax -ihs - "07.Arcane Voices.tak"
Working folder: F:\Temporary\
Anyone else having a problem with takc.exe?
I tried to transcode ALAC file to TAK using the latest takc and foobar2000 a few days ago and got similar error at the end. I didn't use piping (intermediate file instead)
Conversion error
An error occured while finalizing the encoding process (Object not found) : "D:\TEMP\Tmp\Track.tak"
Console:
CLI encoder: C:\Program Files\foobar2000\Codecs\Takc.exe
Destination file: D:\TEMP\Tmp\Track.tak
Encoder stream format: 44100Hz / 2ch / 16bps
Command line: "C:\Program Files\foobar2000\Codecs\Takc.exe" -e -pEm "D:\TEMP\Tmp\temp-61DAF1257FD7CB1DA5892EF5C90D98C3.wav" "Track.tak"
Working folder: D:\TEMP\Tmp\
Anyone else having a problem with takc.exe?
I tried to transcode ALAC file to TAK using the latest takc and foobar2000 a few days ago and got similar error at the end. I didn't use piping (intermediate file instead)
Conversion error
An error occured while finalizing the encoding process (Object not found) : "D:\TEMP\Tmp\Track.tak"
Console:
Command line: "C:\Program Files\foobar2000\Codecs\Takc.exe" -e -pEm
Takc 1.0.4 only supports the numerical syntax for presets. Please try
Command line: "C:\Program Files\foobar2000\Codecs\Takc.exe" -e -p4m
for old "Extra" or "-p5m" for the strongest preset (old "Insane").
Thanks Thomas!
Of course it worked!
I was so stupid, that I forgot to change the command line for 1.0.4
-- Jamstix 2 - Virtual Drummer VSTi --
is the first commercial application (http://www.rayzoon.com/jamstix2.html) utilizing TAK technology.
Cool.
Thanks for the release, Thomas. Piping support is definitely welcome.
You mention introducing tagging support in the following version. Perhaps it would be better if you standardized the structure of APEv2 (hopefully ) tags in TAK files, and let external tagging programs do the tagging (like foobar2000). This would allow you to not worry about introducing tagging support in tak/takc.exe and would please users who are looking for a tagging system that isn't likely to change -- this way, the adoption rates of TAK would surely rise.
Thanks for the release, Thomas. Piping support is definitely welcome.
Fine!
Perhaps it would be better if you standardized the structure of APEv2 (hopefully ) tags in TAK files,...
That's easy and has been done some time ago: "TAK uses APEv2-Tags located at the end of the file."
...and let external tagging programs do the tagging (like foobar2000).
Yes. Foobar does support TAK, Mp3Tag does it...
Good idea! But it's already reality...
Aaah, that's good to hear. I apologize, I haven't followed the TAK threads as closely as I would've liked
Then secondly, it would be nice to have support for multichannel/high-resolution audio. Eventually
Keep up the great work!
I haven't followed the TAK threads as closely as I would've liked
So it seems, because ...
it would be nice to have support for multichannel/high-resolution audio.
... high resolution is already supported (cf. this 24 bit comparison between TAK, FLAC, WavPack and Monkey's Audio (http://www.hydrogenaudio.org/forums/index.php?showtopic=63850)); multichannel is still to be expected.
Well, in that case, the Wiki (http://wiki.hydrogenaudio.org/index.php?title=TAK) needs an update. I don't mean to be uninformed on purpose, but it'd be nice to not have to check several threads to figure out what's being worked on and what's already a feature. I encourage everyone to contribute to the article so that it does reflect the current capabilities of the TAK format. I will.
Tbeck, when will this codec turn open source?
I can only guess how much work this must be, but I don't see any reason why people are switching over to TAK. There's no support in rockbox, there is practically no hardware support anywhere and it's nowhere near as ubiquitous as the almost equally effective FLAC compressor. AND it is NOT open source. I just don't understand this.
Again, it's amazing how you created this new codec from scratch, really! But do you really think this makes sense without going open source?!
PS: Yeah, my name's flacflac, but I still think I have an open mind... .
- If you had read some of the background on TAK you would realise that Thomas intends to release the source when he feels it is in a state to do so. I can't speak for Thomas, but he has answered this question many many times in various threads on this forum.
- Not everyone needs to play their lossless file on hardware (or cares about open source).
- TAK's compression is superior to FLAC, while providing similar encoding and decoding speeds.
If you want to know more I would do a search for "TAK" and read the previous threads.
Looking forward to sources
When i have both sources and time, i'll add support for TAK in Cog player (cogx.org, Mac OS)