Help - Search - Members - Calendar
Full Version: TAK 1.0.4
Hydrogenaudio Forums > Hydrogenaudio Forum > Validated News
TBeck
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
TBeck
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.

Synthetic Soul has already tested the performance of the beta release, which is identical with the final release: His comparison.

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
ssjkakaroto
Great work as usual TBeck, thanks a lot biggrin.gif
Compact Dick
Thanks, TBeck. You are a legend! smile.gif
twostar
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 for TAK?
IgorC
foobar decoder plugin + TAK last library 1.0.7 is slower (p0-p1) than built-in FLAC decoder of foobar.
DOS386
QUOTE
Final release of TAK 1.0.4 ((T)om's lossless (A)udio (K)ompressor)


Great smile.gif

QUOTE

Plans for V1.0.5
- TAK needs a logo...


... and an open source minimal decoder written in plain C smile.gif

Test & comparison:

Original (?) WAV: 28'725'020 bytes, ripped from CD (nevertheless possibly pre-trashed by MP3 ??)

CODE

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 sad.gif
- - 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 sad.gif
- - FLAC: uses MSVCRT.DLL and is not smaller, myth dead biggrin.gif

TAK: from 1.0.3 to 1.0.4 :

- EXE size decreased by factor 1.51 smile.gif
- Amount of imports decreased by factor 1.4 smile.gif
- No compression speedup sad.gif - cca 1% slower for "-pMax" and "-p5" , 1% faster (?) for "-p2"
- Compression exactly same
- Small speedup in decompression smile.gif

TAK vs FLAC: compression better by factor 1.045 , cca 4.5% smile.gif

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 smile.gif ... but closed source sad.gif

The winner by portability and support is WAVPACK ( @D.B.: not dropped, just delayed ... smile.gif )

QUOTE
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 ? huh.gif
houyhnhnm
Thank you very much for your hard work, TBeck.

QUOTE(TBeck @ Mar 12 2008, 06:08) *

Improvements:

- Decoding speed improvements of 7 (preset 5) to 13 (preset 0) percent on my system.


Now TAK decodes faster than FLAC with MD5 according to Synthetic Soul's comparison.

IPB Image

IPB Image

(These graphs are zoomed. The followings show that the codecs don't differ very much in compression ratio.)
Squeller
Anyone else having a problem with takc.exe? Files seem to convert good with fb2k, but in the end I get:
QUOTE
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.
Synthetic Soul
QUOTE(DOS386 @ Mar 13 2008, 01:55) *
QUOTE
Plans for V1.0.5
- TAK needs a logo...
... and an open source minimal decoder written in plain C smile.gif
Ooh, six posts in. They're slowing up.

QUOTE(Squeller @ Mar 13 2008, 08:01) *
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:

CODE
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:

CODE
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\

greynol
I don't think we've compared enough codecs at their highest compression in order to see which one is the fastest yet.

emot-science.gif
Alexxander
QUOTE(TBeck @ Mar 11 2008, 22:08) *
...
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):
  1. No Unicode support
  2. Not supported by Rockbox firmware
  3. Not open source though it isn't really that important to me and I respect always the creator's decision
  4. 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.
foosion
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.
TBeck
QUOTE(Synthetic Soul @ Mar 13 2008, 10:51) *

QUOTE(DOS386 @ Mar 13 2008, 01:55) *
QUOTE
Plans for V1.0.5
- TAK needs a logo...
... and an open source minimal decoder written in plain C smile.gif
Ooh, six posts in. They're slowing up.

Maybe the timing of the release was responsible. Possibly they were sleeping... wink.gif Therefore i had to live a while without someone reminding me of my duty. This was hard... sweat.gif

No offence! I am only joking smile.gif

QUOTE(Synthetic Soul @ Mar 13 2008, 10:51) *

QUOTE(Squeller @ Mar 13 2008, 08:01) *
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.

QUOTE(foosion @ Mar 13 2008, 15:00) *

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:

QUOTE(TBeck @ Mar 11 2008, 22:08) *

- 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.
TBeck
QUOTE(IgorC @ Mar 12 2008, 23:18) *

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.

One possible explaination:
QUOTE

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 suboptimal

Yes. 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 -8

No. 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.
IgorC
Thank you for information. I didn't see this part of discussion.
skamp
Btw, doesn't "tak" mean "thank you" in swedish?
claesbas
QUOTE(skamp @ Mar 15 2008, 13:25) *

Btw, doesn't "tak" mean "thank you" in swedish?


yes, its spelled "tack" in swedish though
stigc
In danish tak is thank you.
mourner
And in ukrainian "Tak" means "Yes". smile.gif
Gandoon
QUOTE(claesbas @ Mar 16 2008, 08:10) *

QUOTE(skamp @ Mar 15 2008, 13:25) *

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... wink.gif
skamp
Tack so mücke for your contributions, everybody tongue.gif
Synthetic Soul
Duscussion regarding shaohao's problems using the SDK moved to a separate thread.
johnsonlam
QUOTE(mourner @ Mar 17 2008, 07:26) *

And in ukrainian "Tak" means "Yes". smile.gif


"Tak" pronounce in Cantonese (Chinese) means "Okay" or "Alright".
IgorC
QUOTE(johnsonlam @ Mar 31 2008, 10:58) *

QUOTE(mourner @ Mar 17 2008, 07:26) *

And in ukrainian "Tak" means "Yes". smile.gif


"Tak" pronounce in Cantonese (Chinese) means "Okay" or "Alright".


In russian it means "alright", "correct" or "so"
Studio 308
QUOTE(Squeller @ Mar 13 2008, 11:01) *

Anyone else having a problem with takc.exe? Files seem to convert good with fb2k, but in the end I get:
QUOTE
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:
QUOTE
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\
eevan
QUOTE(Studio 308 @ Apr 18 2008, 13:32) *
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
CODE
An error occured while finalizing the encoding process (Object not found) : "D:\TEMP\Tmp\Track.tak"


Console:
CODE
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\

TBeck
QUOTE(eevan @ Apr 18 2008, 14:09) *

QUOTE(Studio 308 @ Apr 18 2008, 13:32) *
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
CODE
An error occured while finalizing the encoding process (Object not found) : "D:\TEMP\Tmp\Track.tak"


Console:
CODE

Command line: "C:\Program Files\foobar2000\Codecs\Takc.exe" -e -pEm


Takc 1.0.4 only supports the numerical syntax for presets. Please try

CODE

Command line: "C:\Program Files\foobar2000\Codecs\Takc.exe" -e -p4m


for old "Extra" or "-p5m" for the strongest preset (old "Insane").
eevan
Thanks Thomas!
Of course it worked!
I was so stupid, that I forgot to change the command line for 1.0.4 rolleyes.gif
TBeck
-- Jamstix 2 - Virtual Drummer VSTi --

is the first commercial application utilizing TAK technology.

smile.gif
shadowking
Cool.
UED77
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 smile.gif ) 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.
TBeck
QUOTE(UED77 @ Jun 24 2008, 22:41) *

