HydrogenAudio

Hydrogenaudio Forum => Validated News => Topic started by: TBeck on 2008-03-11 20:58:09

Title: TAK 1.0.4
Post by: TBeck on 2008-03-11 20:58:09
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)
Title: TAK 1.0.4
Post by: TBeck on 2008-03-11 21:08:46
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
Title: TAK 1.0.4
Post by: ssjkakaroto on 2008-03-12 03:01:53
Great work as usual TBeck, thanks a lot
Title: TAK 1.0.4
Post by: Compact Dick on 2008-03-12 09:11:20
Thanks, TBeck. You are a legend!
Title: TAK 1.0.4
Post by: twostar on 2008-03-12 10:34:27
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?
Title: TAK 1.0.4
Post by: IgorC on 2008-03-12 22:18:32
foobar decoder plugin + TAK last library 1.0.7 is slower (p0-p1) than built-in FLAC decoder of foobar.
Title: TAK 1.0.4
Post by: DOS386 on 2008-03-13 01:55:14
Quote
Final release of TAK 1.0.4 ((T)om's lossless (A)udio (K)ompressor)


Great

Quote
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 ??)

Code: [Select]
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 ...  )

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 ?
Title: TAK 1.0.4
Post by: houyhnhnm on 2008-03-13 07:51:20
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.)
Title: TAK 1.0.4
Post by: Squeller on 2008-03-13 08:01:37
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.
Title: TAK 1.0.4
Post by: Synthetic Soul on 2008-03-13 09:51:39
Quote
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:

Code: [Select]
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: [Select]
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\
Title: TAK 1.0.4
Post by: greynol on 2008-03-13 10:07:27
I don't think we've compared enough codecs at their highest compression in order to see which one is the fastest yet.

Title: TAK 1.0.4
Post by: Alexxander on 2008-03-13 11:13:54
...
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):
FLAC will remain my choice for lossless codec but we will see in the future.
Title: TAK 1.0.4
Post by: foosion on 2008-03-13 14:00:08
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.
Title: TAK 1.0.4
Post by: TBeck on 2008-03-13 20:16:02
Quote
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.
Title: TAK 1.0.4
Post by: TBeck on 2008-03-13 22:38:05
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:
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.
Title: TAK 1.0.4
Post by: IgorC on 2008-03-14 03:56:24
Thank you for information. I didn't see this part of discussion.
Title: TAK 1.0.4
Post by: skamp on 2008-03-15 12:25:14
Btw, doesn't "tak" mean "thank you" in swedish?
Title: TAK 1.0.4
Post by: claesbas on 2008-03-16 07:10:26
Btw, doesn't "tak" mean "thank you" in swedish?


yes, its spelled "tack" in swedish though
Title: TAK 1.0.4
Post by: stigc on 2008-03-16 09:23:36
In danish tak is thank you.
Title: TAK 1.0.4
Post by: mourner on 2008-03-16 23:26:45
And in ukrainian "Tak" means "Yes".
Title: TAK 1.0.4
Post by: Gandoon on 2008-03-19 13:35:59

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... 
Title: TAK 1.0.4
Post by: skamp on 2008-03-19 14:43:36
Tack so mücke for your contributions, everybody
Title: TAK 1.0.4
Post by: Synthetic Soul on 2008-03-22 09:26:23
Duscussion regarding shaohao's problems using the SDK moved to a separate thread (http://www.hydrogenaudio.org/forums/index.php?showtopic=62075).
Title: TAK 1.0.4
Post by: johnsonlam on 2008-03-31 14:58:42
And in ukrainian "Tak" means "Yes".


"Tak" pronounce in Cantonese (Chinese) means "Okay" or "Alright".
Title: TAK 1.0.4
Post by: IgorC on 2008-03-31 15:02:28

And in ukrainian "Tak" means "Yes".


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


In russian it means "alright", "correct" or "so"
Title: TAK 1.0.4
Post by: Studio 308 on 2008-04-18 13:32:50
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\
Title: TAK 1.0.4
Post by: eevan on 2008-04-18 14:09:16
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: [Select]
An error occured while finalizing the encoding process (Object not found) : "D:\TEMP\Tmp\Track.tak"


Console:
Code: [Select]
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\
Title: TAK 1.0.4
Post by: TBeck on 2008-04-18 16:10:23
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: [Select]
An error occured while finalizing the encoding process (Object not found) : "D:\TEMP\Tmp\Track.tak"


Console:
Code: [Select]
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: [Select]
Command line: "C:\Program Files\foobar2000\Codecs\Takc.exe" -e -p4m


for old "Extra" or "-p5m" for the strongest preset (old "Insane").
Title: TAK 1.0.4
Post by: eevan on 2008-04-19 02:13:12
Thanks Thomas!
Of course it worked!
I was so stupid, that I forgot to change the command line for 1.0.4
Title: TAK 1.0.4
Post by: TBeck on 2008-05-27 10:58:39
-- Jamstix 2 - Virtual Drummer VSTi --

is the first commercial application (http://www.rayzoon.com/jamstix2.html) utilizing TAK technology.

Title: TAK 1.0.4
Post by: shadowking on 2008-05-27 11:03:33
Cool.
Title: TAK 1.0.4
Post by: UED77 on 2008-06-24 22:41:24
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.
Title: TAK 1.0.4
Post by: TBeck on 2008-06-24 22:57:26
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... 
Title: TAK 1.0.4
Post by: UED77 on 2008-06-25 03:55:43
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!
Title: TAK 1.0.4
Post by: Polar on 2008-06-25 08:25:14
Quote from: UED77 link=msg=0 date=
I haven't followed the TAK threads as closely as I would've liked
So it seems, because ...
Quote from: UED77 link=msg=0 date=
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.
Title: TAK 1.0.4
Post by: UED77 on 2008-06-26 05:00:21
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.
Title: TAK 1.0.4
Post by: flacflac on 2008-06-26 10:07:27
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... .
Title: TAK 1.0.4
Post by: Synthetic Soul on 2008-06-26 11:10:03
If you want to know more I would do a search for "TAK" and read the previous threads.
Title: TAK 1.0.4
Post by: Vasfed on 2008-11-06 19:36:10
Looking forward to sources
When i have both sources and time, i'll add support for TAK in Cog player (cogx.org, Mac OS)