Thanks for the release, Thomas. Piping support is definitely welcome.

Fine! smile.gif

QUOTE(UED77 @ Jun 24 2008, 22:41) *

Perhaps it would be better if you standardized the structure of APEv2 (hopefully smile.gif ) 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."

QUOTE(UED77 @ Jun 24 2008, 22:41) *

...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... wink.gif
UED77
Aaah, that's good to hear. I apologize, I haven't followed the TAK threads as closely as I would've liked wink.gif

Then secondly, it would be nice to have support for multichannel/high-resolution audio. Eventually smile.gif

Keep up the great work!
Polar
QUOTE(UED77 @ Jun 25 2008)
I haven't followed the TAK threads as closely as I would've liked
So it seems, because ...
QUOTE(UED77 @ Jun 25 2008)
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); multichannel is still to be expected.
UED77
Well, in that case, the Wiki 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.
flacflac
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?!

huh.gif

PS: Yeah, my name's flacflac, but I still think I have an open mind... . wink.gif
Synthetic Soul
  1. 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.
  2. Not everyone needs to play their lossless file on hardware (or cares about open source).
  3. 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.
Vasfed
Looking forward to sources smile.gif
When i have both sources and time, i'll add support for TAK in Cog player (cogx.org, Mac OS)
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2009 Invision Power Services, Inc.